77范文网 - 专业文章范例文档资料分享平台

语音信号滤波去噪 - 使用脉冲响应不变法设计的巴特沃斯滤波器(4)

来源:网络收集 时间:2019-08-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

王雄杰《语音信号滤波去噪--使用脉冲响应不变法设计的巴特沃斯滤波器》第16页 共20页

5 结束语

在这次的课程设计中,我们用一周的时间来做设计,其余时间是自己写与修改报告, 在开始前我们需要复习课本上滤波器设计方面的知识,后来在设计中我们又发现了很多的问题,比如,在课本学习过程中我们以为不太重要的环节在实现滤波器效果时,其实是很重要的,任何一个小小的错误,比如一个参数设置的合理性都会造成无法设计出符合标准的滤波器。并且在这次DSP课程设计,不但巩固了以前学的知识,还学习了新内容,在实践中收获知识。原来滤去语音中的噪声我们运用自己学到的知识能做到,并更加巩固了MATLAB软件的使用。

MATLAB软件的熟练使用是很重要的,整个课程设计过程中,我们都要用到它。当然由于我们的实践能力有限,在过程中,我们需要老师的帮助,在老师的帮助下问题就迎刃而解啦。

这次做的滤波器要滤去语音信号中的噪声,觉得很有意思,做了1次的课程设计了,我发现其实在这样的课程设计中一些细微之处往往是决定成败的关键。其实用MATLAB软件做实验是要细心的,因为很多的语法和常量变量的定义我们都要仔细,一个不小心看错了或者输入不认真是容易出错误。在发现错误时,问了很多同学也问了老师,当发现错误原因时,很多次都是因为自己的不细心造成。但经过思考并仔细检查,最后得以编译成功。在做实验是一定要小心谨慎,也许一个小小的语法错误和常量变量的定义的错误就造成整个程序出现问题,得不到所需的波形,导致实验结果不正确。

实验中,同学间的相互交流也是很重要的,比如,一个同学是跟我用相同音乐的,但是她课题为“语音信号滤波去噪——使用脉冲响应不变法设计的切比雪夫I型滤波器”我们只是滤波器不同,在结束后我们彼此交流了两个不同滤波器的性能,明显能够看出切比雪夫I型滤波器滤波效果更好。在这样的环境下,我们能够收获更多。

这次实验能够顺利完成,有自己的努力,也有同学和老师的帮助,因此,在这里我要衷心地感谢他们的帮助,也感谢学校给我们的机会,让我们能够将自己学到的知识运用到实际中!

王雄杰《语音信号滤波去噪--使用脉冲响应不变法设计的巴特沃斯滤波器》第17页 共20页

参考文献

[1] 张圣勤.MATLAB7.0实用教程〔M〕.北京:机械工程出版社,2006

[2] (美)维纳?K?英格尔,(美)约翰?G?普罗克斯(著).刘树棠(译)..数字信号处理(MATLAB版)〔M〕.第2版.西安:西安交通大学出版社,2008 [3] 程佩青.数字信号处理教程〔M〕.北京:清华大学出版社,2002 [4] 刘敏,魏玲.Matlab通信仿真与应用〔M〕.北京:国防工业出版社,2001 [5] Sanjit K.Mitra,孙洪,余翔宇.数字信号处理实验指导书〔M〕.电子工业出版社,2005

[6] 陈怀琛.数字信号处理教程-MATLAB释义与实现〔M〕.电子工业出版社,2008 [7] 丁玉美, 高西全.数字信号处理〔M〕.西安:电子科技大学出版社,2010

王雄杰《语音信号滤波去噪--使用脉冲响应不变法设计的巴特沃斯滤波器》第18页 共20页

附录1:语音信号滤波去噪设计源程序清单

% 程序名称:untitled.m

% 程序功能:采用基于脉冲响应不变法设计法,设计巴特沃斯滤波器对含噪语音信号进行滤波去噪处理。 % 程序作者:王雄杰 /% 最后修改日期:2015-3-27

[x,fs,bits]=wavread('d:music.wav');% 输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。

sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放 N=length(x); % 计算信号x的长度

t=0:1/fs:(N-1)/fs;% 计算时间范围,样本数除以采样频率 deltaf=fs/N; % 计算频谱的谱线间隔 f=0:deltaf:fs/2-deltaf; % 计算频谱频率范围

X=abs(fft(x)); % 对原始信号和加噪信号进行fft变换,取幅度谱 X=X(1:N/2);% 截取前半部分

subplot(2,2,1) ;plot(t,x) %画出原始语音信号的时间幅度谱图 xlabel('时间(单位:s)');ylabel('幅度');title('原始语音信号') subplot(2,2,2) ;plot(f,X) %画出原始信号的频率幅度谱图

xlabel('频率(单位:HZ)');ylabel('幅度谱');title('原始语音信号幅度谱图') fn=3000;% 单频噪声频率

x=x'; y=x+0.02*sin(fn*2*pi*t); %在原始语音信号基础上加单频噪声后的每个样本的值 Y=abs(fft(y));% 对原始信号和加噪信号进行fft变换,取幅度谱 Y=Y(1:N/2); %截取前半部分

subplot(2,2,3) ;plot(t,y) %画出加入单频干扰后的的时间幅度谱图 axis([0 10 -1 1])% 横坐标从0到10 ,纵坐标从-1到1

xlabel('时间(单位:s)');ylabel('幅度');title('加入单频干扰后的语音信号') subplot(2,2,4) ;plot(f,Y)%画出加入单频干扰后的频率幅度谱图

xlabel('频率(单位:HZ)');ylabel('幅度谱');title('加入单频干扰后的语音信号幅度谱图')

王雄杰《语音信号滤波去噪--使用脉冲响应不变法设计的巴特沃斯滤波器》第19页 共20页

sound(y,fs,bits); % 可以明显听出有尖锐的单频啸叫声 % 程序名称:filter.m

fp=fn-400;fc=fn-50; %定义通带和阻带截止频率 T=1; %定义采样间隔

Rp=3;As=16; % 定义通带波纹和阻带衰减

wp=fp/fs*2*pi;ws=fc/fs*2*pi; %计算对应的数字频率 OmegaP=wp/T; OmegaS=ws/T; %截止频率线性变换

[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As); %计算滤波器阶数和截止频率和滤波器系统函数分子分母系数

[b,a]=imp_invr(cs,ds,T);% 脉冲响应不变法得到数字滤波器系统函数分子分母系数 [db,mag,pha,grd,w]=freqz_m(b,a); %验证滤波器是否达到指定性能 delta=[1,zeros(1,99)];ha=filter(b,a,delta);% 计算脉冲响应 Subplot(221);plot(w/pi,db)

xlabel('w/pi');ylabel('db');title('滤波器幅度响应图') Subplot(222);plot(w/pi,mag)

xlabel('w/pi');ylabel('幅度mag');title('滤波器幅度响应图') Subplot(223);plot(w/pi,pha)

xlabel('w/pi');ylabel('相位pha');title('滤波器相位响应图') Subplot(224);plot(ha)

xlabel('n');ylabel('h(n)');title('滤波器脉冲响应图') % 程序名称:voisenoisefilter.m

[x,fs,bits]=wavread('d:music.wav');% 输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。

sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放 N=length(x); % 计算信号x的长度

t=0:1/fs:(N-1)/fs;% 计算时间范围,样本数除以采样频率 deltaf=fs/N; % 计算频谱的谱线间隔 f=0:deltaf:fs/2-deltaf; % 计算频谱频率范围

X=abs(fft(x)); % 对原始信号和加噪信号进行fft变换,取幅度谱

王雄杰《语音信号滤波去噪--使用脉冲响应不变法设计的巴特沃斯滤波器》第20页 共20页

X=X(1:N/2);% 截取前半部分

subplot(3,2,1) ;plot(t,x) %画出原始语音信号的时间幅度谱图 xlabel('时间t');ylabel('幅度');title('原始语音信号时间x') subplot(3,2,2) ;plot(f,X) %画出原始信号的频率幅度谱图 xlabel('频率f');ylabel('幅度谱');title('原语音信号幅度谱图X') fn=3000;% 单频噪声频率

x=x'; y=x+0.02*sin(fn*2*pi*t); %在原始语音信号基础上加单频噪声后的每个样本的值 Y=abs(fft(y));%对原始信号和加噪信号进行fft变换,取幅度谱 Y=Y(1:N/2); % 截取前半部分

subplot(3,2,3) ;plot(t,y) %画出加入单频干扰后的的时间幅度谱图 xlabel('时间t');ylabel('幅度');title('加入单频干扰后的语音信号时间y') subplot(3,2,4) ;plot(f,Y) %画出加入单频干扰后的频率幅度谱图 axis([0 10 -1 1]) %横坐标从0到10 ,纵坐标从-1到1

xlabel('频率f');ylabel('幅度谱');title('加入单频干扰后的语音信号幅度谱图Y') sound(y,fs,bits); % 可以明显听出有尖锐的单频啸叫声

y_fil=filter(b*T,a*T,y); % IIR滤波器对信号signal进行滤波处理,其中b,a为上面设计好的滤波器参数。

Y_fil=abs(fft(y_fil));Y_fil=Y_fil(1:N/2);% 计算频谱取前一半 subplot(3,2,5) ;plot(t,y_fil) %画出滤波后语音信号时间幅度谱图 axis([0 10 -1 1]) %横坐标从0到10 ,纵坐标从-1到1 xlabel('时间t');ylabel('幅度');title('滤波后语音信号时间y_fil') subplot(3,2,6) ;plot(f,Y_fil)%画出滤波后语音信号频率幅度谱图 xlabel('频率f');ylabel('幅度');title('滤波后语音信号幅度谱Y_fil') sound(y_fil,fs, bits);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库语音信号滤波去噪 - 使用脉冲响应不变法设计的巴特沃斯滤波器(4)在线全文阅读。

语音信号滤波去噪 - 使用脉冲响应不变法设计的巴特沃斯滤波器(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/675984.html(转载请注明文章来源)
上一篇:数学运算公式
下一篇:力控入门
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: