Podstawy filtrów FIR

maj 23, 2021
admin

1.1 Co to są „filtry FIR?”

Filtry FIR są jednym z dwóch podstawowych typów filtrów cyfrowych używanych w aplikacjach cyfrowego przetwarzania sygnałów (DSP), drugi typ to IIR.

1.2 Co oznacza „FIR”?

„FIR” oznacza „Finite Impulse Response”. Jeśli wprowadzisz impuls, czyli pojedynczą próbkę „1”, po której następuje wiele próbek „0”, zera pojawią się po tym, jak próbka „1” pokona drogę przez linię opóźniającą filtra.

1.3 Dlaczego odpowiedź impulsowa jest „skończona?”

W powszechnym przypadku odpowiedź impulsowa jest skończona, ponieważ w FIR nie ma sprzężenia zwrotnego. Brak sprzężenia zwrotnego gwarantuje, że odpowiedź impulsowa będzie skończona. Dlatego termin „skończona odpowiedź impulsowa” jest prawie synonimem terminu „brak sprzężenia zwrotnego”.

Jednakże, jeżeli sprzężenie zwrotne jest zastosowane, a mimo to odpowiedź impulsowa jest skończona, filtr nadal jest filtrem FIR. Przykładem jest filtr średniej ruchomej, w którym N-ta wcześniejsza próbka jest odejmowana (podawana z powrotem) za każdym razem, gdy przychodzi nowa próbka. Ten filtr ma skończoną odpowiedź impulsową, mimo że używa sprzężenia zwrotnego: po N próbkach impulsu, wyjście zawsze będzie równe zero.

1.4 Jak wymawiać „FIR?”

Niektórzy ludzie wymawiają litery F-I-R; inni wymawiają tak, jakby to był rodzaj drzewa. My wolimy drzewo. (Różnica polega na tym, czy mówimy o filtrze F-I-R czy o filtrze FIR.)

1.5 Jaka jest alternatywa dla filtrów FIR?

Filtry DSP mogą być również „Infinite Impulse Response” (IIR). (Zobacz dspGuru’s IIR FAQ.) Filtry IIR używają sprzężenia zwrotnego, więc kiedy wprowadzasz impuls, wyjście teoretycznie dzwoni w nieskończoność.

1.6 Jak filtry FIR porównują się do filtrów IIR?

Każdy z nich ma zalety i wady. Ogólnie jednak zalety filtrów FIR przeważają nad wadami, dlatego są one stosowane znacznie częściej niż filtry IIR.

1.6.1 Jakie są zalety filtrów FIR (w porównaniu z filtrami IIR)?

W porównaniu z filtrami IIR, filtry FIR mają następujące zalety:

  • Można je łatwo zaprojektować tak, aby były „liniowo-fazowe” (i zwykle są). Mówiąc prościej, filtry liniowo-fazowe opóźniają sygnał wejściowy, ale nie zniekształcają jego fazy.
  • Są proste w implementacji. W większości mikroprocesorów DSP, obliczenia FIR można wykonać przez zapętlenie pojedynczej instrukcji.
  • Nadają się do zastosowań wielostrumieniowych. Przez wielostopniowość rozumiemy albo „decymację” (zmniejszanie częstotliwości próbkowania), „interpolację” (zwiększanie częstotliwości próbkowania), albo jedno i drugie. Niezależnie od tego, czy jest to decymacja czy interpolacja, zastosowanie filtrów FIR pozwala na pominięcie niektórych obliczeń, zapewniając w ten sposób istotną wydajność obliczeniową. W przeciwieństwie do tego, jeśli używane są filtry IIR, każde wyjście musi być obliczane indywidualnie, nawet jeśli to wyjście zostanie odrzucone (więc sprzężenie zwrotne zostanie włączone do filtra).
  • Mają one pożądane właściwości numeryczne. W praktyce, wszystkie filtry DSP muszą być implementowane przy użyciu arytmetyki o skończonej precyzji, czyli ograniczonej liczbie bitów. Użycie arytmetyki o skończonej precyzji w filtrach IIR może powodować istotne problemy ze względu na użycie sprzężenia zwrotnego, ale filtry FIR bez sprzężenia zwrotnego mogą być zwykle zaimplementowane przy użyciu mniejszej liczby bitów, a projektant ma mniej praktycznych problemów do rozwiązania związanych z nieidealną arytmetyką.
  • Mogą być zaimplementowane przy użyciu arytmetyki ułamkowej. W przeciwieństwie do filtrów IIR, zawsze można zaimplementować filtr FIR używając współczynników o magnitudach mniejszych niż 1.0. (Całkowite wzmocnienie filtru FIR może być regulowane na jego wyjściu, jeśli jest to pożądane). Jest to ważna uwaga podczas korzystania z procesorów DSP o stałej wartości, ponieważ znacznie upraszcza to implementację.

1.6.2 Jakie są wady filtrów FIR (w porównaniu z filtrami IIR)?

W porównaniu z filtrami IIR, filtry FIR mają czasami tę wadę, że wymagają więcej pamięci i/lub obliczeń, aby osiągnąć daną charakterystykę odpowiedzi filtra. Ponadto, niektóre odpowiedzi nie są praktyczne do zaimplementowania w filtrach FIR.

1.7 Jakie terminy są używane w opisie filtrów FIR?

  • Odpowiedź impulsowa – „Odpowiedź impulsowa” filtra FIR jest w rzeczywistości tylko zbiorem współczynników FIR. (Jeśli włożysz „impuls” do filtra FIR, który składa się z próbki „1”, po której następuje wiele próbek „0”, wyjście filtra będzie zbiorem współczynników, ponieważ próbka 1 przechodzi przez każdy współczynnik po kolei, aby utworzyć wyjście.)
  • Tap – „Tap” FIR jest po prostu parą współczynnik/opóźnienie. Liczba zaczepów FIR (często oznaczana jako „N”) jest wskaźnikiem 1) ilości pamięci wymaganej do implementacji filtra, 2) liczby wymaganych obliczeń i 3) ilości „filtrowania”, które może wykonać filtr; w efekcie, więcej zaczepów oznacza większe tłumienie pasma zatrzymania, mniejsze tętnienia, węższe filtry itp.
  • Multiply-Accumulate (MAC) – W kontekście FIR, „MAC” jest operacją mnożenia współczynnika przez odpowiednią opóźnioną próbkę danych i akumulowania wyniku. FIR zwykle wymaga jednego MAC na taśmę. Większość mikroprocesorów DSP implementuje operację MAC w pojedynczym cyklu instrukcji.
  • Pasmo przejściowe – Pasmo częstotliwości pomiędzy krawędziami pasma przepustowego i pasma zatrzymania. Im węższe pasmo przejściowe, tym więcej odczepów jest wymaganych do realizacji filtra. (Małe” pasmo przejściowe daje w rezultacie „ostry” filtr.)
  • Linia opóźniająca – Zestaw elementów pamięci, które implementują elementy opóźniające „Z^-1” obliczeń FIR.
  • Bufor kołowy – Specjalny bufor, który jest „kołowy”, ponieważ inkrementacja na końcu powoduje zawinięcie do początku, lub ponieważ dekrementacja od początku powoduje zawinięcie do końca. Bufory okrężne są często dostarczane przez mikroprocesory DSP w celu zaimplementowania „ruchu” próbek przez linię opóźniającą FIR bez konieczności dosłownego przesuwania danych w pamięci. Kiedy nowa próbka jest dodawana do bufora, automatycznie zastępuje najstarszą.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.