【问题标题】:Adaptive Filter input vectors and iteration自适应滤波器输入向量和迭代
【发布时间】:2018-07-01 03:51:00
【问题描述】:

我正在尝试实现一个自适应滤波器来消除噪声,特别是一个 RLS 滤波器来消除信号中的运动伪影。为此,我正在阅读一些文献,有一点我不明白,我发现的每本书或文章都假设我现在已经这样做了。

我有一个参考信号,在 Python 中表示为大约 8000 个元素或样本的列表。我需要将此输入到 RLS 过滤器,但我发现的每个算法总是将输入向量作为

X[n] = [x1[n], x2[n], x3[n], ........, xM[n]]T

其中 X 是输入向量,n 是时间瞬间。这就是我迷路的地方。如果 n 是一个时刻,这意味着 x[n] 是列表中的一个元素,一个小样。但如果是这样的话,x1,x2,....,xM 是什么???。

我意识到这不是严格意义上的编码问题,但我希望有人能提供帮助!

谢谢...

【问题讨论】:

  • 只是猜测,但如果 n 是时间指示,那么 X1、X2、..、Xm 可能是多次测量?你在哪里读到的?
  • 好吧,我想我明白了……把过滤器的顺序称为N,那么n从0到N其实就是过滤器的迭代,你运行多少次。并且对于每次迭代,您都会输入 x 的一个窗口,称为 X[n]。其中 x1、x2 等是该窗口中的样本。我这样实现了这个窗口: X = x[n:n-N:-1]

标签: python algorithm filtering signal-processing perceptron


【解决方案1】:

你的解释是正确的。 X 输入向量递归地乘以滤波器系数。我已经有一段时间没有编写自适应滤波器了,但如果我没记错的话,您将M 滤波器系数乘以最新的M 输入值以获得更新。

所以M 是您的滤波器的阶数,或滤波器系数的数量,n 是您要过滤的信号的长度。正如您所注意到的,您的递归过滤器将为每个过滤输出计算查看这些输入值的“窗口”。

【讨论】:

    猜你喜欢
    • 2018-07-24
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2021-01-05
    • 2013-08-17
    • 1970-01-01
    • 2020-09-21
    相关资源
    最近更新 更多