I would like to know whether this can be done and if then how would this feat be acomplished in Matlab given a filter calculated with Remez?

h = remez(...);

If this is not possible then I would appreciate an explanation whether this can be done approximately (approximations of the zeros and poles) or whether this is simply mathematically pointless because a broken rational complex polynomial representation does not exist.


2 Answers 2


If your impulse response is $h(n)$ then the $\mathcal{Z}$-transform of this impulse response (i.e. the transfer function of the filter) is


where $N$ is the filter length, i.e. the number of coefficients.

Note that since it is an FIR filter, all its poles are at the origin of the $z$-plane. The zeros are of course the zeros of the polynomial with coefficients $h(n)$.

  • $\begingroup$ ŵell explained, it's ringing a bell. thanks $\endgroup$
    – Raffael
    Commented May 13, 2014 at 18:52
  • $\begingroup$ are all zeros located within the unit-circle? $\endgroup$
    – Raffael
    Commented May 13, 2014 at 18:55
  • 1
    $\begingroup$ @Raffael: No, the Remez algorithm designs linear-phase FIR filters, and they have all their zeros either on the unit circle (in the stopband of the filter) or mirror-imaged at the unit circle (in the passband). I.e. for each zero inside the circle there must be one with inverse magnitude outside the unit circle. $\endgroup$
    – Matt L.
    Commented May 13, 2014 at 18:58

Well, remez function in MATLAB returns your FIR filter coefficients b (of a numerator). Having them you can obtain zeros, poles and gain by calling:

[z, p, k] = tf2zpk(b, 1);

What's more, you can use the following tool to visualize your filter:

 fvtool(b, 1);

In R you can use the function polezero:

 polezero(b, 1); 

to get the plot.


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.