Funkcja systemu: Różnice pomiędzy wersjami

Z Brain-wiki
Linia 154: Linia 154:
  
 
Dla filtrów FIR współczynniki filtru i odpowiedź impulsowa są takie same.
 
Dla filtrów FIR współczynniki filtru i odpowiedź impulsowa są takie same.
 +
 +
Jeśli współczynniki tworzą sekwencję symetryczną bądź antysymetryczną, oparty na nich filtr FIR będzie liniowo przesuwał fazę filtrowanego sygnału ('''linear phase filter''').
  
 
==== IIR (AR) ====
 
==== IIR (AR) ====

Wersja z 08:52, 25 lis 2016

AS/ Funkcja systemu

Transformata Z

Jednostronna transformata [math]\mathcal{Z}[/math] ciągu liczb [math]x[n][/math] definiowana jest jako funkcja zmiennej [math]z[/math] będąca sumą szeregu

[math]\mathcal{Z}\{x[n]\} = X(z)= \sum_{n=0}^{\infty} x[n] z^{-n}[/math]

Dla [math]z=e^{i \omega}[/math] dostajemy Dyskretną Transformatę Fouriera.

Transformata [math]\mathcal{Z}[/math] jest liniowa

[math]\mathcal{Z}\lbrace a x[n] + b y[n]\rbrace =a X[z] + b Y[z][/math]

a dla przesunięcia w czasie

[math]\mathcal{Z}\lbrace x[n-k]\rbrace = z^{-k}X(z)[/math]

Dowód:

[math]\mathcal{Z}\lbrace x[n-k]\rbrace = \sum_{n=0}^{\infty} x[n-k] z^{-n} [/math]
[math] | j=n-k|[/math]
[math] = \sum_{j=-k}^{\infty} x[j] z^{-(j+k)} = \sum_{j=-k}^{\infty} x[j] z^{-j}z^{-k}} = z^{-k} \sum_{j=-k}^{\infty} x[j] z^{-j}} [/math]

dla systemów przyczynowych [math]x[j][/math] są niezerowe dla [math]j\gt 0[/math], więc

[math]\mathcal{Z}\lbrace x[n-k]\rbrace = z^{-k} \sum_{j=0}^{\infty} x[j] z^{-j}}[/math]

Widmo procesu AR

[math] x[n] = \sum_{i=1}^M a_i x[n-i] + \epsilon[n] [/math]

lub prościej

[math] \sum_{i=0}^M a_i x[n-i] = \epsilon[n] [/math]

biorąc transformatę Z obu stron

[math] \mathcal{Z}\left\{\sum_{i=0}^M a_i x[n-i] \right\} = \mathcal{Z}\left\{ \epsilon[n] \right\} [/math]

dostajemy

[math] A(z) X(z) = E(z) [/math]

[math] X(z) = A^{-1}(z) E(z) [/math]

oznaczając [math]A^{-1}(z) = H(z)[/math] dostajemy

[math] X(z) = H(z) E(z) [/math]

podstawiając [math]z=e^{i\omega t}[/math] przechodzimy z transformaty [math]\mathcal{Z}[/math] do transformaty Fouriera:

[math] \hat{x}(\omega) = H(\omega) E(\omega) [/math]

widmo to kwadrat modułu transformaty Fouriera

[math] \left| \hat{x}(\omega) \right|^2 = \left| H(\omega) E(\omega) \right|^2 = \left| H(\omega) \right|^2 \sigma^2 = \dfrac{\sigma^2}\left| {A(e^{-i\omega n})} \right|^2 [/math]

gdzie [math]\sigma^2[/math] to wariancja nieskorelowanego szumu [math]\epsilon[/math], którego widmo jest płaskie (nie zależy od częstości)

Procesy ARMA

Przykładem systemów liniowych niezmienniczych w czasie są systemy opisane równaniem

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

Jest to ogólna postać procesu ARMA -- autoregressive moving average.


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


Kładąc [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]x[/math].

Funkcja systemu

Zastosujmy do obu stron powyższego równania transformatę[math]\mathcal{Z}[/math]:

[math] \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] \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] \sum_{k=0}^K a_k z^{-k} Y(z) = \sum_{l=0}^L b_l z^{-l} X(z) [/math]
[math] 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] \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]H(z)[/math] — funkcja systemu (system function) pozwala spójnie przedstawić działanie systemu LTI/ARMA realizującego filtrowanie sygnału [math]x[/math]:

[math]Y(z)=H(z) X(z)[/math]




Filtry

Działanie filtru w dziedzinie czasu, typy filtrów

Przypomnijmy definicję splotu: [math] (f * g)[n] = \sum_{m = -\infty}^{\infty} f[m] g[n - m] [/math]

FIR (MA)

Działanie filtru zadanego przez odpowiedź impulsową b o długości [math]n_b[/math] na sygnał x można zapisać:

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

Taki filtr nazywamy filtrem o skończonej odpowiedzi impulsowej (Finite Impulse Responce, FIR), bo odpowiedź na impulsowe wzbudzenie kończy się po [math]n_b[/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.

Jeśli współczynniki tworzą sekwencję symetryczną bądź antysymetryczną, oparty na nich filtr FIR będzie liniowo przesuwał fazę filtrowanego sygnału (linear phase filter).

IIR (AR)

Kolejnym typem filtru jest typ przypominający proces autoregresyjny. 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-n_a] [/math]

Filtr ten nazywany jest filtr rekursywnym lub autoregresyjnym (AR). W ogólności jego odpowiedź impulsowa może być nieskończona.

IIR (ARMA)

Najbardziej ogólnym typem jest połączenie dwóch powyższych czyli:

[math] \begin{array}{ll} y[n] = b[0]*x[n] &+ b[1]*x[n-1] + \dots + b[n_b]*x[n-n_b]\\ &- a[1]*y[n-1] - \dots - a[n_a]*y[n-n_a] \end{array} [/math]

Tą wersję filtru nazywamy filtrem o nieskończonej odpowiedzi impulsowej (Infinite Impulse Responce IIR) bo potencjalnie raz wzbudzony może dowolnie długo produkować niezerowe wyjście.

Rzędem filtru nazywamy maksymane opóźnienie w próbkach potrzebne do wytworzenia nowej próbki wyjściowej. Dla filtrów FIR jest on równy liczbie [math] n_b[/math]. Dla filtrów IIR jest to większa z liczb [math]n_a, n_b[/math].

Działanie filtru w dziedzinie częstości

Stosując transformatę [math]Z[/math] (analogicznie jak dla procesu AR) możemy równanie z dziedziny czasu przenieść do dziedziny częstości. Filtrowanie odpowiada przemnożeniu transformaty sygnału przez transformatę funkcji przenoszenia filtru:

[math]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]

Występująca tu funkcja H nosi nazwę transmitancja lub funkcja przenoszenia. 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 2\pi f}[/math]. Wówczas transmitancja jest funkcją częstości f. Dla każdej konkretnej częstości [math]f_k[/math] przypisuje ona liczbę zespoloną, którą można wyrazić jako [math]A_k e^{i \phi_k}[/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 2\pi f_k}[/math]) wchodzi w skład sygnału.


Zatem 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} z_k = A_k |X_k| e^{i ( \phi_k +\theta_k)} e^{i 2\pi f_k} [/math]

Zatem w wyniku filtrowania 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.