Question about causal system group delay in DSP

In summary, the conversation discusses an IIR system with a transfer function and causal impulse response, as well as a plot of group delay for specific values. The group delay is expected to be positive for a causal system, but in this case, it is negative for certain frequencies. The person is questioning how this is possible and if their understanding of group delay is correct.
  • #1
chingkui
181
2
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.
 
Physics news on Phys.org
  • #2
chingkui said:
For a causal system, I would expect the group delay is positive at all frequency (which means input precede output).

How did you arrive at this conclusion?
 
  • #3


Thank you for your question. Group delay is a measure of the delay in a system's output response to an applied input at a specific frequency. The negative group delay observed in this IIR system is not a violation of causality, but rather a result of the system's frequency response.

In the frequency domain, the transfer function H(z) has a pole at z = r*e^(j*theta) and a zero at z = r*e^(-j*theta). When r is close to 1 and theta is small, these two points are close to each other and the frequency response has a sharp peak. This peak corresponds to the negative group delay observed in the plot.

To understand this further, we can look at the formula for group delay:
GD(omega) = -d(phi(omega))/d(omega)
where phi(omega) is the phase response of the system. In this case, the phase response is:
phi(omega) = -theta + (n+1)*omega
where n is the sample index.

When we take the derivative of this phase response, we get:
d(phi(omega))/d(omega) = (n+1) - theta
At the peak of the frequency response, theta is small and n is large, resulting in a negative value for the group delay.

In summary, the negative group delay observed in this IIR system is a result of its frequency response and does not indicate a violation of causality. I hope this explanation helps clarify your understanding.
 

1. What is group delay in DSP?

Group delay in DSP stands for group delay of a causal system. It refers to the delay or phase shift experienced by a group of frequencies as they pass through a system. It is an important measure in digital signal processing as it affects the overall timing and phase response of a system.

2. How is group delay different from phase delay?

Group delay and phase delay are both measures of the delay experienced by a signal as it passes through a system. However, group delay takes into account the delay of a group of frequencies, while phase delay only considers the delay of a single frequency. Group delay is also a function of frequency, while phase delay is a constant value.

3. What are the causes of group delay in DSP?

The main causes of group delay in DSP are the frequency response of the system and the phase response of the system. These factors can be affected by the design and implementation of the system, such as the use of filters, amplifiers, and other components.

4. How is group delay measured in DSP?

Group delay is typically measured in units of time, such as seconds or milliseconds. It can be calculated by taking the derivative of the phase response of the system with respect to frequency. This can be done using mathematical formulas or through the use of specialized software tools.

5. Why is group delay important in DSP?

Group delay is important in DSP because it affects the overall timing and phase response of a system. This can impact the accuracy and quality of the output signal. In applications such as audio and video processing, group delay can cause distortion or delay in the output signal, which can affect the overall performance of the system.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
10
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
12
Views
10K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
882
  • Linear and Abstract Algebra
Replies
1
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
10
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
4K
Back
Top