最小均方(LMS)算法是自适应算法中最简单、最容易应用的算法。另一方面,递归最小二乘(RLS)算法以其卓越的性能和更高的保真度而闻名,但它们也带来了更高的复杂性和计算成本。在性能上,RLS接近自适应滤波应用中的卡尔曼滤波器,在信号处理器中需要的吞吐量有所降低。与LMS算法相比,RLS算法对未知系统收敛速度快,误差小,但计算量大。
请注意,无论滤波器使用RLS还是LMS,信号路径和标识都是相同的。区别在于适应部分。
LMS滤波器适应其系数,直到所需信号和实际信号之间的差异最小化(误差信号的最小平均方形)。这是滤波器权重聚到最佳值的状态,即,它们会聚到足够接近的未知系统的实际系数。这类算法基于当前时间的错误来适应。RLS自适应滤波器是一种算法,其递归地找到滤波器系数,其最小化与输入信号相关的加权线性最小二乘性的成本函数。这些过滤器根据从开头计算的总误差适应。
LMS过滤器使用基于梯度的方法来执行适应。假设初始权重为小,在大多数情况下非常接近零。在每个步骤中,基于均方误差的梯度更新滤波器权重。如果梯度为正,则滤波器重量减小,因此误差不会积极增加。如果梯度为负,则滤波器重量增加。必须适当地选择权重改变的步长。如果步长非常小,则该算法会收敛得非常缓慢。如果步长非常大,则该算法会收敛非常快,并且系统在最小误差值下可能不会稳定。要具有稳定的系统,步长μ必须在这些限制范围内:
在哪里
RLS滤波器最小化成本函数,
在哪里
W.N.—RLS自适应滤波系数。
E.(i) -期望信号之间的误差
λ - 遗忘因子为较旧的样本提供指数较低的重量,在0 <λ≤1的范围内指定
在误差值可能来自虚假输入数据点或点的情况下,遗忘因子允许RLS算法通过将旧数据乘以遗忘因子来降低旧错误数据的重要性。
此表总结了两种类型的算法之间的关键差异:
LMS算法 | RLS算法 |
---|---|
简单,可以很容易地应用。 | 增加了复杂性和计算成本。 |
收敛时间更长。 | 更快的收敛。 |
自适应是基于基于梯度的方法,更新滤波器权值以收敛到最优滤波器权值。 | 自适应是基于递归的方法,找到滤波器系数,使与输入信号相关的加权线性最小二乘代价函数最小化。 |
关于未知系统的较大稳态误差。 | 关于未知系统的较小稳态误差。 |
不考虑过去的数据。 | 说明从开始到当前数据点的过去数据。 |
目标是最小化期望信号和输出之间的电流均方误差。 | 目的是最小化所需信号与输出之间的总加权平方误差。 |
没有记忆。较旧的错误值在所考虑的总错误中播放不作。 | 有无限的记忆。所有错误数据都在总错误中被考虑。使用遗忘因子,与较新数据相比,可以将较旧的数据进行解除。 从0≤ |
DSP System Toolbox™中的基于LMS的FIR自适应过滤器: |
基于DSP系统工具箱中的RLS的FIR自适应过滤器: |
在一定范围内,您可以使用任何自适应滤波器算法来解决自适应滤波器问题,方法是用新算法替换应用程序的自适应部分。
[1] Hayes,Monson H.,
[2]微积分,西门,