1
$\begingroup$

I have a design question and need to determine poles-zeros of a IIR bandpass filter. Requirements are:

1-order should be 3

2-causal

3-real valued impulse response

4-stable

5-cutoff freq: pi/3-pi/2

I have tried butterworth design on matlab to determine poles and zeros but I do want to learn how are they placed analytically or by inspection. Also a problem of matlab is it designed a filter with order=4. Is it possible to solve this with n=3.

Thanks

$\endgroup$
1
  • $\begingroup$ @Hilmar: In the first line of the question it says "bandpass". $\endgroup$
    – Matt L.
    Commented Dec 27, 2018 at 18:19

1 Answer 1

2
$\begingroup$

There's a good reason why band pass filters usually have an even filter order. As you may know, real-valued filters have either real-valued poles and zeros, or their poles and zeros occur in complex-conjugate pairs. If the order is odd, there must always be at least one real-valued pole and zero. In the case of a band pass filter, a real-valued pole is not very useful, because poles create peaks in the frequency response, but a real-valued pole can only create a peak at DC (frequency zero), or at Nyquist (the maximum frequency given the sampling rate). However, a band pass must attenuate the signal at DC and at Nyquist, so peaks at those frequencies are undesirable.

So a reasonable choice would be to place a complex conjugate pole pair at (or close to) the center frequency of the band pass filter, and leave the remaining real-valued pole at $z=0$ (where it doesn't affect the magnitude response). The three zeros should all be placed on the unit circle to create frequency response zeros. A reasonable choice would be to have one zero at DC and a complex pair of zeros close to Nyquist.

The figure below shows the magnitude response and the pole zero diagram of a possible choice of poles and zeros for a third order band pass filter with the given pass band.

enter image description here

$\endgroup$

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.