Skocz do zawartości

Filtr dolnoprzepustowy z jak najmniejszym opóźnieniem


Pomocna odpowiedź

Napisano

Witam,
próbuję od jakiegoś czasu zaprogramować filtr dolnoprzepustowy FIR, ale tak żeby miał jak najmniejsze opóźnienie. Do tej pory wygenerowałem ich całą masę, ale wszystkie dawały sygnał wyjściowy opóźniony o połowę ilości próbek jakie filtr brał do obliczeń. Ale widzę że tu ktoś zrobił filtr FIR o długości 250, a mimo to jego wartość jest baaardzo aktualna:

http://intelligenttradingtech.blogspot.com/2010/05/is-it-possible-to-get-causal-smoothed.html

co dowodzi, że taki filtr jest wykonalny.

Chciałbym się tylko dowiedzieć: jak taki filtr wygenerować?

Dziękuję za wszystkie odpowiedzi

pozdrawiam

Przede wszystkim napisz do czego to potrzebujesz. Filtry splotowe (a FIR taki jest) z definicji robią splot sygnału z odpowiedzią impulsową a to daje stałe opóźnienie równe przyjętej długości odpowiedzi. FIR okienkowane funkcją sinc robią wrażenie, że opóźnienie jest równe połowie liczby współczynników ale to tylko dlatego, że największe współczynniki znajdują się w środku odpowiedzi impulsowej.

Nic tu nie ugrasz, jeżeli filtr ma być przyczynowy (causal) może bazować jedynie na historii i jego odpowiedź częstotliwościowa ("jakość uśredniania" w przypadku filtra LP) jest zależna głównie od przyjętej długości odpowiedzi impulsowej - bo są one tożsame, tylko wyrażone w innej dziedzinie. Możesz tutaj coś ugrać poprzez podział odpowiedzi impulsowej na kilka podzbiorów i wykonywanie kilku równoległych splotów a potem sumowanie wyników, choć nie wiem, czy akurat ta metoda coś Ci da.

Dużo mniejsze opóźnienia (1-2-3 próbki) mają filtry IIR a te bardzo dobrze liczą się na dużych maszynach wyposażonych z jednostki zmiennoprzecinkowe. Inna sprawa, że nie są dobre do wszystkiego.

Zwykle, w systemach gdzie potrzebujesz szybkiej odpowiedzi a pomiary są obarczone dużymi szumami (np. w sterowaniach wielowirnikowcami) nie stosuje się filtrów FIR właśnie z uwagi na ich duże opóźnienia. Tam królują filtry predykcyjne, ale one muszą być wyposażone w mechanizm modelowania zjawiska. Czasem są to dwa współczynniki (np. filtr alfa-beta) a czasem niewielka macierz (Kalman).

W pewnych zastosowaniach do filtrowania zakłóceń np. impulsowych bardzo dobrze nadają się filtry medianowe.

Dlatego tak ważne jest byś napisał co chcesz zrobić, co to za dane i do czego chcesz wykorzystać wynik.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...