Filtr o skończonej odpowiedzi impulsowej

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Filtr o skończonej odpowiedzi impulsowej (FIR filter, ang. Finite Impulse Response filter) – rodzaj nierekursywnego filtru cyfrowego.

Nazwa FIR oznacza filtr o skończonej odpowiedzi impulsowej (polski skrót tej nazwy to filtr SOI). Oznacza to tyle, że reakcja na wyjściu tego układu na pobudzenie o skończonej długości jest również skończona (przez długość pobudzenia i odpowiedzi rozumie się długość odcinka czasu, dla którego próbki sygnału przyjmują wartości niezerowe). Aby warunek ten był spełniony, w tego typu filtrach nie występuje pętla sprzężenia zwrotnego, co widać na poniższym schemacie (zob. filtr IIR, w którym występuje pętla sprzężenia zwrotnego).

Schemat FIR.svg

Na powyższym schemacie człony b_{i} oznaczają współczynniki filtru, a człony z^{-1} są opóźnieniami o jedną próbkę.

Wzór na transmitancję filtru jest wielomianem opisanym za pomocą współczynników filtru:

 H(z) = b_{0}+b_{1}z^{-1}+\dots+b_{N}z^{-N}=\frac{B(z)} {z^{N}}

Odpowiedź impulsowa filtru FIR jest tożsama z ciągiem współczynników \{b_{i}\}.

Realizacja skomplikowanych transmitancji wymaga wielomianu wysokiego rzędu, dlatego w porównaniu z filtrem o nieskończonej odpowiedzi impulsowej dla uzyskania podobnej charakterystyki potrzeba więcej zasobów sprzętowych, przez co realizacja jest bardziej złożona obliczeniowo. Współczesne implementacje filtrów FIR wykorzystują realizacje polifazowe oraz transformacje ortogonalne (DFT, DCT), co znacząco zmniejsza złożoność, przybliżając ją do złożoności filtrów IIR.

Zalety i wady[edytuj | edytuj kod]

Filtry FIR są obecnie częściej stosowane niż IIR z powodu następujących zalet:

  • Implementacja filtrów FIR może być łatwo zrównoleglona, a niektóre procesory wręcz wspomagają operacje sumy iloczynów pozwalając obliczać wynik filtracji w znikomej liczbie cykli zegara.
  • Projektowanie filtrów FIR jest znacznie łatwiejsze niż filtrów IIR.
  • Filtry FIR są zawsze stabilne, gdyż w ich funkcji transmitancji występują tylko zera, więc nie ma rekursywności mogącej spowodować niestabilność.
  • W wielu zastosowaniach (przetwarzanie bieżącego sygnału w blokach, przetwarzanie obrazów) skończona odpowiedź impulsowa jest bardzo pożądana.
  • Łatwo jest uzyskać w tego typu filtrach liniową fazę, filtry z liniową fazą opóźniają wszystkie składowe sygnału w jednakowym stopniu.

Jedynymi, choć istotnymi, wadami filtrów FIR w porównaniu do IIR są:

  • Większa złożoność obliczeniowa.
  • Większe zapotrzebowania na pamięć operacyjną.

Przykład[edytuj | edytuj kod]

Rozważane jest działanie filtru o skończonej odpowiedzi impulsowej. Założeniem jest estymacja średniego kosztu użytkowania energii elektrycznej na podstawie rachunku za prąd z bieżącego oraz poprzedniego miesiąca. Równanie, wg którego będzie dokonywana ww. estymacja, jest następujące:

 y(n) = \frac{x(n) + x(n-1)}{2} = 0{,}5\cdot x(n) + 0{,}5\cdot x(n-1)

gdzie:

 n – numer miesiąca,
y(n) – estymowana wartość średnia w bieżącym miesiącu,
x(n) – wartość rachunku za bieżący miesiąc,
 x(n-1) – wartość rachunku z poprzedniego miesiąca.

Powyższe równanie nazywa się równaniem różnicowym filtru.

Założeniem jest, że rachunki x(n) za kolejne miesiące wyglądały następująco:

n 1 2 3 4 5 6 7 8 9 10 11 12
x(n) 24 27 31 59 33 37 0 0 0 0 0 0
y(n) 12 25,5 29 45 46 35 18,5 0 0 0 0 0

Przykładowo, dla miesiąca n=4 otrzymuje się:

 y(4) = 0{,}5 \cdot x(4) + 0{,}5 \cdot x(3) = 0{,}5\cdot 59 + 0{,}5\cdot 31 = 45

Dla miesiąca n=1 przyjmuje się, że x(0)=0, w związku z czym:

y(1)=0{,}5\cdot x(1) + 0{,}5\cdot x(0) = 0{,}5\cdot 24 + 0{,}5\cdot 0 = 12

Wykres kolejnych rachunków i estymowanych średnich przedstawiony jest na rysunku poniżej (sygnał określony jest tylko dla dyskretnych wartości n, natomiast linie pomagają zaobserwować trend sygnału):

Przebieg wejściowy x(n) i odpowiedź filtru y(n)

Na podstawie tego prostego przykładu można wysnuć następujące, użyteczne wnioski:

  • wejściem filtru jest sygnał x(n) będący wartością rachunku za aktualny miesiąc;
  • wyjściem filtru jest sygnał y(n) będący średnią ruchomą z dwóch ostatnich rachunków (tj. bieżącego i poprzedniego);
  • zaprojektowany filtr wygładza sygnał wejściowy – nagła zmiana sygnału wejściowego dla n=4 została stłumiona;
  • od chwili n=7 sygnał wejściowy x(n) zanika, co powoduje, że sygnał wyjściowy y(n) również zanika, ale od chwili n=8 – jest to cecha charakterystyczna filtrów o skończonej odpowiedzi impulsowej (SOI), tj. zanik sygnału wymuszającego powoduje, zanik sygnału wyjściowego w skończonym czasie.

Realizację powyższego filtru przedstawiono na poniższym rysunku, gdzie blok opóźniający o jedną próbkę oznaczono przez z^{-1} (patrz transformata Z).

Przykładowy filtr uśredniający SOI

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • Bartosz Ziółko, M. Ziółko Przetwarzanie mowy, Wydawnictwa AGH, 2012.
  • Michał Tadeusiewicz, Signals and Systems, Wydawnictwo Politechniki Łódzkiej, 2004.
  • Przemysław Barański, Przekształcenie Z - zastosowania w filtracji cyfrowej sygnałów - zbiór zadań, Wydawnictwo Politechniki Łódzkiej, 2014.

Linki zewnętrzne[edytuj | edytuj kod]