Assume some unknown but small and finite number of poles and zeros in the complex Z plane, all with complex conjugates, producing some response. Strictly from the absolute value of a set of equally spaced points around the unit circle, say greater than 2X the number of poles and zeros, of that response, is it possible to estimate or compute the number of poles and zeros which produced that sampled magnitude response?

Added: Are more than 2X sample points required to determine the number of poles and zeros? (when given that the total is less than X).

Added: If there is more than one solution, can a minimum solution (as in the minimum number of total poles and zeros) be found or estimated?

  • $\begingroup$ This is a much easier problem with no poles. That would essentially become the algorithm in the matlab/octave firls command. $\endgroup$ Jun 19, 2012 at 12:53
  • $\begingroup$ I wonder if you could analyze the numerator and denominator of the frequency response in terms of the generalized eigenvalue problem. You'd probably need to assume phase (linear for starters) $\endgroup$ Jun 19, 2012 at 12:56
  • $\begingroup$ I guess allpass filters are ruled out! If poles and zeros are 'close enough' I think you will have problems when samples of the response are equally spaced. Anyway, let's say you have a response that is flat except for a small bump somewhere not too low in frequency. Depending on your preference you can then model that using a biquad (2 zeros and 2 poles) or you could model it using 4 to 6 zeros instead. A related question is: given a set of poles and zeros, what is the minimum number of points of the magnitude response required in order to precisely compute the number of poles and zeros. $\endgroup$
    – niaren
    Jun 19, 2012 at 20:09
  • 1
    $\begingroup$ I think the problem, as stated, isn't solvable. You could take any arbitrary system and cascade it with one or more allpass filters; this would not affect its magnitude response but it would change how many poles/zeros the cascade has. For a given magnitude response, then, there would be infinitely many numbers of corresponding poles and zeros. It might be a different story if you had access to the system's phase response. Failing that, you could definitely estimate the system order (using some unspecified scheme). Nice problem to think about. $\endgroup$
    – Jason R
    Jun 19, 2012 at 21:44
  • $\begingroup$ Fixed the question to remove an infinite zoo of allpass filters from the solution. $\endgroup$
    – hotpaw2
    Jun 19, 2012 at 22:21

1 Answer 1


Theoretically it's possible to do this, although it will often not be practical.

Let's consider this in polynomial space. For a filter of order N you have 2*N+1 independent variables (N for the denominator and N+1 for the numerator). Let's look an arbitrary point $z_{k}$ in the z-plane and let's say the value of the transfer function at this point is H($z_{k}$). The relationship between the transfer function and all the filter coefficients can be written as equation that's linear in all filter coefficients as follows: $$\sum_{n=0}^{2*N}b_{n}\cdot z_{k}^{-n} - H(z_{k})\cdot \sum_{n=1}^{2*N}a_{n}\cdot z_{k}^{-n}=H(z_{k})$$ So if you pick M different frequencies $z_{k}$ you'll end up with a set of M complex linear equations or 2*M real equations. Since your number of unknowns is odd (2*N+1) you probably always want to pick one frequency where z is real, i.e z = 1 or $\omega$ = 0.

If M is larger than N than the system of equations is linearly dependent. You can find the filter order by starting at N=1 and increase N until the equation system becomes linearly dependent. The largest N at which the system is linearly independent is the actual filter order. For this approach, it doesn't even matter what frequencies you pick. As long as they are different, any set of frequencies will work.

However, this a numerically very tricky problem. Polynomial representation for larger filter orders is numerically very fragile and the smallest amount of noise or uncertainty leads to very large numerical errors. For example, if you determine the values of the sampled transfer function through measurement, the required measurement accuracy will be prohibitive unless it's very benign low order filter.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.