语音降噪--LMS算法_第1页
语音降噪--LMS算法_第2页
语音降噪--LMS算法_第3页
语音降噪--LMS算法_第4页
语音降噪--LMS算法_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

论文第一章是绪论部分,阐述了课题研究的背景、目的和意义。第二章介绍了几种常见的语音降噪方法,并对每种方法进行了简单的分析,针对文章研究的内容,选择了适合的语音降噪方法。第三章先介绍了自适应滤波器技术原理,接着分析了噪声抵消算法的原理及算法性能比较,最后对LMS算法进行了详细分析。第四章对两种变步长LMS算法做了进一步的改进,对所提出的算法进行性能仿真,并针对仿真结果进行算法的可行性和性能分析。第五章引入并改进了频域快速LMS算法,并针对仿真结果进行算法的可行性和性能分析。第六章是对全文的总结,分析了本文的主要研究成果,并对未来工作进行了分析与展望。语音降噪 LMS算法第2章 语音降噪的模型与方法2.1 引言语音降噪主要研究如何利用信号处理技术消除信号中的强噪声干扰,从而提高输出信噪比以提取出有用信号的技术。消除信号中噪声污染的通常方法是让受污染的信号通过一个能抑制噪声而让信号相对不变的滤波器,此滤波器从信号不可检测的噪声场中取得输入,将此输入加以滤波,抵消其中的原始噪声,从而达到提高信噪比的目的。2.2 语音和噪声的特性2.2.1 语音的特性(1)语音是时变的、非平稳的随机过程人类发音系统生理结构的变化速度是有一定限度的,在一段时间内(10-30ms),人的声带和声道形状是相对稳定的,因而语音的短时谱具有相对稳定性,所以在语音分析中就可利用短时谱的这种平稳性1。(2)语音可分为浊音和清音两大类浊音在时域上呈现出明显的周期性,在频域上有共振峰结构,而且能量大部分集中在较低频段内而清音段没有明显的时域和频域特征,类似于白噪声。在语音增强研究中,可利用浊音的周期性特征,采用梳状滤波器提取语音分量或者抑制非语音信号,而清音则难以与宽带噪声区分。(3)语音信号可以用统计分析特性来描述由于语音是非平稳的随机过程,所以长时间的时域统计特性在语音增强的研究中意义不大。语音的短时谱幅度的统计特性是时变的,只有当分析帧长趋于无穷大时,才能近似认为其具有高斯分布。高斯分布模型是根据中心极限定理得到的,将高斯模型应用于有限帧长只是一种近似的描述。在宽带噪声污染的语音增强中,可将这种假设作为分析的前提。(4)语音感知对语音增强研究有重要作用人耳对语音的感知主要是通过语音信号频谱分量幅度获得的,人耳对频率高低的感受近似与该频率的对数值成正比。共振峰对语音的感知十分重要,特别是第二共振峰比第一共振峰更为重要。2.2.2 噪声的特性噪声来源于实际的应用环境,因而其特性变化无穷,噪声可以是加性的,也可以是非加性的。考虑到加性噪声更普遍且易于分析问题,并且对于部分非加性噪声,如乘积性噪声或卷积性噪声,可以通过同态变换而成为加性噪声,这里我们仅讨论加性噪声。加性噪声大致可分为周期性噪声、冲激噪声和宽带噪声:(1)周期性噪声周期性噪声的特点是有许多离散的窄谱峰,它往往来源于发动机等周期运转的机械,如或交流声会引起周期性噪声。周期性噪声引起的问题可以通过功率谱发现,并通过滤波或变换技术将其去掉。(2)冲激噪声冲激噪声表现为时域波形中突然出现的窄脉冲,它通常是放电的结果。消除这种噪声可根据带噪语音信号幅度的平均值确定闽值,当信号幅度超过这一阈值时判为冲激噪声,然后进行消除。(3)宽带噪声宽带噪声的来源很多,如热噪声、气流如风、呼吸噪声及各种随机噪声源等,量化噪声也可视为宽带噪声。由于宽带噪声与语音信号在时域和频域上完全重叠,因而消除它最为困难,这种噪声只有在语音间歇期才单独存在。对于平稳的宽带噪声,通常认为是白色高斯噪声不具有白色频谱的噪声,可以先进行白化处理。对于非平稳的宽带噪声,情况就更为复杂一些。本文中研究的噪声等以人的呼吸或实验室环境下的噪声为主要对象,这种噪声一般符合如下的假设:(1)噪声是加性的;(2)噪声是局部平稳的,局部平稳是指一段带噪语音中的噪声,具有和语音开始前那段噪声相同的统计特性,且在整个语音段中保持不变,也就是说,可以根据语音开始前那段噪声来估计语音中所叠加的噪声统计特性;(3)噪声与语音独立或不相关。2.2.3 带噪语音模型本文中研究的噪声是以工厂噪声、人的噪音以及汽车噪声等为主要对象,一般符合如下的假设噪声是加性的、局部平稳的、噪声与语音统计独立或不相关。带噪语音模型表达式如下2 (2-1)其中表示纯净语音,表示噪声,表示带噪语音。带噪语音模型如图2-1所示:图2-1 带噪语音模型而说噪声是局部平稳,是指一段带噪语音中的噪声,具有和语音段开始前那段噪声相同的统计特性,且在整个语音段中保持不变。也就是说,可以根据语音开始前那段噪声来估计语音中所叠加的噪声统计特性。2.3 几种传统的语音降噪方法通过对前人在噪声抵消方面的研究的学习和总结,现以语音信号为例,列举几种语音降噪的方法并对其性能进行简单介绍如下:2.3.1 频谱减法频谱减法是利用噪声的统计平稳性以及加性噪声与读音不相关的特点而提出的一种语音增强方法。这种方法没有使用参考噪声源,但它假设噪声是统计平稳的,即有语音期间噪声振幅谱的期望值与无语音间隙噪声的振幅谱的期望值相等。用无语音间隙测量计算得到的噪声频谱的估计值取代有语音期间噪声的频谱,与含噪语音频谱相减,得到语音频谱的估计值。当上述差值得到负的幅度值时,将其置零。频谱减法的主要思想是认为:含噪语音在噪声平均功率以上的部分就是语音功率,其余则认为是噪声功率。这种显然忽略了噪声和语音的随机特性。在含噪语音的功率谱中,噪声平均功率以上部分并非全是语音,其中肯定有不少加性噪声成分存在,其下部分则也必有语音成分存在。因此,这种方法对提高语音信噪比十分有限,而且还会引起语音的失真。特别是在低信噪比时,这种方法很难提高语音质量,更难提高语音可懂度。普减法的优点在于它的算法简单,并且可以较大幅度地提高信噪比,其缺点是增强后的语音中含有明显的音乐噪声,这是由频谱相减而产生的一种残留噪声,具有一定的节奏起伏感,故而被称为音乐噪声。2.3.2 线性滤波法线性滤波法主要是利用了语音的产生模型。对于受加性稳态白噪声干扰的语音信号来说,语音的频谱又以根据语音的产生模型近似地用含噪语音来预测得到。而噪声频谱则用其期望值来近似。这样得到了语音和噪声近似的频谱后就可得到滤波器,由此滤波器可使语音得到增强。线性滤波法不仅用到了噪声的统计知识,还用到了部分语音知识,但显然这些知识都是一种近似的代替。因此这种方法对提高语音信噪比和可懂效果十分有限。特别是当信噪比较低时,对语音参数的预测误差明显增大,从而降噪效果就不明显,并且当噪声不是白噪声时,按照语音的产生模型就很难准确预测语音参数3。因此对有色噪声线性滤波方法就能难以应付。2.3.3 小波变换法小波分析是一种时频分析,而传统的信号分析是建立在傅立叶变换的基础之上的。由于傅立叶分析使用的是一种全局的变换,因此无法表达信号时频局域性质,而这种性质恰恰是非平稳信号如语音信号最根本和最关键的性质。Mallat最早建立了多分辨率分析框架与小波分析的关系4。小波变换能将信号在多个尺度上进行子波分解,各尺度上分解所得的子波变换系数代表原信号在不同分辨率上的信息。它具有多分辨率分析的特点,而且在时频域都具有表征信号局部特征的能力。它克服了短时傅立叶变换固定分辨率的缺点,在信号的高频部分,可以获得较好的时间分辨率,在信号的低频部分可以获得较高的频率分辨率,特别适用于像语音信号、地震信号等非平稳信号的处理。由于信号和随机噪声在不同尺度的特性关系,许多研究学者已利用这种特性进行信号的去噪处理,并取得较好的效果。但是,由于用子波系数去噪时,需要选择和确定一个用于取舍信号和噪声模极大值的阈值,而在实际应用中该阈值是较难选择确定的。另外,也有学者采用二进子波、子波包和带子波进行语音增强,但这些方法的频率划分是一种倍频程关系,与人耳所固有的对语音的频域感知特性不完全吻合。2.3.4 子空间语音降噪法子空间语音降噪法5-7将带噪语音信号投影到语音信号子空间和噪声子空间两个子空间,语音信号子空间中主要为语音信号,但还含有少量的噪声信号,噪声子空间只含有噪声信号,因此对纯净语音的估计可以不考虑噪声子空间中的分量,只保留语音信号子空间中的分量。在信号与噪声子空间分解算法中先对信号进行一些假设:语音信号与噪声都是零均值的随机过程;语音信号在短时内是平稳的;语音信号与噪声是正交的;噪声是一个随机的白噪声;所有的信号都是各态历经的,即可以用时间平均来代替统计平均。根据时域约束条件,可以推导出语音信号失真最小情况下的最优估计器。在线性信号模型中,假定纯净语音信号为: (2-2)其中 为 K M的矩阵,其秩为 M(MK),Y 是 M 1的矩阵。S 的协方差矩阵为: (2-3)其中为Y的协方差矩阵,为正定的。的秩为M。有了前述的假设,可以将带噪语音信号表示为: (2-4)其中 X 、S 和 N 分别是K维的带噪语音信号、纯净语音信号和噪声向量。设为纯净语音信号的估计,其中H为KK阶矩阵。则该估计器的误差信号为: (2-5)其中,和分别表示语音信号的失真和残留噪声。有研究表明8,子空间法在低信噪比时效果要差一些,而在高信噪比时效果较好。同时还须注意的是,子空间法的计算量较大,所以实时性会稍差些。2.3.5 自适应噪声抵消法就目前而言,带自适应滤波器的自适应噪声抵消法对含噪声语音的降噪效果较好。因为这种方法比其它方法多用了1个参考噪声作为辅助输入,从而获得了比较全面的关于噪声的信息,因而能得到更好的降噪效果。特别是在辅助输入噪声与语音中的噪声完全相关的情况下,自适应噪声抵消法能完全排除噪声的随机性,彻底地抵消语音中的噪声成分,从而无论在信噪比 SNR(Signal to Noise Ratio)方面还是在语音可懂度方面都能获得较大的提高9。其工作原理实质上为以均方误差 或方差 最小为准则,对噪声进行最优增强语音的目的。随着理论性能研究的不断深入,应用日趋广泛。2.4 本章小结本章首先对语音和噪声的特性进行了简要介绍,随后讨论了几种语音降噪的模型与实现方法以及各自的优缺点。文章的后几章主要是选用自适应噪声抵消技术进行语音降噪处理,并将进行详细的陈述,所以本章只是简要的对自适应噪声抵消的方法做了介绍。第3章 自适应滤波器和噪声抵消的算法3.1 引言所谓自适应滤波器就是以输入和输出信号的统计特性的估计为依据,采取特定算法自动调整滤波器系数,使其达到“最佳”滤波特性的一种算法或装置。自适应滤波器通常由滤波器结构和自适应算法两部分构成,本文致力于研究自适应算法。3.1.1 滤波器结构自适应滤波器的结构可以是 IIR 型结构和 FIR 型结构。但在实际应用中,一般都采用 FIR 型,其主要原因是,FIR 结构的自适应技术实现容易,其权系数的修正就调节了滤波器的性能,同时还可以保证其稳定性。对于 IIR 滤波器,当自适应处理过程中,极点移出单位圆之外时,就会使滤波器产生不稳定。一个自适应的 FIR 滤波器的结构,可以是横向结构(transversal structure),对称结构(symmetric transversal structure)以及格形结构(lattice structure)。其中横式滤波器由于结构简单且易于实现而应用最为广泛,文章后面的自适应滤波器仿真都是采用横向型结构。横式滤波器如图3-1所示。图3-1 横向型滤波器结构滤波器的输出表示为: (3-1)其中,输入矢量为,转置符为,时间序列为,权系数矢量,N为滤波器阶数。由表达式可见,实际是两矢量的内积即把与相卷积的结果。3.1.2 最佳滤波准则前文己经提到,设计滤波器时应该根据输入信号的特性,设计出最佳的滤波器。那么,什么样的滤波效果才算是最佳呢?必须有一个判断的标准。至今已研究出很多最佳滤波准则。常见的有最小均方误差准则(MMSE),最小二乘准则(LS),最大信噪比准则(MaxSNR),线性约束最小方差准则(LCMV)10等等。最佳滤波准则和自适应滤波器关系密切,最佳滤波准则规定了与某种特性的信号对应的最佳参数,而这个最佳参数指出了自适应滤波器调整参数的方向。以下主要介绍前两个准则。最小均方误差准则 MMSE (Minimum Mean Square Error)就是要使输出信号和理想信号的误差的平方的均值最小。设为滤波器输出想要逼近的信号, 为滤波器输出信号,则误差为,最小均方误差准则就是要使达到最小。最小二乘准则 LS (Least Square)就是要使一定范围内(从k 到 k+m-1)误差的平方和达到最小。最小二乘准则就是要使达到最小。由此两准则衍生出许多不同的自适应滤波算法,人们从算法的收敛精度、收敛速度、跟踪能力、计算复杂度和数值稳定性等方面对 LMS 类算法和 RLS 类算法进行了研究和改进。3.2 基本自适应滤波算法介绍3.2.1 基本 LMS 自适应算法最小均方(LMS)自适应算法就是以已知期望响应和滤波器输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。LMS 算法是一种梯度最速下降方法,其显著的特点和优点是它的简单性,这种算法不需要计算相应的相关函数,也不需要进行矩阵运算。10-12对于横向型滤波结构,其误差为: (3-2)均方误差表示为 : (3-3)对于横向结构的滤波器,代入的表达式(3-1),有 (3-4)其中,是 NN的自相关矩阵,它是输入信号采样值间的自相关矩阵。为互相关矢量,代表理想信号与输入矢量的相关性。在均方误差达到最小时,得到最佳权系数。它满足下列方程 (3-5)即 (3-6)这是一个线性方程组,如果矩阵是满秩的,存在,可得到权系数的最佳值满足 (3-7)用完整的矩阵表示为式 (3-8)显然,是的自相关值,是与 的互相关值。在有些应用中,把输入信号的采样值分成相同的段(每段为一帧),再求出和的估计值,以得到每帧的最佳权系数。这种方法称为块对块的自适应算法。如语音信号的线性预测编码LPC,就是把语音信号分成帧进行处理的。和的计算,要求出期望值,在实际运算中不易实现。为此,可通过下式进行估计: (3-9) (3-10)用以上方法获得最佳的运算量很大,对于一些在线或实时应用场合,无法满足其时间要求。大多数场合使用迭代算法,对每次采样值求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的和的运算,又能实时求得式(3-7)的近似解,因而切实可行。LMS算法是以最快下降法为原则的迭代算法,即矢量是矢量按均方误差性能平面的负斜率大小调节相应一个增量 (3-11)这个是由系统稳定性和迭代运算收敛速度来决定的自适应步长。为次迭代的梯度。对于 LMS 算法,是式(3-3)中的斜率,即 (3-12)由式(3-9)产生了求解最佳权系数的两种方法,一种是最陡梯度法。其思路为,设初始权系数,用式(3-11)迭代公式计算,直到与误差小于规定范围。其中的计算,可用估计值表达式 (3-13)式中的取值应该足够大。如果用瞬时来代替上式对的估计运算,就产生了另一种算法随机梯度法,即 Widrow Hoff 的 LMS 算法。此时迭代公式为 (3-14)其中是步长因子。为了分析方便,将式(3-2)代入(3-14)可得 (3-15)文章后面讨论的自适应算法都是基于Windrow Hoff的LMS算法。式(3-14)的迭代公式 (3-16)其中,为,而为。 由式(3-1)式(3-2)和式(3-12)便构成了LMS的实现算法。LMS算法的两个优点是:实现起来简单;不依赖模型(model-independent),因此具有稳健的性能。下面给出了LMS算法的流程:参量 M=滤波器抽头数步长因子初始条件 或由先验知识确定运算 对 (1)得,(2)滤波(3)误差估计(4)更新权系数3.2.1.1 权向量的收敛经过推导,为保证LMS算法收敛,步长因子应满足以下条件: (3-17)是输入信号自相关矩阵 R 的最大特征值,它不可能大于的迹,所以上式变为: (3-18)对于中等长度和较大长度 M 的 LMS 滤波器,均方收敛的步长参数的必要条件定义为 (3-19)其中表示抽头输入功率谱密度的最大值。3.2.1.2 性能指标(1)失调失调定义为自适应过程中超量均方误差和最小均方误差之比。超量均方误差: (3-20)如果假设自适应暂态过程已消失,均方误差已接近最小值,则可近似为: (3-21)失调定义为: (3-22)(2)平均时间常数(收敛时间)LMS 算法的平均时间常数为:,其中为抽头输入的相关矩阵R的平均特征值。则可近似定义失调为: (3-23)其中 M 为滤波器阶数。可得如下结论:1)对于固定的,失调随着滤波器长度M线性增加。2)失调正比于步长,平均时间常数反比于步长。3.2.1.3 性能分析LMS算法是一种随机优化方法,对其进行了深入的研究,主要有以下三点结论12,13:(1)LMS 算法是最速下降法的近似,它利用估计的梯度进行调整。因为梯度是函数的局部性质,从局部看在一点附近下降得快,但从总体上来看可能走许多弯路,只有当权矢量坐标位于性能表面的主轴上时,梯度的负方向才指向最小点。因此一般情况下,权向量改变的方向不一定在指向最小值的方向上。由于最速下降并非对整体而言,所以其收敛速度较慢。(2)为保证 LMS 算法的稳定收敛,步长因子应满足 (3-24)这样当迭代次数趋于无穷大时,权矢量的期望值将逼近最优解(维纳解)。值越大,算法收敛越快,但稳态误差也越大;值越小,算法收敛越慢,但稳态误差也越小。失调与步长因子成正比;相反地,平均时间常数却与步长因子成反比。因此,如果减小步长因子,则失调将减小,但是收敛时间将有所增加,反之亦然。(3)LMS 算法收敛速度受控于特征值的分布范围。自相关阵R的特征值分布范围越大,LMS 算法收敛的越慢;反之,R 的特征值分布范围越小,LMS 算法收敛得越快。在极端情况下,当输入信号是白噪声时,自相关阵 R 的所有特征值均相同,这时 LMS 算法收敛速度最快。如果输入是语音信号,而语音信号又恰恰具有较大的特征值的分布范围,从而导致收敛速度会显著地减慢。(4)失调直接与抽头输入向量成正比,当输入较大时,LMS 滤波器遇到梯度噪声放大问题,而输入较小时算法收敛速度较慢。将输入信号按照自身的平均能量进行归一化处理,就得到了归一化 LMS 算法,也称 NLMS 算法,可以消除梯度噪声放大问题。LMS 算法的主要缺点是收敛速度慢,如何加快其收敛速度一直是研究的热点,一般可以从以下三个方面入手。(1)对步长因子选用合适的控制方法。步长因子决定着算法的收敛速度和达到稳态时失调量的大小。对于设定为常数的来说,收敛速度和失调量是一对矛盾。要想得到较快的收敛速度,可选用大的调整步长,这就导致大的失调量;如果要满足失调量的要求,则收敛速度将受到制约。变步长的方法可以克服这一矛盾。自适应过程开始时,采用较大的步长以保证快的收敛速度,然后步长逐渐减小,以保证稳态时可以得到较小的失调量。(2)改善梯度估值如 LMS/Newton 算法,它在估计梯度后又利用了输入矢量相关函数的估值,使得在每个迭代周期权矢量的改变总是在指向性能表面最小点的方向上。由于其在迭代过程中采用了更多的有关输入信号矢量的信息,其收敛速度比典型的 LMS算法相比有显著的提高。(3)降低输入信号的相关性从上面对 LMS 算法的分析结果可知,LMS 算法的收敛速度受输入信号特征值分布的影响,因此可以考虑通过对输入信号进行白化处理来提高收敛速度。这方面的算法主要有:1)变换域算法14。变换域算法的思想是将信号经过某种变换(一般是正交变换)分解为一系列近似不相关的各个分量。很显然,变换域 LMS 算法的收敛性与变换核函数有关。K-L 变换是理论上最佳的,但是计算量太大,在一定条件下,DCT、DST、FFT 是 K-L 变换的良好近似,同时也因为这些变换存在快速算法,因而获得较广泛的应用。2)预滤波白化算法。将原始输入信号和目标信号分别通过相同的白化滤波器,将滤波结果再作为输入信号和目标信号进行自适应。3.2.2 基本 RMS 自适应算法RLS 算法是“递推最小二乘法”。与 LMS 算法不同,RLS 算法是考察一个由平稳信号输入的自适应系统在一段时间内输出误差信号的平均功率(在时间上作平均),并使该平均功率达到最小作为自适应系统的性能的准则。RLS 算法推导见文献12,RLS 算法的递推公式为: (3-25)上式表明时刻的最佳值可由时刻的最佳值加一修正量得到。修正量等于。其中为根据时刻的最佳加权和时刻数据对之预测值。因而为预测误差,确定了根据预测误差进行修正时的比例系数,因而称为增益系数。比较上式和实信号 LMS 算法的递推公式 (3-26)可以看出两者的主要差别在于增益系数,LMS 算法简单的利用输入矢量乘上常数作为增益系数,而 RLS 算法则用较复杂的增益系数。中指数加权因子为遗忘因子,它是小于 1 的正数。遗忘因子的数值对算法影响很大。算法的有效记忆长度用来度量,定义为 (3-27)越小,对应的越小,稳态误差越大,意味着对信号的非平稳性的跟踪性能越好。但如果太小, 会小于信号每个平稳段的有效时间,这时就不能充分利用所有能够获取的取样数据(这些数据本来覆盖着整个平稳段),结果所算出的权矢量将会受到噪声的严重影响,对于平稳信号的最佳值为1。现将 RLS 算法步骤总结如下:RLS 算法的收敛与的特征值无关,同时 RLS 的收敛速率比 LMS(NLMS)要快得多,因此,RLS 在收敛速率方面有很大优势。然而,鲁棒性或有限精度问题却给 RLS 算法的有效性带来很大的问题:一方面,横向 RLS 算法往往不稳定,鲁棒性很差;另一方面,格状 RLS 算法计算量很大,基本是 LMS 算法的计算量的平方。初始条件 运算 对(1)取得(2)更新增益矢量 (3) 更新滤波器参数 (4) 更新逆矩阵RLS 算法中的步长参数被输入向量的相关矩阵的逆代替,它对抽头输入有白化作用。这一改进对平稳环境下 RLS 算法的收敛性能有如下深刻影响:(1)RLS 算法的收敛速率比 LMS 算法快一个数量级。(2)RLS 算法速率不随输入向量的集平均相关矩阵特征值的扩散度而改变。(3)随着迭代次数趋于无限,RLS 算法的额外均方误差收敛于零。RLS算法是对输入信号的自相关矩阵的逆进行递推估计更新,收敛速度快,其收敛性能与输入信号的频谱特性无关。但是,RLS算法的计算复杂度很高,所需的存储量极大,不利于实时实现;倘若被估计的自相关矩阵的逆失去了正定特性,还将引起算法的发散。为了减少RLS算法的计算复杂度,并保留RLS算法收敛速度快的特点,许多文献提出了改进的RLS算法,如快速RLS算法15,快速递推最小二乘格型算法16等。3.3 自适应噪声抵消系统及MATLAB仿真3.3.1 自适应噪声抵消原理自适应噪声对消器17-19是一个具有二输入端的自适应滤波器,运行在参考传感器输入端的自适应滤波器用来估计噪声,然后从基本传感器输入中减去该噪声估值。对消器的总输出用来控制自适应滤波器中抽头权系数的调整。这里主要讨论采用 LMS 算法的噪声对消器。图3-2给出了基本的自适应噪声抵消系统18。图3-2 自适应噪声抵消器原理图噪声信源A F节点a节点b图3-2中信号沿信道传到接收该信号的传感器,此传感器除接收到信号源发出的有用信号外,还收到一个不相关的噪声场,原始输入为受扰信号;参考输入为,与相关,而与信号不相关。原始输入加到自适应滤波器的a端,参考输入加到自适应滤波器的b端。图中自适应滤波器AF接收误差的控制,调整权矢量,使得它的输出趋于等于中与它相关的,于是作为与之差就接近等于信号。证明如下:由图3-2得: (3-28) (3-29)两边取数学期望,可得: (3-30)自适应过程就是自动调节权重使均方最小的过程,(3-30)式中第一项为信号功率,与无关。由于信噪不相关,第三项为0 。所以,要使成立,即(3-30)式中第二项应最小,即: (3-31) (3-32)由图3-2得: (3-33) (3-34)当被最小化,也被最小化,以最小均方差趋于,可能的最好情况为:,则;最小化输出功率使输出完全没有噪声,是自适应滤波器最理想的情况。因此,自适应滤波器可以用来从噪声中提取信号。3.3.2 仿真分析前面分析研究了自适应噪声消除原理,下面在MATLAB2123平台上进行模拟与仿真。以后各章的仿真分析都是在MATLAB平台上进行处理。MATLAB (MATrix LABoratory矩阵实验室)是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算系统环境。它集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,可以集成地进行程序设计、数值计算、图形绘制、输入输出等各项操作。消噪所采用的方法是:编写自适应滤波器的.m文件,进行噪声消除的仿真分析。在MATLAB中编写M文件functionh,y,e=lms(x,d,u,N),此文件即为最小均方算法在噪声抑制中应用的设计文件。其中各参数的意义如下:h为估计的FIR滤波器 y为滤波器的输出序列 e为误差序列 x为输入的参考序列 d为滤波器输出的理想序列 u为步长 N为滤波器的阶数 用传统的固定步长LMS算法对一段语音进行消噪的仿真结果如图3-3:图3-3 LMS语音消噪结果方便分析,以单频正弦波替代语音信号,以高斯白噪声作为背景噪声信号(下文同),将标准LMS算法步长选为;算法中参数为0.983,0.8,0.999,做200次独立仿真,求其统计平均,仿真过程如下图所示。图3-4 LMS算法收敛过程LMS算法收敛结果为图3-5:图3-5 LMS算法收敛结果LMS自适应滤波器的学习曲线为图3-6:图3-6 LMS自适应滤波器的学习曲线图LMS算法自适应滤波器用于噪声抵消具有较好的效果,但是基本LMS算法的收敛速度较慢24,而且稳态误差较大。下面两章对基本LMS算法进行改进:(1)对步长因子选用合适的控制方法步长因子决定着算法的收敛速度和达到稳态时失调量的大小。对于设定为常数的来说,收敛速度和失调量是一对矛盾。第四章提出两种改进的变步长的方法可以克服这一矛盾,自适应过程开始时,采用较大的步长以保证快的收敛速度,然后步长逐渐减小,以保证稳态时可以得到较小的失调量。(2)改善收敛速度慢的方法LMS算法实际应用中为了更好地逼近任何所希望的频率响应特性,N应取得较大,但运算量却以N平方的比例迅速增加,妨碍了系统的实时实现,第五章采用频域快速自适应LMS算法,其收敛速度比典型的LMS算法相比有显著的提高,并可以保持与传统LMS算法相近的收敛效果。3.4 本章小结本章讨论了自适应滤波器的基本算法:最小均方算法和最小二乘算法。最小均方算法因其计算简单、收敛快速而在现实中得到广泛应用。最小二乘法计算量相对较大。之后介绍了LMS算法自适应噪声抵消系统,并在MATLAB平台仿真分析了标准LMS算法对语音降噪的性能,从而明确了算法改进的方向。第4章 改进的变步长LMS算法和仿真实现固定步长的自适应滤波算法在收敛速度、时变系统跟踪精度与收敛精度方面对步长因子的要求互相矛盾。为了克服这一矛盾,人们提出在LMS算法的权系数递推中采用时变步长代替标准LMS算法中的固定步长,通常称为变步长LMS算法,既VS-LMS算法。变步长LMS算法是基于这样的准则:当权系数远离最佳权系数时,步长比较大,以加快收敛速度和对时变系统的跟踪速度;当权系数接近最佳权系数,步长比较小,以获得较小的稳态失调噪声。Yasukawa H.和Shimada S.等人25提出使步长因子正比于误差信号。这样,在初始收敛阶段或系统发生时变时,由于误差较大,故步长就较大,而在接近收敛稳态时误差很小,故步长也很小,所以该算法既具有较快的收敛和跟踪速度,又具有很小的稳态失调。但该算法对独立噪声特别敏感,当自适应算法进入稳态阶段时,容易出现收敛步长过大而加剧稳态失调问题。Gitlin R.D和Weinstein S.D.26提出了一种时间平均估值梯度的自适应滤波算法,与采用瞬时梯度估值的LMS算法相比,对同样的调整步长稳态失调有所减小,但是随之而来的却是收敛速度变慢。而文献27一种算法提出使步长因子与误差和输入信号的互相关函数的估值成正比的变步长自适应滤波算法,该算法的收敛特性比较好,然而计算复杂性大大增加,不利于实时实现,实用性较差。综上所述,变步长算法2835都是利用自适应过程中提供的某种近似值作为衡量标准来调节步长。比较简单有效的方法是利用自适应过程中的误差信号,试图在步长与误差信号之间建立某种函数关系。己经用到的有: 步长正比于误差信号的大小; 步长与均方瞬时误差建立关系; 尽量减少每一次迭代的均方估计误差; 步长与和的互相关函数的估值成正比; 使用当前误差与上一步误差的自相关估计来控制步长更新; 基于某种函数曲线更新步长。根据上述步长调整原则,文章分析并改进两种已有的变步长自适应滤波算法,具体内容如下。4.1 一种基于S函数改进的变步长LMS算法由于变步长LMS算法3639要求步长因子在自适应初始阶段较大以保证算法有较快的收敛速度,而在算法收敛后则很小的稳态失调噪声,因此,步长因子和自适应滤波器输出误差之间存在着非线性关系。若将步长因子与输出误差之间的关系近似为S (Sigmoid)函数,就形成了基于S函数的变步长自适应LMS算法(SVS-LMS)。4.1.1 SVS-LMS算法文献40给出了一种基于Sigmoid函数的变步长LMS算法: (4-1) (4-2) (4-3)其中,变步长是关于的Sigmoid函数: (4-4)式中,常数控制S型函数形状;常数控制S型函数范围。由该函数确定的与的函数曲线如图4-1所示: 图4-1 由式(4-4)所确定的关系图可以看出S型函数基本上符合自适应滤波算法的步长调整原则,因此该算法能同时获得较快的收敛和跟踪速度。但该Sigmoid函数在误差接近零处变化太大,不具有缓慢变化的特征,使得SVS-LMS算法在自适应稳态阶段仍有较大的步长变化,这是该算法的不足13。4.1.2 对SVS-LMS算法的改进针对上述问题,对式(4-4)进行了改进,得到一种改进的变步长因子 (4-5)式中参数是控制函数取值范围的常数,参数是控制函数形状的常数,参数、的最佳取值可通过实验来确定,实验表明最佳值。下面重点分析改进算法引入的m值对步长因子的影响。如图4-2所示图4-2 由式(4-5)所确定的关系图当时(即Sigmoid函数),当误差接近于零时(此时算法已达或将要达到稳态),变化太大,不具有缓慢变化的特征;当时,曲线的底部形态虽比时有所变缓但依然尖锐,这就意味着当误差接近于零时,变化仍很大;当时,在算法初始收敛阶段和跟踪阶段也较大,而当算法进入收敛稳态时很小,且误差接近零时步长仍具有缓慢变化的特征;和时,虽然曲线的底部形态更加平缓,但由于当误差较大已接近零,可造成较大的稳态误调噪声。仿真实验结果表明:范围内所对应算法的性能最理想,如图4-3所示,由此选取代入变步长公式。 图4-3 m为不同值时改进算法性能比较改进后基于Sigmoid函数的变步长LMS算法的变步长公式为: (4-6)这就是本次改进变步长LMS算法的最后用于仿真实验的公式。4.1.3 改进的算法仿真分析仿真中信号为单频正弦连续波信号,信号幅度0.01,遮盖性高斯白噪声,自适应滤波器阶数N=2,滤波算法分别选用固定步长LMS算法、基于S函数的(SVS-LMS)变步长算法以及本节提出改进算法。仿真中固定步长LMS算法步长0.007,本条件下SVS-LMS算法最优参数选为=0.1,=2.5,改进算法最优参数选为=10000,=0.2,三种算法的仿真结果如图4-4所示。以下分别从收敛速度、稳态误差两个主要指标对上述三种自适应滤波算法仿真结果进行分析。其中输入正弦信号和高斯白噪声同第三章LMS算法仿真中信号一样。LMS自适应滤波器计算过程如下:(1) 给定所需信号:;(2) 滤波器阶数:;(3) 采样点数为10000,分别做200次独立的仿真,运算的结果如图4-4。然后得前1000次迭代的学习曲线如图4-5。图4-4算法收敛过程和结果仿真比较图4-5算法学习曲线仿真结果比较仿真结果分析:从图4-4中可以在输入信号和噪声信号相同的条件下,看出三种算法进行自适应噪声对消中改进算法更有效地去除了噪声信号,在收敛性和跟踪性上有了明显的改善。(1)收敛速度固定步长LMS算法最快也要150个采样点处才趋于稳态,而SVS-LMS算法以及改进算法可在第50个采样点以前收敛,而且改进算法的收敛速度还要更快一些。因此,改进算法比固定步长LMS算法和SVS-LMS算法收敛速度快。(2)稳态误差图4-4中固定步长LMS算法的稳态误差最大, SVS-LMS算法和改进算法的稳态误差比固定步长LMS算法小,而改进算法SVS-LMS算法的稳态误差在图中不容易分辨,但可从图4-5看出。从图4-5中的三种算法的收敛曲线可以看出,传统的LMS算法收敛速度最慢,大约迭代400次后才收敛,且稳态误差较大;SVS-LMS算法收敛速度较快(迭代50次后收敛)稳态误差较小, 而本文算法的收敛速度最快(迭代20次后收敛),而稳态误差比SVS-LMS算法还要小。 通过上面的理论分析和计算机仿真及计算可知,基于改进Sigmoid函数的时域变步长自适应滤波算法的收敛速度、稳态误差均有提高,因此,该算法是合理有效的。4.2 一种改进的时域变步长LMS算法(NVS-LMS)4.2.1 NVS-LMS算法在基本的LMS算法中,当一定时,自适应滤波器的收敛速度取决于输入序列自相关矩阵的,而总失调量主要取决于最大特征值。由于的特征值随输入信号改变,这将影响LMS算法的收敛速度和失调,甚至可能造成不满足收敛条件的后果。于是文章对LMS算法进行改进4144,提出了一种改进的时域变步长NVS-LMS算法: (4-7) (4-8) (4-9) (4-10)取,。NVS-LMS算法用自相关值来控制调整步长,当自适应滤波算法接近于最佳值时,自适应误差的各个采样点之间的相关性变小,不仅缩短了收敛时间,而且使得算法具有较好的抗干扰性。此时步长的迭代公式为 (4-11)其中,是权系数误差矢量。由于步长的迭代公式与偏离最佳权值的大小有关,所以能有效取出独立噪声的干扰,尤其是在低信噪比时稳定性较高,但不适用于处理大动态范围的输入信号。4.2.2 算法仿真分析需要经过一个迭代过程才能到达(维纳解),也就是说趋于需要一个过程。与迭代次数的关系曲线称为学习曲线,它表达了LMS算法的动态特性,即任意一个初始权矢量通过一次次逼近最后趋于的过程,也即趋近于的过程。将输入正弦信号的幅度设为0.01,对应信噪比为-42,图4-6是独立运行200次取平均后的学习曲线,从图中可以看出,在迭代过程开始阶段,NVS-LMS算法的学习曲线急速下降,迭代100次左右,曲线逐渐趋于平稳,LMS算法开始阶段下降缓慢,收敛速度受到影响,需要迭代630次左右才能达到稳态。图4-6 稳态环境下LMS、NVS-LMS算法的学习曲线将输入信号幅度设为0.01,得到LMS算法和NVS-LMS算法收敛过程中步长因子变化曲线,如图4-7所示,输入信号幅度0.01时NVS-LMS算法的变步长因子呈现出随迭代次数增加而减小的稳定趋势。符合本章前面讲的步长调整原则。图4-8对应的仿真中信号为正弦波信号,幅度为0.2,噪声为高斯白噪声,自适应滤波器的阶数,滤波算法分别选用固定步长LMS算法,NVS-LMS算法。仿真中LMS算法仍选择步长,经过多次仿真实验选定:NVS-LMS算法的最佳参数,。图4-7两种算法收敛过程中步长因子变化曲线图图4-8 LMS算法、NVS-LMS算法自适应滤波仿真结果下面分别从收敛速度、稳态误差和改善因子三个主要方面对上述两种自适应滤波算法仿真结果进行分析。(1)收敛速度固定步长LMS算法最快要在130个采样点处才趋于稳态,而NVS-LMS算法在80个采样点左右收敛。因此改进算法具有收敛速度快的优点。(2)稳态误差固定步长LMS算法的稳态误差最大,本节的NVS-LMS算法的稳态误差明显小于LMS算法。(3)改善因子经计算,信号幅度0.2时,LMS算法的改善因子约为24,本文NVS-LMS算法的改善因子约为28.4。明显改进算法的改善因子较高。通过上面的理论分析和计算机仿真及计算可知本文提出的NVS-LMS算法的收敛速度、稳态误差和改善因子均较为令人满意。4.3 本章小结我们对变步长自适应滤波算法进行了研究讨论,通过对基于S函数变步长LMS算法进行比较研究和分析,引入的m值对步长因子的影响。我们改进基于S函数变步长自适应滤波算法,并对其性能指标进行了比较仿真。在同一仿真条件下的仿真结果表明:我们提出的改进算法(GSVS-LMS算法)比基于S函数变步长自适应滤波算法(SVS-LMS算法)和LMS算法具有收敛速度快、稳态误差小等优点。应用变步长技术仿真并证明了NVS-LMS算法相对于LMS算法的优越性。NVS-LMS在收敛速度、稳态误差和改善因子上均优于LMS算法。第5章 频域快速自适应LMS算法研究LMS算法实际应用中为了更好地逼近任何所希望的频率响应特性,N应取得较大,但是运算量却以N平方的比例迅速增加,这妨碍了噪声抵消系统的实时实现,因此LMS算法的快速实现有很大的实际意义。本章利用FFT技术实现了频域快速LMS算法(FBLMS),并保持了与传统LMS算法相近的收敛效果。5.1 分块LMS时域算法为了改善自适应滤波算法的性能,人们发展了各种各样的改进方法。在70年代,C.Berrus讨论了块数字滤波这一新的滤波器结构。在此基础上,80年

温馨提示

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

评论

0/150

提交评论