pobierz instrukcję - Politechnika Wrocławska

Transkrypt

pobierz instrukcję - Politechnika Wrocławska
Politechnika Wrocławska
Wydział Elektroniki Mikrosystemów i Fotoniki
Przetwarzanie sygnałów – laboratorium
ETD5067L
Ćwiczenie 4.
Filtry o skończonej odpowiedzi impulsowej (SOI)
1. Filtracja cyfrowa – podstawowe wiadomości
Cyfrowa filtracja sygnału ma na celu wyodrębnienie pożądanej informacji z danego
sygnału dyskretnego. Efektem filtracji sygnału wejściowego jest sygnał wyjściowy, przy
czym relację między nimi określa deterministyczna funkcja transmitancji filtru. Sygnał
wejściowy nazywany jest często pobudzeniem filtru. Natomiast sygnał wyjściowy
odpowiedzią filtru. Funkcję transmitancji dla układów analogowych definiuje się za pomocą
transformaty Laplace’a sygnałów wejściowego i wyjściowego. Narzędzie to umożliwia
przekształcenie równań różniczkowych opisujących układy analogowe na równania
algebraiczne. Pozwala efektywnie projektować właściwości filtru.
Dla układów dyskretnych takim narzędziem jest transformata Z. Zamienia ona dyskretne
równania różnicowe na równania algebraiczne, co pozwala projektować właściwości filtrów
cyfrowych.
Celem ćwiczenia 4 jest opanowanie umiejętności badania właściwości filtrów cyfrowych,
oraz umiejętności projektowania pasmowych filtrów o skończonej odpowiedzi impulsowej.
Właściwości filtrów analogowych i cyfrowych mogą być określane w dziedzinie czasu i w
dziedzinie częstotliwości. Wybór dziedziny definiuje sposób kodowania informacji w
sygnale. Na przykład obrazy są przykładem dwuwymiarowych sygnałów, w których
informacja kodowana jest w dziedzinie czasu (przestrzeni). Ludzkie oko rejestruje krawędzie
obiektów, jasność i kolor poszczególnych elementów obrazu. Inaczej jest w przypadku
dźwięku. Tu informacja kodowana jest w dziedzinie częstotliwości. Ucho ludzkie reaguje na
częstotliwość fali akustycznej i zawartość składowych harmonicznych.
1.1.Właściwości filtru w dziedzinie czasu
W dziedzinie czasu właściwości filtrów cyfrowych określają następujące charakterystyki:
 odpowiedź impulsowa (rys. 1), czyli odpowiedź na pobudzenie deltą Kroneckera.
Poniżej przedstawiono równanie delty Kroneckera
1 dla n  0
δn  

0 dla n  0
 odpowiedź skokowa (rys. 2), czyli odpowiedź na skok jednostkowy. Poniżej
przestawiono równanie skoku jednostkowego.
0 dla n  0
1n  

1 dla n  0
Charakterystyki te w całości określają działanie filtru. Jeżeli jednak mamy do czynienia z
pewną klasą filtrów (np. filtrów pasmowych), to konieczne jest ustalenie wartości liczbowych
pewnych parametrów charakterystyk. Pozwala to ocenić jakość filtru w sposób ilościowy.
Rys. 1. Ilustracja odpowiedzi impulsowej filtru i jej najważniejszych parametrów.
Jednym z takich parametrów jest np. długość odpowiedzi impulsowej filtru. Dla filtrów
cyfrowych definiuje się ją jako ilość niezerowych próbek. Parametr ten w przypadku filtrów o
skończonej odpowiedzi impulsowej pozwala ocenić złożoność obliczeń niezbędnych do
przeprowadzenia operacji filtracji. Im dłuższa odpowiedź impulsowa filtru, tym więcej
obliczeń należy przeprowadzić. Długość odpowiedzi impulsowej wpływa również na
opóźnienie odpowiedzi filtru w stosunku do pobudzenia.
Innym parametrem jest np. czas narastania odpowiedzi skokowej (rys. 2). Im dłuższy czas
narastania, tym większy stopień rozmycia krawędzi sygnałów filtrowanych.
Przerzut określa amplitudę oscylacji związanych z efektem Gibbsa. Efekt ten jest
spowodowany zbyt gwałtownymi zmianami amplitudy odpowiedzi częstotliwościowej
układu. Czas trwania tych oscylacji nazywany jest dzwonieniem.
Rys. 2. Ilustracja odpowiedzi skokowej układu i jej najważniejszych parametrów.
Rys. 3. Symetria odpowiedzi skokowej, powodująca liniowość fazy odpowiedzi częstotliwościowej filtru.
1.2. Właściwościowości filtru w dziedzinie częstotliwości
Właściwości filtrów w dziedzinie częstotliwości określa charakterystyka
częstotliwościowa filtru. Dla układów analogowych uzyskuje się ją przez analizę odpowiedzi
filtru na pobudzenie sygnałem harmonicznym (sinusoidalnym). Filtry analogowe wpływają na
sygnał harmoniczny w taki sposób, że zmieniają jego amplitudę i fazę. Zmiana tych dwóch
parametrów zależy od częstotliwości harmonicznego sygnału pobudzającego. Zmiany
amplitudy i fazy w funkcji częstotliwości nazywamy odpowiednio częstotliwościową
charakterystyką amplitudową i częstotliwościową charakterystyką fazową lub krótko
odpowiedzią (charakterystyką) amplitudową i odpowiedzią fazową filtru.
Charakterystyka częstotliwościowa filtru jest transformatą Fouriera jego odpowiedzi
impulsowej. Fakt ten jest szczególnie istotny dla filtrów cyfrowych. Dzięki niemu można
obliczyć odpowiedź częstotliwościową poprzez obliczenie DFT odpowiedzi impulsowej
filtru. Jest to zadanie obliczeniowo dużo prostsze od wyznaczania odpowiedzi dla sygnałów
harmonicznych o różnych częstotliwościach. Istotny jest jednak pewien szczegół techniczny
związany z obliczaniem DFT. Obliczenia należy przeprowadzić z pominięciem czynnika
normalizującego 1/N. Równanie rozkładu DFT będzie wtedy wyglądać następująco:
N 1
X k    xne

2kn
N
.
n 0
Zaimplementowana w środowisku Octave funkcja fft() dokonuje rozkładu zgodnie z tą
zależnością. Wówczas widmo amplitudowe DFT dla delty Kroneckera jest dyskretną funkcją
stałą o amplitudzie równej 1, a DFT odpowiedzi impulsowej filtru jest jego odpowiedzią
częstotliwościową H[k]. Wartości odpowiedzi częstotliwościowej H[k], wyznaczane są dla
kf
dyskretnych wartości częstotliwości
odpowiadających częstotliwościom
fk  s
N
składowych DFT. Z tego powodu długość sygnału delty Kroneckera wpływa na dokładność
wyznaczania odpowiedzi częstotliwościowej (im większe N, tym mniejsza różnica fk - fk-1).
Amplitudową charakterystykę częstotliwościową przedstawia się często w skali
logarytmicznej, wówczas wartości na osi rzędnych (pionowej) wyrażane są w decybelach:
H dB k   20 log H k  ,
gdzie HdB[k] – zmiana amplitudy w decybelach. Taki sposób prezentacji poprawia odbiór
wizualny charakterystyki, która ma duży zakres zmienności (na wykresie dobrze widać
zarówno wartości bliskie 1, jak i wartości bliskie zeru np. 10-3).
Podobnie do odpowiedzi impulsowej i skokowej charakterystyki częstotliwościowe
również mają swoje parametry.
Dla filtrów pasmowych istotnym parametrem jest podział charakterystyki amplitudowej na
pasma przepustowe i pasma zaporowe (rys. 4a). Pasmem przepustowym jest zakres
częstotliwości, dla których amplituda się nie zmienia (odpowiedź amplitudowa wynosi 1).
Pasmem zaporowym jest zakres częstotliwości, dla których sygnały są całkowicie tłumione
(odpowiedź amplitudowa wynosi 0). Przyjętą umownie granicą pasma przepustowego jest
częstotliwość, dla której filtr tłumi połowę mocy sygnału harmonicznego (amplituda sygnału
harmonicznego maleje 2 razy, tłumienie wynosi około 0.707 V/V lub -3 dB). Granicę tę
nazywa się częstotliwością odcięcia lub częstotliwością graniczną. Granica pasma
zaporowego nie jest ustandaryzowana i zależy od wymaganego przez projektanta filtru
minimalnego tłumienia w paśmie zaporowym. Jeżeli wymagane tłumienie w paśmie
zaporowym wynosi 40 dB, to właśnie dla tego poziomu wyznacza się granicę pasma
zaporowego.
Pomiędzy pasmami zaporowymi i przepustowymi występują pasma przejściowe. Ich
szerokość wpływa na selektywność filtracji. Jeżeli używamy filtrów do przetwarzania
sygnałów, w których informacja kodowana jest w dziedzinie częstotliwości, to zwykle zależy
nam na tym, aby pasma przejściowe były jak najwęższe, tłumienia w pasmach zaporowych
jak największe. W paśmie przepustowym mogą występować zafalowania, które niekorzystnie
wpływają na przenoszone składowe sygnału pobudzającego. Dlatego poziom zafalowań (rys.
4b) jest również istotnym parametrem odpowiedzi częstotliwościowej filtrów pasmowych.
Częstotliwościowa charakterystyka fazowa filtrów powinna być liniowa. Nieliniowości
pojawiają się w przypadku braku symetrii odpowiedzi skokowej lub impulsowej filtru.
Nachylenie charakterystyki fazowej (współczynnik kierunkowy prostej) informuje o
opóźnieniu sygnału odpowiedzi względem sygnału pobudzenia.
Rys. 4. Ilustracja amplitudowej odpowiedzi częstotliwościowej i jej najważniejszych parametrów:(a) cała
charakterystyka amplitudowa, (b) powiększenia pasma przepustowego.
2. Filtry SOI
Filtr o skończonej odpowiedzi impulsowej (SOI) (ang. finite impulse response – FIR) jest
nierekursywnym filtrem cyfrowym. Nierekursywność oznacza, że nie występuje w tym filtrze
sprzężenie zwrotne, co m.in. wiąże się z tym, że odpowiedź filtru SOI na skończone w czasie
pobudzenie jest również skończona w czasie.
Filtr SOI określa się ciągiem współczynników {bn}. Poniższe równanie przedstawia
zależność między pobudzeniem x[n] filtru a jego odpowiedzią y[n].
yn  b0 xn  b`1 xn  1  b`2 xn  2    b`M 1 xn  M  1 .
Ilość współczynników filtru SOI stanowi jednocześnie długość jego odpowiedzi
impulsowej h[n]=bn. Przedstawiona zależność jest operacją splotu sygnału pobudzenia x[n] i
współczynników filtru bn. Operacja filtracji różni się od operacji splotu tym, że długość
sygnału pobudzenia musi równać się długości sygnału odpowiedzi. Dodatkowo wartość
próbki y[n] odpowiada wartości próbki x[n] pobudzenia. Z tego powodu używając funkcji
splotu sig_conv(b, x) z ćwiczenia 3, należy wynik splotu zmodyfikować tak, aby relacje te
były spełnione.
2.1. Rodzaje filtrów ze względu na charakterystykę częstotliwościową
Ze względu na to, które składowe widma są przez filtr tłumione, a które bez zmian
zachowywane, wyróżniamy:
– filtry dolnoprzepustowe, przez które tłumione są składowe f > fc;
– filtry górnoprzepustowe, przez które tłumione są składowe f < fc;
– filtry pasmowoprzepustowe, tłumiące składowe f < fd i f > fg;
– filtry pasmowozaporowe, tłumiące składowe fd < f < fg.
Metody projektowania filtrów SOI skupiają się na projektowaniu filtrów
dolnoprzepustowych. Do zaprojektowania pozostałych rodzajów filtrów SOI wykorzystuje
sie specjalne łączenie filtrów.
2.2. Filtry działające na zasadzie średniej kroczącej
Najprostszą metodą filtracji sygnałów, często zupełnie wystarczającą, jest zastosowanie
tzw. średniej kroczącej (ang. moving average). Metoda ta polega na uśrednianiu kilku
kolejnych próbek sygnału w myśl zależności:
1 M 1
yn 
 xn  k  , gdzie M jest liczbą uśrednianych próbek.
M k 0
Filtr ten jest wykorzystywany do filtracji sygnałów, w których informacja kodowana jest w
dziedzinie czasu. Częstotliwość odcięcia tego filtru zmienia się wraz z ilością uśrednianych
próbek. Filtr charakteryzuje się słabym tłumieniem w paśmie zaporowym. Można je poprawić
stosując filtrację wielokrotną. Odpowiada to szeregowemu połączeniu filtrów o takich samych
współczynnikach. Wypadkowy ciąg współczynników można uzyskać stosując technikę z
rozdziału 2.3.2.
2.3. Filtry oparte na okienkowanej funkcji sinc
2.3.1. Filtry dolnoprzepustowe
Filtr ruchomej średniej jest filtrem mającym bardzo dobre właściwości w dziedzinie czasu.
Natomiast filtry o dobrych właściwości w dziedzinie częstotliwości uzyskuje się za pomocą
okienkowanej funkcji sinc. W metodzie tej współczynniki filtru oblicza się z równania:
 
M 1  


 sin  2f  k 
2  
M 1

 
wk , dla k 

M 1
2
bk   
k
2

M 1

dla k 
2fwk ,
2
f
gdzie f   0 ; 0,5 jest znormalizowaną częstotliwością graniczną, a fs częstotliwością
fs
próbkowania sygnału. M jest długością odpowiedzi impulsowej filtru (liczbą
współczynników), w[k] – tzw. funkcją okna (indeks k=0 .. M-1). Kształt funkcji okna wpływa
na szerokość pasma przejściowego i tłumienie w paśmie zaporowym. Najczęściej
wykorzystywanymi oknami są:
 2k 
 4k 
 okno Blackmana wk   0,42  0,5 cos
  0,08 cos

 M 1 
 M 1 
 2k 
 okno Hamminga wk   0,54  0,46 cos

 M 1 
Okno Blackmana zapewnia największe tłumienie w paśmie zaporowym, a okno
Hamminga najwęższe pasmo przejściowe filtru. Istnieje jeszcze wiele innych rodzajów okien,
które pomagają kontrolować te dwie właściwości.
Po obliczeniu w ten sposób współczynników filtru dolnoprzepustowego należy pamiętać
o tym, aby go znormalizować. Oznacza to zapewnienie takiego działania filtru, by składowa
stała sygnału była po przetworzeniu przez filtr niezmieniona (wzmocnienie filtru dla f = 0
wynosi 1). Aby uzyskać taki efekt, należy podzielić każdy element wektora b przez sumę
wszystkich jego elementów:
bk 
bnormk   M 1
.
 bk 
k 0
2.3.2. Pozostałe rodzaje filtrów
Mając do dyspozycji współczynniki filtru dolnoprzepustowego bdp[k], można
zaprojektować filtr górnoprzepustowy bgp[k] o takiej samej częstotliwości granicznej, tzn.
fd = fg . Aby jednak metoda działała prawidłowo, współczynniki filtru muszą być
znormalizowane, ich liczba musi być nieparzysta, a jego odpowiedź musi być symetryczna
(faza liniowa). Wówczas współczynniki filtru górnoprzepustowego otrzymujemy z równania:
M  1

bgp k    k 
 bdp k ,
2 

w którym  jest deltą Kroneckera daną równaniem:
1 dla k  0
 k   
.
0 dla k  0
Pozostałe rodzaje filtrów pasmowych uzyskujemy przez łączenie filtrów dolno i
górnoprzepustowych o odpowiednio dobranych częstotliwościach granicznych.
Połączenie równoległe filtrów oznacza wykonanie filtracji na tym samym sygnale
pobudzenia przez obydwa filtry, a następnie dodanie otrzymanych sygnałów odpowiedzi
(y[n]=h1[n]*x[n]+h2[n]*x[n]). Ten sam efekt można uzyskać przeprowadzając operację
filtracji filtrem o współczynnikach uzyskanych w wyniku dodawania współczynników filtrów
równoległych z wyrównaniem osi symetrii (patrz pogrubiona wartość).
Przykład:
h1[n]=[ 1 2 3 2 1]
h2[n]=[1 1 1 1 -1 -1 2 -1 -1 1 1 1 1];
h12[n]= [ 0 0 0 0 1 2 3 2 1 0 0 0 ]+ [1 1 1 1 -1 -1 2 -1 -1 1 1 1 1]= [1 1 1 1 0 1 5 1 0 1 1 1 1]
Połączenie szeregowe filtrów oznacza przeprowadzenie filtracji najpierw pierwszym filtrem,
a następnie drugim. Można podobnie jak poprzednio obliczyć odpowiedź impulsową filtru
zastępczego obliczając splot współczynników obu filtrów ( h12[n]=h1[n]*h2[n]).
3. Zadania do realizacji
Na zajęciach laboratoryjnych należy rozwiązać 5 podanych poniżej zadań. Za każde
zadanie można otrzymać jeden punkt pod warunkiem, że zostanie ono całkowicie poprawnie
zrealizowane.
Warto przypomnieć, że w zadaniach wskazane jest wykorzystywać funkcje napisane
podczas wcześniejszych ćwiczeń.
Zadanie nr 1
W zadaniu pierwszym należy napisać funkcję następującej postaci:
function [y]=fir_filter(x, b)
#definicja ciała funkcji
endfunction
która wykona filtrację sygnału x filtrem o współczynnikach z tablicy b. Wymagane jest, aby
sygnał y miał tyle samo próbek co sygnał x. Efekt filtracji zostanie zaprezentowany przy
wizualizacji charakterystyk zaprojektowanych filtrów z zadań 3, 4 lub 5.
Zadanie nr 2
W zadaniu drugim należy napisać następujące funkcje:
function [y]=step_resp(b,N)
#definicja ciała funkcji
endfunction
obliczającą odpowiedź skokową filtru SOI o współczynnikach podanych w tablicy b. Długość
odpowiedzi skokowej (ilość próbek) określa argument N.
function [y]=imp_resp(b,N)
#definicja ciała funkcji
endfunction
obliczającą odpowiedź impulsową filtru SOI o współczynnikach podanych w tablicy b. Ilość
próbek odpowiedzi impulsowej określa argument N.
function [mH,fH, mHdB]=freq_resp(b, N)
#definicja ciała funkcji
endfunction
obliczającą odpowiedź częstotliwościową (mH- odpowiedź amplitudowa liniowa, mHdBodpowiedź amplitudowa w dB, fH- odpowiedź fazowa z fazą rozwiniętą) filtru SOI o
współczynnikach podanych w tablicy b. Ilość próbek odpowiedzi określa argument N. Do
rozwijania fazy można wykorzystać funkcję z ćwiczenia 3.
Zadanie nr 3
Zadanie trzecie polega na napisaniu funkcji następującej:
function [b]=movavg_filter(M, k)
#definicja ciała funkcji
endfunction
, która obliczy współczynniki filtru ruchomej średniej, w którym ilość uśrednień wynosi M, a
k określa ilość wielokrotnych filtracji (k>=1). Należy zaprezentować wszystkie rodzaje
charakterystyk filtru dla parametrów podanych przez prowadzącego.
Zadanie nr 4
W zadaniu czwartym należy napisać funkcję następującej postaci:
function [b]=sinc_filter(fc, M, wnd)
#definicja ciała funkcji
endfunction
, która będzie obliczać współczynniki filtru dolnoprzepustowego o długości odpowiedzi
impulsowej M i częstotliwości granicznej fc . Dla wnd=0 funkcja ma wykorzystywać okno
Blackmana, a dla wnd=1 okno Hamminga. Należy zaprezentować wszystkie rodzaje
charakterystyk filtru dla parametrów podanych przez prowadzącego.
Zadanie nr 5
Za pomocą opracowanych funkcji należy zaprojektować określony przez prowadzącego filtr
pasmowy (pasmowoprzepustowy lub pasmowozaporowy) i zaprezentować dla niego
wszystkie rodzaje charakterystyk.
Pytania na kartkówkę
1.
2.
3.
4.
5.
6.
7.
8.
9.
Przeliczanie wartości ze skali liniowej na logarytmiczną np. 102 i odwrotnie np. 20 dB.
Co należy zrobić, aby poprawić tłumienie w paśmie zaporowym filtru ruchomej średniej?
Co należy zrobić, aby zmniejszyć częstotliwość odcięcia filtru ruchomej średniej?
Co należy zrobić, aby zmniejszyć szerokość pasma przejściowego filtru okienkowanej
funkcji sinc?
Przeprojektuj filtr dolnoprzepustowy o odpowiedzi impulsowej h[n]=[1 1 1 1 1] na filtr
górnoprzepustowy o tej samej częstotliwości odcięcia.
Oblicz odpowiedź impulsową filtru równoważnego dla równoległego połączenia filtrów
h1[n]=[1 1 1] i h2[n]=[1 0 1 0 1 2 1 0 1 0 1].
Oblicz odpowiedź impulsową filtru równoważnego dla szeregowego połączenia filtrów
h1[n]=[1 2 1 ] i h2[n]=[1 1 1 1].
Podaj częstotliwości filtrów dolno i górnoprzepustowych, których użyjesz do
zaprojektowania filtru pasmowoprzepustowego o paśmie przepustowym od 1 kHz do 5
kHz.
Podaj częstotliwości filtrów dolno i górnoprzepustowych, których użyjesz do
zaprojektowania filtru pasmowozaporowego o paśmie zaporowym od 1 kHz do 5 kHz.