Filtry: Różnice pomiędzy wersjami

Z Brain-wiki
 
(Nie pokazano 40 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 8: Linia 8:
 
y[n] = \sum_{k=1}^K a_k y[n-k] + \sum_{l=0}^L b_l x[n-l]
 
y[n] = \sum_{k=1}^K a_k y[n-k] + \sum_{l=0}^L b_l x[n-l]
 
</math>
 
</math>
 +
  
  
Linia 13: Linia 14:
  
  
 +
<div align="center">
 
:<math>
 
:<math>
 
\displaystyle
 
\displaystyle
 
\sum_{k=0}^K a_k y[n-k] = \sum_{l=0}^L b_l x[n-l]
 
\sum_{k=0}^K a_k y[n-k] = \sum_{l=0}^L b_l x[n-l]
 
</math>
 
</math>
 
+
</div>
<!--
 
 
 
 
 
Jeśli w miejsce sygnału <math>x[n]</math> wstawimy szum <math>\epsilon[i]</math>, dostaniemy równanie opisujące proces ARMA — AutoRegressive Moving Average.
 
 
 
 
 
:<math>
 
\displaystyle
 
\sum_{k=0}^K a_k y[n-k] = \sum_{l=0}^L b_l \epsilon[n-l]
 
</math>
 
 
 
 
 
 
 
==Dla <math>L=0</math> dostajemy proces AR (autoregressive)==
 
w którym sygnał na wyjściu <math>y</math> zależy tylko od <math>K</math> poprzednich próbek wyjścia <math>y</math>.
 
 
 
:<math>
 
\displaystyle
 
\epsilon[n] = \sum_{k=0}^K a_k y[n-k]
 
</math>
 
 
 
 
 
kładąc <math>a_0 = 1</math>
 
 
 
 
 
:<math>
 
\displaystyle
 
\epsilon[n] = y[n] + \sum_{k=1}^K a_k y[n-k]
 
</math>
 
 
 
 
 
:<math>
 
\displaystyle
 
y[n] =  \sum_{k=1}^K -a_k y[n-k] + \epsilon[n]
 
</math>
 
 
 
 
 
 
 
==Dla <math>K=0</math> dostajemy proces MA (moving average)==
 
w którym sygnał na wyjściu <math>y</math> zależy tylko od <math>L</math> poprzednich próbek wejścia
 
 
 
 
 
:<math>
 
\displaystyle
 
y[n] = \sum_{l=0}^L b_l \epsilon[n-l]
 
</math>
 
 
 
 
 
czyli splot szumu <math>\epsilon[n]</math> z sekwencją <math>b_l</math>
 
 
 
-->
 
 
 
 
 
 
 
  
  
Linia 77: Linia 25:
 
==Funkcja przejścia (transfer function)==
 
==Funkcja przejścia (transfer function)==
  
Stosując transformatę <math>Z</math> możemy równanie z dziedziny czasu przenieść do dziedziny częstości:
+
Stosując transformatę <math>Z</math> możemy powyższe równanie z dziedziny czasu przenieść do dziedziny częstości:
 
<!-- Zastosujmy do obu stron powyższego równania transformatę <math>\mathcal{Z}</math>:-->
 
<!-- Zastosujmy do obu stron powyższego równania transformatę <math>\mathcal{Z}</math>:-->
  
Linia 107: Linia 55:
 
Dla systemu przyczynowego dostajemy:
 
Dla systemu przyczynowego dostajemy:
  
 
+
<div align="center">
 
:<math>
 
:<math>
 
\displaystyle
 
\displaystyle
 
\frac{Y(z)}{X(z)} \equiv H(z) = \frac{\sum_{l=0}^L b_l z^{-l}}{\sum_{k=0}^K a_k z^{-k}}
 
\frac{Y(z)}{X(z)} \equiv H(z) = \frac{\sum_{l=0}^L b_l z^{-l}}{\sum_{k=0}^K a_k z^{-k}}
 
</math>
 
</math>
 +
</div>
  
  
<math>H(z)</math> &mdash; funkcja systemu ''(system function)'' pozwala spójnie przedstawić działanie filtra  LTI na sygnał <math>x</math> w przestrzeni transformaty <math>\mathcal{Z}</math>:
 
  
 
::<math>
 
\displaystyle
 
Y[z]=H[z]X[z]=\frac{b_0 + b_1 z^{-1}+\dots +b_{L} z^{-L}}{a_0+a_1 z^{-1}+\dots +a_{K} z^{-K}}X[z]
 
</math>
 
  
  
W dziedzinie czasu mamy
+
==Filtry==
 +
Funkcja przejścia <math>H(z)</math> pozwala zwięźle przedstawić działanie filtra LTI na sygnał <math>x</math> w przestrzeni transformaty <math>\mathcal{Z}</math>:
  
  
 
::<math>
 
::<math>
 
\displaystyle
 
\displaystyle
\begin{array}{rl}
+
Y(z)=H(z)X(z)=\frac{b_0 + b_1 z^{-1}+\dots +b_{L} z^{-L}}{a_0+a_1 z^{-1}+\dots +a_{K} z^{-K}}X(z)
y[n] = &b_0 x[n]+ b_1 x[n-1] + \dots + b_L x[n-L]\\
 
&- a_1 y[n-1] - \dots - a_K y[n-K]
 
\end{array}
 
 
</math>
 
</math>
  
  
 
+
gdzie <math>X(z)</math> to transformata <math>\mathcal{Z}</math> filtrowanego sygnału (wejścia <math>x</math>), <math>Y(z)</math> — wyjścia, a <math>H(z)</math> to wprowadzona powyżej funkcja przejścia filtra. Filtrowanie w przestrzeni transformaty <math>\mathcal{Z}</math> odpowiada przemnożeniu transformaty sygnału przez transformatę funkcji przejścia filtru. Analogicznie w przestrzeni częstości — dla <math>z = e^{i\omega}</math> funkcja przejścia zależy od częstości <math>\omega</math>.
Filtrowanie odpowiada przemnożeniu transformaty sygnału przez transformatę funkcji przejścia filtru <math>H[z]</math>:
 
 
 
  
 
::<math>
 
::<math>
 
\displaystyle
 
\displaystyle
Y[z]=H[z]X[z]=\frac{b[0]+b[1]z^{-1}+\dots +b[n_b]z^{-n_b}}{a[0]+a[1]z^{-1}+\dots +a[n_a]z^{-n_a}}X[z]</math>
+
Y(e^{i\omega})=H(e^{i\omega})X(e^{i\omega})=\frac{b_0+b_1 e^{-i\omega}+\dots +b_L e^{-i L\omega}}{a_0+a_1 e^{-i\omega}+\dots +a_K e^{-i K\omega}}X(e^{i\omega})
 +
</math>
  
 +
Działanie funkcji przejścia (czyli filtra) na składową sygnału <math>x</math> o częstości <math>\omega_k</math>, przedstawioną we współrzędnych biegunowych jako  <math>|X_k| e^{i (\omega_k t + \theta_k)}</math>, odpowiada wymnożeniu jej przez liczbę zespoloną <math>H(e^{i\phi_k})</math>, którą również można przedstawić we współrzędnych biegunowych, jako <math>|A_k| e^{i \phi_k}</math>:
  
Występująca tu funkcja <math>H(z)</math> nosi nazwę transmitancji lub funkcja przenoszenia.
+
:<math>Y(\omega_k) = |A_k| e^{i \phi_k} |X_k| e^{i (\omega t + \theta_k)} = |A_k| |X_k| e^{i ( \phi_k +\theta_k)} e^{i \omega t} </math>
Znając funkcję <math>H</math>  łatwo możemy przewidzieć co się stanie z widmem sygnału po przefiltrowaniu. Weźmy <math> z = e^{i\omega}</math>. Wówczas transmitancja jest funkcją częstości <math>\omega</math>. Konkretnej częstości <math>\omega_k</math> przypisuje ona liczbę zespoloną, którą można wyrazić jako <math>A_k e^{i \phi_k}</math>.
+
 
+
W wyniku filtrowania sinusoidalna składowa sygnału o danej częstości może zmienić amplitudę i fazę, ale nie zmienia częstości.
::<math>
+
<!--Zera i bieguny filtra to odpowiednio miejsca zerowe licznika i mianownika funkcji przenoszenia.-->
\displaystyle
 
Y[e^{i\omega}]=H[e^{i\omega}]X[e^{i\omega}]=\frac{b[0]+b[1]e^{-i\omega}+\dots +b[n_b]e^{-i\omega n_b}}{a[0]+a[1]e^{-i\omega}+\dots +a[n_a]e^{-i\omega n_a}}X[e^{i\omega}]
 
</math>
 
 
 
W dziedzinie częstości sygnał wyrażony jest przez współczynniki Fourierowskie. Dla konkretnej częstości współczynnik taki <math>X_k = |X_k| e^{i \theta_k}</math> (liczba zespolona) mówi z jaką amplitudą i jaką fazą exponens zespolony o danej częstości (<math>z_k = e^{i\omega_k}</math>) wchodzi w skład sygnału.
 
  
Działanie filtru na sygnał w dziedzinie częstości polega na przemnożeniu składowej sygnału o częstości <math>f_k</math> przez liczbę <math>A_k e^{i \phi_k}</math>:
 
  
:<math>Y(f_k) = A_k e^{i \phi_k} |X_k| e^{i \theta_k} = A_k |X_k| e^{i ( \phi_k +\theta_k)}  e^{i 2\pi  f_k} </math>
 
 
W wyniku filtrowania sinusoidalna składowa sygnału o danej częstości może zmienić amplitudę i fazę ale co warto zauważyć nie zmienia częstości.
 
Zera i bieguny filtra to odpowiednio miejsca zerowe licznika i mianownika funkcji przenoszenia.
 
  
==Finite Impulse Response (FIR) — filtr o skończonej odpowiedzi impulsowej==
+
===Finite Impulse Response (FIR) — filtr o skończonej odpowiedzi impulsowej===
  
 
Jeśli w równaniu  
 
Jeśli w równaniu  
Linia 182: Linia 113:
  
  
a w dziedzienie czasu  
+
a w dziedzienie czasu, z pełnego równania
 +
:<math>
 +
\displaystyle
 +
y[n] = b_0 x[n]+ b_1 x[n-1] + \dots + b_L x[n-L]
 +
\,\,\, - \,\,\,
 +
a_1 y[n-1] - \dots - a_K y[n-K]
 +
</math>
  
 +
pozostaje
  
 
:<math>
 
:<math>
Linia 191: Linia 129:
  
  
jeśli współczynniki <math>b_i</math> zapiszemy jako <math>b[i]</math>, dostaniemy splot
+
Jeśli współczynniki <math>b_i</math> zapiszemy jako sekwencję <math>b[i]</math>, zobaczymy, że działanie takiego filtra na sygnał <math>x[n]</math> w dziedzinie czasu jest splotem sekwencji współczynników filtra z sygnałem:
  
  
Linia 200: Linia 138:
  
  
 +
Taki filtr nazywamy filtrem o skończonej odpowiedzi impulsowej (Finite Impulse Response, FIR), bo odpowiedź na impuls  kończy się po <math>L</math> próbkach. Inna nazwa to średnia biegnąca (Moving Average, MA).
  
Taki filtr nazywamy filtrem o skończonej odpowiedzi impulsowej (Finite Impulse Response, FIR), bo odpowiedź na impulsowe wzbudzenie kończy się po <math>L</math> próbkach. Inna nazwa to średnia biegnąca (Moving Average, MA).
 
  
<!--
 
Dla filtrów FIR współczynniki filtru i odpowiedź impulsowa są takie same.
 
-->
 
  
==Infinite Impulse Response (IIR) —  filtr o nieskończonej odpowiedzi impulsowej==
+
===Infinite Impulse Response (IIR) —  filtr o nieskończonej odpowiedzi impulsowej===
 
Jeśli w równaniu  
 
Jeśli w równaniu  
 
:<math>
 
:<math>
Linia 232: Linia 167:
 
</math>
 
</math>
  
 +
dlatego taki filtr nazwać można filtrem rekursywnym, autoregresyjnym (AR), lub
 +
filtrem o nieskończonej odpowiedzi impulsowej (Infinite Impulse Response IIR), bo potencjalnie raz wzbudzony (sekwencją jednostkową) może dowolnie długo produkować niezerowe wyjście.
 +
Faza filtrowanego sygnału zaburzana jest nieliniowo ('''nonlinear phase filter''').
  
Taki filtr ten nazwać można filtrem rekursywnym lub autoregresyjnym (AR).
+
<!--
 
+
Filtry IIR mogą być też implementowane jako połączenie członów AR i MA, czyli:
W praktyce filtry IIR są zwykle implementowane jako połączenie członów AR i MA, czyli:
 
  
 
::<math>
 
::<math>
Linia 243: Linia 180:
 
\end{array}
 
\end{array}
 
</math>
 
</math>
 +
-->
 +
 +
==Liniowe i nieliniowe opóźnienie fazy, opóźnienie grupowe==
 +
Jak ustaliliśmy powyżej, filtry liniowe odpowiadają mnożeniu poszczególnych składowych sygnału wejściowego <math>x[n]</math> przez liczbę zespoloną, mającą charakterystyczną dla danego filtra amplitudę i fazę, które dla każdej częstości <math>\omega</math> można wyliczyć z funkcji przenoszenia <math>H(\omega)</math>.
 +
 +
Różna dla różnych częstości zmiana amplitudy jest kwintesencją i celem całego procesu filtrowania, w którym z sygnału usuwamy (w praktyce raczej osłabiamy) niechciane częstości.
 +
Jednak wywołana tym procesem zmiana faz dla różnych częstości nie jest już tak oczywista. Weźmy sygnał złożony z dwóch oscylacji, o częstościach <math>\omega</math> i <math>2 *\omega</math>:
  
Tę wersję filtru nazywamy filtrem o nieskończonej odpowiedzi impulsowej (Infinite Impulse Response IIR) bo potencjalnie raz wzbudzony może dowolnie długo produkować niezerowe wyjście.
+
<div align="center">
Faza filtrowanego sygnału zaburzana jest nieliniowo ('''nonlinear phase filter''')
+
:<math>x(t) = \sin(\omega t) + \sin(2 * \omega t)</math>
 +
</div>
  
  
 +
Suma tych dwóch składowych (niebieskie krzywe) na poniższym rysunku przedstawiona jest kolorem czerwonym:
  
==Liniowe i nieliniowe przesunięcie fazy==
+
[[Plik:Phase1.png|500px|center|bezramki]]
''Jeśli współczynniki filtra FIR tworzą sekwencję symetryczną bądź antysymetryczną'', oparty na nich filtr o skończonej odpowiedzi impulsowej będzie liniowo przesuwał fazę filtrowanego sygnału ('''linear phase filter''') — cały sygnał skutkiem filtrowania jest przesunięty w czasie o ok. połowę długości filtra FIR.
 
  
'''Rzędem filtru''' nazywamy maksymalne opóźnienie w próbkach potrzebne do wytworzenia nowej próbki wyjściowej. Dla filtrów FIR jest on równy liczbie <math>L</math>. Dla filtrów IIR jest to większa z liczb <math>L, K</math>.
+
Przesuńmy teraz fazę obydwu sygnałów składowych o tę samą wartość, na przykład <math>\pi/2</math>, i ponownie dodajmy do siebie. Odpowiada to sytuacji, kiedy po przejściu przez filtr sygnału <math>x(t) = \sin(\omega t) + \sin(2 * \omega t)</math> dostajemy <math>y(t) = \sin(\omega t + \pi/2) + \sin(2 * \omega t + \pi/2)</math>
 +
 
 +
[[Plik:Phase1.png|150px|left|bezramki]]
 +
[[Plik:Phase2.png|500px|center|bezramki]]
 +
 
 +
 
 +
Po przejściu przez system, opóźniający fazę <math>\phi</math> jednolicie (o <math>\Delta\phi=\pi/{2}</math>) dla wszystkich częstości, sygnał wyjściowy wygląda zupełnie inaczej, niż sygnał wejściowy. Przed ponownym "złożeniem" każdy z sygnałów składowych został przesunięty o inny odcinek czasu, który dla częstości <math>\omega</math> wynosi <math>\phi/{\omega}</math>:
 +
 
 +
 
 +
<div align="center">
 +
:<math>\displaystyle \sin(\omega t + \phi) = sin\left(\,\,\omega (t + \phi/{\omega}) \,\, \right) =
 +
\sin\left(\,\, \omega (t + \Delta t)\,\, \right)
 +
</math>
 +
</div>
 +
 
 +
 
 +
Formalnie, opóźnienie '''fazy''' <math>\phi</math> dla danej częstości <math>\omega</math> określamy mianem '''opóźnienia fazowego''', i definiujemy jako <math>-\phi/\omega</math>.
 +
 
 +
 
 +
Przesunięcie składowej sygnału w czasie zwiemy '''opóźnieniem grupowym''', i definiujemy jako  <math>-\frac{d \phi(\omega)}{d \omega}</math>.
 +
 
 +
 
 +
Żeby otrzymać sygnał, którego wszystkie składowe będą przesunięte o ten sam odcinek czasu <math>\Delta t</math>, czyli będą miały stałe przesunięcie grupowe, trzeba fazę przesuwać '''liniowo''' w zależności od częstości: <math>\Delta\phi(\omega) = \omega\Delta t</math>, wtedy opóźnienie grupowe <math>\frac{d \phi(\omega)}{d \omega} = \frac{d (\omega\Delta t)}{d \omega} = \Delta t</math> będzie stałe.
 +
 
 +
[[Plik:Phase1.png|150px|left|bezramki]]
 +
[[Plik:Phase3.png|500px|center|bezramki]]
 +
 
 +
 
 +
W każdym innym przypadku sygnał na wyjściu nie będzie odtwarzał własności fazowych (czyli "kształtu", obserwowanego w dziedzinie czasu) sygnału oryginalnego, nawet w zakresie częstości nie zmienianych w procesie filtrowania — zgadzać się będzie tylko widmo w paśmie przenoszenia.
  
  
[[Plik:Phase1.png|500px|bezramki]]
 
[[Plik:Phase2.png|500px|bezramki]]
 
[[Plik:Phase3.png|500px|bezramki]]
 
  
  
Linia 362: Linia 332:
 
</source>
 
</source>
 
|}
 
|}
 +
 +
 +
<div align="right">
 +
[[Funkcja_systemu|⬅]] [[Analiza_sygnałów_-_wykład|⬆]] [[Spektrogram|⮕]]
 +
</div>

Aktualna wersja na dzień 08:08, 23 lip 2024

AS/ Funkcja przejścia i filtry

Cyfrowe filtry liniowe niezmiennicze w czasie [math]x[n] \longrightarrow \boxed{LTI} \longrightarrow y[n][/math] opisuje liniowe równanie różnicowe o stałych współczynnikach


[math] \displaystyle y[n] = \sum_{k=1}^K a_k y[n-k] + \sum_{l=0}^L b_l x[n-l] [/math]


gdzie [math]a_i[/math] i [math]b_i[/math] to współczynniki, [math]x[n][/math] to sygnał wejściowy, a [math]y[n][/math] — wyjście; w ogólniejszej postaci można je zapisać jako


[math] \displaystyle \sum_{k=0}^K a_k y[n-k] = \sum_{l=0}^L b_l x[n-l] [/math]


Funkcja przejścia (transfer function)

Stosując transformatę [math]Z[/math] możemy powyższe równanie z dziedziny czasu przenieść do dziedziny częstości:


[math] \displaystyle \mathcal{Z}\left\{\sum_{k=0}^K a_k y[n-k] \right\} = \mathcal{Z}\left\{ \sum_{l=0}^L b_l x[n-l] \right\} [/math]


[math] \displaystyle \sum_{k=0}^K a_k \mathcal{Z}\left\{ y[n-k]\right\} = \sum_{l=0}^L b_l \mathcal{Z} \left\{x[n-l]\right\} [/math]


[math] \displaystyle \sum_{k=0}^K a_k z^{-k} Y(z) = \sum_{l=0}^L b_l z^{-l} X(z) [/math]


[math] \displaystyle Y(z) \sum_{k=0}^K a_k z^{-k} = X(z) \sum_{l=0}^L b_l z^{-l} [/math]


Dla systemu przyczynowego dostajemy:

[math] \displaystyle \frac{Y(z)}{X(z)} \equiv H(z) = \frac{\sum_{l=0}^L b_l z^{-l}}{\sum_{k=0}^K a_k z^{-k}} [/math]



Filtry

Funkcja przejścia [math]H(z)[/math] pozwala zwięźle przedstawić działanie filtra LTI na sygnał [math]x[/math] w przestrzeni transformaty [math]\mathcal{Z}[/math]:


[math] \displaystyle Y(z)=H(z)X(z)=\frac{b_0 + b_1 z^{-1}+\dots +b_{L} z^{-L}}{a_0+a_1 z^{-1}+\dots +a_{K} z^{-K}}X(z) [/math]


gdzie [math]X(z)[/math] to transformata [math]\mathcal{Z}[/math] filtrowanego sygnału (wejścia [math]x[/math]), [math]Y(z)[/math] — wyjścia, a [math]H(z)[/math] to wprowadzona powyżej funkcja przejścia filtra. Filtrowanie w przestrzeni transformaty [math]\mathcal{Z}[/math] odpowiada przemnożeniu transformaty sygnału przez transformatę funkcji przejścia filtru. Analogicznie w przestrzeni częstości — dla [math]z = e^{i\omega}[/math] funkcja przejścia zależy od częstości [math]\omega[/math].

[math] \displaystyle Y(e^{i\omega})=H(e^{i\omega})X(e^{i\omega})=\frac{b_0+b_1 e^{-i\omega}+\dots +b_L e^{-i L\omega}}{a_0+a_1 e^{-i\omega}+\dots +a_K e^{-i K\omega}}X(e^{i\omega}) [/math]

Działanie funkcji przejścia (czyli filtra) na składową sygnału [math]x[/math] o częstości [math]\omega_k[/math], przedstawioną we współrzędnych biegunowych jako [math]|X_k| e^{i (\omega_k t + \theta_k)}[/math], odpowiada wymnożeniu jej przez liczbę zespoloną [math]H(e^{i\phi_k})[/math], którą również można przedstawić we współrzędnych biegunowych, jako [math]|A_k| e^{i \phi_k}[/math]:

[math]Y(\omega_k) = |A_k| e^{i \phi_k} |X_k| e^{i (\omega t + \theta_k)} = |A_k| |X_k| e^{i ( \phi_k +\theta_k)} e^{i \omega t} [/math]

W wyniku filtrowania sinusoidalna składowa sygnału o danej częstości może zmienić amplitudę i fazę, ale nie zmienia częstości.


Finite Impulse Response (FIR) — filtr o skończonej odpowiedzi impulsowej

Jeśli w równaniu

[math] \displaystyle \sum_{k=0}^K a_k y[n-k] = \sum_{l=0}^L b_l x[n-l] [/math]

położymy [math]a_i = 0[/math] poza [math]a_0=1[/math], dostaniemy

[math] \displaystyle y[n] = \sum_{l=0}^L b_l x[n-l] [/math]

W funkcji przejścia mianownik będzie stały i dostaniemy

[math] \displaystyle Y[z]=H[z]X[z]=\left(b_0+b_1 z^{-1}+\dots +b_L z^{-L}\right) X[z] [/math]


a w dziedzienie czasu, z pełnego równania

[math] \displaystyle y[n] = b_0 x[n]+ b_1 x[n-1] + \dots + b_L x[n-L] \,\,\, - \,\,\, a_1 y[n-1] - \dots - a_K y[n-K] [/math]

pozostaje

[math] \displaystyle y(n) = b_0 *x[n] + b_1 *x[n-1] + \dots + b_L *x[n-L] [/math]


Jeśli współczynniki [math]b_i[/math] zapiszemy jako sekwencję [math]b[i][/math], zobaczymy, że działanie takiego filtra na sygnał [math]x[n][/math] w dziedzinie czasu jest splotem sekwencji współczynników filtra z sygnałem:


[math] \displaystyle y(n) = b[0]*x[n] + b[1]*x[n-1] + \dots + b[L]*x[n-L] = b[n]*x[n] [/math]


Taki filtr nazywamy filtrem o skończonej odpowiedzi impulsowej (Finite Impulse Response, FIR), bo odpowiedź na impuls kończy się po [math]L[/math] próbkach. Inna nazwa to średnia biegnąca (Moving Average, MA).


Infinite Impulse Response (IIR) — filtr o nieskończonej odpowiedzi impulsowej

Jeśli w równaniu

[math] \displaystyle \sum_{k=0}^K a_k y[n-k] = \sum_{l=0}^L b_l x[n-l] [/math]

położymy [math]b_i = 0[/math] poza [math]b_0=1[/math], dostaniemy

[math] \displaystyle \sum_{k=0}^K a_k y[n-k] = x[n] [/math]

w funkcji przejścia licznik będzie stały

[math] \displaystyle Y[z]=H[z]X[z]=\frac{1}{a_0+a_1 z^{-1}+\dots +a_{K} z^{-K}}X[z] [/math]


Operacja splotu działa tu na sekwencji wyjściowej:

[math] y[n] = x[n] - a[1]*y[n-1] - \dots - a[n_a]*y[n-K] [/math]

dlatego taki filtr nazwać można filtrem rekursywnym, autoregresyjnym (AR), lub filtrem o nieskończonej odpowiedzi impulsowej (Infinite Impulse Response IIR), bo potencjalnie raz wzbudzony (sekwencją jednostkową) może dowolnie długo produkować niezerowe wyjście. Faza filtrowanego sygnału zaburzana jest nieliniowo (nonlinear phase filter).


Liniowe i nieliniowe opóźnienie fazy, opóźnienie grupowe

Jak ustaliliśmy powyżej, filtry liniowe odpowiadają mnożeniu poszczególnych składowych sygnału wejściowego [math]x[n][/math] przez liczbę zespoloną, mającą charakterystyczną dla danego filtra amplitudę i fazę, które dla każdej częstości [math]\omega[/math] można wyliczyć z funkcji przenoszenia [math]H(\omega)[/math].

Różna dla różnych częstości zmiana amplitudy jest kwintesencją i celem całego procesu filtrowania, w którym z sygnału usuwamy (w praktyce raczej osłabiamy) niechciane częstości. Jednak wywołana tym procesem zmiana faz dla różnych częstości nie jest już tak oczywista. Weźmy sygnał złożony z dwóch oscylacji, o częstościach [math]\omega[/math] i [math]2 *\omega[/math]:

[math]x(t) = \sin(\omega t) + \sin(2 * \omega t)[/math]


Suma tych dwóch składowych (niebieskie krzywe) na poniższym rysunku przedstawiona jest kolorem czerwonym:

Phase1.png

Przesuńmy teraz fazę obydwu sygnałów składowych o tę samą wartość, na przykład [math]\pi/2[/math], i ponownie dodajmy do siebie. Odpowiada to sytuacji, kiedy po przejściu przez filtr sygnału [math]x(t) = \sin(\omega t) + \sin(2 * \omega t)[/math] dostajemy [math]y(t) = \sin(\omega t + \pi/2) + \sin(2 * \omega t + \pi/2)[/math]

Phase1.png
Phase2.png


Po przejściu przez system, opóźniający fazę [math]\phi[/math] jednolicie (o [math]\Delta\phi=\pi/{2}[/math]) dla wszystkich częstości, sygnał wyjściowy wygląda zupełnie inaczej, niż sygnał wejściowy. Przed ponownym "złożeniem" każdy z sygnałów składowych został przesunięty o inny odcinek czasu, który dla częstości [math]\omega[/math] wynosi [math]\phi/{\omega}[/math]:


[math]\displaystyle \sin(\omega t + \phi) = sin\left(\,\,\omega (t + \phi/{\omega}) \,\, \right) = \sin\left(\,\, \omega (t + \Delta t)\,\, \right) [/math]


Formalnie, opóźnienie fazy [math]\phi[/math] dla danej częstości [math]\omega[/math] określamy mianem opóźnienia fazowego, i definiujemy jako [math]-\phi/\omega[/math].


Przesunięcie składowej sygnału w czasie zwiemy opóźnieniem grupowym, i definiujemy jako [math]-\frac{d \phi(\omega)}{d \omega}[/math].


Żeby otrzymać sygnał, którego wszystkie składowe będą przesunięte o ten sam odcinek czasu [math]\Delta t[/math], czyli będą miały stałe przesunięcie grupowe, trzeba fazę przesuwać liniowo w zależności od częstości: [math]\Delta\phi(\omega) = \omega\Delta t[/math], wtedy opóźnienie grupowe [math]\frac{d \phi(\omega)}{d \omega} = \frac{d (\omega\Delta t)}{d \omega} = \Delta t[/math] będzie stałe.

Phase1.png
Phase3.png


W każdym innym przypadku sygnał na wyjściu nie będzie odtwarzał własności fazowych (czyli "kształtu", obserwowanego w dziedzinie czasu) sygnału oryginalnego, nawet w zakresie częstości nie zmienianych w procesie filtrowania — zgadzać się będzie tylko widmo w paśmie przenoszenia.