自适应滤波器有什么作用?


12

我对互联网上的自适应滤波器进行了一些研究,发现它是一种特殊的滤波器,该滤波器会在其运行时立即更新其滤波器值。它找出输入和输出之间的差异,并使用误差函数,而先前的系数找出新的滤波器系数。

但这没有任何意义。它总是试图最小化输入和输出之间的差异。因此,如果它试图按原样传递所有信号,它有什么用?

谁能解释我在实际应用中如何使用它。

如果您可以通过一些可以帮助我实现自适应数字滤波器的链接来帮助我,那也将很好。

如果我不清楚我是否表示怀疑,请发表评论!


在自适应滤波器的至少某些实际应用中,它所做的是连续搜索(假定的)fir滤波器的“最佳拟合”,该fir滤波器本身是未知的,但其输入和输出是已知的。
Knut Inge

Answers:


11

您缺少的关键概念是您不只是在最小化输入和输出信号之间的差异。误差通常是从第二个输入算出的。只要看一下与ECG相关Wikipedia示例

重新计算该示例中的滤波器系数,以根据从干线信号中提取的频率来改变陷波滤波器的陷波频率。可以使用静态陷波滤波器,但您必须拒绝更宽范围的频率以适应市电频率的变化。自适应滤波器遵循电源频率,因此阻带可以窄得多,从而保留了更多有用的ECG信息。

编辑:

我再次看了一下,我想我对您的问题会更好一些。LMS算法需要一个误差项才能更新滤波器系数。在上面我解释的ECG示例中,我给出了误差项作为来自市电电压的第二个输入。现在,我猜您在想:“为什么不从信号加噪声中减去噪声而留下信号呢?” 这将在简单的线性环境中很好地工作系统。更糟糕的是,在线上给出的大多数示例(正确但令人困惑)告诉您,误差项是根据所需信号与自适应滤波器输出之间的差计算得出的。这使任何有理智的人都在思考“如果您已经有了所需的信号,那么为什么还要这样做呢?这可能会使读者缺乏阅读和理解自适应滤波器的数学描述的动力。但是,关键在《数字信号处理手册》第18.4节中。Vijay K. Madisetti和Douglas B. William。

哪里:

  • x =输入信号
  • y =过滤器的输出
  • W =滤波器系数,
  • d =期望的输出,
  • e =错误

实际上,感兴趣的数量并不总是d。我们的愿望可能是用ya表示x中包含的d的某些分量,或者可能是将x中不包含的误差e中的d的分量隔离开。另外,我们可能只对W中的参数值感兴趣,而不必关心x,y或d本身。本章稍后将提供每种情况的实际示例。

在某些情况下,d并非始终可用。在这种情况下,适应通常仅在d可用时发生。当d不可用时,我们通常使用最近的参数估计来计算y,以尝试估计所需的响应信号d。

在现实世界中,d永远不可用。在这种情况下,可以使用有关“假设” d的特征的其他信息(例如其预测的统计行为或幅度特征)来根据自适应滤波器可用的信号形成合适的d估计。这些方法统称为盲适应算法。这样的方案甚至可以工作的事实,既是对算法开发人员的独创性,又是对自适应过滤技术的成熟性的贡献。

我会在有空的时候继续使用此答案,以尝试改进ECG示例。

我发现这组讲义特别好:高级信号处理自适应估计和自适应滤波器 -Danilo Mandic


感谢您的解释。我听说自适应滤波器是通过LMS算法实现的。您能给我一个有用的链接,以便我实现它吗
Prashant Singh

2
自适应滤波器理论是复杂且​​数学密集的。仅获得有关LMS算法外观的指针并不能告诉您很多。如果您编写了一些软件来执行此操作,但该软件不起作用,那么您将很难找到问题所在。话虽如此,维基百科在LMS过滤器上有一个不错的页面。
杰森R

非常感谢 !我了解LMS的工作并实施了它:D
Prashant Singh

您说“根据从市电信号中提取的频率来改变陷波滤波器的陷波频率”,而ECG示例说“从记录中减去噪声”,但是陷波滤波器不是减法的,它们是乘法的,并且无效在给定的频率下所有信号。那么,它是否跟踪电源信号的频率和相位并减去它们,从而在这些频率上留下所需的信号?还是用陷波滤波器消除了那些频率下的任何东西?您能想到一个更好的例子吗?
endlith 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.