电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于某MATLAB地有噪声地语音信号处理地课程设计

19页
  • 卖家[上传人]:人***
  • 文档编号:471363665
  • 上传时间:2024-01-13
  • 文档格式:DOC
  • 文档大小:296KB
  • / 19 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、wordDSP实验课程设计实验报告某某: 学号: 班级:1. 课程设计题目:基于MATLAB的有噪声的语音信号处理的课程设计。2. 课程设计的目的:综合运用数字信号处理的理论知识进展频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB做为编程工具进展计算机实现,从而加深对所学知识的理解,建立概念。3. 课程设计的要求:(1)熟悉离散信号和系统的时域特性。(2)掌握序列快速傅里叶变换FFT方法。(3)学会MATLAB的使用,掌握MATLAB的程序设计方法。(4)利用MATLAB对语音信号进展频谱分析。(5)掌握MATLAB设计各种数字滤波器的方法和对信号进展滤波的方法。4. 课程设计的内容:录制一段语音信号,对语音信号进展频谱分析,利用MATLAB中的随机函数产生噪声参加到语音信号中,使语音信号被污染,然后进展频谱分析,设计FIR和IIR数字滤波器,并对噪声污染的语音信号进展滤波,分析滤波后的信号的时域和频域特征,回放语音信号。5. 课程设计的步骤:1语音信号的获取通过录音软件录制一段语音“数字信号处理,命名为“OriSound,时长大约1到2秒,在MATLAB中,通过使

      2、用wavread函数,对语音进展采样: y,fs,nbits=wavread(OriSound); %语音信号的采集采样值放在向量y中,采样频率为fs,采样位数为nbits。2语音信号的频谱分析画出语音信号的时域波形,然后对语音信号进展频谱分析,在MATLAB中,通过使用fft函数对信号进展快速傅里叶变换,得到信号的频谱特性。因此采集语音并绘出波形和频谱的模块程序如下:y,fs,nbits=wavread(OriSound); %语音信号的采集sound(y,fs,nbits); %语音信号的播放n=length(y) ; %计算语音信号的长度Y=fft(y,n); %快速傅里叶变换figure;subplot(2,1,1);%绘出时域波形plot(y);title(原始信号波形,fontweight,bold);axis( 00000 80000 -1 1);%通过尝试确定适宜的坐标参数grid;subplot(2,1,2);%绘出频域频谱plot(abs(Y);title(原始信号频谱,fontweight,bold);axis( 0 150000 0 4000);%通过尝试确定适

      3、宜的坐标参数grid;结果如下:可以看到,语音信号的频率集中在低频局部。3产生噪声信号在MATLAB中,通过使用randn函数产生随机噪声信号,并加到语音信号中得到被污染的语音信号,回放语音信号。产生随机噪声:Noise=0.2*randn(n,1);其中用0.2倍乘噪声用来适当削减噪声的作用,便于对语音信号进展处理并比拟效果。4污染信号频谱分析对被污染的加噪信号进展时域和频域分析。加噪声并分析信号波形频谱的模块程序与说明如下:y,fs,nbits=wavread(OriSound.wav);%语音信号采集sound(y,fs,nbits); %回放语音信号便于比拟效果n = length (y) ; %计算语音信号长度Noise=0.2*randn(n,1);%产生随机噪声信号Noises=y+Noise;%将Noise添加到原始信号,得到污 染信号ssound(s);%回放污染信号sfigure;subplot(2,1,1);%绘制加噪信号时域波形plot(s);title(加噪语音信号的时域波形,fontweight,bold);axis( 00000 80000 -1 1);g

      4、rid;S=fft(s); %对s进展快速傅里叶变换得到频谱 subplot(2,1,2);%绘制加噪信号频域频谱plot(abs(S);title(加噪语音信号的时域波形,fontweight,bold);axis( 0 150000 0 4000);grid;结果如下:可以看到,随机噪声均匀的分布在整个频谱X围内。5设计FIR和IIR数字滤波器在MATLAB中,根据频谱特征设计FIR和IIR滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1设计IIR滤波器,利用Matlab中的函数freqz画出各步滤波器的频率响应。低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB高通滤波器的性能指标:fp=3500Hz,fc=4000Hz,As=100dB,Ap=1dB;带通滤波器的性能指标:fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB在MATLAB中,利用N,wc=butter(N,wc,Rp,As,s)设计并计算巴特沃斯模拟滤波

      5、器的阶数N和3dB截止频率wc;B,A=cheby1(N,Rp,wpo,ftypr)设计切比雪夫I型滤波器。在课程设计中,共设计了六种滤波器对信号进展滤波:FIR低通,高通,带通滤波器,IIR低通,高通,带通滤波器。通过对原始信号和加噪信号的频谱进展观察,原始语音信号频谱集中在低频段,而随机噪声接近均匀的分布在整个频谱X围内,因此推测选用低通滤波器去噪性能要好于高通和带通滤波器。6对污染信号进展滤波在MATLAB中用FIR和IIR滤波器对加噪信号进展滤波,其中通过利用函数fftfilt用FIR滤波器滤波,通过利用函数filter用IIR滤波器滤波。7回放语音信号在MATLAB中,通过用sound函数对语音信号进展回放,用以比拟各滤波器的滤波效果。各滤波器设计模块的程序和说明如下:(1) IIR低通滤波器设计y,fs,nbits=wavread(OriSound.wav);%语音信号采集n = length (y) ; %计算语音信号长度Noise=0.2*randn(n,1);%产生随机噪声信号Noises=y+Noise;%将Noise添加到原始信号,得到污 染信号sS=fft(s)

      6、; %快速傅里叶变换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,fs,nbits);%回放滤波后的信号m11=fft(z11); %滤波后的信号频谱figure;subplot(2,2,1);%绘出滤波前的信号频谱plot(abs(S),g);title(滤波前信号的频谱,fontweight,bold);axis( 0 80000 0 4000);grid;subplot(2,2,2);%绘出滤波后的信号频谱plot(abs(m11),r);title(滤波后信号的频谱,fontweight,bold);axis( 0 80000 0 4000);grid;subplo

      7、t(2,2,3);%绘出滤波前的信号波形plot(s);title(滤波前信号的波形,fontweight,bold);axis(00000 100000 -1 1);grid;subplot(2,2,4);%绘出滤波后的信号波形plot(z11);title(滤波后的信号波形,fontweight,bold);axis(00000 100000 -1 1);grid;结果如下:可以看出,滤波后将非低频局部的噪声频率滤掉,但还有一些高于原始语音信号的频率没有被去除。(2) IIR高通滤波器设计y,fs,nbits=wavread (OriSound); %语音信号采集n = length (y) ; %计算语音信号的长度Noise=0.2*randn(n,1); %产生随机噪声s=y+Noise; %语音信号参加噪声得到加噪信号S=fft(s); %快速傅里叶变换Fp1=1200;Fs1=1000;Ft=8000;wp1=tan(pi*Fp1/Ft);ws1=tan(pi*Fs1/Ft);wp=1;ws=wp1*wp/ws1;n13,wn13=cheb1ord(wp,ws,1,50,s

      8、); %模拟的低通滤波器阶数和截止频率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,fs,nbits);%回放滤波后的信号m13=fft(z13); %滤波后的信号频谱figure;subplot(2,2,1);%绘出滤波前的信号频谱plot(abs(S),g);title(滤波前信号的频谱,fontweight,bold);axis(0 80000 0 4000);grid;subplot(2,2,2);%绘出滤波后的信号频谱plot(abs(m13),r);title(滤波后信号的频谱,fontweight,bold);axis(0 80000 0 4000);grid;subplot(2,2,3);%绘出滤波前的信号波形plot(s);title(滤波前信号的波形,fontweight,bold);axis(00000 100000 -1 1);grid;subplot(2,2,4);%绘出滤波后的信号波形plot(z13);title(滤波后的信号波形,fontweight,bold);axis(00000 100000 -1 1);grid;结果如下:可以看出,滤波后将原始信号绝大局部频谱滤掉,剩下噪声信号,不能采用。(3) IIR带通滤波器设计y,fs,nbits=wavread (OriSound); %语音信号采集n = length (y) ; %计算语音信号的长度Noise=0.2*randn(n,1); %产生随机噪声s=y+Noise; %语音

      《基于某MATLAB地有噪声地语音信号处理地课程设计》由会员人***分享,可在线阅读,更多相关《基于某MATLAB地有噪声地语音信号处理地课程设计》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.