所以我在频域中有FIR滤波器系数(385个复数值(。我取了传递函数的ifft,并通过fvtool来查看零极点表示。然后我很有兴趣看看我是否可以使用zplane得到同样的结果。我取了ifft和,并在上面应用matlab函数tf来获得分子和分母系数,然后将它们传递到z平面。它们看起来不相似。我做错了什么?更具体地说,fvtool和zplane的输入是滤波器的传递函数还是它在时域中的脉冲响应?
根据fvtool
:的Matlab帮助页面
fvtool(b,a)
打开FVTool并显示用分子b和分母a定义的数字滤波器。指定b以及以幂z-1的升序排列的系数。
对于fvtool
,第一个自变量是传递函数的分子系数,第二个自变量是分母系数。对于FIR滤波器的情况,这些都是传递函数的分子系数,可以通过a = 1
。
对于zplane
:
zplane(b,a)
,其中b和a是行向量,首先使用roots
找到由分子系数b和分母系数a.
因此,在这两种情况下,您都希望传递传递函数,而不是脉冲响应。由于您已经有了FIR系数,因此需要使用iffy
。