基于matlab谱减法音频降噪处理教材_第1页
基于matlab谱减法音频降噪处理教材_第2页
基于matlab谱减法音频降噪处理教材_第3页
基于matlab谱减法音频降噪处理教材_第4页
基于matlab谱减法音频降噪处理教材_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 题目 基于 matlab 谱减法音频降噪处理 班级 学号 姓名 指导 时间 景德镇陶瓷学院 数字信号处理课程设计任务书 设计课题: 基于 matlab 谱减法音频降噪处理 设 计 任 务 与 要 求 1、题目选择:根据自己掌握的情况选择合适的题目,要求IIR 滤波器的设计中,模 拟滤波器的设计选择一个, 数字滤波器的设计选择一个, FIR 滤波器的设计中, 窗函数 选择一个(可参考选题另有附件) ; 2、掌握 Matlab 软件的基本应用; 设 计 步 骤 1、选择适当的题目,查阅相关资料; 2、技术参数设定,选定所要设计的某种类型的滤波器后,设定相应的技术参数; 3、 Matlab 程序设

2、计; 4、得出结果和仿真波形; 5、总结,对以上各步骤写出详细的设计报告,存在什么问题,如何解决。 正文字数不得少于 3000 字。 参 考 文 献 (1) 程佩青 数字信号处理教程清华大学出版社 (2) 吴镇扬 数字信号处理 高等教育出版社 (3) 胡广书 数字信号处理导论清华大学出版社 (4) (5) (6) 姓名 班级 指导老师 目录 1、设计要求 1 2、设计原理 . . . . . . . 2 3、源程序清单 7 4、设计结果和仿真波形 11 5、参考文献 15. 6、设计心得体会 16 1、设计要求 语言是人类最重要、 直接、有效和便捷的交换信息的方式。 随着近些年科学 技术的飞速

3、发展, 人们也不满足于和计算机的信息交换方式, 希望能够甩掉键盘 和鼠标而实现用语言来对计算机进行控制。 因此,语音信号处理技术便应运而生。 语音信号处理是一门新兴的学科, 同时也是综合多种学科和涉及面非常广泛的交 叉学科。现在在一些职能系统中嵌入有语音处理系统, 但它们只能在安静的环境 中才能使用。 然而,在语音信息的采集过程中难免会有各种噪声的干扰。 噪声不 仅降低了语音的可懂度和语音质量, 还严重的影响语音处理的准确性, 甚至使系 统不能正常工作。 本文将就对语音增强技术的原理和方法进行讨论, 重点介绍语 音增强的一种方法谱减法及其改进算法。 该方法能够有效消除平稳的加性噪 声,其改进算

4、法能够有效消除普通方法产生的“音乐噪声” ,在很大程度上提高 语音信号的信噪比。 目前,语言识别技术已经取得了重大进展, 并开始进入实用阶段。 但语音识 别系统必须在相对比较安静的环境下运行, 然而,在语言信息的采集中难免会有 各种噪声的干扰,在较强的噪声背景下, 语音识别系统的准确性会受到较大影响, 甚至没法正常工作。 所以在语音识别系统对语音信息处理前, 应该对语音信息进 行预处理,即背景噪声消除。 语音背景噪声消除技术的出现使得语音识别技术更 加稳定和精确, 也使得语音信息的可懂度大大提高, 使人们能够从较复杂的语音 信息中提取到更多的有用信息。 2、设计原理 噪声的生成原理及分类 噪声

5、的来源取决于实际应用,不同情形下产生的噪声其特性也是千变万化, 所以没有一种通用的语音增强算法能对每一种噪声起到有效的消除。 下面我们来 简单分析噪声的生成原理及分类情况。 噪声可以分为两大类:加性噪声和非加性噪声,加性噪声一般是指热噪声、 散弹噪声等, 其特点是噪声信号与语音信号是加性的, 噪声不随信号而改变, 即 使信号不存在噪声也会存在。非加性噪声如乘性噪声,他们与信号成乘性关系, 信号存在噪声就存在, 信号改变噪声也随之改变。 一般通信中我们把加性随机性 看成背景噪声,而乘性随机性则是由系统时变性和非线性造成的。 这里我们仅介绍加性噪声, 加性噪声一般分为一下几类: 人为噪声, 自然噪

6、 声和内部噪声。人为噪声是指信号之外人为的噪声,如外台信号、开关接触噪 声、工业的点火辐射等;自然噪声则是由于自然界的各种电磁波源如闪电、 大气中电暴和宇宙辐射等造成的噪声;内部噪声是信号采集时系统设备自 身产生的各种噪声,如热噪声和散弹噪声等8 。 以上噪声中确定类型的噪声因为知道其产生机制, 所以理论上是能够消 除或者基本消除。但是有一类随机噪声因为不能预测其波形而比较难以消 除,这种不能预测的噪声系统成为随机噪声。随机噪声可分为三类:( 1) 周期性噪声是由于发动机等机械、电气干扰特别是交流电等造成的周期性 的干扰噪声。 ( 2)脉冲噪声是突发的幅度高且持续时间短的离散脉冲。它 的来源是

7、由于爆炸、点击和撞击等,其特点就是脉冲幅度大,持续时间短, 两个脉冲之间时间长等。这类噪声通常在时域情况下消除,根据信号的幅 度平均值来确定信号幅度的闭值。当信号超过这一闭值时,系统则认为是 脉冲噪声,再对脉冲噪声进行衰减。 ( 3)宽带噪声的来源很多,热噪声、 气流(如风、呼吸)噪声及各种随机噪声源,量化噪声也可视为宽带噪声。 由于宽带噪声与语音信号在时域和频域上完全重叠,因而消除它最为困难。 这种噪声只有在语音间歇期才单独存在。对于平稳的宽带噪声通常可以认 为是白色高斯噪声。不具有白色频谱的噪声,可以先进行白化处理。对于 非平稳的宽带噪声,情况就更为复杂一些。 噪声破坏了语音信号原有的声学

8、特征和模型参数, 使语音质量下降, 也 使人产生听觉疲劳。不仅如此,强噪声环境还会对说话的人产生影响,使 人改变在安静环境或者低噪声环境中的发音,从而改变了说话人的语音特 征参数,它对语音识别系统有很大影响。 基本谱减法消除噪声的原理 在诸多语音增强方法中,谱减法因其计算量小,容易实现和增强效果 好等特点而备受关注,是诸多方法中比较有效的语音增强算法。谱相减方 法是居于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的 听觉系统产生影响,从而估计语音的短时幅度谱,比较适用于消除带加性 噪声的语音。 谱减法在 20 世纪八十年代后用来与其它方法相结合来获得更为有效 的语音增强算法。并且成为

9、其它语音增强算法的比较标准。下面我们来详 细了解谱减法的原理。 在基本谱减法中,假定语音为平稳信号,且噪声为加性噪声,与语音 信号彼此不相关。此时带噪语音信号可表示为: y(t) s(t) n(t) (1) 式(1) 中, y(t) 为含噪语音信号, 用 Y(w) ,S(w)和 N(w)来分别表示 y(t) 系: s(t) 为纯净语音信号, n(t) 为噪声信号。 ,s(t) 号, 和 n(t) 的傅里叶变换, 则有下列关 Y(w) S(w) N(w) (2) 由公式( 2)可得: Yw 2Re (3) 根据( 3)可得: 2 EN 2E Re S w N w (4) 由于基本假定是噪声信号与

10、语音信号是加性的, s(t) 和 n(t) 独立,所以 S(w)和 N(w)也独立。故 E Re S w N * w =0。所以对一个分析帧内得短时平 稳过程,有: 2 Yw 2 Sw 2 Nw (5) 因为噪声是局部平稳的, 故可以认为没有语音信息是的噪声与有语音信息时 的噪声功率谱是相同的,因而可以利用发语音前的“寂静帧”来估计噪声。 由式( 5)可以得到原始语音的估计值: sw w Nw w (6) 式( 6)中,下标表示加窗信号, 表示估值, Nw w 则表示无语音信号时 Nw 的均值。如果式( 6)中结果出现负值,则将其改为 0 或改变符号,因为 功率谱不能为负数。 由式( 6)可得

11、原始语音估值: Sw 2 Yw 1 22 w (7) 根据人耳对语音的相位变化不敏感这一特点,我们可以用原带噪语音信号 图 2.1 基本谱减法的原理示意图 改进谱减法消除噪声的原理 y(t) 的相位来代替估计之后的语音信号的相位, 将估计后的频域信号进行逆傅里 叶变换得到降噪后的语音时域信号。基本谱减法的原理图如图 2.1 所示: 噪声 方差 传统的噪声估计方法是基于最优平滑和最小统计的噪声估计, 还有一种采用 改进的算法基于语音活性检测的噪声估计算法。 语音激活检测指从一段包含语音信号中确定出语音的起始点和终点, 又称端 点检测。语音端点检测的目的就是从连续记录的带噪语音信号中分离出有用的语

12、 音信号。语音激活检测是各种语音处理中必需的一个重要环节, 精确地确定输入 语音的起点和终点将保证语音处理系统良好的性能。 对于语音激活检测在语音增强中的应用,为了得到更多的关于背景噪声特 性,语音端点检测更注重于如何准确的检测出无音段。 一般的语音激活检测是根 据语音帧来进行的,语音帧的长度在 1030ms不等。语音端点检测的方法可以 综述为:从输入信号中提取一个或一系列的对比特征参数, 然后将其和一个或一 系列的门限阈值进行比较,如图 4-7 所示。如果超过门限则表示当前为有音段, 否则就表示当前为无音段。 图 4-7 语音激活检测框图 目前语音端点检测所采取的方法大体可以分为两类: 第一

13、类是噪声环境下基于 HMM 模型的语音信号端点检测的方法,该方法 要求背景噪声保持平稳且信噪比较高。 第二类方法是基于信号的短时能量进行检测的算法, 它通过对背景噪声能量 的统计,定出能量门限,利用能量门限来确定语音信号起始点。 在这里运用语音端点检测采用了第二类方法, 即基于信号的短时能量进行检 测的算法。 基于信号的短时能量检测具体算法如下: 1)计算每一帧的语音能量: N1 (4-1) Enxn2 (m) m0 式中 N 为帧长, n为帧的编号, m为每一帧中的各点, 1 n L,L 为帧数;然 而它有一个缺陷,即它对高电平非常敏感(信号的二次方计算) 。为此,定义短 时平均幅度函数来表

14、征一帧语音信号的能量大小,定义: N1 xn(m) (4-2) m0 2)计算前 20帧平均噪声能量 EMN ; 3)求能量最大值和能量最小值 EAX , EMIN ; 4)根据式 (4-2)确定门限 T min 0.03( EAX EMIN ) EMN ,4 EMN (4-3) 应用谱相减法实现语音增强基本原理是通过对带噪语音谱减去噪声谱得到 语音谱,因此, 语音激活检测这一环节非常重要, 准确地确定语音的起始点和终 止点对噪声谱估计有着重要的作用。 改进型语音降噪处理运用端点检测技术, 用 MATLAB仿真,可明显显示出其优越性。用 MATLAB仿真的流程如下: 1)对输入的语音信号进行预

15、滤波; 2)对滤波后的语音信号进行预加重; 3)将语音信号按每帧 128 个信号点进行分帧 ,帧移为 64; 4)对信号帧加汉明窗 (Haming); 5)对加窗后的信号帧进行 FFT 变换; 6)对各帧语音信号求功率谱; 7)根据前 20 帧求取平均噪声功率; 8)利用 VAD 进行噪声估计检测寂静段,进而组合递归平滑,更新噪声谱; 9)进行谱减运算,得到估计出的语音信号功率谱; 10)插入相位谱,计算出语音谱; 11)进行 IFFT 变换,得到还原的语音帧; 12)根据各个语音帧组合为语音信号; 13)对语音信号进行去加重处理,得到最终信号 3、源程序清单 面是一段无噪声纯净的音频 1.w

16、av,用 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(x1);title( 原始信号波形 ); subplot(222);plot(X1); title( 原始信号频谱 ); subplot(223);plot(magX1);title( 原始信号幅值 ); subpl

17、ot(224);plot(angX1);title( 原始信号相位 ); 其仿真图如图一所示。 前面 MATLAB读取的语音信号声音比较清晰, 信噪比较高, 用这样的信号实 验对比效果不太明显。 因此在进行消除噪声实验之前我们要人为的给原始信号添 加随机白高斯噪声, 降低语音信号的信噪比。 下面是 matlab 加入噪声的源代码: clear x,fs,bits=wavread(D:1.wav); N=size(x,1); x1=x(1:N,1);%因录音时是立体声,故取其中的第一通道的音频数据 fn=1000; % 设定噪声的频率为 1000Hz t=1:length(x1); % 设置噪声

18、的长度跟原语音信一样长 x2=0.5*sin(2*pi*fn/fs*t) ;%产生幅度为 0.5 频率为 fn 的正弦波作为噪声 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点傅里叶变换 m

19、agX1=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( 加噪后信号相位 ); 其仿真图如图二所示。 下面是噪声的 matlab 仿真的源代码: clear x,fs,bits=wavread(D:2.wav); %读取 2.wav 文件并返回 fs 和 bits 的值。 y=x(1

20、:4096,1) ;%截取语音信息前 4096 点作为噪声信号 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 源代码: c

21、lear; x,fs,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; end end a=s1; b=b a; end x2=b; plot(x2); matlab 源代码

22、: 的值 sound(x2,fs,bits); 下面是利用改进的谱减法降噪处理的 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; end end a1=s1; b1=b1 a1; end x2=b1; plot(x2); sound(x2,fs,bits); wavwrite(x2,fs,D:4.wav)% 增强后语音以 4.wav 为文件名保存 其降噪后的 matlab 仿真图形如图四所示。 10 4、设计结果和仿真波形 图一 11 12 图三 13 图四 14 5、参考文献 【 1】程佩青 数字信号处理教程 清华大学出版社 【 2】吴镇扬 数字信号处理 高等教育出版社 【 3】胡广书 数字信号处理导论 清华大学出版社 【 4】易克初 田斌 付强 语音信号处理 国防工业出版社 【 5

温馨提示

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

评论

0/150

提交评论