MATLAB: Filter clarity needed – does no. of coefficients = order = no. of poles and zeros

filterMATLABorderpolestapszeros

does the no. of filter coefficients also equal the order and also the no. of poles and zeros?
thanks

Best Answer

No, not the number of coefficients, but there is a relationship with the order. The order is one less than the number of coefficients. Remember there is a 0-th order coefficient.
For the rational systems that you are dealing with, the number of poles and zeros will be the same and that will be equal to the largest order (numerator or denominator).
If you use butter(), ellip(), then MATLAB will return identical orders for both the numerator and denominator.
[b,a] = butter(10,0.2);
isequal(length(b),length(a))
There will be 10 poles and 10 zeros.
But note that even if the numerator and denominator orders are different.
B = 1;
A = [1 -0.5 0.2];
zplane(B,A)
The number of zeros and poles are identical and that number is equal to the highest order of the numerator or denominator. In the above that is 2.