好的,我将尝试回答您的问题:
Q1:抽头数不等于滤波器阶数。在您的示例中,过滤器长度为 5,即过滤器扩展到 5 个输入样本 [ ]。抽头数与滤波器长度相同。在您的情况下,您有一个等于零的抽头(的系数),因此您碰巧有 4 个非零抽头。尽管如此,滤波器长度为 5。FIR 滤波器的阶数为滤波器长度减 1,即您的示例中的滤波器阶数为 4。x(n),x(n−1),x(n−2),x(n−3),x(n−4)x(n−1)
Q2:Matlab 函数 fir1() 中的是过滤器阶数,即您得到一个包含元素的向量作为结果(因此是您的过滤器长度 = 抽头数)。nn+1n+1
Q3:过滤器顺序又是4。你可以从实现过滤器所需的最大延迟中看出。它确实是一个递归 IIR 滤波器。如果按抽头数表示滤波器系数的数量,那么对于阶 IIR 滤波器,您通常有系数,即使在您的示例中它们中有几个是零。nth2(n+1)
Q4:这是一个有点棘手的问题。让我们从简单的情况开始:非递归滤波器总是有一个有限的脉冲响应,即它是一个 FIR 滤波器。通常递归滤波器具有无限脉冲响应,即它是一个 IIR 滤波器,但也存在使用递归结构实现有限脉冲响应的退化情况。但后一种情况是个例外。