版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目 基于matlab谱减法音频降噪处理 班级 学号 姓名 指导 时间 景德镇陶瓷学院数字信号处理课程设计任务书姓名 _ 班级 _ _ _ 指导老师 设计课题: 基于matlab谱减法音频降噪处理设计任务与要求1、题目选择:根据自己掌握的情况选择合适的题目,要求IIR滤波器的设计中,模拟滤波器的设计选择一个,数字滤波器的设计选择一个,FIR滤波器的设计中,窗函数选择一个(可参考选题另有附件);2、掌握Matlab软件的基本应用;设计步骤1、选择适当的题目,查阅相关资料;2、技术参数设定,选定所要设计的某种类型的滤波器后,设定相应的技术参数;3、Matlab程序设计;4、得出结果和仿真波形;5、
2、总结,对以上各步骤写出详细的设计报告,存在什么问题,如何解决。正文字数不得少于3000字。参考文献(1) 程佩青 数字信号处理教程 清华大学出版社(2) 吴镇扬 数字信号处理 高等教育出版社(3) 胡广书 数字信号处理导论 清华大学出版社(4) (5) (6)目 录1、 设计要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12、 设计原理. . . . . . . . . . . . . . . . . . .23、 源程序清单. . . . . . . . . . . . . . . . . . . . .
3、 . . . . . . . . . . . . . . . . . . .74、 设计结果和仿真波形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115、 参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6、 设计心得体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4、. . 161、设计要求语言是人类最重要、直接、有效和便捷的交换信息的方式。随着近些年科学技术的飞速发展,人们也不满足于和计算机的信息交换方式,希望能够甩掉键盘和鼠标而实现用语言来对计算机进行控制。因此,语音信号处理技术便应运而生。语音信号处理是一门新兴的学科,同时也是综合多种学科和涉及面非常广泛的交叉学科。现在在一些职能系统中嵌入有语音处理系统,但它们只能在安静的环境中才能使用。然而,在语音信息的采集过程中难免会有各种噪声的干扰。噪声不仅降低了语音的可懂度和语音质量,还严重的影响语音处理的准确性,甚至使系统不能正常工作。本文将就对语音增强技术的原理和方法进行讨论,重点介绍语音增强的一种方法谱
5、减法及其改进算法。该方法能够有效消除平稳的加性噪声,其改进算法能够有效消除普通方法产生的“音乐噪声”,在很大程度上提高语音信号的信噪比。目前,语言识别技术已经取得了重大进展,并开始进入实用阶段。但语音识别系统必须在相对比较安静的环境下运行,然而,在语言信息的采集中难免会有各种噪声的干扰,在较强的噪声背景下,语音识别系统的准确性会受到较大影响,甚至没法正常工作。所以在语音识别系统对语音信息处理前,应该对语音信息进行预处理,即背景噪声消除。语音背景噪声消除技术的出现使得语音识别技术更加稳定和精确,也使得语音信息的可懂度大大提高,使人们能够从较复杂的语音信息中提取到更多的有用信息。2、设计原理噪声的
6、生成原理及分类噪声的来源取决于实际应用,不同情形下产生的噪声其特性也是千变万化,所以没有一种通用的语音增强算法能对每一种噪声起到有效的消除。下面我们来简单分析噪声的生成原理及分类情况。噪声可以分为两大类:加性噪声和非加性噪声,加性噪声一般是指热噪声、散弹噪声等,其特点是噪声信号与语音信号是加性的,噪声不随信号而改变,即使信号不存在噪声也会存在。非加性噪声如乘性噪声,他们与信号成乘性关系,信号存在噪声就存在,信号改变噪声也随之改变。一般通信中我们把加性随机性看成背景噪声,而乘性随机性则是由系统时变性和非线性造成的。这里我们仅介绍加性噪声,加性噪声一般分为一下几类:人为噪声,自然噪声和内部噪声。人
7、为噪声是指信号之外人为的噪声,如外台信号、开关接触噪声、工业的点火辐射等;自然噪声则是由于自然界的各种电磁波源如闪电、大气中电暴和宇宙辐射等造成的噪声;内部噪声是信号采集时系统设备自身产生的各种噪声,如热噪声和散弹噪声等8。以上噪声中确定类型的噪声因为知道其产生机制,所以理论上是能够消除或者基本消除。但是有一类随机噪声因为不能预测其波形而比较难以消除,这种不能预测的噪声系统成为随机噪声。随机噪声可分为三类:(1)周期性噪声是由于发动机等机械、电气干扰特别是交流电等造成的周期性的干扰噪声。(2)脉冲噪声是突发的幅度高且持续时间短的离散脉冲。它的来源是由于爆炸、点击和撞击等,其特点就是脉冲幅度大,
8、持续时间短,两个脉冲之间时间长等。这类噪声通常在时域情况下消除,根据信号的幅度平均值来确定信号幅度的闭值。当信号超过这一闭值时,系统则认为是脉冲噪声,再对脉冲噪声进行衰减。(3)宽带噪声的来源很多,热噪声、气流(如风、呼吸)噪声及各种随机噪声源,量化噪声也可视为宽带噪声。由于宽带噪声与语音信号在时域和频域上完全重叠,因而消除它最为困难。这种噪声只有在语音间歇期才单独存在。对于平稳的宽带噪声通常可以认为是白色高斯噪声。不具有白色频谱的噪声,可以先进行白化处理。对于非平稳的宽带噪声,情况就更为复杂一些。噪声破坏了语音信号原有的声学特征和模型参数,使语音质量下降,也使人产生听觉疲劳。不仅如此,强噪声
9、环境还会对说话的人产生影响,使人改变在安静环境或者低噪声环境中的发音,从而改变了说话人的语音特征参数,它对语音识别系统有很大影响。基本谱减法消除噪声的原理在诸多语音增强方法中,谱减法因其计算量小,容易实现和增强效果好等特点而备受关注,是诸多方法中比较有效的语音增强算法。谱相减方法是居于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而估计语音的短时幅度谱,比较适用于消除带加性噪声的语音。谱减法在20世纪八十年代后用来与其它方法相结合来获得更为有效的语音增强算法。并且成为其它语音增强算法的比较标准。下面我们来详细了解谱减法的原理。在基本谱减法中,假定语音为平稳信号,且
10、噪声为加性噪声,与语音信号彼此不相关。此时带噪语音信号可表示为: (1)式(1)中,y(t)为含噪语音信号,s(t)为纯净语音信号,n(t)为噪声信号。用Y(w),S(w)和N(w)来分别表示y(t),s(t)和n(t)的傅里叶变换,则有下列关系: (2)由公式(2)可得: (3)根据(3)可得: (4)由于基本假定是噪声信号与语音信号是加性的,s(t) 和n(t)独立,所以S(w)和N(w)也独立。故=0。所以对一个分析帧内得短时平稳过程,有: (5)因为噪声是局部平稳的,故可以认为没有语音信息是的噪声与有语音信息时的噪声功率谱是相同的,因而可以利用发语音前的“寂静帧”来估计噪声。由式(5)
11、可以得到原始语音的估计值: (6)式(6)中,下标表示加窗信号,表示估值,则表示无语音信号时的均值。如果式(6)中结果出现负值,则将其改为0或改变符号,因为功率谱不能为负数。由式(6)可得原始语音估值: (7)根据人耳对语音的相位变化不敏感这一特点,我们可以用原带噪语音信号y(t)的相位来代替估计之后的语音信号的相位,将估计后的频域信号进行逆傅里叶变换得到降噪后的语音时域信号。基本谱减法的原理图如图2.1所示:图2.1 基本谱减法的原理示意图改进谱减法消除噪声的原理传统的噪声估计方法是基于最优平滑和最小统计的噪声估计,还有一种采用改进的算法基于语音活性检测的噪声估计算法。语音激活检测指从一段包
12、含语音信号中确定出语音的起始点和终点,又称端点检测。语音端点检测的目的就是从连续记录的带噪语音信号中分离出有用的语音信号。语音激活检测是各种语音处理中必需的一个重要环节,精确地确定输入语音的起点和终点将保证语音处理系统良好的性能。对于语音激活检测在语音增强中的应用,为了得到更多的关于背景噪声特性,语音端点检测更注重于如何准确的检测出无音段。一般的语音激活检测是根据语音帧来进行的,语音帧的长度在1030ms不等。语音端点检测的方法可以综述为:从输入信号中提取一个或一系列的对比特征参数,然后将其和一个或一系列的门限阈值进行比较,如图4-7所示。如果超过门限则表示当前为有音段,否则就表示当前为无音段
13、。带噪语音加窗分帧特征提取与阀值比较判断有无语音图4-7语音激活检测框图目前语音端点检测所采取的方法大体可以分为两类:第一类是噪声环境下基于 HMM 模型的语音信号端点检测的方法,该方法要求背景噪声保持平稳且信噪比较高。第二类方法是基于信号的短时能量进行检测的算法,它通过对背景噪声能量的统计,定出能量门限,利用能量门限来确定语音信号起始点。在这里运用语音端点检测采用了第二类方法,即基于信号的短时能量进行检测的算法。基于信号的短时能量检测具体算法如下:1) 计算每一帧的语音能量: (4-1)式中为帧长,为帧的编号,m为每一帧中的各点,为帧数;然而它有一个缺陷,即它对高电平非常敏感(信号的二次方计
14、算)。为此,定义短时平均幅度函数来表征一帧语音信号的能量大小,定义: (4-2)2) 计算前20帧平均噪声能量;3) 求能量最大值和能量最小值,;4) 根据式(4-2)确定门限 (4-3)应用谱相减法实现语音增强基本原理是通过对带噪语音谱减去噪声谱得到语音谱,因此,语音激活检测这一环节非常重要,准确地确定语音的起始点和终止点对噪声谱估计有着重要的作用。改进型语音降噪处理运用端点检测技术,用MATLAB仿真,可明显显示出其优越性。用MATLAB仿真的流程如下:1)对输入的语音信号进行预滤波;2)对滤波后的语音信号进行预加重;3)将语音信号按每帧128个信号点进行分帧,帧移为64;4)对信号帧加汉
15、明窗(Haming);5)对加窗后的信号帧进行FFT变换;6)对各帧语音信号求功率谱;7)根据前20帧求取平均噪声功率;8)利用VAD进行噪声估计检测寂静段,进而组合递归平滑,更新噪声谱;9)进行谱减运算,得到估计出的语音信号功率谱;10)插入相位谱,计算出语音谱;11)进行IFFT变换,得到还原的语音帧;12)根据各个语音帧组合为语音信号;13)对语音信号进行去加重处理,得到最终信号。3、源程序清单下面是一段无噪声纯净的音频1.wav,用matlab仿真的源程序代码:x,fs,bits=wavread('D:1.wav');x1=x(1:end,1);%因录音时是立体声,故取
16、其中的第一通道的音频数据 sound(x1,fs,bits); X1=fft(x1,4096);%对x1进行4096点傅里叶变换magX1=abs(X1);angX1=angle(X1);subplot(221);plot(x1);title('原始信号波形');subplot(222);plot(X1); title('原始信号频谱');subplot(223);plot(magX1);title('原始信号幅值');subplot(224);plot(angX1);title('原始信号相位');其仿真图如图一所示。前面MAT
17、LAB读取的语音信号声音比较清晰,信噪比较高,用这样的信号实验对比效果不太明显。因此在进行消除噪声实验之前我们要人为的给原始信号添加随机白高斯噪声,降低语音信号的信噪比。下面是matlab加入噪声的源代码:clearx,fs,bits=wavread('D:1.wav');N=size(x,1);x1=x(1:N,1);%因录音时是立体声,故取其中的第一通道的音频数据 fn=1000; %设定噪声的频率为1000Hzt=1:length(x1); %设置噪声的长度跟原语音信一样长,x2=0.5*sin(2*pi*fn/fs*t);%产生幅度为0.5频率为fn的正弦波
18、作为噪声.y=x1+x2' %将原语音信号跟噪声相加,x为带有噪声的语音信号.wavwrite(y,fs,'D:2.wav');%将带有噪声的语音信号转换为声音,2.wav中将有噪声下面是加噪后音频的matlab仿真源代码:x,fs,bits=wavread('D:1.wav');x1=x(1:end,1);%因录音时是立体声,故取其中的第一通道的音频数据 sound(x1,fs,bits); X1=fft(x1,4096);%对x1进行4096点傅里叶变换magX1=abs(X1);angX1=angle(X1);subplot(221);plot(x
19、1);title('加噪后信号波形');subplot(222);plot(X1); title('加噪后信号频谱');subplot(223);plot(magX1);title('加噪后信号幅值');subplot(224);plot(angX1);title('加噪后信号相位');其仿真图如图二所示。下面是噪声的matlab仿真的源代码:clearx,fs,bits=wavread('D:2.wav');%读取2.wav文件并返回fs和bits的值。y=x(1:4096,1);%截取语音信息前4096点作为噪
20、声信号Y=fft(y);%对噪声信号进行傅里叶变换magY=abs(Y);%取噪声功率谱绝对值angY=angle(Y);%取噪声相位subplot(221);plot(y);title('噪声信号波形');subplot(222);plot(Y); title('噪声信号频谱');subplot(223);plot(magY);title('噪声信号幅值');subplot(224);plot(angY);title('噪声信号相位');其仿真的图形如图三所示。下面是利用基本谱减法降噪处理matlab源代码:clear;x,fs
21、,bits=wavread('D:2.wav');y=x(1:4096,1);Y=fft(y);magY=abs(Y);b=;for i=0:126;n=4096;x1=x(1+n*i:n+n*i);X1=fft(x1);magX=abs(X1);S=(magX.2-magY.2);S1=abs(S).0.5;s1=ifft(S1);m=mean(s1)*300;for j=1:4096;if abs(s1(j)>m;s1(j)=s1(j)/4;endenda=s1'b=b a;endx2=b'plot(x2);sound(x2,fs,bits);下面是利
22、用改进的谱减法降噪处理的matlab源代码:clear;x,fs,bits=wavread('D:2.wav');y=x(1:4096,1);Y=fft(y);magY=abs(Y);b1=;a=1.3;b=1.3;%设定和的值for i=0:126;n=4096;x1=x(1+n*i:n+n*i);X1=fft(x1);magX=abs(X1);S=(magX.a-magY.a);S1=abs(S).(1/b);s1=ifft(S1);m=mean(s1)*300;for j=1:4096;if abs(s1(j)>m;s1(j)=s1(j)/4;endenda1=s1'b1=b1 a1;endx2=b1'plot(x2);sound(x2,fs,bits);wavwrite(x2,fs,'D:4.wav')%增强后语音以4.wav为文件名保存其降噪后的matlab仿真图形如图四所示。4、设计结果和仿真波形图一图二图三图四5、参考文献【1】程佩青 数字信号处理教程 清华大学出版社【2】吴镇扬 数字信号处理 高等教育出版社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论