山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:实验四减谱法语音增强技术研究一、实验目的本实验要求掌握减谱法语音增强的原理,会利用已学的相关语音特征,构建语音特征矢量,然后自己设计减谱法语音增强程序(也可参考相关文献),能显示干净语音和加噪语音信号及处理后的结果语音信号波形,分析实验结果,写出报告。二、实验原理谱减法的基本原理谱相减方法是基于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而对语音短时幅度谱进行估计,适用于受加性噪声污染的语音。由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号,假设)(ms、)(mn和)(my分别代表语音、噪声和带噪语音,)(sS、)(nS和)(yS分别表示其短时谱。假设噪声)(mn是与语音)(ms不相关的加性噪声。于是得到信号的加性模型:)()()(mnmsmy(4-1)对功率谱有)()()()(|)(||)(||)(|**222(4-4)原始语音的估值为]|)([||)(||)(|222(4-5)只要在频域用(4-5)式得到纯净语音的谱估计,就可以根据(4-6)式得到增强后的语音。)()(ˆ)(ˆjwesIFFTms错误!未找到引用源。(4-6)根据前面分析,我们可以给出谱相减算法的整个算法流程,如图4-1所示:图4-1谱减法的算法流程三、实验程序1、噪声叠加到信号上的比较FFTIFFT相位信息2|)(|wY2/1|)(|wS减去估计噪声]|)([|2wNE增强后的语音)(ms带噪语音)(my啊山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise1=0.1*randn(1,count);signal=input;fori=1:countvoice1(i)=signal(i)+noise1(i);endnoise2=0.01*randn(1,count);fori=1:countvoice2(i)=signal(i)+noise2(i);endnoise3=randn(1,count);signal=input;fori=1:countvoice3(i)=signal(i)+noise3(i);endn=1:count;figure%对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise1);title('噪音信号')subplot(3,1,3);plot(n,voice1);title('带噪信号')figure%对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss1=fft(noise1);subplot(3,1,2);plot(n,abs(Fss1));title('噪音信号频谱')山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:Fv1=fft(voice1);subplot(3,1,3)plot(n,abs(Fv1));title('带噪信号的频谱')figure%对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise2);title('噪音信号')subplot(3,1,3);plot(n,voice2);title('带噪信号')figure%对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss2=fft(noise2);subplot(3,1,2);plot(n,abs(Fss2));title('噪音信号频谱')Fv2=fft(voice2);subplot(3,1,3)plot(n,abs(Fv2));title('带噪信号的频谱')figure%对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise3);title('噪音信号')subplot(3,1,3);plot(n,voice3);title('带噪信号')figure%对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss3=fft(noise3);subplot(3,1,2);plot(n,abs(Fss3));title('噪音信号频谱')Fv3=fft(voice3);subplot(3,1,3)plot(n,abs(Fv3));title('带噪信号的频谱')2、利用减谱法的基本原理给语音信号降噪噪声为0.1*randn(1,coun)纯净信号为输入信号%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise=1*randn(1,count);signal=input';fori=1:countvoice(i)=signal(i)+noise(i);endFv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv)).^2;power2=(abs(Fn)).^2;power3=power1-power2;power4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure%对比纯净语音信号和输出信号subplot(2,1,1)plot(n,signal);山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:title('纯净信号')subplot(2,1,2)plot(n,sound);title('输出信号')figure%对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss));title('纯净信号频谱')subplot(2,1,2)plot(n,abs(Fs));title('输出信号频谱')max_v=max(voice);%对带噪信号抽样值点进行归一化处理re_voice=voice/max_v;%对输出信号抽样点值进行归一化处理max_s=max(sound);re_sound=sound/max_s;%读出带噪语音信号,存为'1001.wav'wavwrite(re_voice,5500,16,'1001');%读出处理后语音信号,存为'1002.wav'wavwrite(re_sound,5500,16,'1002')3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun)纯净信号为输入信号%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise=0.1*randn(1,count);signal=input';fori=1:countvoice(i)=signal(i)+noise(i);endFv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv)).^2;power2=(abs(Fn)).^2;fori=1:count山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:if(power1(i)=3*power2(i))power3(i)=power1(i)-3*power2(i);elsepower3(i)=0.01*power2(i);endendpower4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure%对比纯净语音信号和输出信号subplot(2,1,1)plot(n,signal);title('纯净信号')subplot(2,1,2)plot(n,sound);title('输出信号')figure%对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss));title('纯净信号频谱')subplot(2,1,2)plot(n,abs(Fs));title('输出信号频谱')四、实验结果1、噪声叠加到信号上的比较(1)噪声为0.1*randn(1,count)山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-0.500.5噪音信号020004000600080001000012000140001600018000-0.500.5带噪信号020004000600080001000012000140001600018000050100纯净信号频谱020004000600080001000012000140001600018000050噪音信号频谱020004000600080001000012000140001600018000050100带噪信号的频谱(2)噪声为0.01*randn(1,count)山东建筑大学实验报告学院:信息与电气工程学院班级:电信111姓名:彭宝玺学号:2011081226课程:语音信号处理实验日期:2014年4月25日成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-0.0500.05噪音信号020004000600080001000012000140001600018000-0.200