语音信号谱分析及去噪处理_第1页
语音信号谱分析及去噪处理_第2页
语音信号谱分析及去噪处理_第3页
语音信号谱分析及去噪处理_第4页
语音信号谱分析及去噪处理_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、实验三:语音信号谱分析及去噪处理1、实验目的(1)通过对实际采集的语音信号进行分析和处理,获得数字信号处理实际应用的认识。(2)掌握数字信号谱分析的知识。(3)掌握数字滤波器设计的知识,并通过对语音信号的去噪处理,获得数字滤波器实际应用的知识。2、实验内容(1)用麦克风自行采集两段语音信号高频噪声、人声+高频噪声(.wav格式)。(2)通过Matlab读入采集信号,观察其采样频率,并绘图采样信号。(3)通过Matlab对语音信号进行谱分析,分析出噪声的频带。(4)设计一滤波器,对叠加入噪声的语音信号进行去噪处理。绘图并发声去噪后的信号。3、实验步骤(1)利用麦克风采集一段5s以内的语音信号。利

2、用格式工厂软件对语音信号进行预处理。通常语音信号为单声道,采样频率为8000Hz,语音信号为.wav格式。(2)通过Matlab读入语音信号及其采样频率(使用Matlab库函数wavread),在Matlab软件的workspace工作平台上观察读入的语音信号,在Matlab中,对入的语音信号为一维矩阵。应注意,库函数wavread自动将语音信号幅度归一化-1,1区间范围。使用Matlab库函数plot绘图语音信号,并使用库函数sound发音语音信号。(3)分析噪声的频谱。在这里进行谱分析的目的,是了解噪声信号的频谱特性,为去噪滤波器的技术指标提供依据。(4) 通过Matlab对语音信号进行谱

3、分析。应注意,对信号进行谱分析,在实验一中已经详细介绍过。在这里进行谱分析的目的,是了解本段语音信号的频谱特性,为去噪滤波器的技术指标提供依据。(5) 根据语音信号及噪声信号的频谱特性,自行设计一滤波器,对叠加入噪声的语音信号进行去噪处理。最后绘图并发声去噪后的信号。应注意,数字滤波器的实际应考虑实际需求,合理制定滤波器的技术指标。4、实验原理用麦克风采集一段语音信号,绘制波形并观察其频谱,添加一段随机信号,给定相应的滤波器指标, 用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析。5、实验内容5.1设计流程图语音信号滤波

4、去噪使用双线性变换法设计的巴特沃斯滤波器的设计流程如图语音信号的采集(wavread函数),画时域图快速傅里叶变换,并且画频谱图开始设定滤波器性能指标,通带截止频率fb=1100,阻带截止频率fc=1200,通带波纹Ap=1,阻带波纹As=20验证并进行频谱分析双线性变换法设计巴特沃斯滤波器结束回放语音信号比较滤波前后语音信号的波形及频谱设计好的滤波器进行滤波处理5.2原始语音信号的频谱分析源代码:clear all;%语音信号的读入和打开,画出语音信号的频谱图x,fs=wavread('yinpin.wav')%调用音频文件,采样值放在x中,fs为采样频率 x=x(:,1);

5、%取矩阵x的第一列赋值到x矩阵中 FS=length(x); % 矩阵x的长度 f=0:fs/FS:(FS-1)*fs/FS; %生成一个一维数组赋给f X=fft(x,4096); %对信号做4096点FFT变换 magX=abs(X); %取X的幅值给magX t=(0:FS-1)/fs; subplot(2,1,1);plot(t,x); %绘制原始语音信号的时域波形图 title('原始语音信号时域波形图'); xlabel('时间/n'); ylabel('幅值/n'); grid on; f=fs*(0:511)/1024; %生成一

6、个一维数组赋给f figure(1) subplot(2,1,2);plot(magX); title('原始信号频域图'); grid on; 5.3 加入一个随机噪声%利用下列程序对原始语音信号进行加噪处理,并绘制出加随机噪声后语音信号的时域图和频谱图。 noise_mu=0; %取噪声的均值为0 noise_var=0.000005; %取噪声的方差为0.00005 x_noise=randn(size(x).*sqrt(noise_var)+noise_mu;%语句产生与原始语音长度相同的随机噪声 x1=x+x_noise; %把这个噪声添加到原始语音中,得到加噪语音信

7、号 ts=1/fs; ta=(length(x)-1)/fs; t=0:ts:ta; figure(2); subplot(2,1,1);plot(t,x1); %绘制加随机噪声后语音信号时域图 title('加随机噪声后语音信号时域图'); xlabel('t'); ylabel('x1'); grid on; y2=fft(x1,1024); %对信号做1024点FFT变换 f=fs*(0:511)/1024; subplot(2,1,2); %绘制原始语音信号的频率响应图 plot(f,abs(y2(1:512); title('加

8、随机噪声后的语音信号频谱图') xlabel('f/Hz'); ylabel('幅度'); grid on;5.4 根据指标设计IIR数字滤波器低通滤波器的性能指标:fp=1200Hz,fs=1100Hz,ft=8000Hz, As=20db ,Ap=1dB%根据指标设计IIR数字滤波器Fp=1200;%阻带截止频率Fs=1100;%通带截止频率Ft=8000;%采集频率As=20;%通带波纹Ap=1Ap=1;%阻带波纹As=20wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Ft*tan(ws/2)

9、;n,wn=buttord(wp,ws,Ap,As,'s'); %求低通滤波器的阶数和截止频率b,a=butter(n,wn,'s'); %求S域的频率响应的参数 B,A=bilinear(b,a,1); %双线性变换实现S域到Z域的变换 h,w=freqz(B,A); %根据参数求出频率响应figure(3);plot(w*8000*0.5/pi,abs(h);5.5 进行低通滤波,比较滤波前后语音信号的波形及频谱%进行低通滤波,比较滤波前后语音信号的波形及频谱: Y=fft(x1);y1=filter(B,A,x1); %利用滤波器对语音信号滤波 Y1=fft(y1); n=0:length(x1)-1; t=(0:FS-1)/fs; figure(4); subplot(2,2,1);plot(t,x1);title('未滤波语音波形'); subplot(2,2,2);plot(t,y1);title('滤波后语音波形'); subplot(2,2,3);plot(n,Y);title('未滤波语音频谱'); subplot(2,2,4);plot(n,Y1);title('滤波后语音频谱'); sound(y1,fn,nbits); %滤波后语音回放6、结果分析由图中滤

温馨提示

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

评论

0/150

提交评论