I have been doing some reading from the book Discrete Time Signal Processing by Oppenheim & Schafer (2nd Edition). In the book, I come across an IIR system (example 5.8 on p265) with transfer function: H(z)=1/[(1-r*e^(j*theta)*z^(-1))*(1-r*e^(-j*theta)*z^(-1))] The causal impulse response is: h[n]=(r^n)*sin[(n+1)*theta]*u[n]/sin(theta) A plot of the group delay is given for r=0.9 and theta=pi/4 (figure 5.16c). From the plot, there is an extensive region where the group delay is negative (somewhere between -1 and 0). From my understanding, group delay represents the number of time steps delay of the output response to an applied input. For a causal system, I would expect the group delay is positive at all frequency (which means input precede output). However, in this case, a negative group delay is seen for some frequency (which would mean output comes before input!) How can this happen? Can anyone please point to me where my logic went wrong? Thank you.