'Matlab Fvtool zero pole representation doesn't match that of zplane

So I have FIR filter coefficients in frequency domain (385 complex values). I took ifft of the transfer function and pass it through fvtool to see the zero pole representation. Then I was interested to see if I can get the same using zplane. I took ifft and and applied matlab function tf on it to get numerator and denominator coefficients and then passed them to zplane. They don't look similar. What am I doing wrong? To be more specific, is the input to fvtool and zplane the transfer function of the filter or it's impulse response in time domain?



Solution 1:[1]

According to the Matlab help page for fvtool:

fvtool(b,a) opens FVTool and displays the magnitude response of the digital filter defined with numerator b and denominator a. Specify b and a coefficients in ascending order of power z-1.

For fvtool the first argument is the numerator coefficients of the transfer function and the second argument is the denominator coefficients. for your case with an FIR filter, those are all numerator coefficients of the transfer function and you can pass a = 1.

As for zplane:

zplane(b,a), where b and a are row vectors, first uses roots to find the zeros and poles of the transfer function represented by the numerator coefficients b and the denominator coefficients a.

So in both cases you'll want to be passing in the transfer function and not the impulse response. As you already have the FIR coefficients you should need to use iffy.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 GrapefruitIsAwesome