06
Cyfrowe Przetwarzanie Sygnałów
Projektowanie filtrów metodą „zer i biegunów”
dr inż. Jarosław Bułat, mgr inż. Łukasz Zbydniewski
2010.04.07
Ćwiczenie 1.
(1 pkt)
Metodą "zer i biegunów" zaprojektuj filtr analogowy H(s) typu pasmowozaporowego BS (Band-
stop filter) na następujące częstotliwości graniczne pasma: f
1BS
= 50 Hz, f
2BS
= 70 Hz. Tłumienie w
paśmie zaporowym powinno być minimum 20 dB.
a) Za pomocą funkcji poly(...) oblicz wartości współczynników wielomianów transmitancji filtra.
b) Oblicz charakterystyki częstotliwościowe filtrów z wykorzystaniem funkcji:
–
tylko polyval(...),
–
tylko freqs(...).
c) Narysuj:
–
położenie ich zer i biegunów (użyj funkcji plot(...)),
–
charakterystyki częstotliwościowe: amplitudową (w skali liniowej i decybelowej, abs(...),
20*log10(abs(...))) i fazową (angle(...), unwrap(...)), użyj funkcji semilogx(...),
–
odpowiedź impulsową i skokową (funkcje impulse(...) i step(...)).
d) Zmodyfikuj położenie zer i biegunów zaprojektowanego filtru:
–
odbijając symetrycznie względem osi urojonej wszystkie zera, tak aby znajdowały się one na
prawej półpłaszczyźnie (jeśli zera znajdują się na osi urojonej, przesuń je najpierw lekko na
lewą stronę); narysuj charakterystyki amplitudową i fazową przed i po modyfikacji oraz ich
odpowiedzi impulsowe;
–
odbijając symetrycznie względem osi urojonej tylko część zer; narysuj charakterystyki
amplitudową i fazową przed i po modyfikacji oraz ich odpowiedzi impulsowe;
–
tak, aby bieguny filtru znajdowały się na prawej półpłaszczyźnie, narysuj charakterystyki
amplitudową i fazową przed i po modyfikacji oraz ich odpowiedzi impulsowe;
Ćwiczenie 2.
(2 pkt)
Metodą "zer i biegunów" zaprojektuj filtr cyfrowy H(z) typu górnoprzepustowego HP (High-pass
filter) na następującą częstotliwość graniczną: f
HP
= 70 Hz dla f
pr
= 1000 Hz.
a) Za pomocą funkcji poly(...) oblicz wartości współczynników wielomianów transmitancji filtra.
b) Oblicz charakterystykę częstotliwościową filtra z wykorzystaniem funkcji:
–
tylko polyval(...),
–
tylko freqz(...).
c) Narysuj:
–
położenie jego zer i biegunów (z pomocniczym okręgiem o promieniu równym 1)
(użyj funkcji plot(...)),
–
charakterystyki częstotliwościowe: amplitudową (w skali liniowej i decybelowej, abs(...),
20*log10(abs(...))) i fazową (angle(...), unwrap(...))
(użyj funkcji semilogx(...)),
–
odpowiedź impulsową i skokową (funkcje impz(...) i stepz(...)) (Jak działają te funkcje?)
Ćwiczenie 3.
(2 pkt)
Wygeneruj sinusoidalny wejściowy sygnał testowy dla filtru z ćwiczenia 2, składający się z dwóch
składowych częstotliwościowych, jedna z nich powinna leżeć w paśmie przepuszczania filtra
cyfrowego z ćw. 2, a druga w paśmie zaporowym.
a) Napisz program realizujący filtrację (splot) nie korzystając z funkcji Matlab'a. Dokonaj filtracji
sygnału testowego.
b) Pokaż sygnał przed i po filtrze oraz ich widma częstotliwościowe obliczone za pomocą fft(...)
(wyskaluj oś poziomą i pionową).
c) Usuń stan przejściowy z sygnału po filtrze i ponownie dokonaj jego analizy częstotliwościowej.
Nałóż nowe widmo na stare widmo.
d) Użyj funkcji filter(...) do realizacji filtracji z ćwiczenia 3. Porównaj sygnał wyjściowe z twojego
algorytmu filtracji i algorytmu Matlab'a.