- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五次DSP实验
第五次DSP实验——FIR滤波实验目的1、熟悉 FIR 滤波器设计的基本方法。2、掌握用窗函数设计 FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。3、熟悉线性相位 FIR 滤波器的幅频特性和相位特性。4、了解各种不同窗函数对滤波器性能的响应。二、实验原理与方法1.FIR 滤波器的设计在前面的实验中,我们介绍了 IIR 滤波器的设计方法并实践了其中的双线性变换法, IIR具有许多诱人的特性;但与此同时,也具有一些缺点。例如:若想利用快速傅立叶变换技术进行快速卷积实现滤波器,则要求单位脉冲响应是有限列长的。此外, IIR 滤波器的优异幅度响应,一般是以相位的非线性为代价的,非线性相位会引起频率色散。 FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。目前 FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验项目中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。它是从时域出发,用一个窗函数截取理想的 hd(n) 得到h(n),以有限长序列 h(n)近似理想的hd(n) ;如果从频域出发,用理想的h(ejw)在单位圆上等角度取样得到 H(k),根据 h(k)得到 H(z)将逼近理想的,这就是频率取样法。2.窗函数设计法同其他的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波提出性能指标。一般是给定一个理想的频率响应,使所设计的 FIR 滤波器的频率响应去逼近所要求的理性的滤波器的响应。窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数三、实验内容傅立叶反变换数值计算子程序:代码如下:function xa = myifft(x,m,n) na = 0:n-1; xa=x * ( exp( 1i * pi * 2 /length(m) ) ) .^ (m * na)/length(m);end2.窗函数产生子程序function r = window(n) r = ones(1,n-1);endfunction r = hamming(n) r = ones(1,n-1); nr = 0:n-2; r = r.*(0.54-0.46*cos(2*pi*nr/(n-1)));%stem(nr,r);endfunction r = hanning(n) r = ones(1,n-1); nr = 0:n-2; r = r.*(0.5-0.5*cos(2*pi*nr/(n-1)));%stem(nr,r);endfunction r = blackman(n) r = ones(1,n-1); nr = 0:n-2; r = r.*(0.42-0.5*cos(2*pi*nr/(n-1))+0.08*cos(4*pi*nr/(n-1)));%stem(nr,r);endfunction r = kaiser(n,b) r = ones(1,n-1); nr = 0:n-2; tr = b*sqrt(1-((2*nr/(n-1))-1).^2); r = r.*besseli(0,tr)/besseli(0,b);%stem(nr,r);end3.主函数function xn = main(hd,n,m) nhd = 0:m-1; hd1 = zeros(1,m); hd1(1:m/2) = hd(1:m/2); hd1(end:-1:m/2+2) = hd1(2:m/2);if mod(n,2) == 0 hd1(1:m/2) = hd1(1:m/2) .* exp(-1i*pi*nhd(1:m/2)/m*(n-1)); hd1(m/2+1) = 0; hd1(m/2+2:m) = hd1(m/2+2:m) .* (-exp(-1i*pi*nhd(m/2+2:m)/m*(n-1))); xn = real(myifft(hd1,nhd,n));else hd1 = hd1 .* exp(-1i*pi*nhd/m*(n-1)); xn = real(myifft(hd1,nhd,n));endend3.上机部分1.用窗函数法设计一个长度 N 等于 8 的线性相位 FIR 滤波器。其理想的幅频特性为分别用矩形窗、Hanning 窗、Hamming 窗、Blackman 窗、Kaiser 窗(β =8.5)设计该滤波器,比较设计结果代码如下:function test() n =8;
文档评论(0)