2
For linear phase FIR filters, each zero at z = z0 will have a matching reciprocal zero at z = 1/zo. And for real-valued coefficients each zero at z = zo will have a matching conjugate zero at z = *zo. Thus for linear phase real-valued coefficients, when you place one zero on the z-plane you determine the location of the other three zeros.
1
You are missing a couple of zeros.
First of all, you must also include the reciprocal of the one located at $z=-2$, that is one at $z=-0.5$
You should also have one more zero coming from the fact that types 3 and 4 are anti-symmetric. This zero must be located at $z=1$, and is responsible for the minus sign in the anti-mirror image polynomial equation:
$H(...
1
Beware of the differences between Matlab's firpm and Scipy.signal's remez. For example, these two statements are equivalent:
% Matlab
firpm(10,[.2 .8],[1 1],'Hilbert')
# Python
from scipy.signal import remez
remez(11, [0.1, 0.4], [1], type='hilbert')
Only top voted, non community-wiki answers of a minimum length are eligible
Related Tags
finite-impulse-response × 78filters × 30
infinite-impulse-response × 21
filter-design × 20
lowpass-filter × 9
matlab × 8
discrete-signals × 8
fir × 8
impulse-response × 5
python × 3
linear-systems × 3
z-transform × 3
frequency-response × 3
bandpass × 3
linear-phase × 3
fft × 2
signal-analysis × 2
fourier-transform × 2
audio × 2
noise × 2
dft × 2
convolution × 2
homework × 2
interpolation × 2
bandwidth × 2