滤波器阶数与抽头数对系数的关系


28

我正在慢慢学习DSP,并试图将某些术语笼罩在脑海中:

  • 问题1:假设我有以下滤波器差分方程:

    y[n]=2x[n]+4x[n2]+6x[n3]+8x[n4]

    右侧有4个系数。“抽头数”也是4吗?“过滤器命令”也是4吗?

  • 问题2:我正在尝试使用MATLAB fir1(n, Wn)函数。如果我想创建一个10抽头的滤波器,我会设置吗?n=10

  • 问题3:假设我有以下递归(大概是IIR)滤波器差分方程:

    y[n]+2y[n1]=2x[n]+4x[n2]+6x[n3]+8x[n4]

    由于系数的数量在左侧和右侧不同,我该如何确定“抽头数”和“滤波器阶数”?

  • 问题4:以下逻辑if-and-if-if语句是否正确?

    • 过滤器是递归的 过滤器是IIR。
    • 过滤器是非递归的 过滤器是FIR。

Answers:


37

好的,我会尽力回答您的问题:

x(n),x(n1),x(n2),x(n3),x(n4)x(n1)),因此您碰巧有4个非零点击。滤波器长度仍然为5。FIR滤波器的阶数为滤波器长度减去1,即示例中的滤波器阶数为4。

nn+1n+1

nth2(n+1)

问题4:这有点棘手。让我们从一个简单的例子开始:非递归滤波器始终具有有限的脉冲响应,即它是FIR滤波器。通常,递归滤波器具有无限的冲激响应,即它是一个IIR滤波器,但是在退化的情况下,使用递归结构实现了有限的冲激响应。但是后一种情况是例外。


3
+1:不错的答案,尤其是细微之处#4。如您所说,以递归形式编写FIR滤波器是完全有可能的(有时是可取的)。
Peter K.

关于问题3:仅在右侧是从“实现过滤器所需的最大延迟”中找到过滤器顺序的?我认为这必须同时适用于FIR和IIR滤波器。如果答案是“是”,那么IIR滤波器的右侧对滤波器的阶数没有影响,对吗?
stackoverflowuser2010

1
关于问题4:以下逻辑含义是否正确:(1)递归滤波器->(“暗示”)FIR或IIR;(2)非递归滤波器-> FIR; (3)FIR->非递归或递归(稀有);(4)IIR->递归。这些说法正确吗?
stackoverflowuser2010

2
y(n)x(n)y(n)+y(n10)=x(n)

2
问题4:您的暗示是正确的。
Matt L.

3
  • 问题1:抽头数=系数s的数目= FIR滤波器时的滤波器长度。过滤器的顺序等于过滤器1的长度。
  • n
  • Y(z)/X(z)=H(z)
  • 问题4:FIR滤波器是直接的,表示没有反馈,但是对于IIR滤波器,您将有反馈。我建议您使用FIR滤波器,因为它们具有线性相位。另一方面,对于相同大小的FIR滤波器,IIR滤波器的计算量较少,因为IIR滤波器的系数数量较少,但是IIR滤波器不具有线性相位。因此,可以说这是一个折衷。
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.