资源描述:
《数字信号处理实验八》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告实验名称:FIR数字滤波器设计及应用课程名称____数字信号处理________院系部:电气与电子工程专业班级:信息1002学生姓名:王萌学号:11012000219同组人:实验台号:指导教师:范杰清成绩:实验日期:华北电力大学一、实验目的加深理解FIR数字滤波器的时域特性和频域特性,掌握FIR数字滤波器的设计原理与设计方法,以及FIR数字滤波器的应用。二、实验原理FIR数字滤波器可以设计成具有线性相位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。M阶FIR数字滤波器的系统函数为
2、:FIR数字滤波器的单位脉冲响应h[k]是长度为M+1的有限长因果序列。当满足对称条件时,该FIR数字滤波器具有线性相位。FIR数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。MATLAB中提供的常用FIR数字滤波器设计函数有:fir1窗函数法设计FIR数字滤波器(低通、高通、带通、带阻、多频带滤波器)fir2频率取样法设计FIR数字滤波器:任意频率响应firlsFIR数字滤波器设计:指定频率响应firrcos升余弦型FIR数字滤波器设计intfilt内插FIR数字滤波器设计kaiserord凯塞
3、(Kaiser)窗函数设计法的阶数估计firpmParks-McClellan算法实现FIR数字滤波器优化设计firpmordParks-McClellan数字滤波器的阶数选择cremez复系数非线性相位FIR等波纹滤波器设计1、窗口法设计FIR数字滤波器fir1函数可以很容易地实现FIR数字滤波器窗口法设计。可设计低通、高通、带通、带阻滤波器、多频带滤波器。b=fir1(M,Wc)b=fir1(M,Wc,'ftype')b=fir1(M,Wc,window)b=fir1(M,Wc,'ftype',win
4、dow)b=fir1(M,Wc,‘ftype',window)输出参数:b为FIR数字滤波器的M+1个系数构成的矩阵(即系统的单位脉冲响应)输入参数:M为FIR数字滤波器的阶数。Wc为3dB截频:05、indow指定窗函数,若不指定,默认为哈明窗。2.频率取样法设计FIR滤波器fir2函数可以实现FIR数字滤波器的频率取样法设计。可设计任意形状频率响应的滤波器。格式如下:b=fir2(M,f,m)b=fir2(M,f,m,window)输出参数:b为FIR数字滤波器的M+1个系数构成的矩阵。输入参数:M为滤波器的阶数。f指定归一化的各频带边界频率,从0到1递增,1对应于fsam/2,即数字频率W=p。m指定各频带边界频率处的幅度响应,因此f和m的长度相等,即length(f)=length(a)。win
6、dow指定窗函数,若不指定,默认为哈明窗。三、实验内容1.分别使用矩形窗、汉明窗、汉宁窗设计一个阶数M=9的FIR数字低通滤波器,截频为(1)画出各种方法设计的数字滤波器的单位脉冲响应。(2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论?(3)若输入为计算各滤波器的输出并画出其波形.解答:(1)b1=fir1(9,1/3,boxcar(10));[H1,w]=freqz(b1,1,512);H1_db=20*log10(abs(H1));b2=fir1(9,1/3,hamming(10
7、));[H2,w]=freqz(b2,1,512);H2_db=20*log10(abs(H2));b3=fir1(9,1/3,hanning(10));[H3,w]=freqz(b3,1,512);H3_db=20*log10(abs(H3));subplot(4,1,1);stem(b1);title('矩形窗得到的FIR滤波器脉冲响应')subplot(4,1,2);stem(b2);title('哈明窗得到的FIR滤波器脉冲响应')subplot(4,1,3);stem(b3);title('汉宁
8、窗得到的FIR滤波器脉冲响应')subplot(4,1,4);plot(w,H1_db,w,H2_db,'r--',w,H3_db,'y--');title('Frequencyresponse')legend('rectangularwindow','hammingwindow','hanningwindow')gridon(3)k=0:127;x=1+2*cos(pi/4*k)+cos(pi/2*k);b1=fir1(9,