13.07.2015 Views

ELE610 FPGA-del, 2013. Lab. 3, Multiratefilter. Innhold

ELE610 FPGA-del, 2013. Lab. 3, Multiratefilter. Innhold

ELE610 FPGA-del, 2013. Lab. 3, Multiratefilter. Innhold

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

w=0:100:50000; % noen utvalgte frekvenser i Hz[H1,w]=freqz(h1,1,w,fs); % frekvensresponsen for et filterH3 = H1.^3; % og for tre filter i kaskadeVi skal bruke firpm for å lage filteret vårt og vi trenger da å angi ønsketfilterrespons, denne angis med F og A, som er en vektor med frekvenser, startog endepunkt for linjestykker, og en vektor med ønsket forsterkning i aktuellfrekvens. Samtidig angir vi vekter w, og lengde på filteret tapsb. Til slutt finnesfilterkoeffisientene med firpm og vi multipliserer disse med en faktor for så åavrunde til heltall.F=[0:17; (1:18)-0.01]; F=F(:)’; % noen frekvenser, her i kHz[H1,w]=freqz(h1,1,F*1000,fs); % frekvensresponsenH3 = H1.^3; % og for tre filter i kaskadeA=[ones(1,length(H3))./abs(H3), 0, 0, 0, 0]; % ønska forsterkning% ved disse normaliserte frekvenser (1 f_N = f_s/2)F=[F, 25, 35, 35.1, 50]/50; % her normaliserte frekvenserw = ones(1,length(F)/2); % vektingw(end-1)=0.5;w(end)=0.2; % mindre vekt på stoppbandtapsb=50; % lengde på filteretb=firpm(tapsb-1, F, A, w);forsterkningDC = 1.1; % kan ha litt forsterkning ogsåb=floor(b*forsterkningDC*2048+0.5); % avrunder koeffisienteneFilteret er nå designet og vi kan lage og plotte resulterenede frekvensresponeser.Koden under gir resultatet i lineær skala, plottet er i figur 24. Tilsvarende plotti desibel er i figur 25.w=0:200:100000; % nye frekvenser igjen i Hz[H1,w]=freqz(h1,1,w,fs); % frekvensresponsenH3 = H1.^3; % og for tre filter i kaskade[B,w] = freqz(b/sum(b), 1, w, fs/500); % b er på lavere ratefigure(2);hold on;% plotter ikke ønsket respons for FIR filteret her% plot(reshape(F*50,2,length(F)/2),reshape(A,2,length(A)/2),’b-’);plot(w/1e3,abs(H3),’b-’); % blå for CIC-filteretplot(w/1e3,abs(B),’k-’); % sort for FIR-filteretplot(w/1e3,abs(B.*H3),’r-’); % og rødt for beggegrid on;xlabel(’Frekvens i kHz’);ylabel(’Amplitudeforsterkning, lineær skala.’);title(’Frekv.res. CIC (blå), FIR (sort) og begge (rød).’);print(’-f2’,’-depsc2’,’lab07_f7’);34

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!