Za projektovanje filtara u MATLABu na raspolaganju je više funkcija. Za nas su trenutno od najvećeg značaja dvije grupe funkcija:
[N, Wn] = buttord(Wp, Ws, Rp, Rs, 's')
[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs, 's')
[N, Wn] = cheb2ord(Wp, Ws, Rp, Rs, 's')
[N, Wn] = ellipord(Wp, Ws, Rp, Rs, 's')
Ulazni argumenti svake od ovih funkcija su isti:
Wp – granična frekvencija propusnog opsega,
Ws – granična frekvencija nepropusnog opsega,
Rp – maksimalno dozvoljeno slabljenje u propusnom opsegu,
Rs – minimalno dozvoljeno slabljenje u nepropusnom opsegu.
Izlazni podaci iz svake od funkcija su:
N – red filtra potrebnog da bi se zadovoljile specifikacije,
Wn – granična frekvencija filtra (za svaki od filtara ima različito značenje, vidi dole)
[b, a] = butter(N, Wn, 's')
Funkcija prenosa Batervortovog filtra, sa parametrima:
N – red filtra,
Wn – 3dB granična frekvencija.
[b, a] = cheby1(N, R, Wn, 's')
Funkcija prenosa Čebiševljevog filtra I vrste, sa parametrima:
N – red filtra,
R – dozvoljeno slabljenje u propusnom opsegu,
Wn – granična frekvencija propusnog opsega,
[b, a] = cheby2(N, R, Wn, 's')
Funkcija prenosa Čebiševljevog filtra II vrste, sa parametrima:
N – red filtra,
R – minimalno slabljenje u nepropusnom opsegu,
Wn – granična frekvencija nepropusnog opsega.
[b, a] = ellip(N, Rp, Rs, Wn, 's')
Funkcija prenosa eliptičkog filtra, sa parametrima:
N – red filtra,
Rp – dozvoljeno slabljenje u propusnom opsegu,
Rs – minimalno slabljenje u nepropusnom opsegu,
Wn – granična frekvencija propusnog opsega.
Izlaz iz svake od ovih funkcija su brojnik i nazivnik funkcije prenosa filtra, respektivno. Obratiti pažnju da poslednji argument ovih funkcija u slučaju analognih filtara mora biti ‘s’.
Proučiti svaku od ovih funkcija u MATLAB sistemu pomoći. Uočite da upravo opisana sintaksa funkcija odgovara projektovanju niskopropusnih filtara. Pronađite kako se zadaju argumenti za projektovanje visokopropusnih filtara, te propusnika i nepropusnika opsega.
Projektovati Batervortove filtre drugog, petog i desetog reda sa maksimalnim slabljenjem u propusnom opsegu od 3dB.
Nacrtati amplitudske karakteristike svakog od dobijenih filtara na istom grafiku.
Šta se dešava sa amplitudskom karakteristikom filtra kada se red filtra povećava. Posmatrati slabljenje u propusnom i nepropusnom opsegu, te širinu prelaznog opsega.
Nacrtati impulsne odzive dobijenih filtara u trajanju od 20s (na istom grafiku). Kako se mijenjaju parametri impulsnog odziva kada se red filtra povećava.
Imajući u vidu ove dvije uporedne analize objasnite kako treba izabrati red filtra.
a) Projektovati analogni prototip niskopropusnog filtra petog reda sa maksimalnim slabljenjem u propusnom opsegu od 3dB, i minimalnim slabljenjem u nepropusnom opsegu od 26dB koristeći:
Nacrtati amplitudske i fazne karakteristike svakog od dobijenih filtara, po mogućnosti na istom grafiku kako bi ih bilo moguće uporediti.
Kao što je poznato, za projektovanje filtra potrebno je zadati četiri parametra (ωp, ωs, Ap, As). Međutim, kada su zadata 3 parametra (ωp = 1) i red filtra, tada je četvrti parametar jednoznačno određen za svaku metodu aproksimacije. U našem slučaju to je granična frekvencija nepropusnog opsega, ωs, odnosno, širina prelaznog opsega.
Imajući ovo u vidu, uporedite širinu prelaznog opsega za ove četiri metode aproksimacije. Koji filtar pokazuje najbolje ponašanje s obzirom na ovaj parametar? Koji ste kriterijum uzeli u obzir prilikom izbora? Koje karakteristike izabranog filtra omogućavaju dobre performanse?
Uporedite fazne karakteristike projektovanih filtara. Koji filtar pokazuje najbolje ponašanje? Koji ste kriterijum uzeli u obzir prilikom izbora?
b) Odredite red Batervortovog, Čebiševljevog i eliptičkog filtra koji zadovoljava sledeće uslove: Ap = 1dB, As = 80dB, ωs = 1.2.
Koji filtar je najefikasniji (ima najmanji red)?
Generisati složenoperiodični signal
na intervalu 0:2, sa korakom dt = 1/8192, gdje je frekvencija osnovnog harmonika jednaka f0 = 200Hz. Koliko elemenata ima dobijeni vektor?
Korišćenjem funkcije fplot
nacrtati njegov spektar. Ova funkcija nije sastavni dio MATLAB-ovih standardnih biblioteka, a na pogodan način
koristi ugrađenu funkciju za izračunavanje “brze Furijeove transformacije” da bi se odredio spektar signala. Njena sintaksa je:
fplot(xa, dt)
,
gdje je xa
vektor koji sadrži vrijednosti (odmjerke) analognog signala u tačkama razmaknutim za dt
(korak korišćen za generisanje signala).
Ukoliko je vaš računar opremljen zvučnom karticom dobijeni signal možete “odsvirati” pomoću naredbe sound(u)
.
Odrediti red Butterworthovog filtra koji zadovoljava sledeće zahtjeve: propusni opseg 0 <= f <= 450Hz, sa maksimalnim slabljenjem od 1dB; nepropusni opseg f >= 550Hz, sa minimalnim slabljenjem 26dB.
Odrediti funkciju prenosa tog filtra.
Nacrtati magnitudu funkcije prenosa, u funkciji frekvencije u Hz.
Nacrtati impulsni odziv tog filtra.
Korišćenjem funkcije lsim
izvršiti simulaciju tog filtra kada se na njegov ulaz dovede signal u(t).
Nacrtati spektar izlaznog signala. Poslušati dobijeni signal.
Projektovati sada Butterworthov propusnik opsega koji zadovoljava sledeće specifikacije:
Nacrtati frekvencijsku karakteristiku ovog filtra i njegov impulsni odziv.
Izvršiti simulaciju dobijenog filtra kada se na njegov ulaz dovede signal u(t). Nacrtati spektar izlaznog signala. Poslušati dobijeni signal.