您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数字信号处理窗函数法设计FIR数字滤波器实验
实验报告实验项目名称:用窗函数法设计FIR数字滤波器所属课程名称:数字信号处理实验类型:验证性实验日期:2011年6月24日班级:信息08-1班学号:04号姓名:实验三:用窗函数法设计FIR数字滤波器一、实验题目用窗函数法设计FIR数字滤波器二、实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。(2)熟悉线性相位FIR数字滤波器特性。(3)了解各种窗函数对滤波特性的影响。三、实验原理要设计出的滤波器的理想频率响应函数为,则对应的单位脉冲响应为窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼近hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数ω(n)将hd(n)截断,并进行加权处理,得到h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为式中,N为所选窗函数ω(n)的长度。用窗函数法设计的滤波器性能取决于窗函数ω(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度可参见课本。这样选定窗函数类型和长度N后,求出单位脉冲响应,并求出。是否满足要求,要进行验算。一般在h(n)尾部加零使长度满足2的整数次幂,以便用FFT计算。如果要观察细节,补零点数增多即可。如果不满足要求,则要重新选择窗函数类型和长度N,再次验算,直至满足要求。如果要求线性相位特性,则h(n)还必须满足:h(n)=+/-h(N-1-n),根据式中的正负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类。四、实验内容及步骤(1)复习用窗函数法设计FIR数字滤波器一节内容,阅读本实验原理,掌握设计步骤。(2)编写程序①编写能产生矩型窗、升余弦窗、改进升余弦窗和二阶升余弦窗的窗函数子程序。②编写主程序。主程序框图如下图所示,仅供参考。其中幅度特性要求用dB表示。读入窗口长度N开始调用窗函数子程序求w(n)调用子程序(函数)计算H(k)=DFT[h(n)]调用绘图子程序(函数)绘制H(k)幅度相位曲线结束计算hd(n)计算h(n)=hd(n)w(n)(3)上机实验内容a、用升余弦窗设计一线性相位低通FIR数字滤波器,截止频率Wc=rad。窗口N=15,33。要求在两种窗口长度情况下,分别求出h(n),打印出相应的幅频特性和相频曲线。观察3db带宽和20db带宽,总结窗口N对滤波特性的影响。设计低通FIR数字滤波器时,一般以理想低通滤波特性为逼近函数即b、N=33,Wc=rad,用四种窗函数设计线性相位低通滤波器。绘制相应的幅频特性曲线,观察3dB带宽和20dB带宽以及阻带最小衰减,比较四种窗函数对滤波特性的影响。五、实验程序及波形a:N=15,33N=15;wc=pi/4;a=(N-1)/2;n=0:(N-1);m=n-a+eps;hdn=sin(wc*m)./(pi*m);wn=hanning(N);hn=hdn.*(wn');[H,w]=freqz(hn,[1],1024,'whole');dbH=20*log10((abs(H)+eps)/max(abs(H)));figure(1);subplot(2,2,1);stem(n,hn,'.');xlabel('n');ylabel('h(n)');title('N=15时设计汉宁窗h(n)');subplot(2,2,2);plot(w,abs(H));,()01211()()22sin()()ccjacjdcjjnjajnddceHeNahnHeeeednana44xlabel('w');ylabel('H(jw)');title('h(n)的幅度谱');axis([0,3,0,1.5]);subplot(2,2,3);plot(w,angle(H));xlabel('w');ylabel('φ(w)');title('h(n)的相位谱');axis([0,3,-4,4]);subplot(2,2,4);plot(w/pi,dbH);xlabel('w/pi');ylabel('dB');title('损耗特性');axis([0,1,-110,0]);N=33;wc=pi/4;a=(N-1)/2;n=0:(N-1);m=n-a+eps;hdn=sin(wc*m)./(pi*m);wn=hanning(N);hn=hdn.*(wn');[H,w]=freqz(hn,[1],1024,'whole');dbH=20*log10((abs(H)+eps)/max(abs(H)));figure(2);subplot(2,2,1);stem(n,hn,'.');xlabel('n');ylabel('h(n)');title('N=33时设计汉宁窗h(n)');subplot(2,2,2);plot(w,abs(H));xlabel('w');ylabel('H(jw)');title('h(n)的幅度谱');axis([0,3,0,1.5]);subplot(2,2,3);plot(w,angle(H));xlabel('w');ylabel('φ(w)');title('h(n)的相位谱');axis([0,3,-4,4]);subplot(2,2,4);plot(w/pi,dbH);xlabel('w/pi');ylabel('dB');title('损耗特性');axis([0,1,-110,0]);由图知调整窗口长度N只能有效地控制过渡带的宽度,而不能减少带内波动及增大阻带衰减。b:四种窗设计N=33;wc=pi/4;a=(N-1)/2;n=0:(N-1);m=n-a+eps;hdn=sin(wc*m)./(pi*m);wn=boxcar(N);hn=hdn.*(wn');[H,w]=freqz(hn,[1],1024,'whole');dbH=20*log10((abs(H)+eps)/max(abs(H)));figure(1);subplot(1,3,1);stem(n,hn,'.');xlabel('n');ylabel('h(n)');title('N=33时设计矩形窗h(n)');subplot(1,3,2);plot(w,abs(H));xlabel('w');ylabel('H(jw)');title('h(n)的幅度谱');axis([0,3,0,1.5]);subplot(1,3,3);plot(w/pi,dbH);xlabel('w/pi');ylabel('dB');title('损耗特性');axis([0,1,-110,0]);N=33;wc=pi/4;a=(N-1)/2;n=0:(N-1);m=n-a+eps;hdn=sin(wc*m)./(pi*m);wn=hanning(N);hn=hdn.*(wn');[H,w]=freqz(hn,[1],1024,'whole');dbH=20*log10((abs(H)+eps)/max(abs(H)));figure(2);subplot(1,3,1);stem(n,hn,'.');xlabel('n');ylabel('h(n)');title('汉宁窗函数设计h(n)');subplot(1,3,2);plot(w,abs(H));xlabel('w');ylabel('H(jw)');title('h(n)的幅度谱');axis([0,3,0,1.5]);subplot(1,3,3);plot(w/pi,dbH);xlabel('w/pi');ylabel('dB');title('损耗特性');axis([0,1,-110,0]);N=33;wc=pi/4;a=(N-1)/2;n=0:(N-1);m=n-a+eps;hdn=sin(wc*m)./(pi*m);wn=hamming(N);hn=hdn.*(wn');[H,w]=freqz(hn,[1],1024,'whole');dbH=20*log10((abs(H)+eps)/max(abs(H)));figure(3);subplot(1,3,1);stem(n,hn,'.');xlabel('n');ylabel('h(n)');title('哈明窗函数设计h(n)');subplot(1,3,2);plot(w,abs(H));xlabel('w');ylabel('H(jw)');title('h(n)的幅度谱');axis([0,3,0,1.5]);subplot(1,3,3);plot(w/pi,dbH);xlabel('w/pi');ylabel('dB');title('损耗特性');axis([0,1,60,0]);N=33;wc=pi/4;a=(N-1)/2;n=0:(N-1);m=n-a+eps;hdn=sin(wc*m)./(pi*m);wn=blackman(N);hn=hdn.*(wn');[H,w]=freqz(hn,[1],1024,'whole');dbH=20*log10((abs(H)+eps)/max(abs(H)));figure(4);subplot(1,3,1);stem(n,hn,'.');xlabel('n');ylabel('h(n)');title('布莱克曼函数设计h(n)');subplot(1,3,2);plot(w,abs(H));xlabel('w');ylabel('H(jw)');title('h(n)的幅度谱');axis([0,3,0,1.5]);subplot(1,3,3);plot(w/pi,dbH);xlabel('w/pi');ylabel('dB');title('损耗特性');axis([0,1,-100,0]);从图中可以看出用各种窗函数设计的FIR滤波器的阻带最小衰减及过渡带均符合课本给出的要求,而且在通带内均为严格线性相位。六、思考题1、如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器,写出设计步骤。答:将模拟频率转换成数字频率,确定理想滤波器的特性;根据上述参数选择适当的窗函数w(n),并根据线性相位条件确定窗函数的长度N,由h(n)=hd(n)w(n),0≤n≤N-1,得出单位脉冲响应h(n)。2、如果要求用窗函数法设计带通滤波器,而且给定上、下边带截止频率为W1和W2,试求理想带通的单位脉冲响应。答:(1)由W1、W2求其理想线性相位带通滤波器频率响应;(2)用IDTFT求出hd(n)。
本文标题:数字信号处理窗函数法设计FIR数字滤波器实验
链接地址:https://www.777doc.com/doc-6372006 .html