Determine poles and zeros of a specific filter design

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

• @Hilmar: In the first line of the question it says "bandpass". – Matt L. Dec 27 '18 at 18:19

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.