1、基于 LMS 的自适应滤波器典型应用的 MATLAB 实现学号:131040034 姓名:黄成摘 要:介绍了自适应滤波器的原理和最小均方(LMS)算法, 并且利用 MATLAB 实现了自适应系统辨识和自适应干扰抵消。关键词:自适应滤波;最小均方算法;MATLABThe Realization of Adaptive filter based on LMS by Applying MATLABSID: 131040034 Name: Huang ChengAbstract: The paper introduces the theory of Adaptive Filter and LMS (l
2、east mean square) algorithm. Meanwhile, it manages to use MATLAB to realize the adaptive identifier and interference cancellation.Keywords: adaptive; LMS; MATLAB自适应滤波器属于现代滤波器的范畴,自适应信号处理主要是研究结构可变或可调整的系统,它可以通过自身与外界环境的接触来改善自身对信号处理的性能。通常这类系统是时变的非线性系统,可以自动适应信号传输的环境和要求,无须详细知道信号的结构和实际知识,无须精确设计处理系统本身。1 自适应滤
3、波器原理自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成 (如图 1 所示) 。参数可调数字滤波器可以是 FIR 数字滤波器或 IIR 数字滤波器, 也可以是格型数字滤波器。输入信号 通过参数可调数字滤波器后产生输出信号 (或响应) , 将其与参考信号 (或() ()称期望响应) 进行比较, 形成误差信号 。 (有时还要利用 ) 通过某种自适应 () () () ()算法 对滤波器参数进行调整, 最终使 的均方值最小。因此, 自适应滤波器实际上是一()种能够自动调整本身参数的特殊维纳滤波器。在设计时不需要事先知道关于输入信号和噪声的统计特性的知识, 它能够在自己的工作过程中逐渐了解,
4、或估计出所需的统计特性, 并以此为依据自动调整自己的参数, 以达到最佳滤波效果。一旦输入信号的统计特性发生变化, 它又能够跟踪这种变化, 自动调整参数, 使滤波器性能重新达到最佳 1。图 1 自适应滤波器的一般结构图2 自适应滤波器的结构及算法2.1 自适应滤波器的结构自适应滤波器的结构有 FIR 和 IIR 两种。由于 IIR 滤波器存在稳定性的问题 , 因此一般采用 FIR 滤波器。由于 FIR 滤波器横向结构的算法具有容易实现和计算量少等优点, 在对线性相位要求不严格、收敛速度不是很快的场合,多采用 FIR 作为自适应滤波器结构。故笔者采用这种 FIR 横向滤波器结构作为自适应滤波器的结
5、构, 如图 2 所示图 2 FIR 横向滤波器结构为自适应滤波器的输入矢量;()=(),(1),(2),(+1)是权系数矢量,即自适应滤波器的冲击响应;()=0(),1(),2(),1() 为自适应滤波器的输出矢量; n 为时间序列; N 为滤波器的阶数 3。()2.2 自适应的最小均方(LMS)算法流程图开始初始化 , 读取原始音频产生白噪声 N ( n ) , 叠加到原始音频设置滤波器的步长跟阶数L M S 算法迭代运算输出结果分析图 3 算法流程图2. 3 自适应的最小均方(LMS)算法实现由 Widrow 和 Hof f 提出的最小均方误差( LMS)算法, 因其具有计算量小、易于实现
6、等优点而被广泛采用 (LMS)算法的核心思想是用平方误差代替均方误差。基于最速下降法的最小均方误差(LMS)算法的程序实现步骤如下:步骤 1 初始化,n=0;权向量 ;估计向量: (0)=0 (0)=(0)(0)=(0)输入向量: (0)=(0) (1) (+1) =(0) 0 0 步骤 2 对 n=0,1,2,权向量的更新: (+1)=()+()()期望信号的估计: (+1)=(+1)(+1)估计误差: (+1)=(+1) (+1)步骤 3 令 n=n+1,转到步骤 2 继续。 其中: 为自适应滤波器在时刻 n 的权向量, 为时刻 n 的输入信号矢量,(n) ()为期望输出值, 是误差信号,
7、N 是自适应滤波器的长度, 是步长因子,是控制(n) () 收敛速度和稳态误差的参量。LMS 算法收敛的条件为:0 , 是输入信号自相关矩阵的最大特征值。初1始收敛速度、时变系统跟踪能力及稳态失调是衡量自适应滤波算法优劣的三个最重要的技术指标。我们知道, LMS 自适应滤波算法的收敛条件是:0 , 是输入信号自1相关矩阵的最大特征值。因此 应满足:0 。() ()13 信号波形图( =0.05,N=2)图 4 实际波形处理图4 结论仿真结果显示,采用基于 LMS 算法设计出的自适应滤波器有良好的收敛性、较小的稳态误差,噪声功率较大的情况下也能完成数字滤波任务,在噪声消除方面具有很好的效果和性能. 由于 MATLAB 具有强大的功能 , 仿真后的结果可以很方便地移植到数字信号处理器、 可编程逻辑器件等中,为自适应滤波器的硬件实现打下了良好的理论基础。参考文献1 李梦醒,秦姣华. Simulink 仿真技术在数字滤波器设计中的应用J. 湖南城市学院学报,2005,14(3):66-68.2何子述,夏威等编著:现代数字信号处理及其应用 ,清华大学出版社,2009 年版