语音处理课程设计_第1页
语音处理课程设计_第2页
语音处理课程设计_第3页
语音处理课程设计_第4页
语音处理课程设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、mainb=menu('请选择选项:','IIR滤波器','FIR滤波器','退出');if b=3 b=0;endif b=1 temp=menu('请选择选项:','IIR低通滤波器','IIR高通滤波器','IIR带通滤波器','返回'); if temp=1 IIR_LP; main; elseif temp=2 IIR_HP; main; elseif temp=3 IIR_BP; main; else main; endelseif b=2

2、 temp=menu('请选择选项:','FIR低通滤波器','FIR高通滤波器','FIR带通滤波器','返回'); if temp=1 FIR_LP; main; elseif temp=2 FIR_HP; main; elseif temp=3 FIR_BP; main; else main; endendIIRLPfs=22050;x1,fs,bits=wavread('d:徐亮.wav'); sound(x1,fs);x2=wavread('d:XP.wav');Ts=1/

3、fs;R1=10;wp=2*pi*1000/fs;ws=2*pi*1200/fs;Rp=1;Rl=100;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,R1,'s'); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,a

4、z); %绘制频率响应曲线figure(1)plot(W*fs/(2*pi),abs(H)axis(0 3000 0 1.4)gridxlabel('频率Hz')ylabel('频率响应幅度')title('IIR低通滤波器')f1=filter(bz,az,x2);figure(2)subplot(2,2,1)plot(x2) %画出滤波前的时域图title('IIR低通滤波器滤波前的时域波形');subplot(2,2,3)plot(f1); %画出滤波后的时域图title('IIR低通滤波器滤波后的时域波形'

5、);sound(f1,44100); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;y2=fft(x2,1024);subplot(2,2,2);plot(f,abs(y2(1:512); %画出滤波前的频谱图axis(0 10000 0 150)title('IIR低通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值')subplot(2,2,4)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图axis(0 5000 0 150)title('IIR

6、低通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');IIRHPclear;close allx1,fs,bits=wavread('d:徐亮.wav'); sound(x1,fs)fs=22050;x1=wavread('d:XP.wav');Fs=22050;Ts=1/Fs;R1=50;Wp=2*pi*5000/fs;Ws=2*pi*4800/fs;Rp=1;Rl=100;Wp1=2/Ts*tan(Wp/2); %将模拟指标转换成数字指标Ws1=2/Ts*tan(Ws/2); N,Wn=c

7、heb2ord(Wp1,Ws1,Rp,Rl,'s'); %选择滤波器的最小阶数Z,P,K=cheb2ap(N,Rl); %创建切比雪夫模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2hp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线figure(1)plot(W*fs/(2*pi),abs(H)gridxlabel('频率Hz')ylabel('频率响应幅度')title('IIR高通滤波器

8、')f1=filter(bz,az,x1);figure(2)subplot(2,2,1)plot(x1) %画出滤波前的时域图title('IIR高通滤波器滤波前的时域波形');subplot(2,2,3)plot(f1); %画出滤波后的时域图title('IIR高通滤波器滤波后的时域波形');sound(f1,44100); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;y2=fft(x1,1024);subplot(2,2,2);plot(f,abs(y2(1:512); %画出滤波前的频谱图axis(0

9、5000 0 150)title('IIR高通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,2,4)plot(f,abs(F0(1:512); %画出滤波后的频谱图axis(3000 10000 0 3)title('IIR高通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');IIRBPfs=22050;x1,fs,bits=wavread('d:徐亮.wav'); sound(x1,fs);x1=w

10、avread('d:XP.wav');Fs=22050;Ts=1/Fs;R1=30;fb1=1200;fb2=3000;fc1=1000;fc2=3200;fs=22050;W1=2*fb1*pi/fs;W2=2*fc1*pi/fs;W3=2*fb2*pi/fs;W4=2*fc2*pi/fs;Wp=W1,W3;Ws=W2,W4;Rp=1;Rl=100;Wp1=2/Ts*tan(Wp/2); %将模拟指标转换成数字指标Ws1=2/Ts*tan(Ws/2); N,Wn=cheb2ord(Wp1,Ws1,Rp,R1,'s'); %选择滤波器的最小阶数Z,P,K=che

11、b2ap(N,Rl); %创建切比雪夫模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2bp(Bap,Aap,2100*2*pi,1800*2*pi); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线figure(1)plot(W*fs/(2*pi),abs(H)axis(500 4000 0 1.4)gridxlabel('频率Hz')ylabel('频率响应幅度')title('IIR带通滤波器')f1=filter(bz,

12、az,x1);figure(2)subplot(2,2,1)plot(x1) %画出滤波前的时域图title('IIR带通滤波器滤波前的时域波形');subplot(2,2,3)plot(f1); %画出滤波后的时域图title('IIR带通滤波器滤波后的时域波形');sound(f1,44100); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;y2=fft(x1,1024);subplot(2,2,2);plot(f,abs(y2(1:512);%画出滤波前的频谱图axis(0 5000 0 120)title(

13、9;IIR带通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,2,4)plot(f,abs(F0(1:512); %画出滤波后的频谱图axis(0 5000 0 12)title('IIR带通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');FIRLPx1,fs,bits=wavread('d:徐亮.wav'); sound(x1,fs);fs=10000;x1=wavread('d:XP.wav

14、9;);wp=2*pi*1000/fs;ws=2*pi*1200/fs;Rp=1;Rs=100;wdelta=ws-wp;N=ceil(8*pi/wdelta); %取整wn=(wp+ws)/2;b,a=fir1(N,wn/pi,kaiser(N+1); %选择窗函数,并归一化截止频率figure(1)freqz(b,a,512);title('FIR低通滤波器');f2=filter(b,a,x1);figure(2)subplot(2,2,1)plot(x1)title('FIR低通滤波器滤波前的时域波形');subplot(2,2,3)plot(f2);t

15、itle('FIR低通滤波器滤波后的时域波形');sound(f2,44100); %播放滤波后的语音信号F0=fft(f2,1024);f=fs*(0:511)/1024;y2=fft(x1,1024);subplot(2,2,2);plot(f,abs(y2(1:512);%axis(0 2000 0 150)title('FIR低通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,2,4)F2=plot(f,abs(F0(1:512);%axis(0 1500 0 150)t

16、itle('FIR低通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');FIRHPx1,fs,bits=wavread('d:徐亮.wav'); sound(x1,fs);fs=22050;x1=wavread('d:XP.wav');wp=2*pi*5000/fs;ws=2*pi*4800/fs;Rp=1;Rs=100;wdelta=wp-ws;N=ceil(8*pi/wdelta); %取整wn=(wp+ws)/2;b,a=fir1(N,wn/pi,'high');

17、 figure(1)freqz(b,a,512);title('FIR高通滤波器');f2=filter(b,a,x1);figure(2)subplot(2,2,1)plot(x1)title('FIR高通滤波器滤波前的时域波形');subplot(2,2,3)plot(f2);title('FIR高通滤波器滤波后的时域波形');sound(f2,44100); %播放滤波后的语音信号F0=fft(f2,1024);f=fs*(0:511)/1024;y2=fft(x1,1024);subplot(2,2,2);plot(f,abs(y2(1:

18、512);axis(0 4000 0 150)title('FIR高通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,2,4)F2=plot(f,abs(F0(1:512);axis(4000 10000 0 1.5)title('FIR高通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');FIRBPx1,fs,bits=wavread('d:徐亮.wav'); sound(x1,fs);fs=22050;x1=wavread('d:徐亮.wav');wp1=2*pi*1200/fs;wp2=2*pi*3000/fs;ws1=2*pi*1000/fs;ws2=2*pi*3200/fs;Rp=1;Rs=100;wp=(wp1+ws1)/2;ws=(wp2+ws2)

温馨提示

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

评论

0/150

提交评论