关于matlab中的filter函数调用理解

filter函数的一个调用形式为[y,zf] = filter(b,a,X,zi),因为本人英语不好,帮助文档说明看不大懂,大概其算法是根据下面的公式计算的
y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)
- a(2)*y(n-1) - ... - a(na+1)*y(n-na)
好像是说b,a分别是滤波器分子分母系数,zi和zf是预测初状态。我一般理解a,b应该是向量,可也经常看到有人这么用:
[y,zf] = filter(1,a,X,zi);或者[y,zf] = filter(a,1,X,zi);
一直搞不明白这两调用语句和上面的算法公式是怎么对应的(b=1??a=1?)还有算法公式中的nb,na又是具体指什么?
具体拿个例子说:如果a有11个元素(10阶)就[y,zf] = filter(1,a,X,zi);这一句来说对应到公式中,b及nb,na还有zi,zf分别应该是什么?

望有哪位大虾帮帮忙给解释指点一下,万分感激!!

如果a有11个元素(10阶)就[y,zf] = filter(1,a,X,zi);这一句来说对应到公式中,b及nb,na还有zi,zf
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-08
参考答案: 尴尬的人生:求而不得,弃而不舍,得而不惜——有些是遗憾,有些是犯贱。本回答被提问者采纳
相似回答