Filtry.doc

(205 KB) Pobierz

nextuppreviouscontents
Filtry

Rozważmy dyskretny sygnał sn, na który nakłada się zaburzenie (szum) dn, W ten sposób obiektem, który mierzymy jest sygnał

xn=sn+dn

Przykład 1. Rozważ następujący dyskretny sygnał

\begin{displaymath} x_n=s_n+d_n, \qquad \mbox{gdzie } s_n=A(n(0.9)^n),\qquad d_n=B(-0.9)^n \end{displaymath}

i operację na im:  

 

 \begin{displaymath}  y_n=\frac{x_n+x_{n-1}}{2}. \end{displaymath}

(16)

Proste obliczenia pokazują, że

\begin{displaymath} y_n=s_n\{(1+\frac{1}{18})-\frac{5}{9n}\}-d_n\frac{1}{18}\end{displaymath}

Wynikiem operacji (18) jest znaczna redukcja zaburzenia. Jest to przykład filtru liniowego, nierekursywnego lub tzw. ruchomej średniej. Ogólna definicja takiego filtru jest następująca:  

 

 \begin{displaymath}  y_n=\sum_{-\infty}^{\infty}h_k x_{n-k}\end{displaymath}

(17)

Funkcja dyskretna hk definiuje filtr. Jeśli jest określona przez skończoną liczbę różnych od zera elementów hk to filtr nazywamy transwersalnym, nierekursywnym

Inną klasą filtrów są fitry rekursywne, w których sygnał wyjściowy otrzymany w poprzednich chwilach czasu jest łączony z sygnałem wejściowym:  

 

 \begin{displaymath}  y_n=\sum_{k=1}^{\infty} g_k y_{n-k} + h_0 x_n\end{displaymath}

(18)

Reprezentacja filtru przy pomocy funkcji gk i hk jest opisem w dziedzinie czasowej. Innym sposobem reprezentacji filtrów jest ich opis w dziedzinie częstości. Rozpatrzmy uogólnioną formułę (20):  

 

 \begin{displaymath}  y_n=\sum_{k=1}^{\infty} g_k y_{n-k} + \sum_{k=0}^{\infty}h_k x_{n-k}\end{displaymath}

(19)

Jeśli weźmiemy transformację Fouriera obu stron powyższej równości to otrzymamy  

 

 \begin{displaymath} \begin{array} {rcl}  Y(f) & = &\sum_n y_n\exp(-i2\pi f n \De...  ...f m \Delta  t) \  \nonumber & = & G(f)X(f)+H(f)X(f)\end{array}\end{displaymath}

  

gdzie H(f) i G(f) są odpowiednio transformatami Fouriera funkcji hk i gk. Jeśli wprowadzimy oznaczenie $\tilde{H}(f)=H(f)/(1-G(f))$to możemy zapisać definicję filtru w dziedzinie częstotliwości:  

 

 \begin{displaymath}  Y(f) = \tilde{H}(f)X(f) \end{displaymath}

(20)

$\tilde{H}(f)$nazywamy transmitancją filtru lub funkcją przenoszenia (ang. transfer function).

Bardzo często określa się filtry przy pomocy tzw z-transformat. Można je zdefiniować następująco:

Rozważmy sygnał xn i jego transformatę Fouriera

\begin{displaymath} X(f)=\sum_k x_k \exp(-i2\pi fk) \end{displaymath}

(dla prostoty założyliśmy, że $\Delta t =1$). Powyższy wzór możemy zapisać jako  

 

 \begin{displaymath}  X(f)=\sum_k x_k z^{-k},\end{displaymath}

(21)

gdzie $z=\exp(-i2\pi f)$. Formuła ta definiuje też z-transformatę, jedyną różnicą jest definicja zmiennej z, która w tym przypadku jest dowolną liczbą zespoloną  

 

 \begin{displaymath}  X(z)=\sum_k x_k z^{-k}.\end{displaymath}

(22)

Możemy powiedzieć, że dyskretna transformata Fouriera jest przypadkiem szczególnym z-transformaty dla |z|=1.

Jeśli wykorzystamy z-transformatę do definicji filtru to na mocy (23) możemy napisać

Y(z)=H(z)X(z),

a wzór na transmitancję H(z) (pominęliśmy tu znak $\tilde{}$nad H(z)) w następujący sposób:  

 

 \begin{displaymath}  H(z)=\frac{b_1+b_2z^{-1}+\ldots +b_{nb+1}z^{-nb}}{a_1+a_2z^{-1}+\ldots +a_{na+1}z^{-na}}\end{displaymath}

(23)

W zależności od charakteru funkcji H(z) definiujemy trzy następujące klasy filtrów (posiadają one wiele różnych nazw):

·         nb=0 filtr rekursywny, filtr IIR (ang infinite impulse respose), filtr AR (ang. autoregressive)

·         na=0 filtr nierekursywny, filtr FIR (ang. finite impulse response),filtr typu średnia krocząca (MA - moving average)

·         $na\neq 0,nb\neq 0$filtr IIR ,filtr rekursywny, filtr ARMA (autoregressive moving average)

Zazwyczaj nazwy AR, MA i ARMA są stosowane w przypadku sygnałów losowych.

Przykład 2. Dla przykładu 1 funkcja H(f) ma postać

\begin{displaymath} H(f)=(1+\exp(-i2\pi f \Delta t))/2 =\exp(-i\pi f\Delta t)\cos(\pi f \Delta t)\end{displaymath}

jest to filtr typu FIR. Funkcja transmitancji jest wygodnym sposobem do wizualizacji własności filtru. W tym przypadku wykres funkcji |H(f)| pokazuje, że jest to filtr dolnoprzepustowy (wysokie częstości są silnie tłumione).

Przykład 3. Rozpatrzmy filtr rekursywny

\begin{displaymath} y_i=\alpha y_{i-1}+(1-\alpha)x_i,\qquad 0<\alpha <1\end{displaymath}

Jego transmitancja ma postać:

\begin{displaymath} H(f)=\frac{1-\alpha}{1-\alpha \exp(-i2\pi f \Delta t)}\end{displaymath}

Zadanie Rozpatrz filtr rekursywny

\begin{displaymath} y_i=\beta y_{i-1}+(1+\beta)x_i \end{displaymath}

Podaj jego transmitancję, charakter i warunki stabilności. Narysuj wykres |H(f)|.

Poniżej omówimy dokładniej filtry typu FIR i IIR. Zaletą filtrów typu FIR jest liniowość fazy, stabilność i prosta implementacja. Wadą jest duża ilość wyrazów potrzebnych do osiągnięcia określonego poziomu filtracji. Z kolei filtry IIR nie wymagają aż tylu wyrazów, ale mogą być niestabilne.

 

Filtry typu FIR

Typowym zadaniem filtru jest wycięcie pewnego zakresu częstotliwości, np. dla filtru dolnoprzepustowego byłoby to obcięcie wszystkich częstotliwości powyżej pewnego progu fc:

\begin{displaymath} H(f)=\left\{ \begin{array} {lll}   1, \qquad \vert f\vert &\leq& f_c \  0, \qquad \vert f\vert &\gt& f_c\end{array} \right .\end{displaymath}

Naturalnym sposobem realizacji takiego filtru byłoby wzięcie odwrotnej transformaty Fouriera z H(f):  

 

 \begin{displaymath}  h_n=\frac{1}{n\pi}\sin(2\pi f_c n ), \qquad -\infty<n<\infty \end{displaymath}

(24)

jednak tak otrzymany filtr (response function) jest po pierwsze określony na nieskończonej dziedzinie a po drugie nie ma przyczynowego charakteru (n może być ujemne a więc sygnał wyjściowy zależałby od przyszłych sygnałów wejściowych: $y_n=\sum_k h_k x_{n-k}$). Najprostszym rozwiązaniem jest obcięcie funkcji reakcji hn do skończonej ilości elementów. Jest to realizowane przy pomocy funkcji:  

 

 \begin{displaymath}  R_N(n)=\left \{ \begin{array} {ll}  1, & 0\leq n\leq N-1 \  0, & \mbox{ w przeciwnym wypadku}\end{array} \right .\end{displaymath}

(25)

Funkcja Rn jest przykładem tzw. okna. Wynik działania tego okna w dziedzinie częstotliwości przedstawia rysunek (2).

  

Figure: Funkcja przenoszenia filtru dolnoprzepustowego i rezultat wprowadzenia okna. Parametry: fc=0.2. Użyto okna prostokątnego Rn=1 dla $n=-64,\ldots,64$.

\begin{figure}  \begin{center}   \includegraphics [width=12cm,height=6cm]{fig0.eps}  \end{center}\end{figure}


Widać, że użycie okna prostokątnego wprowadziło oscylacje do funkcji przenoszenia H(f) i oscylacje te mają największą amplitudę dla częstotliwości progowej fc.
Ćwiczenie Zbadaj zależność oscylacji od długości okna N ($R_n,n=0,\ldots,N-1$). Napisz program w Matlabie lub Scilabie

Wielkość oscylacji można zmniejszyć używając różnych funkcji opisujących okna. Kilka takich funkcji omówimy poniżej.

Zauważmy, że funkcja reakcji przy stosowaniu okna jest iloczynem dwóch funkcji: funkcji reakcji idealnego filtru dolnoprzepustowego i funkcji okna prostokątnego. Wobec tego funkcja przenoszenia będzie konwolucją funkcji przenoszenia filtru idealnego i transformaty Fouriera funkcji okna - funkcji przenoszenia okna. O własnościach filtru można powiedzieć wiele badając charakter funkcji przenoszenia okna.

Wybór konkretnego typu okna zależy od dwóch konkurujących czynników: długość filtru (funkcji reakcji) i wielkości oscylacji spowodowanych wprowadzeniem okna.

Możemy rozróżnić kilka rodzajów filtrów liniowych typu FIR: dolnoprzepustowe, górnoprzepustowe, pasmowe i progowe. Mogą być one otrzymane z filtru dolnoprzepustowego przy pomocy prostych relacji algebraicznych. Niech H(f;fl) i G(f;fh) będą odpowiednio funkcjami przenoszenia filtru dolnoprzepustowego z częstością progową fl i gornoprzepustowego z częstością fh. Wówczas zachodzą następujące relacje:  

 

 \begin{displaymath} \begin{array} {rcl}  G(f;f_h)&=&1-H(f;f_h) \  g(n;f_h)&=&\delta _{n,0}-\frac{1}{n\pi}\sin(2\pi n f_h),\end{array}\end{displaymath}

(26)

gdzie h,g są funkcjami reakcji filtrów (definiującymi filtry w dziedzinie czasowej). Dla filtru pasmowego przepuszczającego ( widmo w granicach $f_l\leq f\leq f_h$) możemy napisać  

 

 \begin{displaymath} \begin{array} {rcl}  F(f;f_l,f_h)&=&H(f-f_1;f_2)+H(f+f_1;f_2...  ...&=&\frac{2}{n\pi}\cos(2\pi f_1 n)\sin(2\pi f_2 n)\ \end{array}\end{displaymath}

(27)

a dla filtru pasmowego progowego ( widmo w granicach $f_l\leq f\leq f_h$) możemy napisać  

 

 \begin{displaymath} \begin{array} {rcl}  D(f;f_l,f_h)&=&1-H(f;f_l,f_h) \  d(n;f...  ...n,0}- \frac{2}{n\pi}\cos(2\pi f_1 n)\sin(2\pi f_2 n)\end{array}\end{displaymath}

(28)

Rozpatrzmy okno prostokątne Rn o długosci N ($n=0,\ldots,N-1$). Jego funkcja przenoszenia ma następującą postać :  

 

 \begin{displaymath}  R_N(f)=\sum_{n=0}^{N-1}\exp(-i2\pi fn) =\frac{\sin(2\pi f  N/2)}{\sin(2\pi f /2)}\exp(-i(N-1)2\pi f /2) \end{displaymath}

(29)

Wykres |RN(f)| został przedstawiony na rysunku (4).

  

Figure: Funkcja przenoszenia okna prostokątnego

\begin{figure}  \begin{center}   \includegraphics [width=12cm,height=8cm]{fig1.eps}  \end{center}\end{figure}

 

Składa się on z wielu płatów o szerokości 1/N a najwyższy płat ma szerokość 2/N. Wysokość najwyższego płata jest równa N a więc jego pole jest mniejsze od 2 a większe od 1 (górnym oszacowaniem jest widoczny prostokąt a dolnym trójkąt wpisany w ten płat). Wniosek: Pole głównego płata nie zależy od N, ponadto stanowi coraz mniejszy procent całego widma przy rosnącym N. Powyższy fakt powoduje, że okno prostokątne nie jest najlepszym wyborem okna, gdyż nie może działać jak impuls.
Ćwiczenie Uzasadnij ostatnie stwierdzenie.

Dla efektywności filtru nie jest istotna postać funkcji Rn ale jej transformaty Fouriera - funkcji przenoszenia R(f...

Zgłoś jeśli naruszono regulamin