Filtr o nieskończonej odpowiedzi impulsowej: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
m drobne merytoryczne, drobne redakcyjne , ency. |
m →Przykład: ency. , drobne redakcyjne, drobne techniczne |
||
Linia 28: | Linia 28: | ||
== Przykład == |
== Przykład == |
||
Rozważane jest działanie filtru o nieskończonej odpowiedzi impulsowej. Założeniem jest estymacja średniego kosztu użytkowania energii elektrycznej na podstawie rachunku za prąd z bieżącego miesiąca <math>x(n)</math>oraz oszacowanej wartości z poprzedniego miesiąca <math>y(n-1)</math>: |
|||
: <math>y(n) = \frac{y(n-1) + x(n)}{2} = 0{,}5\cdot y(n-1) + 0{,}5 \cdot x(n) </math> |
: <math>y(n) = \frac{y(n-1) + x(n)}{2} = 0{,}5\cdot y(n-1) + 0{,}5 \cdot x(n) </math> |
||
Linia 37: | Linia 37: | ||
: <math>y(n-1)</math> – oszacowanie wartości średniej w poprzednim miesiącu. |
: <math>y(n-1)</math> – oszacowanie wartości średniej w poprzednim miesiącu. |
||
Dla <math>n=1</math> |
Dla <math>n=1</math> pojawia się problem brzegowy, ponieważ nie dysponuje się oszacowaniem <math>y(0)</math> – przyjęto, że <math>y(0)=0</math>. Przykładowo: |
||
: <math>y(1) = 0{,}5\cdot x(1) + 0{,}5 \cdot y(0) = 0{,}5 \cdot 24 + 0{,}5 \cdot 0 = 12</math> |
: <math>y(1) = 0{,}5\cdot x(1) + 0{,}5 \cdot y(0) = 0{,}5 \cdot 24 + 0{,}5 \cdot 0 = 12</math> |
||
: <math>y(2) = 0{,}5\cdot x(2) + 0{,}5 \cdot y(1) = 0{,}5 \cdot 12 + 0{,}5 \cdot 27 = 19{,}5</math> |
: <math>y(2) = 0{,}5\cdot x(2) + 0{,}5 \cdot y(1) = 0{,}5 \cdot 12 + 0{,}5 \cdot 27 = 19{,}5</math> |
||
Wartości kolejnych próbek wejściowych <math>x(n)</math> (rachunków) oraz szacowanych wartości średnich <math>y(n)</math> |
Wartości kolejnych próbek wejściowych <math>x(n)</math> (rachunków) oraz szacowanych wartości średnich <math>y(n)</math> przedstawia tabela: |
||
:{| class="wikitable" style="text-align:center" |
:{| class="wikitable" style="text-align:center" |
||
Linia 87: | Linia 87: | ||
|} |
|} |
||
Wykres próbek wejściowych <math>x(n)</math> oraz wyjściowych <math>y(n)</math> |
Wykres próbek wejściowych <math>x(n)</math> oraz wyjściowych <math>y(n)</math> przedstawiony jest na wykresie poniżej (sygnał określony jest tylko dla dyskretnych wartości <math>n</math>, natomiast linie pomagają zaobserwować trend sygnału): |
||
: [[Plik:Przykład filtru NOI.svg|600px|Przykładowy uśredniający filtr NOI]] |
: [[Plik:Przykład filtru NOI.svg|600px|Przykładowy uśredniający filtr NOI]] |
||
Na podstawie tego prostego przykładu można wysnuć następujące, użyteczne wnioski: |
|||
* zaprojektowany filtr ''wygładza'' sygnał wejściowy |
* zaprojektowany filtr ''wygładza'' sygnał wejściowy – nagła zmiana sygnału wejściowego dla <math>n=4</math> została stłumiona, |
||
* od chwili <math>n=7</math> sygnał wejściowy <math>x(n)</math> zanika |
* od chwili <math>n=7</math> sygnał wejściowy <math>x(n)</math> zanika – sygnał wyjściowy <math>y(n)</math> dąży do zera, aczkolwiek tej wartości nigdy nie osiągnie – jest to cecha charakterystyczna filtrów o nieskończonej odpowiedzi impulsowej (NOI). |
||
Realizację filtru przestawiono na rysunku poniżej: |
Realizację filtru z przykładu przestawiono na rysunku poniżej, gdzie blok opóźniający o jedną próbkę oznaczono przez <math>z^{-1}</math>: |
||
: [[Plik:Noi diag ex.svg|300px|Przykładowy uśredniający filtr NOI]] |
: [[Plik:Noi diag ex.svg|300px|Przykładowy uśredniający filtr NOI]] |
||
Wersja z 08:53, 15 lip 2015
Filtr o nieskończonej odpowiedzi impulsowej (IIR filter ang. Infinite Impulse Response) – rodzaj filtru cyfrowego, który w odróżnieniu od filtrów FIR jest układem rekursywnym. IIR oznacza nieskończoną odpowiedź impulsową (w polskiej literaturze stosowana jest również nazwa filtr NOI). Znaczy to tyle, że reakcja na pobudzenie o skończonym czasie trwania jest teoretycznie nieskończenie długa. Jest to efektem występowania pętli sprzężenia zwrotnego widocznej na poniższym schemacie blokowym (zob. schemat filtru FIR).
Na powyższym schemacie moduły oznaczają opóźnienie sygnału o jedną próbkę, natomiast oraz są współczynnikami filtru.
Transmitancję filtru IIR można opisać następująco:
gdzie:
- – transformata Z wyjścia,
- – transformata Z wejścia
lub po rozpisaniu wzorów na wielomiany opisujące bieguny i zera:
- .
Zera transmitancji determinowane są przez miejsca zerowe wielomianu licznika, zaś miejsca zerowe wielomianu mianownika określają bieguny transmitancji.
Zalety i wady
Ze względu na dużą elastyczność w kształtowaniu przebiegu funkcji za pomocą ilorazu wielomianów, znacznie łatwiej uzyskać pożądaną charakterystykę używając filtru IIR niskiego rzędu niż filtru FIR. Wynikają z tego dwie podstawowe zalety filtrów IIR w porównaniu do FIR:
- Niska złożoność obliczeniowa.
- Niewielkie zapotrzebowanie na pamięć operacyjną.
Te zalety spowodowały duże zainteresowanie filtrami IIR i burzliwy rozwój teorii ich projektowania w latach 70. XX w., które przypadają na początki rozwoju technik cyfrowego przetwarzania sygnałów, gdy nie były dostępne procesory o odpowiedniej mocy obliczeniowej.
Do wad filtrów IIR należy zaliczyć:
- Rekursywność filtru wprowadza potencjalne zagrożenie utraty stabilności (odpowiedź filtru w sposób niekontrolowany narasta do nieskończoności); niestabilność może mieć miejsce wtedy, gdy bieguny transmitancji (miejsca zerowe wielomianu w mianowniku) znajdą się poza okręgiem jednostkowym na płaszczyźnie zespolonej.
- Projektowanie filtrów IIR jest znacznie trudniejsze niż w przypadku filtrów FIR – nie tylko ze względu na dodatkowy warunek zapewnienia stabilności.
- Filtry IIR są znacznie bardziej wrażliwe na błędy zaokrągleń: zaokrąglenia wartości współczynników mogą znacząco zmienić charakterystykę, a zaokrąglenia wartości sygnału i wyników pośrednich wprowadzają szum, który może się akumulować.
- Nie można ich zaimplementować jako filtrów o liniowej fazie, czyli takich, które wprowadzają takie samo opóźnienie grupowe dla wszystkich składowych częstotliwościowych przepuszczanego sygnału.
Z uwagi na rosnącą wydajność układów cyfrowych i procesorów sygnałowych, filtry IIR nie są obecnie tak chętnie wykorzystywane jak dawniej, a największą popularnością cieszą się filtry FIR, które nie mają wyżej wymienionych wad.
Przykład
Rozważane jest działanie filtru o nieskończonej odpowiedzi impulsowej. Założeniem jest estymacja średniego kosztu użytkowania energii elektrycznej na podstawie rachunku za prąd z bieżącego miesiąca oraz oszacowanej wartości z poprzedniego miesiąca :
gdzie:
- – numer miesiąca,
- – wartość rachunku za bieżący miesiąc,
- – oszacowana wartość w bieżącym miesiącu,
- – oszacowanie wartości średniej w poprzednim miesiącu.
Dla pojawia się problem brzegowy, ponieważ nie dysponuje się oszacowaniem – przyjęto, że . Przykładowo:
Wartości kolejnych próbek wejściowych (rachunków) oraz szacowanych wartości średnich przedstawia tabela:
1 2 3 4 5 6 7 8 9 10 11 12 24 27 31 59 33 37 0 0 0 0 0 0 12 19,5 25,3 42,1 37,6 37,3 18,6 9,3 4,7 2,3 1,2 0,6
Wykres próbek wejściowych oraz wyjściowych przedstawiony jest na wykresie poniżej (sygnał określony jest tylko dla dyskretnych wartości , natomiast linie pomagają zaobserwować trend sygnału):
Na podstawie tego prostego przykładu można wysnuć następujące, użyteczne wnioski:
- zaprojektowany filtr wygładza sygnał wejściowy – nagła zmiana sygnału wejściowego dla została stłumiona,
- od chwili sygnał wejściowy zanika – sygnał wyjściowy dąży do zera, aczkolwiek tej wartości nigdy nie osiągnie – jest to cecha charakterystyczna filtrów o nieskończonej odpowiedzi impulsowej (NOI).
Realizację filtru z przykładu przestawiono na rysunku poniżej, gdzie blok opóźniający o jedną próbkę oznaczono przez :
Zobacz też
Bibliografia
- 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.