频域自适应滤波器中的泄漏是什么?

信息处理 matlab 过滤器 过滤器设计
2022-02-02 22:29:53

数字滤波器的泄漏是什么意思?我的具体问题是关于 Matlab DSP 工具包中提供的频域自适应滤波器功能,访问为 adaptfilt.fdaf。它有一个名为 LEAKAGE 的参数,但我不确定它究竟代表什么或它如何影响过滤器响应。
创建为 h = adaptfilt.fdaf 的过滤器可用作
[y, e] = filter(h, x, d)
过滤 x 中的数据。研究提供的过滤器函数的源代码显示了如何使用泄漏,但该过滤器函数所基于的理论不包括泄漏组件。如果此功能所基于的论文没有它,它会做什么以及为什么会存在?

1个回答

在自适应滤波中,泄漏是一种稳定方法,如果协方差矩阵接近奇异(即至少一个特征值非常小),或者如果在自适应滤波器的实现中存在有限精度效应,则该方法可能很有用。泄漏改变了更新公式,使得不仅均方误差而且滤波器抽头的范数都被最小化。这可以防止在数值病态的情况下滤波器系数的无限增长。

对您而言,这仅意味着如果 FDAF 与您的输入信号一起正常工作,您最初使用 1 的泄漏系数(即无泄漏)。如果遇到系数漂移(最优解的波动很大),您可以先稍微降低泄漏系数,直到系数波动变得足够小。请注意,泄漏以性能下降为代价实现了稳定性,因为由于更改了更新公式,它在滤波器抽头中引入了一些偏差。