主要内容

自适应滤波器的收敛

这个例子比较了使用不同LMS算法的自适应滤波器的收敛速度。

介绍

自适应滤波器调整其滤波系数,使其输出与期望的未知系统的输出相匹配。自适应滤波器的一个主要应用是滤波器识别,其中参考信号由一个未知的卷积滤波器滤波,如图所示。同样的信号通过自适应滤波器和未知系统,自适应滤波器尝试调整其系数,使两个输出之间的误差最小。自适应滤波器通常在其输出上有很大的误差,并且随着时间的推移,误差趋于下降,因为滤波器收敛。

使用最小均方(LMS)算法的自适应滤波器调整其系数,使两个输出之间的误差在均方意义上最小。这个例子考虑了LMS算法的4种不同的变体,并比较了使用这些算法的自适应滤波器的收敛速度。

  • LMS -最小均方算法

  • NLMS -归一化LMS算法

  • SELMS - Sign-Error LMS算法

  • SSLMS - Sign-Sign LMS算法

设置

使用方差为0.01的零平均高斯白噪声作为滤波器的输入信号。选择长度为13、所有系数设为1的FIR滤波器作为所需的未知滤波器。你可以选择添加一个方差1e-5的高斯噪声到这些权重通过切换手动开关。现在将开关设置为值为0的Constant块,以便权重不包含任何噪声。设置自适应滤波器的初始权值为0。LMS、NLMS和Sign-Error LMS块的步长为0.2。对于Sign-Sign LMS算法,选择更合适的步长0.02。每个自适应过滤器都可以单独启用或禁用。使用移动均方根块来计算所需输出的能量和误差信号。在时间范围内以分贝的比例可视化这些信号。 To examine the convergence of the adaptive filter weights, subtract the adaptive filter weights from the desired filter weights and plot the error using another Time Scope.

从第一张图可以看出,NLMS滤波器的误差信号收敛到零的速度比其他变体快得多,稳态误差在300 dB以上。LMS滤波器还能与未知滤波器的输出相匹配,信噪比大于150 dB。从图2可以看出,NLMS和LMS滤波器的权值收敛到期望的滤波器权值,权值之间的最终误差最小。Sign-Error LMS和Sign-Sign LMS滤波器似乎比LMS滤波器开始收敛更快,但这些滤波器在滤波器输出(大约20 dB的信噪比)和滤波器权重中有更大的稳态误差。