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

2019-08-29 23:46

[n13,wn13]=cheb1ord(wp,ws,1,50,’s’); %求模拟的低通滤波器阶数和截止频率 [b13,a13]=cheby1(n13,1,wn13,’s’); %求S域的频率响应的参数 [num,den]=lp2hp(b13,a13,wn13); %将S域低通参数转为高通的

[num13,den13]=bilinear(num,den,0.5); %利用双线性变换实现频率响应S域到Z域转换

z13=filter(num13,den13,s); sound(z13);

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

title(‘滤波前信号的频谱’,’fontweight’,’bold’); axis([0 150000 0 4000]); grid; subplot(2,2,2); plot(abs(m13),’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(z13);

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

程序结果如下图:

附II-2 双线性高通滤波器比较

%**********************带通滤波器***************************** [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*Fp/Ft; ws=2*Fs/Ft; rp=1; rs=50;

p=1-10.^(-rp/20); %通带阻带波纹

q=10.^(-rs/20); fpts=[wp ws]; mag=[1 0]; dev=[p q];

[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);%由kaiserord求滤波器的阶数和截止频率

b21=fir1(n21,wn21,kaiser(n21+1,beta)); %由fir1设计滤波器 z21=fftfilt(b21,s); sound(z21);

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

title(‘滤波前信号的频谱’,’fontweight’,’bold’); axis([0 150000 0 4000]); grid; subplot(2,2,2); plot(abs(m21),’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(z21);

title(‘滤波后的信号波形’,’fontweight’,’bold’);

axis([95000 100000 -1 1]); grid;

程序结果如下图:

附II-3 双线性带通滤波器比较


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

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

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

马上注册会员

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