Skocz do zawartości

Filtr dolnoprzepustowy z jak najmniejszym opóźnieniem


l153k

Pomocna odpowiedź

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

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.