To get linear phase the impulse response has to be symmetrical in time. This cannot be done with IIR filters unless you have infinite time delay because the tail of the response extends to the infinite future.
Thnx for the reply. Well...Sorry to say that but yeah ok if it has to be symmetrical in time it cant be IIR and have linear phase. The question is WHY mathematically does it HAVE to be symmetrical in time?
The basic idea is to take the DFT of a symmetric/anti-symmetric impulse response. You will find that the phase response will be linear.
I've attached one such proof, for one case. I managed to derive the other 3 cases on paper, so you could probably do the same if you wanted. The mathematics can be quite messy with the variable of summation substituted several times.
From pp. 298, Discrete-Time Signal Processing by Oppenheim, Schafer, Buck
" Clements and Pease(1989) have shown that causal IIR can also have Fourier transform with generalized linear phase. The corresponding system functions, however, are not rational and thus, the system cannot be implemented with difference equations. "
Clements, M.A., and Pease, J., "On Causal Linear Phase IIR Digital Filters," IEEE Trans. Acoustics, Speech, and Signal Processing, Vol. ASSP-3, pp.479-484, April 1989
Here is another way to look at this. Linear phase is an exponential function of e. This cannot be converted to a finite polynomial, it takes an infinite series. Filters that are specified as a ratio of polynomials with base s or z would take an infinite number of LC components or calculating stages.
@checkmate Yeah ok all these are cases, but you didnt say WHY symmetry of the impulse response is sufficient AND necessary condition for a discrete time filter to have linear phase. Thanks anyway for the writing!
@me2please Thanx for the link! I found the answer in there with some calculations! The proof is easy, I just needed to be a bit more carefull...