资源描述:
《matlab数字信号处理报告四》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北京建筑工程学院理学院《数字信号处理》课程实验报告课程名称《数字信号处理》实验名称FIR数字滤波器设计实验地点基C日期2014.5.25姓名玉苏普·麦海提班级信111班学号2108191111451指导教师成绩一、实验目的1.掌握用窗函数法设计FIR滤波器的原理及方法,熟悉相应的计算机编程;2.熟悉线性相位FIR滤波器的幅频特性和相频特性;3.了解各种不同窗函数对滤波器性能的影响。二、实验原理及方法(一)线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性分为四种: 1、h(n)为偶对称,N为奇数其中H(ejω)的幅值关
2、于ω=0,π,2π成偶对称。 2、h(n)为偶对称,N为偶数H(ejω)的幅值关于ω=π成奇对称,不适合作高通和带阻。 3、h(n)为奇对称,N为奇数9H(ejω)的幅值关于ω=0,π,2π成奇对称,不适合作高通和低通。 4、h(n)为奇对称,N为偶数H(ejω)的幅值关于ω=0,2π成奇对称,不适合作低通。(二)窗函数法设计线性相位FIR滤波器步骤·确定数字滤波器的性能要求:临界频率{ωk},滤波器单位脉冲响应长度N;·根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(ejω)的幅频特性
3、和相频特性;·求理想单位脉冲响应hd(n),在实际计算中,可对Hd(ejω)按M(M远大于N)点等距离采样,并对其求IDFT得hM(n),用hM(n)代替hd(n);·选择适当的窗函数w(n),根据h(n)=hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应;·求H(ejω),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。 窗函数的傅式变换W(ejω)的主瓣决定了H(ejω)过渡带宽。W(ejω)的旁瓣大小和多少决定了H(ejω)在通带和阻带范围内波动幅度,常用的几种窗函数有
4、:·矩形窗w(n)=RN(n);·Hanning窗;·Hamming窗;·Blackmen窗;9·Kaiser窗。式中Io(x)为零阶贝塞尔函数。和滤波器阶数N的估计公式其中是数字滤波器过渡带宽度三、实验内容及步骤(1)分别画出长度为9的矩形窗、汉宁窗、汉明窗和布莱克曼窗的时域波形及幅频特性(dB)曲线,观察它们各种参数(主瓣宽度、旁瓣峰值幅度)的差别;代码:9wn=rectwin(9);%矩形窗函数%20*log10(abs(WN))[h1,w]=freqz(wn,1);figure(1);plot(w/pi,20*log10(a
5、bs(h1/max(h1))));axis([01-1000]);xlabel('归一化频率/pi');ylabel('20log_{10}
6、W(e^{jomega})
7、/dB');title('矩形窗的傅里叶变换');set(gca,'YTick',[-100-80-60-40-200])set(gca,'XTick',[0:0.2:1])set(gca,'XAxisLocation','top');%设置X轴在上方set(gca,'YAxisLocation','left');%设置Y轴在左方text(1,-108,'pi
8、');%gtext('pi'代码:%hanningwn1=hanning(9);9[h1,w1]=freqz(wn1,1);figure(3);plot(w/pi,20*log10(abs(h1/max(h1))));axis([01-1000]);xlabel('归一化频率/pi');ylabel('20log_{10}
9、W(e^{jomega})
10、/dB');title('Hanning的傅里叶变换');set(gca,'YTick',[-100-80-60-40-200]);set(gca,'XTick',[0:0.2:
11、1]);set(gca,'XAxisLocation','top');%设置X轴在上方set(gca,'YAxisLocation','left');%设置Y轴在左方9代码:%hammingwn1=hamming(9);h1,w1]=freqz(wn1,1);figure(4);plot(w/pi,20*log10(abs(h1/max(h1))));axis([01-1000]);xlabel('归一化频率/pi');ylabel('20log_{10}
12、W(e^{jomega})
13、/dB');title('Hamming的傅
14、里叶变换');9set(gca,'YTick',[-100-80-60-40-200])set(gca,'XTick',[0:0.2:1])set(gca,'XAxisLocation','top');%设置X轴在上方set(gca,