基于窗函数法的FIR数字高通滤波器设计_第1页
基于窗函数法的FIR数字高通滤波器设计_第2页
基于窗函数法的FIR数字高通滤波器设计_第3页
基于窗函数法的FIR数字高通滤波器设计_第4页
基于窗函数法的FIR数字高通滤波器设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州轻工业学院课程设计说明书题目: 基于窗函数法的FIR数字高通滤波器设计 姓 名: XXX 院 (系): 电子信息工程学院 专业班级: 电信息工程XXX班 学 号: XXXXXX 指导教师: XXX 成 绩: 时间:20X年X月 日至 20 年 月 日目 录一、基本要求:1二、课程设计的目的1三、主要设计内容1四、设计原理1五、设计步骤2六、用窗函数设FIR 滤波器的基本方法3七、程序设计及其波形:3八、实验心得7参考文献9附 录10一、基本要求:1、基于含噪语音信号的频谱确定滤波器的参数;2、分别采用矩形窗、汉明窗和布莱克曼窗设计FIR数字高通滤波器;3、掌握利用wavread函数读取、播

2、放 .wav格式语音信号的方法;4、对语音信号进行滤波,绘制滤波前后信号的时域波形及频谱;5、回放语音信号,分析滤波前后的语音变化。二、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。3、在课程设计的过程中掌握程序编译及软件设计的基本方法。4、提高自己对于新知识的学习能力及进行实际操作的能力。5、锻炼自己通过网络及各种资料解决实际问题的能力。三、主要设计内容 用MATLAB软件读取一段含有噪声的 .wav格式的语音信号,然后基于FFT对该信号进行频谱分析;基于含噪语音信号的频谱确定滤波器的参数,利用窗函数法设

3、计一个FIR数字高通滤波器,并利用所设计的滤波器对信号进行滤波处理。比较滤波前后语音信号的时域波形及频谱,分析滤波前后的语音变化。四、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 典型窗函数的介绍(1) 矩形窗: wR(n)=RN(n)1 幅度函数:wRg(w)=(sin(wN/2)/(sin(w/2)(2). 汉明窗:

4、WHn(n)=0.5*1-cos(2n)/(N-1)) RN(n)频谱函数: W Hm(ejw)=0.54Ww(ejw) - 0.23WR(ej(w-2/(N-1) -0.23WR(ej(w+-2/(N-1)幅度函数:WHmg(w)=0.54WRg(w)+0.23WRg(w-2/N) +0.23WRg(w+2/N)(3).布莱克曼窗: 其频谱函数为:其幅度函数为: 五、设计步骤2 1.设计滤波器; 2.所设计的滤波器对语音信号进行处理; 3.比较滤波前后信号的波形及频谱;六、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域

5、表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器单位抽样响应 h(n),最直接的方法是先将hd(n)往右平移,再迕行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数迕行加权作为 FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效

6、应。为了消除吉布斯效应,一般采用其他类型的窗函数。MATLAB 设计 FIR 滤波器有多种方法和对应的函数。窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。 七、程序设计及其波形:1.分别对语音信号进行时域分析x1,fs1,bits1=wavread('E:MATLAB课程设计workSHE.wav'); soundsc(x1,fs1);x2,fs2,bits2=wavread('E:MATLAB课程设计workHighpass.wav'); s

7、oundsc(x2,fs2);figure(1)subplot (2,1,1);plot(x1) %做原始语音信号以44.1k采样后的时域图形title('原始语音采样后时域信号'); xlabel('时间轴 n');3ylabel('幅值 A'); subplot (2,1,2);plot(x2) %做加噪声语音信号以44.1k采样后的时域图形title('加噪声语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A');pause;2.对语音信号进行频率采样figu

8、re (2)freqz(x1)title('原始语音信号采样后频率响应图'); pause;figure(3)freqz(x2)title('加噪声语音信号采样后频率响应图'); 4pause;3. 对语音信号进行频谱分析X1=fft(x1, 4096); subplot(2,1,1);f=fs1*(0:2047)/4096;plot (f,abs(X1(1:2048); title('原始信号频谱');X2=fft(x2, 4096); subplot(2,1,2);plot (f,abs(X2(1:2048); title('加噪声信

9、号频谱'); 5pause;4.矩形窗滤波、汉明窗滤波、布莱克曼窗滤波fs3=44100; %设定采样频率fp1=250; fp2=500;fs1=180;fs2=570;As=60; %最小阻带衰减Ws1=(fp1+fs1)/fs3;Ws2=(fp2+fs2)/fs3; %截止频率归一化处理w=(fp1-fs1)/fs3; %求归一化过渡带M=ceil(As-7.95)/(14.36*w); %计算所需滤波器的阶数window=boxcar(M+1); %生成长度为M+1的矩形窗%window=hamming(M+1); %生成长度为M+1的汉宁窗%window=Blackman(M

10、+1); %生成长度为M+1的布莱克曼窗b,a=fir1(M,Ws1,Ws2,window); %生成设计的fir滤波器figure (4)freqz(b,1,fs3,fs3); %绘制幅频和相频响应曲线6pause;5.滤波前后对比八、实验心得 1、对于MATLAB语句有了更加深刻的理解,也注意到了一些运算符号的使用,例如数组的相乘需用(.*)来表示,而一般数字相乘应用*。还有当运用数组的法时,必7须保持数组是等长的,否则,不能相加。2.想要改变图形的尺寸,可调用AXIS函数。 3.在编程过程中应该注意一些细节问题,例如中英文符号的区别,往往一些错误都是由于粗心而导致的。4.设计过程中,学习

11、了许多数字信号处理课程中关于数字滤波器的设计的内容,再通过利用参考文献与网络,完成了用Matlab进行数字信号处理课程设计。5.通过课程设计,加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。同时掌握编程方法和解决实际问题的技巧。 6.与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有严格线性相位的FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。7.随着版本的不断提高,MATLAB在数字滤波器技术发挥着更大的作用。同时,用MATLAB计算有关数

12、字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。 8参考文献(1)数字信号处理 丁玉美 西安电子科技大学出版社(2)数字信号处理及MATLAB实现 余成波 清华大学出版社(3)数字信号处理教程Matlab释义与实现 陈怀琛 电子工业出版社(4)matlab7辅助信号处理技术与应用飞思科技产品研发中心电子工业出版社 9附 录X1,Fs1,Bits1=wavread('E:MATLAB课程设计workSHE.wav'); soundsc(x1,fs1);x2,fs2,bits2=wavread('E:MATLAB课程设

13、计workHighpass.wav'); soundsc(x2,fs2);figure (1)subplot (2,1,1);plot(x1) %做原始语音信号以44.1k采样后的时域图形title('原始语音采样后时域信号'); xlabel('时间轴 n');ylabel('幅值 A'); subplot (2,1,2);plot(x2) %做加噪声语音信号以44.1k采样后的时域图形title('加噪声语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A'

14、;); pause; figure (2)freqz(x1)title('原始语音信号采样后频率响应图'); pause;figure (3)freqz(x2)title('加噪声语音信号采样后频率响应图'); pause; X1=fft(x1, 4096); subplot (2,1,1);f=fs1*(0:2047)/4096;plot (f,abs(X1(1:2048); title('原始信号频谱');X2=fft(x2, 4096); subplot(2,1,2);plot (f,abs(X2(1:2048); title('加

15、噪声信号频谱'); pause; fs3=44100; %设定采样频率10fp1=250; fp2=500; fs1=180;fs2=570; As=60; %最小阻带衰减Ws1=(fp1+fs1)/fs3;Ws2=(fp2+fs2)/fs3; %截止频率归一化处理w=(fp1-fs1)/fs3; %求归一化过渡带M=ceil(As-7.95)/(14.36*w); %计算所需滤波器的阶数window=boxcar(M+1); %生成长度为M+1的矩形窗%window=hamming(M+1); %生成长度为M+1的汉明窗%window=Blackman(M+1); %生成长度为M+1

16、的布莱克曼窗b,a=fir1(M,Ws1,Ws2,window); %生成设计的fir滤波器figure (4)freqz(b,1,fs3,fs3); %绘制幅频和相频响应曲线pause; f2=filter (b,a,x2);F0=fft (f2,4096);figure (5)subplot (3,1,1);plot (f,abs(X1(1:2048); title('原始信号频谱');subplot (3,1,2);plot (f,abs(X2(1:2048); title('滤波前的频谱')xlabel ('Hz');ylabel ('fuzhi');subplot (3,1,3)plot (f,abs(F0(1:2048);title('滤波后的频谱')xlabel ('Hz');ylabel ('fuzhi');pause;figure (6)subplot (2,1,1);plot(x1) %做原始语音信号以44.1k采样后的时域图形title('原

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论