zplane命令显示FIR滤波器的奇怪零位置

时间:2014-02-03 11:02:35

标签: matlab filtering signal-processing

我用Matlab创建了一个低通滤波器FIR,当我改变滤波器顺序时,在z平面上得到一些奇怪的零。

我使用Matlabs内置fir1函数以下列方式计算滤波器系数:

sampling_rate=100;
cutoff_freq = 5;
filter_order=80;
b_l=fir1(filter_order,cutoff_freq*2/sampling_rate);
zplane(b_l);

如果过滤顺序是< 80,zplane图如下所示: Zplane Diag. of lowpass filter with filter order 79

但如果过滤器顺序为> = 80,则一个零值为-6.5 * 10 ^ 14: Zplane Diag. of lowpass filter with filter order 80

Matlab如何计算滤波器系数以及极点如何远离单位周期?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:

在Matlab R2013a中执行代码所产生的奇怪极点/零图似乎是zplane函数中的错误的后果。

根据评论,Octave 3.8使用相同的代码显示不同的极点/零图。

我使用b_l=fir1(filter_order,cutoff_freq*2/sampling_rate)创建的滤波器系数来构造多项式并使用Mathematica找到它的根。没有根有很大的绝对值,所以情节必须是错误的。