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ł
i operację na im:
|
|
(16) |
Proste obliczenia pokazują, że
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:
|
|
(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:
|
|
(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):
|
|
(19) |
Jeśli weźmiemy transformację Fouriera obu stron powyższej równości to otrzymamy
|
|
|
gdzie H(f) i G(f) są odpowiednio transformatami Fouriera funkcji hk i gk. Jeśli wprowadzimy oznaczenie
to możemy zapisać definicję filtru w dziedzinie częstotliwości:
|
|
(20) |
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
(dla prostoty założyliśmy, że
). Powyższy wzór możemy zapisać jako
|
|
(21) |
gdzie
. Formuła ta definiuje też z-transformatę, jedyną różnicą jest definicja zmiennej z, która w tym przypadku jest dowolną liczbą zespoloną
|
|
(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
nad H(z)) w następujący sposób:
|
|
(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)
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ć
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
Jego transmitancja ma postać:
Zadanie Rozpatrz filtr rekursywny
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:
Naturalnym sposobem realizacji takiego filtru byłoby wzięcie odwrotnej transformaty Fouriera z H(f):
|
|
(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:
). Najprostszym rozwiązaniem jest obcięcie funkcji reakcji hn do skończonej ilości elementów. Jest to realizowane przy pomocy funkcji:
|
|
(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 |
|
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 (
). 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:
|
|
(26) |
gdzie h,g są funkcjami reakcji filtrów (definiującymi filtry w dziedzinie czasowej). Dla filtru pasmowego przepuszczającego ( widmo w granicach
) możemy napisać
|
|
(27) |
a dla filtru pasmowego progowego ( widmo w granicach
) możemy napisać
|
|
(28) |
Rozpatrzmy okno prostokątne Rn o długosci N (
). Jego funkcja przenoszenia ma następującą postać :
|
|
(29) |
Wykres |RN(f)| został przedstawiony na rysunku (4).
Figure: Funkcja przenoszenia okna prostokątnego |
|
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). Jak już stwierdzono powyżej, funkcja H(f) jest konwolucją funkcji R(f) i H(f). Aby filtr rzeczywiście wycinał pewne częstości funkcja przenoszenia okna musi znikać powyżej pewnej wartości f1. Sprawdźmy, jak działają inne rodzaje okna:
Okno trójkątne
Określamy funkcję reakcji okna trójkątnego (nazywane bywa też oknem Bartletta) w sposób następujący
|
|
(30) |
Funkcję przenoszenia okna trójkątnego można prosto otrzymać jeśli zauważymy, że funkcja tn jest konwolucją dwóch okien prostokątnych:
wobec tego,
|
|
(31) |
Okno Hamminga
Innym przykładem stosowanego okna jest tzw. okno Hamminga
|
|
(32) |
gdzie
. Funkcję przenoszenia otrzymamy jeśli zauważymy, że hn jest sumą funkcji stałej i cosinusa:
|
|
|
Figure: Cztery rodzaje okien: prostokątne, trójkątne, Hamminga i Hanninga |
|
W literaturze znana jest duża ilość okien, z pewną przesadą można stwierdzić, że kążda funkcja dodatnia na odcinku i zerująca się poza nim posiada swoją nazwę jako okno kogoś tam. Np. w literaturze znane jest okno Hanninga, które jest wersją okna Hamminga z
.Oczywiście istnieją okna istotnie różne od omówionych powyżej, jak np. okno Kaisera czy okno Czebyszewa jednak nie będziemy ich tu omawiać [5]. Na zakończenie przedstawimy tylko graficznie realizację filtru dolnoprzepustowego z trzema omówionymi oknami.
Figure: Funkcja przenoszenia okna prostokątnego, trójkątnego i Hamminnga |
|
Na rysunku (5) widać, że okno trójkątne i Hamminga mają większą szerokość od okna prostokątnego, ale boczne płaty znikają prawie zupełnie (w przypadku okna Hamminga). W rezultacie funkcja H(f) nie wykazuje prawie zupełnie oscylacji i reakcja filtru może być traktowana jako impulsowa.
Ćwiczenie Wykorzystaj funkcję Matlaba freqz aby otrzymać funkcje przenoszenia filtru dolnopasmowego dla okien Kaisera, Czebyszewa i innych.
Filtry typu IIR
Podstawową zaletą filtrów typu IIR jest fakt, że dla osiągnięcia określonej charakterystyki wymagają one znacznie mniejszej ilości współczynników w rozwinięciu (26):
|
|
(33) |
a więc i mniej operacji numerycznych. Stwierdzenie powyższe jest intuicyjnie oczywiste i wynika z faktu, że funkacja przenoszenia filtru nierekursywnego (FIR) jest opisana wielomianem, podczas gdy dla filtru rekursywnego jest to funkcja wymierna, która znacznie lepiej może przybliżyć żądane skoki transmitancji np. filtru dolnopasmowego.
Filtry FIR są zawsze stabilne, tzn. jeśli sygnał wejściowy zanika to sygnał wyjściowy zanika również nie później niż po nb krokach, poza tym sygnał wyjściowy jest zawsze ograniczony jeśli ograniczony był sygnał wejściowy. Nie jest to prawdą dla filtrów typu IIR. Jeśli współczynniki ai we mianowniku funkcji transmitancji zostały źle dobrane, to sygnał wyjściowy może rosnąć eksponencjalnie nawet gdy sygnał wejściowy już zanikł. Zjawisko to nazywamy niestabilnością filtru.
Twierdzenie 3455
Liniowy filtr rekursywny IIR jest stabilny wtedy i tylko wtedy gdy wszystkie zera wielomianu
leżą wewnątrz okręgu jednostkowego (|z|<1)
Dowód jest rzadko podawany, a ponieważ nie jest zbyt trudny więc przytoczymy tutaj jego szkic.
Możemy reprezentować sygnał jako wektor o wymiarze na:
W takim razie pomijając sygnał wejściowy (równanie liniowe jednorodne) możemy równanie filtru w dziedzinie czasowej zapisać jako
Powyższy wzór opisuje liniowe przekształcenie:
Jego stabilność jest wyznaczona przez wartości własne macierzy
(podobnie jak w przypadku liniowych równań różniczkowych):
Odwzorowanie jest stabilne jeśli wszystkie wartości własne leżą wewnątrz okręgu jednostkowego, jeśli przynajmniej jedna leży na zewnątrz to jest ono niestabilne. Stwierdzenie to w naturalny sposób wynika z liniowości odwzorowania. Niech
i Vi będą odpowiednio wartościami własnymi i wektorami własnymi macierzy
, przy czym niech
Wówczas
W ostatniej równości pierwsze dwa wyrazy rosną eksponencjalnie z ilością iteracji n, podczas gdy pozostała suma maleje z n. A więc rozwiązanie jeśli istnieje
takie, że |lambda| to rozwiązanie może rosnąć wykładniczo.
Jak można łatwo sprawdzić wartości własne macierzy
spełniają równość
(wynika to bezpośrednio z rozpisania równości det
. Uwaga, we wzorach na transmitancję współczynnik a1 jest zawsze rówy 1.
Istnieją różne metody konstrukcji filtrów stabilnych, ich opis można znaleźć w wyspecjalizowanej literaturze. Tutaj ograniczymy się tylko do jednej metody tzw. metody transformacji biliniowych. Określamy transformację okręgu jednostkowego S1 na oś rzeczywistą R1 przy pomocy wzoru:
|
|
(34) |
|
|
(35) |
W zmiennej w warunek stabilności można zapisać jako Im(w)>0. Idea metody jest następująca:
Zamiast szukać przybliżenia do H(f) szukamy funkcji przybliżającej kwadrat modułu funkcji przenoszenia:
|H(f)|2=H(f)H(f)* = H(f)H(-f)
Szukamy funkcji wymiernej, w zmiennej w2, która dobrze przybliża kształt |H(f|2, znajdujemy wszystkie bieguny tej funkcji, ale funkcję H(f) reprezentujemy tylko przez bieguny leżące w górnej półpłaszczyźnie. Następnie podstawiamy za w wyrażenie (38) i wyznaczamy współczynniki bk,ak.
Przykład Rozważmy funkcję
W zmiennej w funkcję możemy zapisać jako
Ponieważ chcemy otrzymać filtr stabilny to do stworzenia funkcji transmitancji wybieramy tylko te czynniki, które mają bieguny w dodatniej półpłaszczyźnie:
podstawiamy formułę (38) i otrzymujemy jawną postać funkcji przenoszenia:
gdzie
.
Zadanie Zastosuj metodę transformacji biliniowej do znalezienia funkcji przenoszeniu stabilnego filtru IIR spełniającego warunek:
1