版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0 / 28课程设计任务书课程设计任务书学生:专业班级:学生:专业班级:指导教师:指导教师:徐文君徐文君 工作单位:工作单位:信息工程学院信息工程学院 题题 目目: : 基于基于 LMSLMS 算法的多麦克风降噪算法的多麦克风降噪 初始条件:初始条件:Matlab 软件设计任务:设计任务:给定主麦克风录制的受噪声污染的语音信号和参考麦克风录制的噪声,实现语音增强的目标,得到清晰的语音信号。(1)阅读参考资料和文献,明晰算法的计算过程,理解 LMS 算法基本过程;(2)主麦克风录制的语音信号是 LMSprimsp.wav,参考麦克风录制的参考噪声是LMSrefns.wav.用 matlab 指令
2、读取;(3)根据算法编写相应的 MATLAB 程序;(4)算法仿真收敛以后,得到增强的语音信号;(5)用 matlab 指令回放增强后的语音信号;(6)分别对增强前后的语音信号作频谱分析。时间安排:时间安排:序号序号阶段容阶段容所需时间所需时间1搜集学习资料2 天2编写程序并仿真调试4 天3撰写报告2 天4答辩1 天合合 计计9 天指导教师签名:指导教师签名: 年年 月日月日系主任(或责任教师)签名:系主任(或责任教师)签名: 年年 月月 日日I / 28摘 要自适应滤波器实际是一种能够自动调节本身参数的特殊维纳滤波器,在设计时不需要事先知道关于输入信号和噪声的统计特性,它能够在自己的工作过程
3、中逐渐“了解”或估计出所需要的统计特性,并自动调整自己的参数,以达到最佳滤波效果。而基于自适应滤波器的自适应噪声抵消法对含噪语音的增强效果最好。因为这种方法比其他方法多用了一个参考噪声作为辅助输入,从而获得了比较全面的关于噪声的信息,从而能得到更好的降噪效果。本课设研究的主要容是基于最小均方误差准则(LMS)(LMS)自适应噪声抵消法对语音信号进行增强,并应用 MATLAB 仿真软件对研究的容进行分析、讨论和验证。关键词:自适应滤波器,最小均方误差法则,语音增强,LMS 算法AbstractAdaptive filter is actually a way to automatically a
4、djust itself, the specific param -eters of Wiener filter, the design does not require prior knowledge about the input sig -nal and noise statistics, it can work in their own process of gradually learn or estim -ated the statistical properties of the required and automatically adjust their parameters
5、 to achieve the best filtering effect. The adaptive filter based on adaptive noise cancelin -g speech enhancement of noisy best. Because this method more than the other metho -ds most used an auxiliary input referred noise, to obtain more comprehensive informa -formation on the noise can get a bette
6、r noise reduction.The main contents of this course design research is based on minimum mean squ -are error (LMS) adaptive noise cancellation method II / 28to enhance the speech signal,and the application of MATLAB simulation software of analysis, discussion and verificati -on.KEYKEY WORDSWORDS: Adap
7、tive filter, Minimum mean squareerror ,LMS,SpeechenhanceI / 28目录1 1 语音增强概述语音增强概述 1 11.1 语音增强的应用背景 11.2 语音增强的研究历史 12 2 语音增强的方法语音增强的方法 2 22.1 线性滤波法 22.2 梳状滤波法 22.3 自相关法 32.4 卡尔曼滤波法 32.5 自适应噪声抵消法 32.5.1自适应噪声抵消法的原理42.5.2自适应噪声抵消法的应用53 3 自适应滤波自适应滤波 5 53.1 自适应滤波概念 53.2 自适应滤波器的组成 63.3 基本自适应滤波器设计原则 73.4 自适应滤
8、波器结构 74 4 基于自适应滤波的信号增强基于自适应滤波的信号增强 8 84.1 基本维纳滤波器 84.2 最陡下降法 104.3 LMS 算法 115 5 LMSLMS 自适应滤波设计自适应滤波设计 13135.1 LMS 原理 135.2 LMS 算法设计 156 6 MATLABMATLAB 仿真分析仿真分析 15156.1 实验程序设计 166.2 实验结果 166.3 实验结果分析 187 7 实验总结实验总结 18188 8 参考文献参考文献 1919附录附录 MATLABMATLAB 程序程序 20201 / 28基于 LMS 算法的多麦克风降噪1 语音增强概述1.1 语音增强
9、的应用背景语音增强技术是指当语音信号被各种各样的噪声(包括语音)干扰、甚至淹没后,从噪声背景中提取、增强有用的语音信号,抑制、降低噪声干扰的技术。语音增强技术无论在日常生活中,还是在其它的领域,或者对语音信号处理技术本身来说都很有应用价值。在日常生活中,我们经常会遇到在噪声干扰下进行语音通信的问题。如:使用设置在嘈杂的马路旁或市场的公用,或在奔驰的汽车、火车里使用移动时,旁人的喧闹声、汽车和火车的轰鸣声等背景噪声都会干扰语音通讯的质量。对受话人来说,收听夹杂着各种干扰噪声的语音,至少会引起听觉疲劳,严重一点就会错误地识别或根本无法听清对方的语音。通信或信息交换已成为人类社会存在的必要条件,正如
10、衣食住行对人类是必要的一样。语音作为语言的声学体现,是人类交流信息最自然、最有效、最方便的手段之一。但目前语音识别系统大多都是在安静环境中工作的,在噪声环境中尤其是强噪声环境,语音识别系统的识别率将受到严重影响。在上述情况下,必须加入语音增强系统,或者抑制背景噪声,以提高语音通信质量,或者作为预处理器,以提高语音处理系统的抗干扰能力,维持系统性能。因此,语音增强技术在实际中有重要价值。1.2 语音增强的研究历史语音增强方法的研究始于 20 世纪 70 年代中期。随着数字信号处理理论的成熟,语音增强发展成为语音处理领域的一个重要分支。1978 年,Lim 和 Oppenheim 提出了语音2 /
11、 28增强的维纳滤波方法。1979 年,Boll 提出了谱相减方法来抑制噪声。1980 年,Maulay和 Malpass 提出了软判决噪声抑制方法。1984 年,Ephraim 和 Malah 提出基于 MMSE 短时谱幅度估计的语音增强方法。1987 年,Paliwal 把卡尔曼滤波引入到语音增强领域。在近 30 年的研究中,各种语音增强的方法不断被提出,它奠定了语音增强理论的基础并使之逐渐走向成熟。语音增强不但与语音信号处理理论有关,而且涉与到人的听觉感知和语音学。噪声来源众多,随应用场合而异,它们的特性也各不一样。即使在实验室仿真条件下,也难以找到一种通用的语音增强算法去适用各种噪声环
12、境。所以必须针对不同的噪声,采取不同的语音增强对策。2 语音增强的方法现阶段已有许多语音增强的方法,最常见的有线性滤波法、梳状滤波法、自相关法、卡尔曼滤波法以与自适应噪声抵消法。2.1 线性滤波法线性滤波法主要是利用了语音的产生模型。对于加性稳态白噪声干扰的语音信号来说,语音的频谱可以根据语音的产生模型近似地用含噪语音来预测得到。而噪声频谱则用其期望值来近似。这样得到了语音和噪声近似的频谱后就可得到滤波器,即:)()()()(NSSH (2-1)由此滤波器可使语音得到增强。线性滤波法不仅用到了噪声的统计知识,还用到了部分语音知识,但显然这些知识都是一种近似的代替。因此这种方法对提高语音信噪比和
13、可懂度效果十分有限。特别是当信噪比较低时,对语音参数的预测误差明显增大,从而增强效果就不明显,并且当噪声不是白噪声时,按照语音的产生模型就很难准确预测语音参数。因此对有色噪声线性滤波方法就难以实现。2.2 梳状滤波法3 / 28梳状滤波法是利用了语音的频谱特征,即谐波性。从众多语音的频谱结构可以看出:语音频谱特别是元音部分具有明显的谐波特征。当语音受到宽带噪声干扰时,各谐波的间隙之间则基本上都是噪声成分。只要知道基频就可以把谐波之间的噪声成分完全滤掉,这时滤波器只要设计成一组谐波频率处的带通滤波器即可。这个方法的主要缺点是必须己知通信语音的基频,而当信噪比较低时,基频的确定变得十分困难。2.3
14、 自相关法自相关法是利用语音时域小型特征,即相关性来增强语音信号的。在语音信号中,元音和浊音都具有明显的周期性,它的相关函数也具有周期性。而噪声一般是无规则的,它的自相关函数自 R(0)开始很快地衰减,因此含噪语音的相关函数基本上就是噪声中语音的相关函数。由于语音的相关函数与语音信号本身具有一样的频率成分,只是其幅度近似为语音信号幅度的平方值,因此只要对含噪语音的自相关值作适当的处理就可从噪声中提取出语音信息。自相关法的主要缺点是对语音信息的损伤较大。一方面语音信号毕竟与其自相关信号有很大的不同,虽然能用数学的方法加以校准,但这种校准也是有限的。另一方面,辅音的持续时间较短,且周期性又很差,进
15、一步加深了语音的失真度。2.4 卡尔曼滤波法为了获得较好的语音增强效果,必须尽可能的了解噪声和语音的信息,以卡尔曼滤波器为主体的语音增强方是建立在噪声模型和语音模型的基础上。噪声和语音都可以认为是一个由高斯白噪声驱动的、具有适当阶数的自回归 AR 模型。估计语音模型参数时,可把噪声的影响排除,从而较准确地估计出语音模型参数,由此参数就可以估计语音值。一般看来,这种方法似乎是一个较好的语音增强方法,但实际也存在不少问题。(1)语音和非语音的判别问题,当信噪比很低时判别非常困难。(2)噪声必然会对语音参数的估计产生影响,特别是在信噪比较低时,语音估计参数就难以保证有足够的精确度。(3)整个过程的计
16、算复杂性也较大,难以实时实现。4 / 282.5 自适应噪声抵消法自适应噪声抵消法比其它方法多用了一个参考噪声作为辅助输入,从而获得了比较全面的关于噪声的信息,因而能得到更好的降噪效果。特别是在辅助输入噪声与语音中的噪声完全相关的情况下,自适应噪声抵消法能完全排除噪声的随机性,彻底地抵消语音中的噪声成分,从而无论在信噪比(SNR,Signal to Noise Ratio)方面还是在语音可懂度方面都能获得较大的提高。其工作原理实质上以均方误差或方差为最)(2neE)(2ne小准则,对噪声进行最优估计,然后从含噪声的语音中减去噪声达到)(nn)()(nnny)(nn降噪,提高信噪比,增强语音。本
17、文主要采用自适应噪声抵消法对含噪语音信号去噪。2.5.1 自适应噪声抵消法的原理一个最简单的自适应噪声抵消原理示意图如图 6-1 所示:图 6-1 自适应噪声抵消原理图 6-1 中抵消器的“原始输入 为,其中 s 为沿信道传递到传感器的信号,0ns 为一个与信号 不相关的噪声,抵消器的“参考输入 为噪声,与信号 s 不相关,0ns1n1n却以某种未知的方式与噪声相关,由图可以看出噪声经自适应滤波器输出,再从0n1ny原始输入中减去该输出,产生了系统的输出。0nsynse如果可以知道噪声传输到原始输入端和参考输入端的通道特性,则一般而言,就可以设计出能够将变成的固定滤波器。然后,从原始输入减去滤
18、波器的输出1n0ny 0ns y,则系统的输出就应当只有信号 ,然而,一般地,传输通道均是未知的,则使用固定s参数滤波器就行不通。5 / 28在图 6-1 的系统中,参考输入经过了一个自适应滤波器的处理,此自适应滤波器1n通过某种由与输出有关的误差 e 所控制的最小均方算法自动调节自身的冲激响应,当采用了适应的算法,滤波器可以在变化的条件下进行工作,并且不断的调节自身,使误差信号 e 达到最小。在这个系统中,我们的目的是在最小均方意义下,产生对信号最佳拟合的输出信)(ts号。我们将系统输出反馈回自适应滤波器,并按照某种自适应算法调节)()()(0tytnts此滤波器,使系统输出的功率达到极小,
19、即可实现这一目标。在这个自适应噪声抵消(ACN)系统中,系统输出被用做自适应过程的误差信号。2.5.2 自适应噪声抵消法的应用自适应噪声抵消技术是通信、雷达、声纳、生物医学工程等研究领域受到重视的问题之一,如在语音通信系统中,必须抑制由于传输误差所引入的接收语音波形的冲激式失真干扰。利用由自适应滤波器所构成的自适应噪声干扰抵消系统,可以获得自动跟踪捕捉噪声干扰源和高信噪比的优异性能。在航空战斗环境中使用自适应噪声抵消器,可以大大改善航空通信质量。在标准计量信号发生器中使用自适应滤波器,可以将电源频率的干扰降低到 100dB 以下。利用自适应滤波器还可以有效地降低酒会宴会厅的噪声。3 自适应滤波
20、3.1 自适应滤波概念从连续的(或离散的)输入信号中滤除噪声和干扰以提取有用信号的过程称为滤波。相应的装置称为滤波器。当滤波器的输出为输入的线性函数时,该滤波器称为线性滤波器,否则就称为非线性滤波器。根据滤波器的参数是随时间变化的,又可以将滤波器分为时变和非时变滤波器两种。滤波器研究的一个基本课题就是:如何设计和制造最佳的或者是最优的滤波器。所谓最佳滤波器是指能够根据某一最佳准则进行滤波的滤波器。假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳随机过程。维纳根据最小均方误差准则(滤波6 / 28器的输出信号与需要信号之差的均方值最小) ,求得了最佳线性滤波器的参数,这种滤波器被成为维
21、纳滤波器。要实现维纳滤波,就要求:1、输入过程是广义平稳的;2、输入过程的统计特性是已知的。然而,由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,因而不能满足上述两个要求。这就促使人们研究自适应滤波器。自适应滤波器在输入过程的统计特性位置时,或输入过程的统计特性变化时,能够调整自己的参数,以满足某种最佳准则的要求。当输入过程的统计特性未知时,自适应滤波器调整自己参数的过程称为“学习过程” 。而当输入过程的统计特性变化时,自适应滤波器调整自己参数的过程为“跟踪过程” 。自适应滤波器包括自适应时域滤波器和自适应空域滤波器,它和信息论、检测与估计理论等密切相关,是近二
22、十多年来发展起来的信息科学的一个重要分支。3.2 自适应滤波器的组成自适应滤波器的组成如图 3-1 所示。它可分为可编程滤波器(滤波部分)与自适应算法(控制部分)两部分。可编程滤波器即参数可变的滤波器,自适应算法对其参数进行控制以实现最佳工作。(a)开环算法 (b)闭环算法图 3-1 自适应滤波器的组成自适应算法主要根据滤波器输入统计特性进行处理。它可能还与滤波器输出和其他参数有关。根据自适应算法是否与滤波器输出有关,可以将其分为开环算法和闭环算法两类。开环算法的控制输出仅取决于滤波器的输入和某些其他数据,但是不取决于滤波器的输出,如图 3-1(a)所示。闭环算法的控制输出则是滤波器输入、滤波
23、器输出以与某些其他输入的函数,如图 3-1(b)所示。闭环算法利用了输出反馈,它不但能在滤波器输入变化时保持最佳的输出,而且还能在某种程度上补偿滤波器元件参数的变化和误差以与运算误差。它的缺点是存在稳定性问题以与收敛速度不高。开环算法的优点是调整速度快,一般不存在稳定性问题。但是通常要求的计算量大且不能补偿元件参数误差与运算误差。因此,多数采用闭环算法。7 / 283.3 基本自适应滤波器设计原则自适应滤波器通常由两部分构成,其一是滤波子系统,根据它所要处理的功能而往往有不同的结构形式。另一是自适应算法部分,用来调整滤波子系统结构的参数,或滤波系数。在自适应调整滤波系数的过程中,有不同的准则和
24、算法。自适应滤波器含有两个过程,即自适应过程和滤波过程。前一过程的基本目标是调节滤波系数,使得有)(kwi意义的目标函数或代价函数最小化,滤波器输出信号逐步逼近所期望的参考信号(.)(ky,由两者之间的误差信号驱动某种算法对滤波系数进行调整,使得滤波器处于最)(kd)(ke佳工作状态以实现滤波过程。所以自适应过程是一个闭合的反馈环,算法决定了这个闭合环路的自适应过程所需要的时间。但是,由于目标函数是输入信号,参考信号(.)(kx与输出信号的函数,即)(kd)(ky (3-1)(.)x(k) , d(k) , y(k) 因此目标函数必须具有以下两个性质:非负性(3-2)y(k)d(k),x(k)
25、, 0 y(k)d(k),x(k),(.)最佳性(3-3)d(k)y(k) , 0 y(k)d(k),x(k),(.)when在自适应过程中,自适应算法逐步使目标函数最小化,最终使逼近于,(.)(ky)(kd滤波参数或权系数收敛于,这里是自适应滤波系数的最优解即维纳解。因此,)(kwioptwoptw自适应过程也是自适应滤波器的最佳线性估计的过程,既要估计滤波器能实现期望信号的整个过程,又要估计滤波权系数以进行有利于主要目标方向的调整。这些估计过程)(kd是以连续的时变形式进行的,这就是自适应滤波器需要有的自适应收敛过程。如何缩短自适应收敛过程所需要的收敛时间,这个与算法和结构有关的问题是人们
26、一直重视研究的问题之一。3.4 自适应滤波器结构自适应滤波器利用前一时刻的结果,自动调节当前时刻的滤波器参数,以适应信号和噪声未知或随机变化的特性,得到有效的输出,主要由参数可调的数字滤波器和自适应算法两部分组成,如图 3-2 所示8 / 28图 3-2 自适应滤波器原理图x(n)称为输入信号,y(n)称为输出信号,d(n)称为期望信号或者训练信号,e(n)为误差僖号,其中,e(n)=d(n)-y(n).自适应滤波器的系数(权值)根据误差信号 e(n),通过一定的自适应算法不断的进行改变,以达到使输出信号 y(n)最接近期望信号图中参数可调的数字滤波器和自适应算法组成自适应滤波器。自适应滤波算
27、法是滤波器系数权值更新的控制算法,根据输入信号与期望信号以与它们之间的误差信号,自适应滤波算法依据算法准则对滤波器的系数权值进行更新,使其能够使滤波器的输出趋向于期望信号。4 基于自适应滤波的信号增强4.1 基本维纳滤波器基本维纳滤波就是用来解决从噪声中提取信号问题的一种滤波方法。它的解是以均方误差最小条件下所得到的系统的传递函数或单位样本响应的形式给出的,因)(zH)(kh此更常称这种系统为最佳线性过滤器或滤波器。设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位样本响应或传递函数的表达式,其实质是解维纳-霍)(kh)(zH夫(Wiener-Hopf)方程。如图 4-1 所示,有两个信
28、号 x(k)和 y(k)同时加在滤波器上。典型地 y(k)包含一个与x(k)相关地分量和另一个与 x(k)不相关地分量。维纳滤波器则产生 y(k)中与 x(k)相关分量地最优估计,再从 y(k)中减去它就得到 e(k)。9 / 28图 4-1 基本维纳滤波器假定一个 N 个系数(权值)的 FIR 滤波器的结构,维纳滤波和原始信号 y(k)之间的差信号 e(k)为:(4-1) 10)(NiikkkTkkkkxiwyxwynye其中和 w 分别为输入信号矢量和权矢量,由下式kx) 1() 1 () 0 (Nwwww(4-2) ) 1(1Nkkkkxxxx误差平方为: (4-3) wxxwwxyye
29、TkkTTkkkk222对上式两边取期望得到均方误差(MSE),若输入 x(k)与输出 y(k)是联合平稳的,则:(4-4) RwwwPwxxwEwxyEyEeETTTkkTTkkkk22222其中代表期望,是的方差,是长度为 N 的互相关矢量, E22kyE)(kykkxyEP 是 NN 的自相关矩阵。一个 MSE 滤波系数的图形是碗形地,且只有唯一地底TkkxxER 部,这个图称为性能曲面,它是非负的。性能曲面的梯度可由下式给出:RwPdwd22(4-5) 10 / 28图 4-2 基本维纳滤波器每组系数 w(i)(i=1,2,N-1)对应曲面是一点,在曲面矢地最小点梯度为 0,滤波权矢量
30、达到最优,optw (4-6) PRwopt1即著名的维纳霍夫曼方程的解。自适应滤波的任务是采用合适的算法来调节滤波权重,从而找到性能曲面地最优点。1)-(Nw,(1),w(0),wiiioptw维纳滤波的实际用途有限,若信号为非平稳的,则 R 和 P 是时变的,必需重复计算。对于实际的应用需要能够依次加入抽样点而得到的算法。自适应算法就是用于optwoptw达到这个目的,而且不需显式计算 R 和 P 或进行矩阵求逆。4.2 最陡下降法最陡下降法构成了不少算法,是 LMS 算法的基础。均方误差性能函数为:WRWrwndExxTxdT2)(2(4-7) 对 W 求梯度为: (4-8) xdxxW
31、rWR22由式(4.7)可见,均方误差是权系数,的二次函数。当权矢量时,1wMwoptWW 达到最小值,几何上这相当于超抛物面的“碗底。在一般情况,滤波器在迭代过min程中或当输入过程统计特性发生变化时,权矢量并不正好等于最佳值上。为了减WoptW11 / 28小误差,一个显然的方法是找出该工作点处使均方误差减小速率最大的方向,亦即梯度的负方向,然后令权矢量 W(n)沿着梯度的负方向修正。换句话说,如果在第 n 次迭W代上权矢量取为,则第 n+1 次迭代时,加权系数应取为:)(nW) 1( nWWnWnW)() 1((4-9) 其中为的梯度,而为常数并称为步长因子或收敛因子。的表达式为:WW2
32、)(2)() 1(xdxxrnWRnWnW(4-10) 或:xdxxrnWRInW2)()2() 1((4-11) 4.3 LMS 算法为了采取最陡下降法,需要知道均方误差性能函数的梯度的精度值,这就要求输入信号和需要信号平稳且其二阶统计特性为已知。这时可以根据输入信号)(nX)(nd和需要信号的采样值估计和,从而采用最陡下降法寻求。但当上述)(nX)(ndxxRxdroptW条件不具备时,我们只能把随机的平方误差当成是均方误差。对前者进行)(2ne)(2neE求梯度的运算,所得到的结果就取为关于后者的真实梯度的估计。这就是由WWWidrow 等人提出的最小均方算法,即 LMS 算法。下面推导
33、一下它的公式。在最陡下降法的式中,用梯度的估计代替梯度即得:WW(1)( )WW nW n(4-12) LMS 算法采用如下的梯度估计值:22( )( )WWWE e ne n (4-13) 即它用瞬时输出误差功率的梯度作为均方误差梯度的估计值。)(2neW)(2neEW换句话说,它用瞬时平方误差性能函数代替了均方误差性能函数)。)(2ne)(2neE得:)()() 1(2nenWnWW (4-14))()()()()()(nXnWndnyndneT(4-15)可得:)()(2)(2nXneneW(4-16) 将式(4-16)代入式(4-14)得:)()(2)() 1(2nXnenWnW(4-
34、17) 12 / 28LMS 算法的递推式的最大优点是它没有交叉项,因而可以方便地写成纯量方程组: ,i=1,2,M (4-18) )()(2)() 1(nXnenWnwiii(4-19))(22)() 1(nWRrnWnWxxxd下面,我们对 LMS 算法加权矢量的平均值的变化规律和加权矢量的随机起伏所形成的影响进行讨论。1算法加权矢量平均值的收敛条件为LMS当且仅当max10时optnWnWE)(lim(4-20) 因为实用时很少能够知道的各个特征值,实际上,我们有xxRxxrRTmax(4-21) 其中为的迹,且xxrRTxxRmimiimixxrMPinxERT112)1((4-22)
35、 式中为输入信号的功率。这样,我们可以写出下列的收敛充分条件 imP)(nx1)(0imMP(4-21) 2LMS 算法加权矢量平均值的过渡过程为 (4-22) mikikioptinCwnwE1)exp()(其中(4-23) iiiIn21)21 (1为)的第 分量。 即 LMS 算法的加权矢量分量的平均值按 M 个指数)(nwEi)(nwEi函数之和的规律,由初始值收敛到最佳值,而指数函数的时间常数与特征值成反比。取决于最慢的一个指数过程。值对的收敛过程有很大影响。必须选)(nwEi)(nwEi得满足收敛条件。3.LMS 算法计算步骤为:初始化调整步长;初始化滤波器抽头系数矩阵(4-24)
36、TNnCopr1,.,1 , 1 , 1)(13 / 28计算 n-1 时刻的误差:(4-25)) 1() 1() 1() 1(nCnXndneoprNTN求出当前时刻的抽头系数(4-26))()() 1()(nXnenCnCNNNopropr该步计算需要乘法 N+1 次,加法 N 次,当滤波器阶数为时,完成一次迭代计算,N共需要次乘法,次加法。大多数信号处理器都适宜进行乘法累加的算术操作,12NN2这就使 LMS 算法更具吸引力。5 LMS 自适应滤波设计5.1 LMS 原理记数字滤波器脉冲响应为: h(k)=h0(k) h1(k) hn-1(k)T (5-1)输入采样信号为: x(k)=x
37、(k) x(k-1) x(k-n-1)(5-2)误差信号为:)()()(kykyke (5-3)( )( )( ) ( )Te ky khk x k(5-4)优化过程就是最小化性能指标 J(k),它是误差的平方和:21( ) ( )( ) ( )kTiJ ky ihk x i(5-5)求使 J(k)最小的系数向量 h(k),即使 J(k)对 h(k)的导数为零,也就是:0)()(kdhkdJ (5-6)把 J(k)的表达式代入,得:12 ( )( ) ( ) ( )0kTiy ihk x i x i(5-7)和 (5-8)11( ) ( )( )( )( )kkTTTiixi y ihkx i
38、 xi由此得出滤波器系数的最优向量: 14 / 2811( ) ( )( )( )( )kTTikTixi y ihkx i xi(5-9)这个表达式由输入信号自相关矩阵和输入信号与参考信号的相关矩阵组( )xxcx( )yxck成,如下所示,维数都为(n,n):(5-10)1( )( ) ( )kTxxickxi x i(5-11)1( )( ) ( )kTyxickxi y i系数最优向量也可以写成如下形式:(5-12)1( )( )( )Toptyxxxhkck ck自相关和互相关矩阵的递归表达式如下:(5-13)( )(1)( )( )Txxxxckckx k xk(5-14)( )(
39、1)( )( )Tyxyxckcky k xk把的递归表达式代入系数向量表达式,得:( )yxck(5-15)1( )( )( )Tyxxxhkck ck即(5-16)1( )(1)( ) ( )( )TTyxxxhkckxk y k ck考虑到(5-17)(1)(1)(1)Tyxxxckhkck可以记1( )( )(1) (1)( ) ( )xxxxh kcx ckh ky k x k(5-18)用前面得到的表达式求出,并代入上式:(1)xxck 1( )( )( )( )( ) (1)( ) ( )Txxxxh kcxckx k xk h ky k x k(5-19)或 1( )(1)(
40、) ( ) ( )( )( ) (1)Txxh kh kcxy k x kx k xk h k(5-20)则滤波器系数的递归关系式可以记作: 1( )(1)( ) ( ) ( )( )( ) (1)Txxh kh kcxy k x kx k xk h k(5-21)其中(5-22)( )( )( ) (1)Te ky kxk h k15 / 28e(k)表示先验误差。只因为它是由前一个采样时刻的系数算出的,在实际中,很多时候由于 h(k)计算的复杂度而不能应用于实时控制。用 ,I 代换,其中: 为自( )xxck适应梯度,I 为辨识矩阵(n,n) 。这时(5-23)( )(1)( ) ( )x
41、h kh kk e k这时就是一个最小均方准则问题。5.2 LMS 算法设计LMS 算法是自适应滤波器中常用的一种算法,与维纳算法不同的是,其系统的系数随输入序列而改变。维纳算法中截取输入序列自相关函数的一段构造系统的最佳系数。而LMS 算法则是对初始化的滤波器系数依据最小均方误差准则进行不断修正来实现的。因此,理论上讲 LMS 算法的性能在同等条件下要优于维纳算法,但是 LMS 算法是在一个初始化值得基础上进行逐步调整得到的,因此,在系统进入稳定之前有一个调整的时间,这个时间受到算法步长因子 u 的控制,在一定值围,增大 u 会减小调整时间,但超过这个值围时系统不再收敛,u 的最大取值为 R
42、 的迹。权系数更新公式为:Wi+1=Wi+2ueiXi依据上述算式,制定 LMS 滤波器设计实现方法为:(1)设计滤波器的初始化权系数 W(0)=0,收敛因子 u;(2)计算输入序列经过滤波器后的实际输出值:out(n)=WT(n)*X(n);(3)计算估计误差 e(n)=xd(n)-out(n);(4)计算 n+1 阶的滤波器系数 Wn+1=Wn+2*u*e(n)*X(n);(4)重复(2)-(4)过程;6 MATLAB 仿真分析语音增强的目的就是消除噪声以加强语音的通信质量。最常见的是基于自适应的噪声抵消法对语音进行增强。本节应用 LMS 自适应滤波算法并结合 Matlab 仿真软件对语音
43、增强模型进行讨论和分析。16 / 286.1 实验程序设计为了噪声的精确对照,本程序采用有用信号叠加系统自生成高斯噪声信号得到含噪信号,利用加高斯噪声作为对照。可用 Matlab 控制生成加噪后和噪声的 wav 文件写入磁盘。程序按照上一章算法设计过程进行设计,设计过程中考虑以下几点:(1)由于滤波器的权系数必须是依据输入序列来更新的,当输入序列未达到 X(N)时,由于部分存储器中没有数值或者造成滤波器输出误差只有 longth- N 个,系数更新达不到要求,因此要对输入前的存储器进行赋零初始化。(2)由于自适应滤波器有一个调整时间,因此序列的长度 length 必须足够长,至少要大于滤波器的
44、激励时间。否则滤波器输出都是无效数据,滤波器的设计也没有意义。(3)同等阶数条件下,LMS 自适应自适应滤波器与维纳滤波器的效果相比,理论上应该自适应滤波器的效果较好,因为它是自适应的,在程序上表现为 out 的输出在 lms 算法中是在循环程序实现的。 6.2 实验结果收敛因子对程序的运行结果至关重要,滤波器阶数也有一定的影响。针对不同的信号需要用到不同的收敛因子。在程序经过不断调试后,确定滤波器阶数为 20,收敛因子为 0.05。Matlab 信号波形图、频谱分析图,期望信号与频谱分别如图 6-1,6-2 和 6-3 所示。17 / 28图 6-1 信号波形图图 6-2 频谱分析图18 /
45、 28图 6-3 期望信号与频谱6.3 实验结果分析在程序运行的开始播放了加噪的语音信号,噪音的声音很大,在程序结束的时候,播放滤波后的输出信号,可以清楚的听到人声,噪音减小了好多。达到了预期的目的从图 6-2 的频谱分析图上来看,输出信号的频谱轮廓与原始信号的频谱轮廓相似,只是幅度平均值不一样,从图上来看,噪声信号的幅度值变化不大,主要集中在 100 左右,原始信号的幅度平均值大概等于噪声信号的平均幅度加上输出信号的平均幅度。通过输出信号的试听和频谱的分析,可以发现利用 LMS 算法的多麦克风降噪的目的达到了。从调试过程中获得了改善 LMS 滤波器性能的方法:在满足收敛速度要求的条件下,适当
46、的降低收敛因子,提高滤波器的阶数可以改善滤波器输出波的平滑型,但减小收敛因子可能会在很长一段时间产生一个较大的均方误差,所以收敛速度和滤波效果有一个矛盾,二者必须折衷选择。提高滤波器的阶数也可以改善滤波效果,但需要提高存储空间。7 实验总结在课程设计的过程中,通过查阅我明白了基于 LSM 多麦克风语音信号降噪的过程以与 LSM 的原理与实现方法,通过 MATLAB 编程与仿真,实现了语音信号的降噪,并且从不19 / 28清楚的语音信号过 LSM 降噪得到了清晰的语音信号,充分体会了基于 LSM 多麦克风语音信号降噪这一技术的作用。同时,也学会了对语音信号进行频谱分析,以与进一步熟悉了 MATL
47、AB 的使用过程,加深了 对这一软件的了解,提高了自己动手的能力。在弄懂了的 LMS 算法的基本原理后,我尝试自己写程序,但写出的程序错误百出,逻辑不够严密,于是参考学习了其他的资料,对程序错误的调试耗费了我很长时间,通过网络资料和书本搜罗了不少细节的资料,使我对 Matlab 编程的了解提高了一个新的层次。全部程序编完后,我已对算法掌握的非常熟练,甚至觉得曾经认为很难的原理现在已经变得很简单,这便是掌握知识的很高的境界了吧。有辛酸,有开心,这次课设我真的受益匪浅。不足之处是输出的信号时域图和频域图和期望的仍有差别,即少部分噪声仍存在,原因是录音文件长度较短,采样序列长度较短导致迭代次数较少,
48、没有真正得到最佳的迭代结果。但是基本的轮廓还是拟合的很一致,录音长度再增加的话,结果会更好。感老师的指导和同学们的帮助,我会在学习的道路上走得更远。8 参考文献1天任,数字语音处理,华中科技大学,2007 2邹国良,自适应滤波理论与应用M,大学,2007.3胡广传,数字信号处理理论、算法与实现,清华大学,2007 4良、智,基于自适应滤波的语音增强算法:大学学报,2006 5袁俊泉,MATLAB 信号处理.清华大学,2002.5.6力,语音信号处理,机械工业,20037利竹,王华MATLAB 电子仿真与应用国防工业,2003 8 徐明远,增力.MATLAB 仿真在信号处理中的应用M.:电子科技
49、大学,2007 9 郭仕剑等.MATLAB7.X 数字信号处理.人民邮电M,200610 钟麟,王峰.MATLAB 仿真技术与应用教程M.国防工业,200420 / 28附录 Matlab 程序clear all ;close all;primary,Fs,nbits = wavread(voice.wav); %加噪声前信号Noise=0.2*randn(length(primary),1); %生成高斯白噪声s=primary+Noise; %把噪声添加进原信号sound(s); %播放加噪信号wavwrite(s,Fs,D:MATLAB7worknoiseadded.wav) ; %向磁
50、盘中写入加噪后音频文件wavwrite(Noise,Fs,D:MATLAB7worknoise4.wav) ; %写入噪声音频文件Noise = Noise; s = s;a1,N = size(s); %使用的两音频文件不完全等长时需要分别知道长度 a2,n2=size(Noise);subplot(311);plot(s);title(含噪信号); %绘制含噪信号subplot(312);plot(Noise);title(噪声信号); %绘制噪声信号worder = 20; %滤波器级数w = zeros(1,worder); %初始化抽头系数序列21 / 28 %initilize the output%Zero pad so we can start filter at 0 and not throw of the indexfrefpad = zeros(1,worder -1) s; n3=min(n2,N); %取两序列长度的最小值作为迭代长度mu = 0.05; %初始化学习算法的收敛因子output=zeros(1,n3); %初始化输出序列e=zeros(1,n3); %初始化误差序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颈部淋巴水肿护理查房
- 运营定价策略方案设计
- 公司合作运营方案模板
- 黄埔企业短视频运营方案
- 酒店项目全周期运营方案
- 简图电商代运营方案
- 古装妆造店运营方案
- 小团队运营管理方案
- 2025年新能源电池在通信基站备用电源中的应用分析报告
- 飞猪运营方案模板
- 电视编导业务知到智慧树章节测试课后答案2024年秋浙江传媒学院
- 有限空间监理实施细则
- 领导干部离任交接表
- 主题三 我的毕业季(教学设计)辽师大版六年级下册综合实践活动
- 从苦难中开出永不凋谢的花 -《春望》《石壕吏》《茅屋为秋风所破歌》群诗整合教学
- JBT 9229-2024 剪叉式升降工作平台(正式版)
- GJB9001C质量保证大纲
- 陕22N1 供暖工程标准图集
- 车用时间敏感网络通讯芯片功能和性能要求
- 《童年》读书分享PPT
- 【论网络暴力行为的刑法规制7000字】
评论
0/150
提交评论