Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
1
LABORATORIUM PROCESORÓW
SYGNAŁOWYCH
Filtracja cyfrowa.
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
2
1. Cel ćwiczenia.
Celem ćwiczenia jest poznanie zasady tworzenia oprogramowania do filtracji cyfrowej z
zastosowaniem modułu uruchomieniowego DSK z procesorem TMS320c6713.
2. Wstęp teoretyczny.
a) Filtry analogowe a filtry cyfrowe
Filtry są to urządzenia o specyficznej amplitudowej charakterystyce częstotliwościowej (dolnoprzepustowej,
górnoprzepustowej, środkowoprzepustowej, środkowozaporowej lub wszechprzepustowej), mającej na celu
usunięcie z sygnału wejściowego pewnych, założonych składników częstotliwościowych. Poglądowa
charakterystyka dolnoprzepustowego oraz górnoprzepustowego filtru analogowego została przedstawiona na
Rys. 2-1. Oznaczenie H(j ) oznacza transmitancję filtru (sposób przebiegu tłumienia filtru w funkcji
częstotliwości) w decybelach, - pulsację (2
f). Rys. 2-1 a zawiera również podstawowe parametry jakie
powinny być zdefiniowane przed rozpoczęciem projektowania filtru i są to:
minimalne tłumienie w paśmie zaporowym,
szerokość pasma przepustowego,
szerokość pasma przejściowego,
tolerancja falistości charakterystyki w paśmie przepustowym i zaporowym.
W praktyce operuje się jeszcze jednym parametrem – 3-decybelowym spadkiem wzmocnienia (tłumienia)
charakterystyki – tzw. częstotliwością odcięcia filtru.
H(j )
[dB]
H(j )
[dB]
fa
lis
to
ść
w
p
aś
m
ie
p
rz
e
pu
st
ow
ym
fa
lis
to
ść
w
p
aś
m
ie
za
p
or
o
w
ym
0
0
a)
b)
tłu
m
ie
ni
e
w
p
aś
m
ie
za
p
or
ow
ym
Rys. 2-1 Schemat tolerancji charakterystyki dolnoprzepustowej (a) oraz górnoprzepustowej (b) –
gabaryty filtru.
Do realizacji filtru o zdefiniowanych powyżej parametrach należy użyć jednej z kilku rodzajów charakterystyk.
Najpopularniejsze charakterystyki to:
Butterwortha,
Bessela,
Czebyszewa.
Charakterystyka Butterwortha. Filtry o charakterystyce amplitudowej tego typu cechują się
maksymalnie płaskim pasmem przepustowym oraz średnią stromością zbocza przejściowego do pasma tłumienia
powyżej częstotliwości odcięcia. W odpowiedzi impulsowej filtrów Butterwortha występują tłumione oscylacje
wzrastające ze wzrostem rzędu filtru.
Charakterystyka Czebyszewa. Filtry tego typu mają bardziej stromą charakterystykę powyżej
częstotliwości odcięcia niż filtry Butterwortha. Zaleta ta osiągnięta jest kosztem występowania falistości o stałej
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
3
amplitudzie w paśmie przepustowym. Oscylacje w odpowiedzi impulsowej są jeszcze większe niż w przypadku
filtrów Butterwortha.
Charakterystyka Bessela. Filtry te posiadają liniową charakterystykę fazową i dlatego mają optymalne
właściwości przy przenoszeniu impulsów prostokątnych. Charakterystyka amplitudowa w paśmie przepustowym
nie jest tak liniowa jak w filtrach Butterwortha i ma łagodniejsze załamanie jak w przypadku pozostałych dwóch
filtrów.
Charakterystyki amplitudowe filtrów wyżej wymienionych typów przedstawiono na Rys. 2-2. Aby
dostosować stromość charakterystyki do założonej wartości modyfikuje się tzw. rząd filtru (Rys. 2-3). Parametr
ten jest ściśle związany ze złożonością funkcji transmitancji. Filtry wysokich rzędów posiadają bardziej
rozbudowane funkcje transmitancji od filtrów o rzędach niższych. W systemach filtrów analogowych
zwiększenie rzędu filtru realizuje się poprzez dołączenie do wyjścia filtru kolejnego ogniwa filtracyjnego w
postaci układu pasywnego (cewki, kondensatory, rezystory) lub aktywnego (wzmacniacze operacyjne,
tranzystorowe). Zwiększenie tego parametru powoduje zatem rozbudowanie układu elektronicznego (np. filtr 8
rzędu wymaga zastosowania 4 wzmacniaczy operacyjnych, lub 8 obwodów pasywnych).
Rys. 2-2 Najważniejsze typy charakterystyk
amplitudowych filtrów (częstotliwość odcięcia
1Hz).
.
Rys. 2-3 Filtr o charakterystyce Butterwortha
dla wartości rzędów 2, 4, 6, 8 (częstotliwość
odcięcia 10Hz).
Systemy filtrów cyfrowych oparte są o realizację programową funkcji transmitancji. Zwiększenie rzędu filtru w
takich systemach wiąże się tylko z modyfikacją programu w procesorze, bez zmiany układów wejściowych i
wyjściowych.
Jak już wspomniano główną cechą filtrów cyfrowych (odróżniającą je od filtrów analogowych) jest
realizacja funkcji filtracji przez programowe przetwarzanie sygnału wejściowego. Sygnał ten musi być jednak
najpierw przetworzony na postać cyfrową, dlatego też niezbędne jest stosowanie wejściowych przetworników
analogowo-cyfrowych. Procesor następnie przetwarza cyfrową reprezentację sygnału wejściowego dokonując
operacji filtracji. Przetworzone dane wysyłane są następnie do przetwornika cyfrowo-analogowego, gdzie
zamieniane są na postać analogową (Rys. 2-4).
Procesor
DSP
Przetwornik
A/C
Układy
wejściowe
Układy
wyjściowe
Przetwornik
C/A
Rys. 2-4 Budowa układu filtru cyfrowego.
Drugą bardzo ważną cechą jest specyficzna postać charakterystyki amplitudowej filtrów cyfrowych,
która jest odbita wokół połowy częstotliwości (pulsacji) próbkowania stosowanej w systemie (Rys. 2-5).
Zjawisko to występuje jako wynik operacji próbkowania. Część charakterystyki powyżej połowy częstotliwości
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
4
próbkowani nazywana jest aliasem – obrazem, zaś częstotliwość (pulsacja)
s
/2 jest również nazywana
częstotliwością (pulsacją) Nyquista.
Rys. 2-5 Przykładowe charakterystyki dolnoprzepustowe filtru analogowego (a) oraz cyfrowego (b).
Pojawienie się lustrzanego odbicia charakterystyki wokół częstotliwości próbkowania (aliasu) jest główną wadą
filtrów cyfrowych. Zakres użytkowy filtru zawężony jest tylko do połowy częstotliwości próbkowania,
ponieważ powyżej tej częstotliwości występuje alias charakterystyki. Filtry analogowe, w związku z brakiem
operacji próbkowania, w sposób naturalny nie posiadają tej wady. Ponadto w przypadku podania na wejście
takiego filtru, zawierającego komponenty o częstotliwościach powyżej częstotliwości Nyquista w części
użytkowej filtru pojawiają się dodatkowe interferencje zwane również aliasami, ale pochodzącymi tym razem od
sygnału. Wady związanej z powieleniem charakterystyki nie da się usunąć, ale ogranicza się powstawanie
aliasów pochodzących od wysokich częstotliwości sygnału poprzez wprowadzenie przed przetwornik
analogowo-cyfrowy dolnoprzepustowego filtru antyaliasingowego
Procesor
DSP
Przetwornik
A/C
Układy
wejściowe
Układy
wyjściowe
Przetwornik
C/A
Filtr
anty-
aliasingowy
Rys. 2-6 Budowa układu filtru cyfrowego z filtrem antyaliasingowym.
Filtr ten najczęściej jest filtrem analogowym niskiego rzędu (do 8-go), o częstotliwości odcięcia równej
częstotliwości Nyquista (fs/2). Odfiltrowuje on z sygnału wejściowego wszystkie komponenty o
częstotliwościach powyżej częstotliwości Nyquista, przez co w zakresie częstotliwości użytkowych filtru nie
występuje pojawianie się aliasów sygnału.
Przypuśćmy, że dysponujemy sygnałem, który zbudowany jest z dwóch komponentów: 1kHz oraz
8kHz (widmo takiego sygnału pokazano na Rys. 2-7, Rys. 2-8, Rys. 2-9 w podpunktach a). Chcemy jednak tak
przetworzyć sygnał, aby uzyskać komponent tylko o częstotliwości 1kHz, a więc wykonać filtrację, powiedzmy
dolnoprzepustową (aby uzyskać założony cel możliwa jest oczywiście również filtracja pasmowoprzepustowa).
Na Rys. 2-7 przedstawiono sposób filtracji za pomocą filtru analogowego. Badany sygnał podano na
analogowy filtr dolnoprzepustowy o częstotliwości odcięcia 3kHz (rysunek b). Jako wynik filtracji otrzymuje się
sygnał o widmie przedstawionym na rysunku c, w którym pozostała tylko składowa o częstotliwości 1kHz. Cel
został zatem osiągnięty.
Sytuacja wygląda inaczej w przypadku filtracji cyfrowej (Rys. 2-8). Sygnał wejściowy poddano
operacji próbkowania z częstotliwością próbkowania f
s
równą 10kHz uzyskując przy tym widmo sygnału jak na
rysunku b. Widoczne jest powstanie aliasów sygnału wokół częstotliwości próbkowania (rysunek b). Składowa o
częstotliwości 1kHz w wyniku operacji próbkowania generuje alias na częstotliwości 9kHz, natomiast składowa
8kHz na częstotliwości 2kHz. Taki sygnał podany został na filtr cyfrowy, którego charakterystyka
częstotliwościowa również posiada alias (rysunek c). W wyniku filtracji sygnał wyjściowy zawiera komponenty
o częstotliwości 1kHz, 2kHz (alias komponentu 8kHz), 8kHz oraz 9kHz (alias komponentu 1kHz) (rysunek d).
Ponieważ znając wadę filtru cyfrowego, w którym zakres częstotliwości użytkowych sięga tylko do
częstotliwości Nyquista, część widma powyżej tej częstotliwości pomija się w analizie sygnału. Ponadto,
analizując właściwą część widma sygnału – w zakresie częstotliwości użytkowych, zauważa się dodatkową
H(j )
[dB]
0
a)
H(j )
[dB]
0
b)
s
s
/2 - pulsacja Nyquista
zakres
częstotliwości
"użytkowych"
powielenie
alias charakterystyki
zakres
częstotliwości
"użytkowych"
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
5
składową – alias komponentu 8kHz. Tej składowej już oczywiście nie powinno być w filtrowanym sygnale,
ponieważ celem było przepuszczenie przez filtr tylko składowej o częstotliwości 1kHz.
Problem istnienia aliasów powstałych od komponentów sygnału o częstotliwościach powyżej
częstotliwości Nyquista rozwiązuje się stosując dolnoprzepustowy filtr antyaliasingowy (Rys. 2-9). Sygnał
wejściowy podany jest na filtr antyaliasingowy o częstotliwości odcięcia równej połowie częstotliwości
próbkowania (rysunek b). Występuje tutaj stłumienie komponentu 8kHz (rysunek c). Następnie taki sygnał
poddano operacji próbkowania, w wyniku której pojawiają się aliasy poszczególnych komponentów: 9kHz
(pochodzący od częstotliwości 1kHz) oraz 2kHz (pochodzący od 8kHz) (rysunek d). W związku z tym, że
komponent o częstotliwości 8kHz został stłumiony wcześniej przez filtr antyaliasingowy, jego alias jest również
stłumiony. Uzyskany sygnał poddany zostaje filtracji cyfrowej (rysunek e). Uzyskany sygnał w zakresie
częstotliwości użytkowych posiada już tylko komponent o częstotliwości 1kHz, tak jak to miało miejsce podczas
filtracji analogowej.
f[kHz]
S(f)
10
1
3
H(f)
[dB]
8
S(f)
1
3
f[kHz]
10
10
f[kHz]
zakres
częstotliwości
"użytkowych"
a)
b)
c)
Rys. 2-7 Zasady filtracji
analogowej.
f [kHz]
S(f)
10
b)
f
s
c)
1
3
H(f)
[dB]
2
S(f)
d)
8 9
f
s
f [kHz]
10
1
9
f
s
f[kHz]
S(f)
10
a)
1
f [kHz]
a
lia
s
ch
a
ra
k
te
ry
s
ty
ki
niepożądany
sygnał - alias
komponentu 8kHz
7
8
2
8
5
alias
komponentu
1kHz
alias
komponentu
8kHz
5
zakres
częstotliwości
"użytkowych"
powielenie
Rys. 2-8 Zasady filtracji
cyfrowej bez filtru
antyaliasingowego.
Rys. 2-9 Zasady filtracji
cyfrowej z filtrem
antyaliasingowym.
b) Realizacje filtrów cyfrowych
1
S(f)
c)
8
9
e)
H(f)
[dB]
S(f)
f)
1
S(f)
d)
1
5
9
9
b)
2
H(f)
[dB]
5
S(f)
a)
1
8
a
lia
s
ch
a
ra
k
te
ry
s
ty
ki
stłumiony
komponent
8kHz
alias
stłumionego
komponentu
8kHz
alias
komponentu
1kHz
2
2
3
7
8
9
8
zakres
częstotliwości
"użytkowych"
powielenie
f [kHz]
10
f
s
f [kHz]
10
f
s
f
s
f [kHz]
f[kHz]
10
f [kHz]
10
f
s
f [kHz]
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
6
Filtr cyfrowy można przedstawić za pomocą bloczka (Rys. 2-10) o określonej transmitancji H(z) lub odpowiedzi
impulsowej h(n), na którego podaje się ciąg próbek sygnału wejściowego x(n) otrzymując na wyjściu ciąg
próbek y(n).
x(n)
X(z)
y(n)
Y(z)
y(n)
Y(z)
h(n)
H(z)
Rys. 2-10 Schemat blokowy filtru.
Próbki wyjściowe są obliczane za pomocą odpowiednich równań na podstawie tzw. współczynników (Tabela
2-1). Zmiana parametrów filtru cyfrowego (typu, częstotliwości odcięcia itd.) polega na zmianie wymienionych
współczynników.
Sposób obliczeń wykorzystujących współczynniki może być różny i nazywa się go cyfrową realizacją filtru.
Generalnie rozróżnia się dwie cyfrowe realizacje filtrów:
filtry rekursywne (o nieskończonej odpowiedzi impulsowej – IIR – ang. infinite im-pulse response),
filtry nierekursywne (o skończonej odpowiedzi impulsowej – FIR – ang. finite im-pulse response).
W filtry rekursywnych w obliczeniach uwzględnia się zarówno próbki wejściowe, jak i wyjściowe. Wskutek
zależności próbki wyjściowej od poprzednich próbek sygnału wyjściowego struktury tego typu filtrów zawierają
pętle sprzężenia zwrotnego. Dzięki temu odpowiedź impulsowa (odpowiedź filtru na podanie na jego wejście
krótkotrwałego impulsu – delta Kroneckera) może mieć, przy założeniu arytmetyki o nieskończonej
dokładności, nieskończenie wiele próbek niezerowych. Dlatego też filtry tego typu noszą nazwę filtrów o
nieskończonej odpowiedzi impulsowej (Infinite Impulse Response - IIR). Transmitancja, oraz sposób obliczania
próbek wyjściowych filtru rekursywnego IIR została przedstawiona w Tabela 2-1.
Nierekursywne filtry cyfrowe zdefiniowane są jako filtry, w których każda próbka odpowiedzi nie zależy od
poprzednich jej próbek, a jedynie od próbek wejściowych. Realizacja filtrów nierekursywnych nie zawiera pętli
sprzężenia zwrotnego. W rezultacie odpowiedź impulsowa dowolnego filtru nierekursywnego ma zawsze
skończoną liczbę próbek. Filtry te noszą zatem nazwę filtrów o skończonej odpowiedzi impulsowej (Finite
Impulse Response - FIR). Są one zawsze stabilne. Transmitancję filtrów nierekursywnych przedstawiono w
wymienionej wcześniej tabeli.
Istnieje kilka sposobów wyznaczania współczynników filtrów rekursywnych jak i nierekursywnych. Metody te
zostały omówione szeroko w literaturze. Współczynniki filtrów można również obliczać na podstawie
pomocniczego oprogramowania, wybierając tylko metodę obliczeń.
Tabela 2-1 Transmitancje, sposoby obliczania próbek wyjściowych i metody projektowania filtrów
cyfrowych IIR oraz FIR.
Filtry rekursywny IIR
Filtr nierekursywny
FIR
Uwagi
Transmitancja
N
n
n
n
M
m
m
m
z
b
z
a
z
X
z
Y
z
H
1
0
1
)
(
)
(
)
(
M
m
m
m
z
a
z
H
9
)
(
Gdzie a
m
oraz b
n
są
współczynnikami filtrów.
Y(z) - sygnał na wyjściu
filtru,
X(z) – sygnał na wejściu
filtru
Metody
projektowania
-
metoda niezmienniczości
odpowiedzi impulsowej,
-
metoda transformacji biliniowej.
-
metoda okien,
-
metoda
próbkowania
częstotliwości.
Projekt filtru polega na
wyznaczeniu
współczynników a
m
oraz b
n
.
Sposób
obliczania
próbki
wyjściowej
M
k
k
N
l
l
k
n
y
a
l
n
x
b
n
y
1
0
)
(
)
(
)
(
N
l
l
l
n
x
b
n
y
0
)
(
)
(
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
7
c) Struktury filtrów FIR
Cyfrowe filtry FIR do uzyskania bieżącej próbki sygnału wyjściowego wykorzystują próbkę bieżącą i
próbki przeszłe sygnału wejściowego, nie korzystając z żadnych przeszłych próbek sygnału wyjściowego
(Dlatego też filtry te nazywa się nierekursywnymi). Dysponując skończonym ciągiem różnych od zera próbek
sygnału wejściowego, filtr FIR zawsze ma na wyjściu skończonej długości ciąg niezerowych próbek sygnału
wyjściowego skąd bierze się nazwa tego typu filtrów.
Do obliczenia wartości próbek wyjściowych filtr FIR korzysta z operacji dodawania oraz mnożenia Rys. 2-11
oraz Rys. 2-12. Na wymienionych rysunkach zostały przedstawione struktury filtrów FIR czwartego rzędu.
Struktury te są sobie równoważne. Operacja filtracji polega w tego typu filtrach na sumowaniu iloczynów
następujących po sobie próbek ze współczynnikami filtru zgodnie ze wzorem z tabeli 6.1. Ilość
współczynników określa rząd filtru. Bloki „opóźnienie” przedstawione na rysunkach odpowiadają operatorom
z
-1
z równania w Tabela 2-1.
Rys. 2-11 Podstawowa struktura filtru FIR.
Rys. 2-12 Zmodyfikowana struktura filtru FIR.
d) Struktury filtrów IIR
Do obliczenia bieżącej próbki sygnału wyjściowego, w filtrach typu IIR, korzysta się z wartości
przeszłych próbek sygnału wyjściowego. Efekt ten jest taki, że pewien skończony ciąg niezerowych wartości
wejściowych może spowodować pojawienie się na wyjściu filtru IIR ciągu niezerowych próbek o
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
8
nieskończonym czasie trwania. Zatem, jeżeli sygnał wejściowy filtru IIR stałby się nagle ciągiem samych
wartości zerowych, to sygnał wyjściowy mógłby przy pewnych warunkach stać się nieskończonym ciągiem
niezerowym. Realizacja tego typu filtrów została przedstawiona na Rys. 2-13 oraz Rys. 2-14.
Rys. 2-13 Postać bezpośrednia typu I filtru IIR.
Rys. 2-14 Postać bezpośrednia typu II filtru IIR.
e) Sposób generowania współczynników w środowisku Matlab.
f) Sposób implementacji oprogramowania filtrów cyfrowych FIR.
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
9
g) Oprogramowanie pomocnicze.
Do wygenerowania odpowiednich sygnałów testowych należy zastosować generator/oscyloskop programowy.
Sposób konfiguracji przedstawiony jest
3. Przebieg ćwiczenia.
a) Podłączyć moduł DSK, uruchomić środowisko Code Composer Studio
oraz połączyć się z modułem.
b) Wczytać projekt startowy. Pliki umieszono
c) Podłączyć sygnały do modułu DSK jak pokazano na poniższym schemacie.
Speaker
ony
(ziel
)
Line in
niebieski
(
)
L
in
e
I
n
L
in
e
I
n
H
e
a
d
p
h
o
n
e
s
d) Skompilować projekt, załadować go do makiety i uruchomić.
e) Uruchomić oprogramowanie scope.
f) Skonfigurować wejście oraz wyjście karty dźwiękowej jak pokazano w
punkcie 2.g
g) Wygenerować szum biały w obydwu kanałach.
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
10
Rys. 3-1 Ustawienia programu Scope do generowania szumu białego.
h) W kanale drugim (Channel 2) powinien pojawić się sygnał o płaskim
widmie.
Rys. 3-2 Widmo sygnału w kanale 2 (Channel 2). Niefiltrowane widmo szumu białego.
Laboratorium Procesorów Sygnałowych
Opracowali: dr inż. Krzysztof Górecki, dr inż. Mirosław Szmajda
11
i) W kanale pierwszym (Channel 1) powinien pojawić się odfiltrowany
sygnał. Widmo sygnału odpowiada charakterystyce amplitudowej filtru.
Rys. 3-3 Widmo sygnału w kanale 1 (Channel 1). Odfiltrowane widmo szumu białego.
4. Literatura.
1. Lyons R. G.: Wprowadzenie do cyfrowego przetwarzania sygnałów, WkiŁ, Warszawa 1999.
2.
Dąbrowski A.: Przetwarzanie sygnałów przy użyciu procesorów sygnałowych, WPP, Poznań 1998.
3.
Zieliński T.: Od teorii do cyfrowego przetwarzania sygnałów, Wydział EAIiE AGH, Kraków 2002.
4.
Oppenheim A., Shafer R.: Cyfrowe przetwarzanie sygnałów, WKiŁ