Funkcja systemu: Różnice pomiędzy wersjami

Z Brain-wiki
Linia 157: Linia 157:
 
</math>
 
</math>
  
Filtr ten nazywany jest filtr rekursywny, autoregresyjny AR. W ogólniści jego odpowiedź impulsowa może być nieskończona.
+
Filtr ten nazywany jest filtr rekursywnym lub autoregresyjnym (AR). W ogólności jego odpowiedź impulsowa może być nieskończona.
  
 
====IIR (ARMA) ====
 
====IIR (ARMA) ====

Wersja z 21:35, 24 lis 2016

AS/ Funkcja systemu

Transformata Z

(jednostronna) definiowana jest jako szereg

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



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

Operację splotu dla sygnałów dyskretnych wyraża następująca formuła: [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 (SOI)(Finite Impulse Responce FIR) bo odpowiedź na impulsowe wzbudzenie kończy się po [math]n_b[/math] próbkach. Inne spotykane nazwy to: nie rekursywny, średnia biegnąca (Moving Average MA).

Dla filtrów FIR współczynniki filtru i odpowiedź impulsowa są takie same.

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

Działanie filtrów FIR i IIR najłatwiej zrozumieć 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 filtra 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.