Matlab显示的系数超过了需要

时间:2014-04-03 06:31:35

标签: matlab filter

我试图找到5阶的butterworth滤波器系数,我得到11系数,而我只得到6.以下是我使用的代码:

[y, Fs] = wavread('C:\Users\mamoun\Desktop\audio.wav');
[b,a]=butter(5,[200 800]/(Fs/2));

这是系数:

b =

   1.0e-05 *[0.0125, 0, -0.0627, 0, 0.1254, 0, -0.1254, 0, 0.0627, 0,  -0.0125]


a =

    [1.0000, -9.7076, 42.4256, -109.9240, 186.9906, -218.2146, 176.9209, 
     -98.4038, 35.9343, -7.7796, 0.7583]

我应该忽略向量b中的零和向量a中的相关数字吗?

1 个答案:

答案 0 :(得分:0)

我刚刚在Matlab文档中阅读了以下内容:

[z,p,k] = butter(n,Wn,'ftype')

如果Wn是双元素向量,则对于2 * n带通滤波器的''带通',Wn = [w1 w2]。通带是w1 <ω

因此,在带通

的情况下,此函数返回2 * n滤波器的系数