Matlab在语音信号处理中的应用_第1页
Matlab在语音信号处理中的应用_第2页
Matlab在语音信号处理中的应用_第3页
Matlab在语音信号处理中的应用_第4页
Matlab在语音信号处理中的应用_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、数字信号处理课程设计报告 学院(部) 信息工程学院 专 业 电子信息工程 班 级 24030902 学生姓名 周小军 学 号 2403090212 数字信号综合设计一、实验目的1学会MATLAB的使用,掌握MATLAB的程序设计方法;2掌握在Windows环境下语音信号采集的方法;3掌握数字信号处理的基本概念、基本理论和基本方法;4掌握MATLAB设计FIR和IIR数字滤波器的方法;5学会用MATLAB对信号进行分析和处理。二、实验原理2.1 语音信号采集与分析运用windows下的录音机,录制一段自己的话音,时间控制在一秒。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采

2、样,再运用plot函数画出语音信号的时域波形,最后在语音信号频谱分析时运用fft对信号进行快速傅里叶变换,得到频谱特性图形,具体运用见程序代码。2.2 滤波器设计和运用滤波器进行滤波1 )窗函数和等波纹逼近法设计FIR滤波器及滤波首先根据阻带最小衰减选定窗口类型,然后调用fir1函数设计线性相位FIR数字滤波器,再用freqz函数画出其频谱图形,最后运用fftfilt函数对信号进行滤波。而等波纹逼近法中则运用remez和remezord直接设计FIR滤波器,然后运用fftfilt函数对信号进行滤波。具体见程序代码。2 )双线性变换法社设计IIR数字滤波器及滤波 首先将数字滤波器的技术指标运用预

3、畸校正法转换成模拟滤波器的设计指标: ph=2/T*tan(wp/2),然后用butter和buttord、cheby1和cheb1ord、ellip和ellipord设计各种模拟滤波器,再用bilinear函数进行模拟滤波器和数字滤波器之间的转换,最后用filter函数对语音信号进行滤波,并运用函数sound播放滤波后语音。 三、主要实验仪器及材料微型计算机、Matlab7.x四、实验程序代码、结果和滤波性能分析1 )语音信号采集及频谱分析程序代码如下:%语音信号的时域波形和频谱特性clear all;close all;clc;file=zhong.wav; %zhong.wav的内容为“

4、中华人民共和国”y,fs,nbits=wavread(file);sound(y,fs,nbits);yn=fft(y);figure(1);plot(y);title(语音时域波形);figure(2);freqz(yn);title(语音频谱特新);运行结果如下;先会听到“中华人民共和国”,然后会看到如下图形:图 语音时域波形图 语音频谱2 )窗函数设计滤波器及滤波程序代码如下:%用凯瑟窗设计FIR低通滤波器clear all;close all;clc;fp=1000;fs=1200;rs=100;Fs=8000; %kaiser滤波器设计wp=2*pi*fp/Fs;ws=2*pi*fs

5、/Fs;Bt=ws-wp;alph=0.112*(rs-8.7);M=ceil(rs-8)/2.285/Bt);wc=(wp+ws)/2/pi;hn=fir1(M,wc,kaiser(M+1,alph);figure(1);freqz(hn);y,fn,nbits=wavread(zhong); Y=fft(y);y1=fftfilt(hn,y); %利用 kaiser滤波器对语音信号滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后

6、语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图3 凯瑟窗设计FIR低通滤波器 图4 Kaiser滤波器滤波前后语音波形、频谱%用凯瑟窗设计FIR数字高通滤波器clear all;close all;clc;fp=3000;fs=2800;FS=8000;as=100;wp=2*pi*fp/FS;ws=2*pi*fs/FS;Bt=wp-ws;alph=0.112*(as-8.7);M=ceil(as-8/2

7、.285/Bt);wc=(wp+ws)/2/pi;hn=fir1(M,wc,high,kaiser(M+1,alph);figure(1);freqz(hn)y,fn,nbits=wavread(zhong); Y=fft(y);y1=fftfilt(hn,y); 用kaiser滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subpl

8、ot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果:图 凯瑟窗设计FIR数字高通滤波器图 Kaiser滤波器滤波前后语音波形、频谱%用凯瑟窗设计FIR数字带通滤波器clear all;close all;clc;fp1=1200;fp2=300;fc1=1000;fc2=3200;FS=8000;as=100;wlp=2*pi*fp1/FS;wls=2*pi*fc1/FS;wup=2*pi*fp2/FS;wus=2*pi*fc2/FS;Bt=min(wlp-wls,wus-wup);alph=0.112*(as-

9、8.7);M=ceil(as-8/2.285/Bt);wc=(wlp+wls)/2/pi,(wup+wus)/2/pi;hn=fir1(M,wc,bandpass,kaiser(M+1,alph);figure(1);freqz(hn);y,fn,nbits=wavread(zhong); Y=fft(y);y1=fftfilt(hn,y); 用kaiser滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);sub

10、plot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果:图 凯瑟窗设计FIR数字带通滤波器图 Kaiser滤波器滤波前后语音波形、频谱) 等波纹逼近法设计滤波器及滤波程序代码如下:等波纹逼近法设计低通滤波器及滤波fp=1000;fs=1200;FS=8000;rp=1;rs=100;f=fp,fs;m=1,0;dat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat1,dat2;M,

11、fo,mo,w=remezord(f,m,rip,FS);M=M+1;hn=remez(M,fo,mo,w);figure(1);freqz(hn);y,fn,nbits=wavread(zhong); Y=fft(y);y1=fftfilt(hn,y); 用设计的滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224)

12、;plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图等波纹逼近法设计低通滤波器及滤波图 等波纹逼近法设计数字滤波器滤波前后语音波形、频谱等波纹逼近法设计高通滤波器及滤波fp=3000;fs=2800;FS=8000;rp=1;rs=100;f=fs,fp;m=0,1;dat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat2,dat1;M,fo,mo,w=remezord(f,m,rip,FS);M=M+1;hn=remez(M,fo,mo,w);figure(1)

13、;freqz(hn);y,fn,nbits=wavread(zhong); Y=fft(y);y1=fftfilt(hn,y); 用设计的滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图等

14、波纹逼近法设计高通滤波器图等波纹逼近法设计数字滤波器滤波前后语音波形、频谱等波纹逼近法设计带通滤波器及滤波fp1=1200;fp2=3000;fc1=1000;fc2=3200;FS=8000;rp=1;rs=100;f=fc1,fp1,fp2,fc2;m=0,1,0;dat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat2,dat1,dat2;M,fo,mo,w=remezord(f,m,rip,FS);M=M+1;hn=remez(M,fo,mo,w);figure(1);freqz(hn);y,fn,nbits=wavread(z

15、hong); Y=fft(y);y1=fftfilt(hn,y); 用设计的滤波器进行滤波Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图等波纹逼近法设计高通滤波器及滤波图 等波纹逼近法设计数字滤波器滤

16、波前后语音波形、频谱)双线性变换法设计数字滤波器 设计模拟滤波器,再经双线性变换法设计数字滤波器程序代码如下:%butter设计模拟低通滤波器再用双线性变换法设计IIR数字低通滤波器clear all;close all;clc;fp=1000;fc=1200;FS=8000;rp=1;rs=100; wpz=2*pi*1000/FS;wsz=2*pi*1200/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS; %预畸校正转换指标N,wc=buttord(wp,ws,rp,rs,s);B,A=butter(N,wc,s);Bz,Az=bilinear(B,A,

17、FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);figure(1);plot(w/pi,20*log(abs(h),k);axis(0,1,-800,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(butter数字低通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);ti

18、tle(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图5 butter设计的数字低通滤波器频谱图6 滤波前后语音信号的时域波形和频谱%butter设计数字高通滤波器(此处直接运用了butter设计数字高通滤波器)clear all;close all;clc;fp=3000;fc=2800;rp=1;rs=100;FS=8000;wp=2*pi*1000/FS;ws=2*pi*1200/FS;N,w

19、c=buttord(wp,ws,rp,rs);B,A=butter(N,wc,high);w=0:0.01*pi:pi;h,w=freqz(B,A,w);figure(1);plot(w/pi,20*log(abs(h),k);axis(0,1,-800,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(butter数字高通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(B,A,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);ti

20、tle(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图7 butter设计的数字高通滤波器频谱图8 滤波前后语音信号的时域波形和频谱%butter设计数字带通滤波器(此处直接运用了butter设计数字带通滤波器)clear all;close all;clc;fp1=1200;fp2=3000;fc1=1000;fc2=320

21、0;rp=1;rs=100;FS=8000;wp=2*fp1/FS,2*fp2/FS;ws=2*fc1/FS,2*fc2/FS;N,wc=buttord(wp,ws,rp,rs);B,A=butter(N,wc);w=0:0.01*pi:pi;h,w=freqz(B,A,w);figure(1);plot(w/pi,20*log(abs(h),k);axis(0,1,-1000,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(butter数字带通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(B,A,y

22、); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图 19 butter设计的数带低通滤波器频谱图 20 滤波前后语音信号的时域波形和频谱 设计模拟滤波器,然后经双线性变换法设计数字滤波器程序代码如下

23、:%cheby1设计模拟低通滤波器再经双线性变换法设计成低通数字滤波器fp=1000;fc=1200;rp=1;rs=100;FS=8000;wpz=2*pi*fp/FS;wsz=2*pi*fc/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS;% 预畸校正转换指标N,wpo=cheb1ord(wp,ws,rp,rs,s);BH,AH=cheby1(N,rp,wpo,s);Bz,Az=bilinear(BH,AH,FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);figure(1);plot(w/pi,20*log(abs(h),k);

24、axis(0,1,-800,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(cheby1数字低通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);

25、title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图 21 cheby1数字低通滤波器图 22 滤波前后语音信号的时域波形和频谱%cheby1设计模拟高通滤波器再经双线性变换法设计成数字高通滤波器fp=3000;fc=2800;rp=1;rs=100;FS=8000;wpz=2*pi*fp/FS;wsz=2*pi*fc/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS;% 预畸校正转换指标N,wpo=cheb1ord(wp,ws,rp,rs,s);BH,AH=cheby1(N,rp,wpo,high,s);Bz,

26、Az=bilinear(BH,AH,FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);plot(w/pi,20*log(abs(h),k);axis(0,1,-800,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(cheby1数字高通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plo

27、t(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图 2 cheby1数字高通滤波器图 24滤波前后语音信号的时域波形和频谱%cheby1设计模拟带通滤波器再经双线性变换法设计成数字带通滤波器fp1=1200;fp2=3000;fc1=1000;fc2=3200;rp=1;rs=100;FS=8000;wpz=2*pi*fp1/FS,2*pi*fp2/FS;wsz=2*pi*fc1

28、/FS,2*pi*fc2/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS; %预畸校正转换指标N,wpo=cheb1ord(wp,ws,rp,rs,s);BH,AH=cheby1(N,rp,wpo,s);Bz,Az=bilinear(BH,AH,FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);figure(1);plot(w/pi,20*log(abs(h),k);axis(0,1,-1000,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(数字带通滤波器);y,fn,nbits=wavread

29、(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图 25 cheby1数字带通滤波器图 26滤波前后语音信号的时域波形和频谱 e

30、llip设计模拟滤波器,然后经双线性变换法设计数字滤波器%ellip设计模拟低通滤波器再经双线性变换法设计数字低通滤波器fp=1000;fc=1200;rp=1;rs=100;FS=8000;wpz=2*pi*fp/FS;wsz=2*pi*fc/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS;% 预畸校正转换指标N,wpo=ellipord(wp,ws,rp,rs,s);BH,AH=ellip(N,rp,rs,wpo,s);Bz,Az=bilinear(BH,AH,FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);figure(1);

31、plot(w/pi,20*log(abs(h),k);axis(0,0.9,-400,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(ellip数字低通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221);plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音

32、频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图 27 ellip数字低通滤波器频谱图 28滤波前后语音信号的时域波形和频谱% ellip设计模拟高通滤波器再经双线性变换法设计数字高通滤波器fp=3000;fc=2800;rp=1;rs=100;FS=8000;wpz=2*pi*fp/FS;wsz=2*pi*fc/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS;% 预畸校正转换指标N,wpo=ellipord(wp,ws,rp,rs,s);BH,AH=

33、ellip(N,rp,rs,wpo,high,s);Bz,Az=bilinear(BH,AH,FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);figure(1);plot(w/pi,20*log(abs(h),k);axis(0.1,1,-400,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(ellip数字高通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221)

34、;plot(y);title(未滤波语音波形);subplot(222);plot(y1);title(滤波后语音波形);subplot(223);plot(n,Y);title(未滤波语音频谱);subplot(224);plot(n,Y1);title(滤波后语音频谱);sound(y1,fn,nbits); %滤波后语音回放运行结果如下:图29 ellip数字高通滤波器频谱图 30滤波前后语音信号的时域波形和频谱% ellip设计模拟带通滤波器再经双线性变换法设计数字带通滤波器fp1=1200;fp2=3000;fc1=1000;fc2=3200;rp=1;rs=100;FS=8000;

35、wpz=2*pi*fp1/FS,2*pi*fp2/FS;wsz=2*pi*fc1/FS,2*pi*fc2/FS;wp=2*tan(wpz/2)*FS;ws=2*tan(wsz/2)*FS; %预畸校正转换指标N,wpo=ellipord(wp,ws,rp,rs,s);BH,AH=ellip(N,rp,rs,wpo,s);Bz,Az=bilinear(BH,AH,FS);w=0:0.01*pi:pi;h,w=freqz(Bz,Az,w);plot(w/pi,20*log(abs(h),k);axis(0,1,-1000,100);xlabel(w/pi);ylabel(幅度/dB);grid;title(ellip数字带通滤波器);y,fn,nbits=wavread(zhong); Y=fft(y);y1=filter(Bz,Az,y); Y1=fft(y1);n=0:length(y)-1;figure(2);subplot(221

温馨提示

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

评论

0/150

提交评论