Matlab课程设计--基于MATLAB有噪声语音信号处理(3)

2019-08-29 23:46

用设计好的IIR低通滤波器对加噪的语音信号进行滤波,程序如下:

[y,fs,nbits]=wavread (‘OriSound’); %IIR低通 n = length (y) ; %求出语音信号的长度 Noise=0.2*randn(n,2); %随机函数产生噪声 s=y+Noise; %语音信号加入噪声 S=fft(s); Ft=8000; Fp=1000; Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft;

[n11,wn11]=buttord(wp,ws,1,50,’s’);%求低通滤波器的阶数和截止频率 [b11,a11]=butter(n11,wn11,’s’); %求S域的频率响应的参数 [num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换 z11=filter(num11,den11,s); sound(z11);

m11=fft(z11); %求滤波后的信号 figure; subplot(2,2,1); plot(abs(S),’g’);

title(‘滤波前信号的频谱’,’fontweight’,’bold’); axis([ 0 150000 0 4000]); grid;

subplot(2,2,2); plot(abs(m11),’r’);

title(‘滤波后信号的频谱’,’fontweight’,’bold’); axis([ 0 150000 0 4000]); grid;

subplot(2,2,3);

plot(s);

title(‘滤波前信号的波形’,’fontweight’,’bold’); axis([95000 100000 -1 1]); grid;

subplot(2,2,4); plot(z11);

title(‘滤波后的信号波形’,’fontweight’,’bold’); axis([95000 100000 -1 1]); grid; 程序结果如下图:

经过以上的加噪处理后,可在Matlab中用函数sound对声音进行回放。其调用格式:sound(y,Fs),sound(y)和sound(y,Fs,bits)。可以察觉滤波前后的声音有明显的变化。

5.创建GUI界面

总结

本次设计通过选择一个语音信号作为分析的对象,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿被噪声干扰的语音信号,并对其进行频谱分析;运用数字信号处理理论设计IIR数字滤波器, 并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。最后,设计一个信号处理系统界面返回。

我们四个人共同完成这个课程设计,分工是很重要的,首先我们确定了大致的方向,我们要做低通,带通以及高通三种滤波器,此外还有界面的设计,程序的整合,以及课程报告的编写等方面的内容,我们的具体分工如下:

声音信号的读入以及ppt的制作:翁淦泉1062310209

低通,带通,高通滤波器的设计及相关程序的编写:冯竹青1062310202,贺静文1062301203

最后整合及界面的设计:王雅青1062310208 课程报告:贺静文

参考文献

1、张志涌 杨祖樱 MATLAB教程R2011a 北京航空航天大学出版社

2、高西全,丁玉美.数字信号处理(第三版)[M].西安:西安电子科技大学出版社,2008.8

3、蒋瑞艳 振动,噪声处理系统[J]. 大连理工大学学院学报(自然科学版) 2002 4、马超 高世伦 基于MATLAB的噪声信号采集与分析系统研究[J]. 华中科技大学能源与动力工程学院院报 2004.5

5、李正周.MATLAB数字信号处理与应用[M].北京:清华大学出版社,2008 6、高萍,祖静.基于MATLAB小波去噪技术浅析[J].科技信息(学术版),2006(11)1-3. 7、刘智 基于MATLAB的机械噪声分析与处理[J]. 华中江师范学院学报(自然科学版) 2010(4)

附录

附录(I) 设计IIR数字滤波器

%=========================IIR低通滤波器======================= Ft=8000; Fp=1000; Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2); fs=2*Fs*tan(wp/2);

[n11,wn11]=buttord(wp,ws,1,50,’s’); [b11,a11]=butter(n11,wn11,’s’); [num11,den11]=bilinear(b11,a11,0.5); [h,w]=freqz(num11,den11);

figure;

plot(w*8000*0.5/pi,abs(h));

legend(‘IIR低通滤波器’,’Location’,’NorthWest’); grid;

程序结果如下图:

%======================IIR高通滤波器======================== Ft=8000; Fp=4000; Fs=3500;

wp1=tan(pi*Fp/Ft); ws1=tan(pi*Fs/Ft); wp=1;

ws=wp1*wp/ws1;

[n13,wn13]=cheb1ord(wp,ws,1,50,’s’); [b13,a13]=cheby1(n13,1,wn13,’s’);


Matlab课程设计--基于MATLAB有噪声语音信号处理(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:钢铁工业废水废气的形成于处理2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: