自适应噪声消除器

本文介绍了基于LMS算法的自适应噪声消除器在数字语音通信系统中的应用。通过分析传统滤波器和维纳滤波器原理,探讨了自适应滤波器的结构和LMS算法的工作机制。实验使用MATLAB进行,结果显示该方法能有效去除白噪声和窄带多正弦噪声,改善语音信号质量。然而,实际环境中的延迟问题和滤波器权重数量限制是未来改进的重点。
摘要由CSDN通过智能技术生成


自适应噪声消除及MATLAB仿真

 

摘    要

 

为解决数字语音通信系统中语音信号的噪声消除问题,设计了基于LMS算法的自适应噪声消除器。本文从滤波技术的现状出发,分析了传统滤波器的基本工作原理和性能,然后阐述了基本维纳滤波原理以及自适应滤波器的基本结构模型,接着在此基础上引出LMS算法,说明它可以使噪声消除器的步长能够随外部参数的变化而变化,提高噪声消除器的去噪效果。最后使用MATLAB对语音信号和正弦信号进行仿真,仿真结果表明:基于LMS算法的自适应噪声消除器不仅能够有效白噪声干扰,还能过滤实时窄带多正弦噪声,有效恢复语音信号。同时,仍有很多需要改进的地方。

 

关键字:维纳滤波  自适应滤波 噪声消除LMS算法    

 

Abstract

 

To solve the noise of the voice signal in digitalvoice communication system to eliminate problems, design the adaptive noisecanceller based on LMS algorithm. In this paper, starting from the presentsituation of filtering technology, analyses the basic working principle andperformance of the traditional filter, and then expounds the basic principle ofwiener filtering and adaptive filter, the basic structure of the model and thenon the basis of the derivation LMS algorithm, it can make the noise eliminatorstep length can along with the change of the external parameters change,improve the denoising effect of the noise eliminator. Finally, we use MATLAB tospeech signal and sine signal simulation, the simulation results show that theadaptive noise canceller based on LMS algorithm can not only effectively whitenoise, can real-time narrow-band filtering noise, sine more effective speechsignal recovery. At the same time, there are still a lot of room forimprovement.

 

Keywords: wiener filteradaptive filternoiseeliminationLMS algorithm



1.绪论

1.1引言

在信号处理领域中,噪声消除是一个非常重要的问题,对噪声环境中系统的正常工作有着很大的影响。但把语音信号从噪声中提取出来非常困难,隐藏在有用信号中的背景噪声往往是非平稳且随时间变化的,信号和噪声的统计特性往往无法知晓,而且背景噪声中的有用信号往往微弱而不稳定,采用传统方法很难解决噪声环境中的信号提取问题。而利用自适应滤波器具有在未知环境下良好运行并跟踪输入统计量随时间变化的能力,通过不断调整抽头权系数来适应发生变化的信号和噪声的统计特性,达到消除噪声的目的。

 

1.2研究现状

这项实验的目的是实现一个能够自适应过滤掉噪声污染源的自适应噪声消除器。最初的动机来自于1975年斯坦福大学的威德尔发表的《自适应降噪的原理与应用》一文,威德尔与他的博士生霍夫共同提出自适应噪声消除器应基于LMS算法,即最小均方算法。在过去的四十年里,LMS自适应算法作为实现简单而高效的方法一直为我们提供着理想的和准确的结果。它被作为程序应用于各种领域,如通信系统、机器人、机床制造和自动化。由于噪声的统计特性与现场环境密切相关,即使在同一场合噪声统计特性也可能随时间发生某种变化,而这种具有噪声跟踪的自适应能力的滤波器的滤波特性也随噪声的变化而变化,从而可以达到最优的去噪效果。所以基于自适应控制策略的有源噪声抵消技术已经成为有源噪声控制领域的重要研究内容之一。

2.理论基础

2.1传统滤波器原理

LC滤波器也称为无源滤波器,是传统的谐波补偿装置。LC滤波器之所以称为无源滤波器,顾名思义,就是该装置不需要额外提供电源。LC滤波器一般是由滤波电容器、电抗器和电阻器适当组合而成,与谐波源并联,除了起滤波作用外,还兼顾无功补偿的需要;在电子线路中,电感线圈对交流有限流作用,由电感的感抗公式XL=2πfL 可知,电感L越大,频率f越高,感抗就越大。电感在电路最常见的作用就是与电容一起,组成LC滤波电路。我们已经知道,电容具有“阻直流,通交流”的本领,而电感则有“通直流,阻交流,通低频,阻高频”的功能。如果把伴有许多干扰信号的直流电通过LC滤波电路,那么,交流干扰信号大部分将被电感阻止吸收变成磁感和热能,剩下的大部分被电容旁路到地,这就可以抑制干扰信号的作用,在输出端就获得比较纯净的直流电流。


1滤波电路(a)(b)

 

LC滤波器按照功能分为LC低通滤波器、LC带通滤波器、高通滤波器、LC全通滤波器、LC带阻滤波器。部分电路及频率响应如图所示。

2滤波电路(c)(d)

 


3全通滤波器频率响应

 



4低通滤波器频率响应

 

 

5带通滤波器频率响应

 


 

6点阻滤波器频率响应

 


 

 

2.2基本维纳滤波器原理

基本维纳滤波就是用来解决从噪声中提取信号问题的一种过滤(或滤波)方法。它基于平稳随机过程模型,且假设退化模型为线性空间不变系统的。实际上这种线性滤波问题,可以看成是一种估计问题或一种线性估计问题。基本的维纳滤波是根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方误差最小条件下所得到的系统的传递函数或单位样本响应的形式给出的,因此更常称这种系统为最佳线性过滤器或滤波器。设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位样本响应或传递函数的表达式,其实质是解维纳-霍夫(Wiener-Hopf)方程。

7基本维纳滤波模型

 


基本维纳滤波器是这样的,有两个信号x(k)y(k)同时加在滤波器上。典型地y(k)包含一个与x(k)相关地分量和另一个与x(k)不相关地分量。维纳滤波器则产生y(k)中与x(k)相关分量地最优估计,再从y(k)中减去它就得到e(k)

 

维纳滤波的实际用途有限,因为首先它需要已知自相关矩阵R和互相关矢量P,这两个量通常是未知的,其次它包含了矩阵的求逆,非常的耗时,最后若信号为非平稳的,则RP是时变的,导致必需重复计算

对于实际的应用需要一种能够依次加入地抽样点而得到的算法。自适应算法就就是用于达到这个目的,而且不需显式计算RP或进行矩阵求逆。

 

8自适应噪声滤波器结构

 

2.3自适应噪声滤波器结构

 

图中,Noise表示时刻k的输入信号,Output表示时刻n的输出信号,Signal表示时刻k的参考信号或期望响应信号,e(k)表示时刻k的误差信号。误差信号为期望响应信号Signal与输出信号Output之差,记为e(n)= Signal- Output。自适应滤波器的系统参数受误差信号控制,并根据e(n)的值而自动调整,使之适合下一时刻k+1的输入,以使输出信号Output (k+1)更加接近期望信号Signal (k+1),并使误差信号e(k+1)进一步减小。需要注意的是,这里自适应噪声消除器的输出语音信号应该是误差信号e(n),而不是自适应滤波器的输出信号Output (n)。自适应噪声消除系统通过滤波器自身权系数的调节来适应发生变化的信号和噪声的统计特性,具有自学能力强、计算量小、实时处理好等特点。

 

自适应噪声消除器其实质就是自适应滤波器,其特性变化是由自适应算法通过调整滤波器的系数实现的。所以,自适应滤波器一般都由两部分组成,一是参数可调的数字滤波器结构,它是为完成期望的处理功能而设计,二是自适应算法,它调节滤波器系数以改进性能,常用的为LMS算法,该算法结构简单,但是收敛速度和稳定性不理想。故有时也会采用RLSQR_RLS等不同算法。


3.LMS滤波原理及算法

9基本LMS算法的实现流程图

 

 

1. LMS算法,即最小均方算法,就是一种以期望响应和滤波输出信号之间误差的均方值最小为准的,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最优的自适应迭代算法。LMS算法是一种梯度最速下降方法,其显著的特点是它的简单性,不需要计算相应的相关函数,也不需要进行矩阵运算。它的目的,就是在更新过程中使抽头权向量逼近维纳滤波器。

 

2.基本LMS算法的实现步骤

(1) 初始化。令所有权重为任一固定值或为0,对每一个接下来地抽样时刻(k=1,2,…,N)执行(2)到(4)。

(2) 计算滤波输出

                           

(3) 计算估计误差

                                      

(4) 更新下一时刻的权

                                     

 

从上面看出,LMS算法具有简洁和易于实现地特点使它成为许多实时系统的首选算法,LMS算法对每组输入和输出抽样大约需2N1次乘法和2N1次加法。太多数信号处理器陡适宜进行乘法和累加运算,使直接实现LMS算法更具有吸引力。

 

 

4.matlab实验结果

4.1模拟声道

实验一:恢复声音“你好”

输入参考噪声,主要用于模拟一个声音恢复如下:

Signal = Voice saying ''Hello'',这是预先录制的声音。

Noise= 0.1* 1 *(rand(1,itno + 4 - 1)-0.5);MATLAB模拟示波器上一频道滤波器的输出和渠道两个滤波器的输入。实验中若无特殊说明,此设置不变。

 


11误差信号,即滤波信号

 

12接收信号,即混有噪声的音频信号

 


 

13信号的单边幅度频谱

 


14原始噪声信号

 


 


 

实验二:恢复歌声信号


16接受信号

 

仿真结果表明,以频率更高的歌声作为被噪声污染的信号源,仍可以通过自适应消除器恢复信号。

17误差信号

 


 

实验三:降噪测试

测试的目的是找出两个降噪获得,使用单一正弦信号作为噪声消除器所需的信号源,而不是声音。参考噪声仍然是最糟糕的场景的白噪声降噪。测试全通通道的生成结果显示了自适应噪声消除器在整个频带可以提供平均-15分贝噪声的降低量。这意味着可以减少噪音原来水平的1/10 ~ 3/10。重复测试与带通通道而不是所有全通通道。在整个频带降噪收益是-15分贝和-20分贝之间。

 


4.2实地测量

以上例子成功用MATLAB模拟了通道干扰,但噪声消除器的性能还与环境紧密相关,现在着手来测试其在真实通道下的可行性。这意味着主要的测量输入(损坏源)和参考噪声必须在物理环境中进行的。正如在模拟信道部分所讨论的,频道描述信号是扭曲的,如果测量在实际环境中执行它会变得非常复杂。与MATLAB仿真通道相比,一个实际的通道没有大量的强度衰减,但会有很多的延迟。换句话说,一个真正的通道的振幅响应更可能是全通的,但其相位响应非常复杂,如果我们可以使用Windows 系统的记录和回放的声音。Windows 系统很可能会在整个过程和测量的主要输入参考噪声阶段添加很多延误。

 

 

实验一:500HZ单一正弦信号

首先让我们使用一个单一正弦信号作为参考噪声而不是白噪声,信号来源仍然是“你好”的声音。如图显示了使用MATLAB生成的仿真结果现场测量输入和回放。看来,如果参考噪声是一个正弦信号预录好的硬件可以理想地进行降噪和实地测量输入信号。

18 500HZ单一正弦信号

 


 

 

 

实验二:800HZ单一正弦信号

噪声仍然是一个正弦信号,但以不同的频率。过滤器的输出自适应噪声消除器仍和以前一样。

 

 

19 800HZ单一正弦信号

 


实验三:300HZ, 500HZ, 800HZ叠加

 

20叠加正弦信号

 


三份正弦曲线参考噪声输入,系统仍然正常工作并提供理想的滤波器的输出。

 

 

实验四:带限白噪声

当参考噪声是白噪声,甚至MATLAB本身很难提供理想的输出和一个八利用自适应滤波器。输出收敛只有当过滤器抽头的数量大于120。最有可能有两个原因。首先,说噪音,虽然带限,还包含很多复杂的谐波噪声是如何添加到的信号。第二,造成的延误仿真软件界面有更多影响滤波器的收敛行为如果参考噪声包含更多的谐波。自的时候我们的硬件自适应滤波器只能有最多32个权重,这当然不是可行的进行自适应滤波白噪声,除非它是高带宽受限(乐队小于100赫兹)

 

5.总结

 基于LMS算法的自适应噪声消除技术,作为在强噪音背景下通信的一种主要语音增强方式,把信号中的噪声和语音信号进行有效的分离,降低或抑制环境噪声的影响,有效提高了语音的清晰度。因其计算量小,易于实现等优点,发展极为迅速。目前广泛应用于通信、语音信号处理、图像处理、模式识别、系统识别及自动控制等领域,是目前最活跃的研究领域之一。自适应噪声抵消技术和其他语音增强方法相比,突出之处就是该方法不基于任何信号模型和对信号的统计特性无特殊要求,故其应用范围相当广泛。

 

这次试验整体上是成功的,在很大程度上满足了我们的预期。利用噪声消除器不仅可以通过模拟通道过滤白噪声干扰,而且还能有效过滤实时窄带多正弦信号噪声。自适应过程其实就是一个不断逼近目标的过程,LMS算法是实现此过程最常用的方式。权重显示特性为我们提供了一个非常简单的方法以观察到自适应滤波器的收敛行为。此外,这个权重显示特性还帮助我们知道权重更新正在经历溢出,从而帮助我们调试程序设计。我们在试验中进行了多次的MATLAB仿真和深入的理论分析,从语音信号到歌声信号,从模拟通道到实时实地测量,从不同的角度观察试验现象,然后得出结论。这不仅可以加速我们的硬件设计过程,同时也能帮助我们更好地了解自适应滤波的概念。

 

然而,仍有很多需要改进的地方。实时自适应降噪,仿真软件界面造成的延迟在Windows 操作系统是巨大的,我们的硬件噪声消除器高达32权重很难使输出收敛。在MATLAB仿真中表明实际情况下为减小Windows系统的延迟,过滤器至少需要120权重理想的过滤抽头系数。这个实验的改善的方法之一是增加权重的数量对现场可编程逻辑门阵列的进一步探索,并加强对各种各样信号的记忆。另一种方法是使记录过程更快,更同步。通过构建一个低噪声放大器而不是使用声音麦克风 USB适配器。我们相信这些改进将使自适应噪声消除器更可靠更有效。

 

 

参考文献

[1] [] Simon Haykin .郑宝玉等译.自适应滤波器原理(第四版).北京:电子工业出版社。2003

[2] 吴正大著,信号与系统(第四版)。高等教育出版社,2005

[3] 万政伟,惠晓威,朱婷,基于NLMS算法的自适应滤波器的研究与应用。电子工业出版社,2010

[4] 樊昌信,徐炳祥,吴成柯,通信原理,国防工业出版社,北京,2001

[5] 徐艳红,数据采集与处理之自适应噪声消除器,内蒙古,2010

 

 

一、引言自适应噪声抵消技术是一种能够很好的消除背景噪声影响的信号处理技术,应用自适应噪声抵消技术,可在未知外界干扰源特征,传递途径不断变化,背景噪声和被测对象声波相似的情况下,能够有效地消除外界声源的干扰获得高信噪比的对象信号。 从理论上讲,自适应干扰抵消器是基于自适应滤波原理的一种扩展,简单的说,把自适应滤波器的期望信号输入端改为信号加噪声干扰的原始输入端,而它的输入端改为噪声干扰端,由横向滤波器的参数调节输出以将原始输入中的噪声干扰抵消掉,这时误差输出就是有用信号了。在数字信号采集、处理中,线性滤波是最常用的消除噪声方法。线性滤波容易分析,使用均方差最小准则的线性滤波器能找到闭合解,若噪声干扰类型为高斯噪声时,可达到最佳的线性滤波效果。 计算机论文www.lunwendingzhi.com; 机械毕业论文www.lunwenwanjia.com 在实际的数字信号采集中,叠加于信号的噪声干扰往往不是单一的高斯噪声,而线性滤波器所要求的中等程度噪声偏移,使线性滤波器对非高斯噪声的滤波性能下降,为克服线性滤波器的缺点,往往采用非线性滤波器,所以本文采用神经网络对信号进行滤波处理。二、基于BP算法和遗传算法相结合的自适应噪声抵消器在本文中,作者主要基于自适应噪声对消的原理对自适应算法进行研究,提出了一种新的算法,即BP算法和遗传算法相结合的自适应算法。 作者对BP网络的结构及算法作了一个系统的综述,分析了BP算法存在的主要缺陷及其产生的原因。传统的BP网络既然是一个非线性优化问题,这就不可避免地存在局部极小问题,网络的极值通过沿局部改善的方向一小步进行修正,力图达到使误差函数最小化的全局解,但实际上常得到的使局部最优点。 管理毕业论文网www.yifanglunwen.com; 音乐毕业论文www.xyclww.com; 英语毕业论文www.lanrenbanjia.com; 学习过程中,下降慢,学习速度缓,易出现一个长时间的误差平坦区,即出现平台。通过对遗传算法文献的分析、概括和总结,发现遗传算法与其它的搜索方法相比,遗传算法(GA)的优点在于:不需要目标函数的微分值;并行搜索,搜索效率高;搜索遍及整个搜索空间,容易得到全局最优解。所以用GA优化BP神经网络,可使神经网络具有进化、自适应的能力。 BP-GA混合算法的方法出发点为: 经济论文www.youzhiessay.com 教育论文www.hudonglunwen.com; 医学论文网www.kuailelunwen.com; (1)利用BP神经网络映射设计变量和目标函数、约束之间的关系;(2)用遗传算法作实现优化搜索;(3)遗传算法中适应度的计算采用神经网络计算来实现。BP-GA混合算法的设计步骤如下:(1)分析问题,提出目标函数、设计变量和约束条件;(2)设定适当的训练样本集,计算训练样本集;(3)训练神经网络;(4)采用遗传算法进行结构寻优;(5)利用训练好的神经网络检验遗传算法优化结果。若满足要求,计算结束;若误差不满足要求,将检验解加入到训练样本集中,重复执行3~5步直到满足要求。 通过用短时傅立叶信号和余弦信号进行噪声对消性能测试,在单一的BP算法中,网络的训练次数、学习速度、网络层数以及每层神经元的节点数都是影响BP网络的重要参数,通过仿真实验可以发现,适当的训练次数可以使误差达到极小值,但是训练次数过多,训练时间太长,甚至容易陷入死循环,或者学习精度不高。学习速度不能选择的太大,否则会出现算法不收敛,也不能选择太小, 会使训练过程时间太长,一般选择为0.01~0.1之间的值,再根据训练过程中梯度变化和均方误差变化值确定。基于梯度下降原理的BP算法,在解空间仅进行单点搜索,极易收敛于局部极小,而GA的众多个体同时搜索解空间的许多点,因而可以有效的防止搜索过程收敛于局部极小,只有算法的参数及遗传算子的操作选择得当,算法具有极大的把握收敛于全局最优解。使用遗传算法需要决定的运行参数中种群大小表示种群中所含个体的数量,种群较小时,可提高遗传算法的运算速度,但却降低了群体的多样性,可能找不出最优解;种群较大时,又会增加计算量,使遗传算法的运行效率降低。一般取种群数目为20~100;交叉率控制着交叉操作的频率,由于交叉操作是遗传算法中产生新个体的主要方法,所以交叉率通常应取较大值,但若过大的话,又可能破坏群体的优良模式,一般取0.4~0.99;变异率也是影响新个体产生的一个因素,变异率小,产生个体少,变异率太大,又会使遗传算法变成随机搜索,一般取变异率为0.0001~0.1。 由仿真结果得知,GA与BP算法的混合算法不论是在运行速度还是在运算精度上都较单纯的BP算法有提高,去噪效果更加明显,在信噪比的改善程度上,混合算法的信噪比针对傅立叶信号提高了16db左右,针对余弦信号提高了23db左右。三、结论用短时傅立叶信号和余弦信号进行噪声对消性能测试,通过分别使用单一的BP算法和混合算法作比较发现遗传算法具有很强的处理能力和优化能力,用它优化BP神经网络的权值,与原有单一的BP算法相比,可以节省大量的学习和计算时间,而且提高了信噪比。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值