Funkcja systemu: Różnice pomiędzy wersjami

Z Brain-wiki
(Nie pokazano 38 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 6: Linia 6:
 
==Transformata Z==
 
==Transformata Z==
  
(jednostronna) definiowana jest jako szereg
+
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>
 
:<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.
 
Dla <math>z=e^{i \omega}</math> dostajemy Dyskretną Transformatę Fouriera.
 +
:<math>X(z=e^{i \omega})= \sum_{n=0}^{\infty} x[n] e^{- i \omega n}</math>
  
 
Transformata <math>\mathcal{Z}</math> jest liniowa  
 
Transformata <math>\mathcal{Z}</math> jest liniowa  
Linia 25: Linia 26:
 
:<math> | j=n-k|</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>
+
:<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>0</math>, więc
+
dla systemów przyczynowych <math>x[j]</math> są niezerowe dla <math>j>0</math> (por. [https://brain.fuw.edu.pl/edu/index.php/Systemy_liniowe_niezmiennicze_w_czasie_(LTI)#Splot_i_przyczynowo.C5.9B.C4.87 LTI/Splot i przyczynowość])
  
:<math>\mathcal{Z}\lbrace x[n-k]\rbrace = z^{-k} \sum_{j=0}^{\infty} x[j] z^{-j}}</math>
+
 
 +
więc
 +
 
 +
:<math>\mathcal{Z}\lbrace x[n-k]\rbrace = z^{-k} \sum_{j=0}^{\infty} x[j] z^{-j}</math>
 +
 
 +
 
 +
Splot:
 +
 
 +
<math>x[n]=x_1[n]*x_2[n] \longleftrightarrow \mathcal{Z}\{x[n]\} = X(z) = \mathcal{Z}\{x_1[n]\} \mathcal{Z}\{x_2[n]\} = X_1(z)  X_2(z) </math>
 +
 
 +
 
 +
:<math> \mathcal{Z}\{x_1(n)*x_2(n)\} = X(z) = </math>
 +
 
 +
 
 +
:<math> \sum_{n=-\infty}^\infty\left[\sum_{k = -\infty}^\infty x_1(k)x_2(n-k)\right]z^{-n}</math>
 +
 
 +
:<math>= \sum_{k = -\infty}^\infty x_1(k)\left[\sum_{n=-\infty}^\infty x_2(n-k)z^{-n}\right]</math>
 +
 
 +
:<math>= \sum_{k = -\infty}^\infty x_1(k)\left[\sum_{n = -\infty}^\infty x_2(n-k)z^{-(n-k)}z^{-k}\right]
 +
</math>
 +
 
 +
 
 +
niech <math>n-k = l</math>
 +
 
 +
:<math> X(z) = \sum_{k = -\infty}^\infty x_1(k)\left[z^{-k}\sum_{l=-\infty}^\infty x_2(l)z^{-l}\right]</math>
 +
 
 +
:<math>= \sum_{k = -\infty}^\infty x_1(k) z^{-k} X_2(z)</math>
 +
 
 +
:<math>=  X_1(z) X_2(z) </math>
  
 
==Widmo procesu AR==
 
==Widmo procesu AR==
Linia 74: Linia 103:
  
 
<math>
 
<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
+
\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>
 
</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)
 
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
+
 
 +
==Filtry LTI==
 +
 
 +
Ogólną postać filtrów LTI opisuje równanie różnicowe
 +
 
 +
 
 
:<math>
 
:<math>
 
\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>
  
Jest to ogólna postać procesu ARMA -- autoregressive moving average.  
+
 
 +
Jeśli w miejsce <math>x[i]</math> wstawimy <math>\epsilon[i]</math>, dostaniemy równanie opisujące model ARMA — AutoRegressive Moving Average.  
  
  
Linia 93: Linia 130:
  
 
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>.
 
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==
 
==Funkcja systemu==
  
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>:
 +
 
 +
 
 
:<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\}
 
\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>
 +
  
 
:<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\}
 
\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>
 +
  
 
:<math>
 
:<math>
 
\sum_{k=0}^K a_k z^{-k} Y(z) = \sum_{l=0}^L b_l z^{-l} X(z)
 
\sum_{k=0}^K a_k z^{-k} Y(z) = \sum_{l=0}^L b_l z^{-l} X(z)
 
</math>
 
</math>
 +
 +
 
:<math>
 
:<math>
 
Y(z) \sum_{k=0}^K a_k z^{-k} = X(z) \sum_{l=0}^L b_l z^{-l}
 
Y(z) \sum_{k=0}^K a_k z^{-k} = X(z) \sum_{l=0}^L b_l z^{-l}
Linia 129: Linia 173:
 
-->
 
-->
  
<math>H(z)</math> &mdash; funkcja systemu ''(system function)'' pozwala spójnie przedstawić działanie systemu LTI/ARMA realizującego filtrowanie  sygnału <math>x</math>:
+
<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>Y(z)=H(z) X(z)</math>
 
:<math>Y(z)=H(z) X(z)</math>
 
 
 
 
  
  
Linia 146: Linia 187:
 
(f * g)[n] = \sum_{m = -\infty}^{\infty} f[m] g[n - m]
 
(f * g)[n] = \sum_{m = -\infty}^{\infty} f[m] g[n - m]
 
</math>
 
</math>
 +
 +
 
==== FIR (MA) ====
 
==== FIR (MA) ====
 
Działanie filtru zadanego przez odpowiedź impulsową ''b'' o długości <math>n_b</math> na sygnał ''x'' można zapisać:
 
Działanie filtru zadanego przez odpowiedź impulsową ''b'' o długości <math>n_b</math> na sygnał ''x'' można zapisać:
Linia 151: Linia 194:
 
:<math>y(n) = (b*x)[n] =b[0]*x[n] + b[1]*x[n-1] + \dots + b[n_b]*x[n-n_b]</math>
 
:<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).
+
Taki filtr nazywamy filtrem o skończonej odpowiedzi impulsowej (Finite Impulse Response, 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.
 
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''') -- sygnał filtrowany jest przesunięty w czasie o ok. <math>n_b / 2</math>.
 +
  
 
==== IIR (AR) ====
 
==== IIR (AR) ====
Kolejnym typem filtru jest typ przypominający proces autoregresyjny. Operacja splotu działa tu na sekwencji wyjściowej:
+
Operacja splotu działa tu na sekwencji wyjściowej:
 
:<math>
 
:<math>
 
y[n] = x[n] - a[1]*y[n-1] - \dots - a[n_a]*y[n-n_a]
 
y[n] = x[n] - a[1]*y[n-1] - \dots - a[n_a]*y[n-n_a]
 
</math>
 
</math>
  
Filtr ten nazywany jest filtr rekursywnym lub autoregresyjnym (AR). W ogólnoś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. Faza filtrowanego sygnału zaburzana jest nieliniowo ('''nonlinear phase filter''')
 +
 
  
 
====IIR (ARMA) ====
 
====IIR (ARMA) ====
Linia 171: Linia 218:
 
\end{array}
 
\end{array}
 
</math>
 
</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.
+
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.
  
 
'''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>.
 
'''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>.
Linia 190: Linia 237:
  
 
'''Zera i bieguny''' filtra to odpowiednio miejsca zerowe licznika i mianownika funkcji przenoszenia.
 
'''Zera i bieguny''' filtra to odpowiednio miejsca zerowe licznika i mianownika funkcji przenoszenia.
 +
 +
 +
 +
==Wielozmienny model AR==
 +
 +
[[Model autoregresyjny (AR)|Model AR]] opisuje wartość
 +
sygnału w chwili <math>t</math> jako kombinację liniową jego wartości
 +
w chwilach poprzednich (oraz szumu). W przypadku wielowymiarowym
 +
możemy włączyć do tego opisu wartości wszystkich sygnałów
 +
<math>s_i</math>, czyli wektora
 +
<math>\vec{s}(t)</math>. Wielozmienny model AR (MVAR, multivariate
 +
autoregressive) można wówczas opisać wzorem:
 +
 +
<math>
 +
\vec{s}(t)=\sum_{i=1}^p A(i) \vec{s}(t-i) + \vec{\epsilon}(t) ,
 +
</math>
 +
 +
gdzie <math>\vec{\epsilon}(t)</math> będzie wektorem
 +
szumów, zaś <math>A(i)</math> będą macierzami współczynników modelu.
 +
Przechodząc do przestrzeni częstości otrzymamy:
 +
 +
<math>
 +
\vec{s}(\omega)=A^{-1}(\omega)\vec{\epsilon}(\omega)=H(\omega)\vec{\epsilon}(\omega),
 +
</math>
 +
 +
gdzie <math>H(\omega)</math> jest macierzą przejścia.  MVAR jest modelem typu "czarna skrzynka", gdzie na wejściu występują szumy, na wyjściu sygnały, a system jest opisany przez macierz przejścia. Zawiera on informacje o własnościach widmowych sygnałów i związkach między nimi.
 +
 +
Na podstawie macierzy <math>H(\omega)</math> można obliczyć macierz
 +
gęstości widmowej zawierającą widma mocy dla pojedynczych kanałów jak
 +
również funkcje wzajemnej gęstości mocy pomiędzy kanałami.  Stosując
 +
tego typu podejście, w którym wszystkie sygnały generowane przez
 +
pewien proces są rozpatrywane jednocześnie, można policzyć z macierzy
 +
spektralnej nie tylko koherencje zwykłe pomiędzy dwoma kanałami, ale
 +
również koherencje wielorakie opisujące związek danego kanału z
 +
pozostałymi i koherencje cząstkowe opisujące bezpośrednie związki
 +
między dwoma kanałami po usunięciu wpływu pozostałych kanałów. W
 +
przypadku gdy pewien kanał 1 będzie wpływał na kanały 2 i 3,
 +
obliczając koherencję zwykłą znajdziemy związek między 2 oraz 3,
 +
chociaż nie są one ze sobą bezpośrednio powiązane, natomiast
 +
koherencja cząstkowa nie wykaże związku między nimi.
 +
 +
Macierz <math>H(\omega)</math> jest niesymetryczna, a jej wyrazy
 +
pozadiagonalne mają sens przyczynowości Grangera, co oznacza, że
 +
uwzględnienie wcześniejszej informacji zawartej w jednym z sygnałów
 +
zmniejsza błąd predykcji drugiego sygnału. Opierając się na tej
 +
własności zdefiniowano Kierunkową Funkcję Przejścia (DTF, directed
 +
transfer function) jako znormalizowany element pozadiagonalny
 +
<math>H(\omega)</math>.  DTF opisuje kierunek propagacji i skład
 +
widmowy rozchodzących się sygnałów.
 +
 +
Otrzymamy w ten sposób całościowy opis zmian wszystkich sygnałów
 +
jednocześnie.  Co ciekawe, obliczona na tej podstawie funkcja
 +
charakteryzująca zależności między sygnałami <math>s_i</math> (funkcja
 +
przejścia) nie jest symetryczna, w przeciwieństwie do
 +
np. korelacji. Dzięki temu może służyć wnioskowaniu nie tylko o sile
 +
zależności między poszczególnymi sygnałami składowymi, ale też o
 +
kierunku przepływu informacji między nimi.  W przybliżeniu odpowiada
 +
to informacji, w którym z sygnałów struktury odpowiadające danej
 +
częstości pojawiają się wcześniej.
 +
  
  
 
<references/>
 
<references/>

Wersja z 17:28, 18 sty 2022

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.

[math]X(z=e^{i \omega})= \sum_{n=0}^{\infty} x[n] e^{- i \omega n}[/math]

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] (por. LTI/Splot i przyczynowość)


więc

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


Splot:

[math]x[n]=x_1[n]*x_2[n] \longleftrightarrow \mathcal{Z}\{x[n]\} = X(z) = \mathcal{Z}\{x_1[n]\} \mathcal{Z}\{x_2[n]\} = X_1(z) X_2(z) [/math]


[math] \mathcal{Z}\{x_1(n)*x_2(n)\} = X(z) = [/math]


[math] \sum_{n=-\infty}^\infty\left[\sum_{k = -\infty}^\infty x_1(k)x_2(n-k)\right]z^{-n}[/math]
[math]= \sum_{k = -\infty}^\infty x_1(k)\left[\sum_{n=-\infty}^\infty x_2(n-k)z^{-n}\right][/math]
[math]= \sum_{k = -\infty}^\infty x_1(k)\left[\sum_{n = -\infty}^\infty x_2(n-k)z^{-(n-k)}z^{-k}\right] [/math]


niech [math]n-k = l[/math]

[math] X(z) = \sum_{k = -\infty}^\infty x_1(k)\left[z^{-k}\sum_{l=-\infty}^\infty x_2(l)z^{-l}\right][/math]
[math]= \sum_{k = -\infty}^\infty x_1(k) z^{-k} X_2(z)[/math]
[math]= X_1(z) X_2(z) [/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)


Filtry LTI

Ogólną postać filtrów LTI opisuje równanie różnicowe


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


Jeśli w miejsce [math]x[i][/math] wstawimy [math]\epsilon[i][/math], dostaniemy równanie opisujące model 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 filtra LTI na sygnał [math]x[/math] w przestrzeni transformaty [math]\mathcal{Z}[/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 Response, 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) -- sygnał filtrowany jest przesunięty w czasie o ok. [math]n_b / 2[/math].


IIR (AR)

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. Faza filtrowanego sygnału zaburzana jest nieliniowo (nonlinear phase filter)


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


Wielozmienny model AR

Model AR opisuje wartość sygnału w chwili [math]t[/math] jako kombinację liniową jego wartości w chwilach poprzednich (oraz szumu). W przypadku wielowymiarowym możemy włączyć do tego opisu wartości wszystkich sygnałów [math]s_i[/math], czyli wektora [math]\vec{s}(t)[/math]. Wielozmienny model AR (MVAR, multivariate autoregressive) można wówczas opisać wzorem:

[math] \vec{s}(t)=\sum_{i=1}^p A(i) \vec{s}(t-i) + \vec{\epsilon}(t) , [/math]

gdzie [math]\vec{\epsilon}(t)[/math] będzie wektorem szumów, zaś [math]A(i)[/math] będą macierzami współczynników modelu. Przechodząc do przestrzeni częstości otrzymamy:

[math] \vec{s}(\omega)=A^{-1}(\omega)\vec{\epsilon}(\omega)=H(\omega)\vec{\epsilon}(\omega), [/math]

gdzie [math]H(\omega)[/math] jest macierzą przejścia. MVAR jest modelem typu "czarna skrzynka", gdzie na wejściu występują szumy, na wyjściu sygnały, a system jest opisany przez macierz przejścia. Zawiera on informacje o własnościach widmowych sygnałów i związkach między nimi.

Na podstawie macierzy [math]H(\omega)[/math] można obliczyć macierz gęstości widmowej zawierającą widma mocy dla pojedynczych kanałów jak również funkcje wzajemnej gęstości mocy pomiędzy kanałami. Stosując tego typu podejście, w którym wszystkie sygnały generowane przez pewien proces są rozpatrywane jednocześnie, można policzyć z macierzy spektralnej nie tylko koherencje zwykłe pomiędzy dwoma kanałami, ale również koherencje wielorakie opisujące związek danego kanału z pozostałymi i koherencje cząstkowe opisujące bezpośrednie związki między dwoma kanałami po usunięciu wpływu pozostałych kanałów. W przypadku gdy pewien kanał 1 będzie wpływał na kanały 2 i 3, obliczając koherencję zwykłą znajdziemy związek między 2 oraz 3, chociaż nie są one ze sobą bezpośrednio powiązane, natomiast koherencja cząstkowa nie wykaże związku między nimi.

Macierz [math]H(\omega)[/math] jest niesymetryczna, a jej wyrazy pozadiagonalne mają sens przyczynowości Grangera, co oznacza, że uwzględnienie wcześniejszej informacji zawartej w jednym z sygnałów zmniejsza błąd predykcji drugiego sygnału. Opierając się na tej własności zdefiniowano Kierunkową Funkcję Przejścia (DTF, directed transfer function) jako znormalizowany element pozadiagonalny [math]H(\omega)[/math]. DTF opisuje kierunek propagacji i skład widmowy rozchodzących się sygnałów.

Otrzymamy w ten sposób całościowy opis zmian wszystkich sygnałów jednocześnie. Co ciekawe, obliczona na tej podstawie funkcja charakteryzująca zależności między sygnałami [math]s_i[/math] (funkcja przejścia) nie jest symetryczna, w przeciwieństwie do np. korelacji. Dzięki temu może służyć wnioskowaniu nie tylko o sile zależności między poszczególnymi sygnałami składowymi, ale też o kierunku przepływu informacji między nimi. W przybliżeniu odpowiada to informacji, w którym z sygnałów struktury odpowiadające danej częstości pojawiają się wcześniej.