Strona 1 z 1

Uśrednianie danych

: 12 gru 2014 11:14
autor: MS91
Witam

mam taki problem - tworzę aplikację pomiarową do czujnika przyspieszenia. Mam już rozseparowane sygnały z osi X i Y, przerobiłem je ze stringa na number, i te dane idą z portu RS232 cały czas - trochę ich gubię po drodze ale nie jest to problemem. I tutaj pojawia się pytanie - moim zadaniem jest uśredniać te dane - od 1 do 60, z możliwością zmiany w czasie rzeczywistym. Czy ktoś może mi pomóc? Próbowałem zrobić to na maszynie stanów ale nie idzie mi to totalnie. Myślałem o pętach producer/consumer.

Uśrednianie danych

: 12 gru 2014 11:25
autor: FragRz
Witaj,

Według mnie dałeś trochę za mało informacji na temat programu aby pomóc Ci z architekturą(jakie są założenia dla programu, może jakiś fragment kodu?). A co do wartości średniej, polecam zapoznać się z VI "Mean PtByPt", wydaje się być dokładnie tym czego potrzebujesz.

Uśrednianie danych

: 12 gru 2014 11:42
autor: MS91
Jeśli chodzi o sens tego programu - z czujnika przez układ wychodzą dane do RS232 z komputera. Idą cały czas a struktura danych wygląda tak: X()()()()Y()()()()X()()()()Y()()()()...... czyli po identyfikatorze kanału mamy 4 bajty danych. Mam już wszystko rozseparowane i przeliczone ze stringa na number. Na każdą oś przypadają dwie dane (długość okresu sygnału prostokątnego, i długość stanu wysokiego. Wychylenia płytki z sensorem zmieniają szerokość stanu wysokiego w okresie). Poza tym mam na każdą daną warunek - aby nie było jakichś wychyleń skrajnych wynikających z zakłóceń. na wyjściu mojego SubVI mam tak: 4 linie, Xstanwysoki, Xokres, Ystanwysoki, Yokres i stan logiczny - jeśli jest na 1, to znaczy że nie było żadnych przekłamań i dane są OK, jeśli na 0 - trzeba te dane usunąć. Więc pewnie będzie potrzebna pętla True/False. Dane idą cały czas. Chodzi mi o to aby móc uśrednić np 30 danych (ogólnie od jednej do 60, z możliwością zmian wielkości hmmm bufora/array który utrzymuje te dane). Kiedy bufor (przykładowo na 30 danych) się napełni - chcę żeby te 30 danych poszło na VI który je uśredni. Patrzyłem na helpa Mean PtByPt - to chyba będzie ok - ale czy on store'uje te dane zanim je uśredni?

Dzięki za odpowiedź :)

Uśrednianie danych

: 15 gru 2014 11:49
autor: Jamal79
Napewno ci ich nie posortuje...
Najprosciej zrob arraya w petli while ktory dodaje poszczegolne pomiary, a nastepnie podzielil je na ilosc probek. nazwyklejsze arytmetyczne usrednianie. Przed da petla zrb testowanie warunku, czy przeszly dane, czy masz same zera...

Uśrednianie danych

: 15 gru 2014 12:27
autor: MS91
Dzięki za pomoc :) temat do zamknięcia