Obliczanie prędkości chwilowej

0

Witam,
Staram się zrobić coś w rodzaju wariometru barometrycznego.
Z mojego czujnika ciśnienia otrzymuje wyniki, które przeliczam na wysokość. Przykładowo otrzymuje następujące wyniki (co sekundę): 0,1,3,4,6,8,12,15,20,25 (metrów nad poziomem morza) nadpisujących się w zmiennej alititude. Wiem, że prędkośc to pochodna zmian drogi po czasie. Czy ma ktoś pomysł jak można by to zaimplementować w kodzie programu? Tzn jakich zmiennych musze jeszzce użyć i jakich operacji na nich wykonać tak, żeby co sekundę w zmiennej velocity napisywała się predkość wznoszenia/opadania wyliczona na podstawie zmian wyskości?

Z góry dzieki.

0

Najprostsze rozwiązanie to wzięcie różnicy pomiędzy ostatnimi dwoma pomiarami i podzielenia ich przez różnicę w czasie:

 V=(a2-a1)/(t2-t1)

gdzie V to prędkość unoszenia się wysokości
a2 - końcowa wysokość wody
a1 - początkowa wys wody
t2, t1 analogicznie tylko czas

Przy delta t = 1s nie ma potrzeby jakiś bardziej skomplikowanych wzorów szukać(zależy od tego jak szybko woda ma się unosić, bo jeżeli są to takie wartości jak podajesz to jak najbardziej nie ma takiej potrzeby) (warunek: niepewność pomiaru znacznie mniejsza od różnicy wartości między dwoma kolejnymi pomiarami)

0

Jeśli pomiary są wykonywane regularnie i prędkość jest w miarę stabilna to wystarczy wzór na prędkość podany powyżej.
Jeśli prędkość zmienia się dynamicznie to można zastosować filtr dolnoprzepustowy w formie średniej po kilku ostatnich prędkościach V(i-k)..V(i).

Przez zmianę dynamiczną rozumiem pomiary w rodzaju 1,4,8,4,7,3,9,12,11,5.

0

Ok, zgadzam się ze wszystkim co napisaliście tylko chodzi o to, że nie wiem jak to ma wyglądać w programie, bo z programowania jestem noga. Czas jest dla mnie jasny pomiary przychodzą co sekundę więc delta t wynosi 1s. A co zrobić z wysokościa? Mam jedną zmienną Altitude, która zmienia mi się co sekundę. Jak z tego na bieżąco obliczac delta A? Jak zostosować ten filtr?

1 użytkowników online, w tym zalogowanych: 0, gości: 1