część 2

Transkrypt

część 2
Katedra Elektrotechniki Teoretycznej i Informatyki
Przedmiot: Zintegrowane Pakiety Obliczeniowe W
Zastosowaniach InŜynierskich
Numer ćwiczenia:
6
Temat: Signal Processing Toolbox - filtry cyfrowe,
transformacja biliniowa, transmitancja filtru,
charakterystyka amplitudowa i fazowa, stabilność
filtru, odpowiedź na skok jednostkowy, odpowiedź
impulsowa
1. STRUKTURY I PROJEKTOWANIE FILTRÓW
CYFROWYCH
Algorytm przetwarzania sygnału moŜna zrealizować sprzętowo lub programowo, a w
związku z tym „filtr cyfrowy" oznacza zarówno urządzenie jak i program realizacji danego
algorytmu. W kaŜdym filtrze, niezaleŜnie od sposobu realizacji algorytmu filtracji (sprzętowej
lub programowej) moŜna wyodrębnić takie same podstawowe bloki funkcjonalne:
sumator
układ mnoŜący
układ opóźniający
Filtr typu SOI
Filtr typu NOI
x(n)
y(n)
x(n)
h0
z-1
z-1
h1
z-1
d(n)
a0
y(n)
z-1
a1
-b1
z-1
z-1
a2
h2
K
y (n ) = ∑ hk x (n − k )
(1)
-b2
K
N
k =0
k =1
y (n ) = ∑ ak x ( n − k ) − ∑ bk y (n − k )
k =0
K
K
Y ( z)
H ( z) =
= ∑ hk z −k
X ( z ) k =0
(2)
H ( z) =
Y ( z)
=
X ( z)
∑a z
k =0
N
(3)
−k
k
1 + ∑ bk z
−k
(4)
k =1
1
Grzegorz Psuj, Katedra Elektrotechniki Teoretycznej i Informatyki
Kontakt: e-mail: [email protected], tel: 91 449 47 27
Próbki sygnału wyjściowego filtru o Skończonej Odpowiedzi Impulsowej (SOI) zaleŜą
od poprzednich próbek sygnału wejściowego (zaleŜność (1)). Próbki sygnału wyjściowego
filtru o Nieskończonej Odpowiedzi Impulsowej (NOI) zaleŜą od poprzednich próbek sygnału
wejściowego i poprzednich próbek sygnału wyjściowego (zaleŜność (3)). WyraŜenia (2) i (4)
przedstawiają transmitancję filtrów cyfrowych.
Wady i zalety filtrów NOI:
• mają bardziej skomplikowaną strukturę,
• są trudniejsze do projektowania i analizy,
• nie mają liniowej charakterystyki fazowej,
• filtry mogą być niestabilne,
• są bardziej efektywne niŜ filtry SOI, gdyŜ mogą zapewnić wymaganą charakterystykę
częstotliwościową przy określonej liczbie mnoŜeń dla jednej próbki sygnału
wyjściowego,
• dzięki małej liczbie wymaganych operacji, sprzętowa realizacja filtru NOI moŜe być
bardzo szybka,
• pozwala to na budowę filtrów działających w czasie rzeczywistym, dla wyŜszych
częstotliwości próbkowania niŜ filtr SOI,
• uzyskanie duŜej stromości obszaru przejściowego wymaga zastosowania filtru SOI o
bardzo długiej odpowiedzi impulsowej.
Podstawowym problemem jaki naleŜy rozwiązać w trakcie procesu syntezy filtru jest
wyznaczenie współczynników ak i bk transmitancji w taki sposób aby spełnić wymagania
odnoszące się do przebiegu charakterystyk częstotliwościowych lub czasowych. Standardowe
techniki projektowania filtrów NOI:
• metoda niezmienniczości odpowiedzi impulsowej (ang. impulse invariance),
• metoda transformacji biliniowej (ang. bilinear transform)
• metoda optymalizacji (ang. optimizatiton method).
W metodzie transformacji biliniowej stosuje się odwzorowanie płaszczyzny s na płaszczyznę
z za pomocą przekształcenia dwuliniowego (biliniowego), które lewą płaszczyznę Re s ≤ 0
odwzorowuje we wnętrze okręgu jednostkowego | z | ≤ 1, prostą Re s = 0 w okrąg
jednostkowy | z | = 1, a prawą półpłaszczyznę Re s > 0 w obszar | z | > 1.
s=
2 1 − z −1
tS 1 + z −1
(5)
ts = 1 / fs - odstęp próbkowania
Etapy projektowania filtru NOI za pomocą przekształcenia biliniowego:
1. Wyznaczenie funkcji transmitancji H(s) dla analogowego prototypu filtru (np. filtry
Butterwortha, Czebyszewa, eliptycznego)
2. Określenie częstotliwości próbkowania fs filtru cyfrowego i wyznaczenie odstępu
próbkowania ts.
3. Za zmienną s w transmitancji H(s) podstawiamy wyraŜenie (5)
4. Dokonujemy przekształceń otrzymując wyraŜenie w postaci zaleŜności (4)
2
Grzegorz Psuj, Katedra Elektrotechniki Teoretycznej i Informatyki
Kontakt: e-mail: [email protected], tel: 91 449 47 27
2. REALIZACJA FILTRÓW CYFROWYCH W
PROGRAMIE MATLAB
fsig = 40;
filterOrder =10; fLow =60;
Fs=600;
nPoint = 256;
t=(1:nPoint)/Fs;
s = 1 * sin(2*pi*t*fsig) + 2 * sin(2*pi*t*2*fsig);
[b, a] = butter( filterOrder, fLow*2/Fs);
[H,wf]=freqz(b,a,nPoint);
plot(wf*Fs/(2*pi), abs(H),'r'); pause;
signalFiltered = filter(b,a,s);
plot(t,signalFiltered ,'r',t,s,'b');
xlabel('Time (seconds)'); ylabel('Time waveform');
% Hz
% Hz
% Sampling frequency
% time axis
% Calculate filter transmitance
% Plot filter transmitance
Współczynniki transmitancji ak, bk (zaleŜność (4)) dla odpowiednich aproksymacji
charakterystyki amplitudowej wyznaczane są za pomocą następujących funkcji:
[b,a] = butter(filterOrder, Wn, type)
dla aproksymacji Butterwortha
[b,a] = cheby1(filterOrder, Rp, Wn, type)
dla aproksymacji Czebyszewa
[b,a] = ellip(filterOrder, Rp, Rs, Wn, type)
dla aproksymacji eliptycznej
•
•
•
•
•
filterOrder – rząd filtru
Wn – pulsacja odcięcia, Wn∈(0;1), Wn=1 odpowiada połowie częstotliwości
próbkowania
Rp (ang. ripple) – falistość [dB] w paśmie przenoszenia
Rs – spadek wzmocnienia dla pasma tłumienia
type
określa
rodzaj
filtru
(dolnoprzepustowy,
górnoprzepustowy,
pasmowozaporowy) i moŜe przyjmować następujące wartości: ‘low’, ‘high’,
‘stop’. W przypadku filtru pasmowego, parametr Wn musi się składać z wektora
dwuelementowego Wn=[Wnlow Wnhigh].
Wyznaczanie odpowiedzi częstotliwościowej filtrów cyfrowych:
[H,W] = freqz(b, a, nPoint)
•
•
•
•
H – zespolona odpowiedź częstotliwościowa
W – wektor częstotliwości
b,a – współczynniki w transmitancji
nPoint – liczba punktów
Wyznaczanie odpowiedzi filtrów cyfrowych na skok jednostkowy:
[Ht] = stepz(b, a)
•
•
Ht – odpowiedź na skok jednostkowy
b,a – współczynniki w transmitancji
3
Grzegorz Psuj, Katedra Elektrotechniki Teoretycznej i Informatyki
Kontakt: e-mail: [email protected], tel: 91 449 47 27
Wyznaczanie odpowiedzi impulsowej filtrów cyfrowych:
[Hi] = impz(b, a)
•
•
Hi – odpowiedź impulsowa
b, a – współczynniki w transmitancji
Wyznaczanie połoŜenia biegunów i zer filtrów cyfrowych na płaszczyźnie zmiennej
zespolonej z:
zplane(b, a)
•
b, a – współczynniki w transmitancji
Filtrowanie sygnałów za pomocą wyznaczonego filtru cyfrowego:
[y] = filter(b, a, s)
•
•
•
y – sygnał wyjściowy (przefiltrowany)
b, a – współczynniki w transmitancji
s – sygnał wejściowy (filtrowany)
Pełna lista parametrów powyŜszych funkcji dostępna jest w pomocy programu MATLAB.
3. ZADANIA
1. Zaprojektować filtr cyfrowy NOI 2-rzędu dolnoprzepustowy o częstotliwości
granicznej fg = 0.3 fN (fN = fS/2). Zastosuj aproksymację Butterwortha.
2. Wyznaczyć:
a. charakterystykę amplitudową i fazową, wykreślić ją w skali logarytmicznej i
liniowej,
b. połoŜenie biegunów i zer transmitancji, czy układ o tej transmitancji jest stabilny
c. odpowiedź na skok jednostkowy,
d. odpowiedź impulsową
e. odpowiedź na sygnał prostokątny o częstotliwości f = 0.2 fN
3. Wyznaczyć parametry określone w pkt. 2 dla następujących filtrów:
a. filtr NOI 2-rzędu dolnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Bessela
b. filtr NOI 2-rzędu dolnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Czebyszewa
c. filtr NOI 2-rzędu dolnoprzepustowy, częstotliwość graniczna fg = 0.5 fN
aproksymacja Czebyszewa
d. filtr NOI 2-rzędu dolnoprzepustowy, częstotliwość graniczna fg = 0.7 fN
aproksymacja Czebyszewa
4
Grzegorz Psuj, Katedra Elektrotechniki Teoretycznej i Informatyki
Kontakt: e-mail: [email protected], tel: 91 449 47 27
e. filtr NOI 2-rzędu górnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Butterwortha
f. filtr NOI 3-rzędu górnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Butterwortha
g. filtr NOI 4-rzędu górnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Butterwortha
h. filtr NOI 6-rzędu górnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Butterwortha
4. Wyznaczyć charakterystykę amplitudową i fazową 2 filtrów połączonych kaskadowo:
a. filtr NOI 4-rzędu górnoprzepustowy, częstotliwość graniczna fg = 0.3 fN
aproksymacja Butterwortha
b. filtr NOI 4-rzędu dolnoprzepustowy, częstotliwość graniczna fg = 0.5 fN
aproksymacja Butterwortha
5. Zaprojektować układ o takiej transmitancji 2-go rzędu, aby jeden z biegunów
znajdował się poza kołem jednostkowym. Wyznaczyć odpowiedź impulsową układu i
odpowiedź na skok jednostkowy. Czy taki układ jest stabilny ?
6. Zapoznać się z narzędziem fdatool
5
Grzegorz Psuj, Katedra Elektrotechniki Teoretycznej i Informatyki
Kontakt: e-mail: [email protected], tel: 91 449 47 27