Informatica
Filtre numerice fir - lucrarea de laboratorfiltre numerice FIR - lucrarea de laborator Obiectivele lucrarii 1 Studiul operatorilor de filtrare numerica 2) Asimilarea functiilor MATLAB pentru proiectarea filtrelor cu raspuns finit la impuls; 3 Realizarea filtrajului numeric al secventelor 1D si 2D, folosind filtre FIR; 4) Studiul interactiv al filtrelor numerice FIR 1D si 2D, utilizand mediul DIDACTICIEL. Desfasurarea lucrarii Comenzi MATLAB pentru proiectarea FN-FIR fir1 metoda ferestrelor fir2 metoda ferestrelor cu caracteristica de frecventa prescrisa kaiserord estimeaza parametrii pentru fir1 cu fereastra Kaiser firls utilizeaza metoda celor mai mici patrate remez utilizeaza algoritmul Remez pentru proiectarea FIR remezord estimeaza ordinul FIR pentru utilizarea algoritmului Remez fircls utilizeaza metoda celor mai mici patrate cu constrangeri fircls1 utilizeaza metoda celor mai mici patrate pentru FTJ si FTS cremez proiecteaza FIR cu faza neliniara echiriplu firrcos proiecteaza un FIR cu caracteristica tip cosinus ridicat Proiectarea FN-FIR prin metoda ferestrelor Algoritm: a) Se da b) Se determina raspunsul
c) Se determina raspunsul al FN-FIR
n
d) Se calculeaza raspunsul in frecventa al FN-FIR
Exemplu de proiectare a unui FN-FIR cu si rad/sec: h=0.4*sinc (0.4* (-25:25)); stem(h) H, w =freqz (h, 1, 512, 2); plot (w, abs (H)) , grid sau folosind fereastra Hamming: h=h.*hamming (51); H, w =freqz (h, 1, 512, 2); plot (w, abs (H)) , grid Exemple de proiectare a FN-FIR prin metoda ferestrelor folosind functia b=fir1 (n, wn, 'ftype', window) a) calculul raspunsurilor pondere fd1=fir1(8, 0.5, boxcar (9)); fd2=fir1(9, 0.5, boxcar (10)); fh1=fir1(8, 0.5, hamming (9)); fh2=fir1(9, 0.5, hamming (10)); fb1=fir1(8, 0.5, blackman(9)); fb2=fir1(9, 0.5, blackman(10)); b) calculul caracteristicilor de frecventa Fd1=abs (fft (fd1, 9)); Fd2=abs (fft (fd2, 10)); Fh1=abs (fft (fh1, 9)); Fh2=abs (fft (fh2, 10)); Fb1=abs (fft (fb1, 9)); Fb2=abs (fft (fb2, 10)); c) vizualizarea caracteristicilor de frecventa stem (n1, Fd1); stem (n2, Fd2) stem (n1, Fh1); stem (n2, Fh2) stem (n1, Fb1); stem (n2, Fb2) sau Fd1, w =freqz (fd1, 1, 512, 2); plot (w, abs (Fd1))
r= 1, 1, 0, 1 ; N=4; for k=0:N-1 ka=k+1; p(ka)=exp (j*k*2*pi/N); K(ka)=0; end b, a =residuez (r, p, k); bb (1:N)=b (1:N); bbb= 1, 0, 0, 0, -1 B=conv (bbb, bb); A=N.*a; H=deconv (B, A); freqz (B, A) Proiectarea unui FN-FIR tip trece jos cu N=30 cu caracteristica de frecventa prescrisa: f= 0 0.6 0.6 1 ; m= 1 1 0 0 b= fir2 (30, f, m); h, w = freqz (b, 1, 128); plot (f, m, w/pi, abs (h)); Proiectarea unui FN-FIR tip trece sus prin metoda esantionarii in frecventa, plecand de la urmatoarele date de proiectare: -ordinul -frecventa limita de trecere -frecventa de esantionare N=24; wt=6e3; we=1e4; wtn=wt/we; inc=0.01; ff= 0:inc:1 hh= zeros (1, wtn/inc-1) ones (1, (1-wtn/inc+2)) b=fir2 (N, ff, hh); h, f =freqz (b, 1, we); subplot (221), plot (f, 20*log10 (abs(h))); subplot (222), plot (f, unwrap(angle(h))*180/pi); Proiectarea FN-FIR tip cosinus ridicat b= firrcos ( n , F0 , df , Fs) frecventa de esantionare banda de tranzitie Hz frecventa de taiere Hz = 0.Fs/2 iar
ordinul par al FN-FIR Exemplu: un FN-FIR cosinus ridicat de ordinul cu . h=firrcos (20, 0.25, 0.25); H=fft (h, 1024); plot((0:1023)/1024*2, abs(H)), axis ( 0 1 0 1.2 ); grid Proiectarea FN-FIR prin optimizare folosind algoritmul Remez elaborat de Parks-McClellan b= remez(n, f , a , w , 'ftype') hilbert pentru tipul III si IV diferentiator pentru tipul III si IV vector pondere caracteristica de frecventa impusa FN-FIR ordinul FN-FIR care va fi caracterizat de coeficienti Exemplu: proiectarea unui FTB numeric de gradul specificat prin: f= 0 0.3 0.4 0.6 0.7 1 a= 0 0 1 1 0 0 b=remez (17, f, a); [h, w =freqz (b, 1, 512); plot (f, a, w/pi, abs(h)); Proiectarea FN-FIR prin optimizare folosind minimizarea erorilor patratice b= firls (n , f , a, w, 'ftype' ) 'hilbert' 'differentiator' vector pondere perechi de vectori care specifica caracteristica de frecventa prescrisa filtrului ordinul FN care va fi caracterizat de Exemplu: se proiecteaza acelasi filtru proiectat prin metoda remez si se compara rezultatele: f= 0 0.3 0.4 0.6 0.7 1 a= 0 0 1 1 0 0 bb=firls (17, f, a); hh, w =freqz (bb, 1, 512); plot (w/pi, abs(h), w/pi, abs (hh), '.'); grid Proiectarea FN-FIR cu faza liniara prin interpolare b= intfilt (r, 1, alpha) b= intfilt (r, n, 'Lagrange') Studiul filtrelor numerice de tip FIR utilizand mediul DIDACTICIEL 1) Se lanseaza DIDACTICIEL-ul prin introducerea comenzii: didact 2) Se studiaza interactiv operatorii de filtraj numeric FIR 1D si 2D cu ajutorul meniurilor definite in: Filtering Image processing Tema Sa se proiecteze un FTJ FIR de ordinul 32, avand frecventa de taiere de5 KHz, pentru o frecventa de esantionare de 50 KHz, prin metoda esantionarii in frecventa. Sa se proiecteze apoi un FTS cu aceiasi parametrii si un FTB si FOB, avand banda de trecere (blocare), cuprinsa intre 5 si 10 KHz.
|