DSP

自适应噪声消除器

2019-07-13 18:20发布


自适应噪声消除及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引言... 1 1.2研究现状... 1 2.理论基础... 2 2.1传统滤波器原理... 2 2.2基本维纳滤波器原理... 5 2.3自适应噪声滤波器结构... 6 3.LMS滤波原理及算法... 7 4.matlab实验结果... 9 4.1模拟声道... 9 4.2实地测量... 13 5.总结... 16 参考文献... 17  
 

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