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