Interfejs KIDE->Prawa lista->Bloki funkcyjne->Różne->AnalogDynFilter

AnalogDynFilter (Dynamiczne uśrednianie wyników)

Wejścia:

Wyjście:

Algorytm:

Po uruchomieniu programu, blok ma zapisane do pamięci MaxN próbek o wartości 0, które z każdym kolejnym cyklem programu, wypełnia kolejnymi wartościami wejścia IN. Na wyjście Out wystawiana jest średnia wartość z N próbek, N <= MaxN. Przykład: Do wejścia IN podłączony jest czujnik temperatury w pomieszczeniu ze wskazaniem w okolicach 20°C, MaxN == 20, N = 5, przez pierwsze 5 cykli programu, wyjście Out będzie podawało zaniżone wartości, bo do obliczenia średniej program będzie wykorzystywał zapisane w bloku zera. Po 5 cyklach programu, funkcja będzie prawidłowo przedstawiała średnią wartość z ostatnich 5 próbek. W pracującym programie, zmieniając wartość N, można zmniejszyć lub zwiększyć ilość próbek branych do obliczenia średniej. Zwiększając N z 5 do 20, od razu na wyjście Out zostanie podana średnia z ostatnich 20 próbek. Wykorzystanie bloku: Blok sprawdza się w przetwarzaniu danych w zmiennych warunkach; można go wykorzystać np. do przedstawienia przebiegu temperatury lub przepływu powietrza w kanale wentylacyjnym. Przepływ powietrza przepływającego w kanale wentylacyjnym zazwyczaj wyznacza się pośrednio, przez odczyt różnicy ciśnienia. Przepływ powietrza zazwyczaj nie jest laminarny, więc obliczając przepływ powietrza możemy dostać różnice pomiędzy pomiarami nawet powyżej 10%. Stosując standardowe bloki AnalogFilter możemy zwiększyć ilość próbek do obliczenia średniej, ale może się to odbić na dynamice interpretacji zmian wartości, jeśli nastąpiły pewne zmiany w systemie. Podczas zwykłego pomiaru ciśnienia, zmiany do 10% mogą wynikać z zawirowań powietrza, jednak podczas zmiany obrotów wentylatora, zmiany ustawienia przepustnicy itp. Może nastąpić nagły skok odczytywanego ciśnienia, którego nie chcemy przeoczyć. Możemy więc zastosować algorytm, który będzie badał różnice między próbkami, który jeśli wykryje zmianę w zachowaniu układu, zmniejszy wartość wejścia N, tak, aby reakcja wyjścia była szybsza, następnie po wyrównaniu wartości, zwiększy N, wyrównując przebieg wyjścia Out.

Przykład:

N=64

Wykres przedstawia 64-próbkowy filtr, dla próbek od 1 do 64 widać stopniowe dojście filtra do wartości zadanej. W okolicach próbki 80 następuje krótki wzrost wartości wejściowej In, który powoduje krótkotrwałe, niewielkie odchylenie Out od wartości średniej. Dla próbek od 170 do 210 pokazano, że krótkotrwałe, nawet relatywnie duże odchylenia sygnału wejściowego nie wpływają na sygnał wyjściowy.


powrót