如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第七章FIR数字滤波器的设计一、窗函数法MATLAB提供了几个窗函数:wd=boxcar(N)――返回N点矩形窗函数wd=triang(N)――返回N点三角窗函数wd=hanning(N)――返回N点汉宁窗函数wd=hamming(N)――返回N点汉明窗函数wd=Blackman(N)――返回N点布莱克曼函数wd=kaiser(N,beta)――返回给定beta值时N点凯泽窗函数例:>>N=45;n=1:N;beta=5.568;>>wdrc=boxcar(N);>>wdbt=triang(N);>>wdhn=hanning(N);>>wdhm=hamming(N);>>wdbl=blackman(N);>>wdks=kaiser(N,beta);>>plot(n,wdrc,'blu'),holdon>>plot(n,wdbt,'red'),holdon>>plot(n,wdhn,'g'),holdon>>plot(n,wdhm,'blu'),>>plot(n,wdbl,'y'),holdon>>plot(n,wdks,'bla'),holdon>>legend('rc','bt','hn','hm','bl','ks')理想低通滤波器,所设计的滤波器:h(n)=wd(n)*hd(n)wd(n)――为窗函数例2:用矩形窗、汉宁、布莱克曼窗设计FIR低通滤波器,设N=11,wc=0.2π。>>wc=0.2*pi;N=11;>>tao=(N-1)/2;>>n=0:N-1;>>m=n-tao+eps;>>hd=sin(wc*m)./(pi*m);>>wdbc=boxcar(N)';b1=hd.*wdbc;>>wdhn=hanning(N)';b2=hd.*wdhn;>>wdbl=blackman(N)';b3=hd.*wdbl;>>[Hbc,w]=freqz(b1,1);%用矩形窗设计的滤波器的频率特性>>[Hhn,w]=freqz(b2,1);>>[Hbl,w]=freqz(b3,1);>>subplot(1,2,1),plot(w,abs(Hbc),w,abs(Hhn),':',w,abs(Hbl),'-.');>>legend('¾ØÐδ°','ººÄþ´°','²¼À³¿ËÂü´°')%绘制幅度特性>>subplot(1,2,2),%绘制分贝特性>>plot(w,20*log10(abs(Hbc)),w,20*log10(abs(Hhn)),':',w,20*log10(abs(Hbl)),'-.');>>legend('¾ØÐδ°','ººÄþ´°','²¼À³¿ËÂü´°')>>由图可见,用矩形窗时过渡带最窄,阻带衰减最小;用布莱克曼窗过渡带最宽,但阻带衰减加大。为减少过渡带,必须加大窗口长度N。例3:根据以下技术指示,设计一个数字FIR低通滤波器。wp=0.2π,ws=0.3π,Rp=0.25dB,Rs=50dB因为衰减为50dB,可选择的窗口有汉明窗和布莱克曼窗。而汉明窗有较小的过度带,因此具有较小的阶数,因此先用汉明窗。>>wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp;>>N0=ceil(6.6*pi/deltaw);%根据汉明窗设计计算所需的滤波器长度,查表>>N=N0+mod(N0+1,2);%为实现第一类偶对称滤波器,应确保长度N为奇数>>wdhm=hamming(N);%求窗函数>>wc=(ws+wp)/2;%求截止频率>>tao=(N-1)/2;n=0:N-1;m=n-tao+eps;%求理想脉冲响应>>hd=sin(wc*m)./(pi*m);%>>hn=hd.*wdhm';%设计的脉冲响应>>subplot(2,2,1),stem(n,hd);xlabel('n');ylabel('hd(n)');title('ÀíÏëÂö³åÏìÓ¦')>>subplot(2,2,2),stem(n,wdhm);xlabel('n');ylabel('wdhm');title('ººÃ÷´°')>>subplot(2,2,3),stem(n,Hhm);xlabel('n');ylabel('h(n)');title('Éè¼ÆÂ˲¨Æ÷µÄÂö³åÏìÓ¦')>>b=hd.*wdhm';>>[H,w]=freqz(b,1);>>subplot(2,2,4),plot(w,20*log10(abs(H)));grid;title('·ù¶ÈÏìÓ¦')在MATLAB中,可以用b=fir1(N,Wc,‘ftype’,window)等函数辅助设计基于加窗的线性