资源描述:
《窗函数法设计FIR数字滤波器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字信号处理实验报告---实验4窗函数法设计FIR数字滤波器一、实验目的1.掌握用窗函数法、频率采样法设计FIR数字滤波器的原理及方法,熟悉相应的计算机编程。2.熟悉线性相位FIR数字滤波器的幅频特性和相频特性。3.了解各种不同窗函数对滤波器性能的影响。二、实验原理1.常用的窗函数:矩形窗函数为boxcar和rectwin,调用格式:w=boxcar(N)w=rectwin(N)其中N是窗函数的长度,返回值w是一个N阶的向量。三角窗函数为triang,调用格式:w=triang(N)汉宁窗函数为hann,调用格式:w=han
2、n(N)汉明窗函数为hamming,调用格式:w=hamming(N)2.各个窗函数的性能比较窗函数第一瓣相对于主瓣衰减(dB)主瓣宽阻带最小衰减矩形窗-13 21三角窗-25 25汉宁窗-31 44海明窗-41 53三、设计指标(1)矩形窗设计线性相位低通滤波器(参数自主设定)。(2)改用汉宁窗,设计参数相同的低通滤波器。四、上机程序及运行结果生成四种窗函数:矩形窗、三角窗、汉宁窗、海明窗,并观察其频率响应。n=30;%矩形窗及其频响window1=rectwin(n);[h1,w1]=freqz(window1,1);s
3、ubplot(4,2,1);stem(window1);title('矩形窗');subplot(4,2,2);plot(w1/pi,20*log(abs(h1))/abs(h1(1)));title('矩形窗频响');%三角窗及其频响window2=triang(n);[h2,w2]=freqz(window2,1);subplot(4,2,3);stem(window2);title('三角窗');subplot(4,2,4);plot(w2/pi,20*log(abs(h2))/abs(h2(1)));title('三
4、角窗频响');%汉宁窗及其频响window3=hann(n);[h3,w3]=freqz(window3,1);subplot(4,2,5);stem(window3);title('汉宁窗');subplot(4,2,6);plot(w3/pi,20*log(abs(h3))/abs(h3(1)));title('汉宁窗频响');%汉明窗频响window4=hamming(n);[h4,w4]=freqz(window4,1);subplot(4,2,7);stem(window4);title('汉明窗');subplo
5、t(4,2,8);plot(w4/pi,20*log(abs(h4))/abs(h4(1)));title('汉明窗频响');根据下列技术指标:wp=0.2π,ws=0.4π,ap=0.25dB,as=50dB,用矩形和汉宁窗函数,确定单位冲激响应,绘出所设计的滤波器的幅度响应。%理想低通滤波器单位冲激响应函数functionhd=ideal_lp1(wc,N);alpha=(N-1)/2;n=0:1:N-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);%滤波器幅值、相位响应函数function[d
6、b,mag,pha,w]=freqz_m2(b,a);%db:相对幅值响应%mag:绝对幅值响应%pha:相位响应%w:采样频率%b:系统函数H(Z)的分子项(对FIR,b=h)%a:系统函数H(Z)的分母项(对FIR,a=1)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);%主程序clearall;wp=0.2*pi;ws=0.4*pi;
7、tr_wdith=ws-wp;N=ceil(6.6*pi/tr_wdith)+1;n=0:1:N-1;wc=(ws+wp)/2;%理想低通滤波器的截止频率hd=ideal_lp1(wc,N);%理想低通滤波器的单位冲激响应w_ham=(hamming(N))';%汉明窗h=hd.*w_ham;%截取得到实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);%计算实际滤波器的幅度响应delta_w=2*pi/1000;ap=-(min(db(1:1:wp/delta_w+1)));%实际带通波纹as=
8、-round(max(db(ws/delta_w+1:1:501)));%实际阻带波纹subplot(221);stem(n,hd);title('理想单位脉冲响应hd(n)');subplot(222);stem(n,w_ham);title('汉明窗w(n)');subplot(223