• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Group Delay 101

OP
DonH56

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,835
Likes
16,497
Location
Monument, CO
Thanks Don. I will add to this thread, perhaps in the weekend, to show phase delay vs group delay for a similar case, just to clear up any confusion.
That'd be great, thanks Rene. I should have kept the group delay response for the stepped case but lost (overwrote) the plot someplace in all my fiddling around. It simply stepped from 0 to a constant in my simple example. I did not plot phase delay because I was afraid it would further complicate an already complicated thread to most folk.

For those who want the math to follow along, where Phi(f) is phase as a function of frequency and f is frequency:
  • group delay = -dPhi(f) / df = (minus) change in phase divided by change in frequency, the slope of the phase change with frequency
  • phase delay = -Phi(f) / f = (minus) phase divided by frequency
The only reason I used frequencies comprising a square wave is that it makes it a little easier for me to see how the edges change when group delay is not constant. Probably because when I originally dealt with all this, decades ago, it was a pulse radar application and so I am used to seeing the problem with pulses.

This is going much deeper than I'd originally intended but hopefully feeds the yearn to learn... :)
 

Alexium

Active Member
Joined
Sep 22, 2019
Messages
223
Likes
144
Location
Ukraine
In general phase is a function of frequency p(f); that is, phase changes with frequency. That's the math behind it
Why, in what context? Phase of what relative to what? In which system? I find following the rest difficult without understanding what we're talking about.
Any ideal transducer should have no phase shift at any frequency, right (p(f) = 0) ?

If a system introduces a fixed, constant time delay of the output signal relative to input signal, then indeed phase shift in degrees (or radians) would be a variable function p(f), but I assume this is not the meaning here.
 
Last edited:

René - Acculution.com

Senior Member
Technical Expert
Joined
May 1, 2021
Messages
416
Likes
1,221
Why, in what context? Phase of what relative to what? In which system? I find following the rest difficult without understanding what we're talking about.
Any ideal transducer should have no phase shift at any frequency, right (p(f) = 0) ?

If a system introduces a fixed, constant time delay of the output signal relative to input signal, then indeed phase shift in degrees (or radians) would be a variable function p(f), but I assume this is not the meaning here.
I go through all of this in my video. To have a proper discussion about these topics one must understand complex numbers, the difference between signals and systems, the difference between steady state and transient behaviour, phase delay vs group delay and why they are generally not the same and how that relates to the overall latency, and on and on. I know four hours is a long to invest in watching a video but it may be a good investment for those who really want to understand the relevant signal processing instead of going back and forth in writing here.
 
OP
DonH56

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,835
Likes
16,497
Location
Monument, CO
Why, in what context? Phase of what relative to what? In which system? I find following the rest difficult without understanding what we're talking about.
Any ideal transducer should have no phase shift at any frequency, right (p(f) = 0) ?

If a system introduces a fixed, constant time delay of the output signal relative to input signal, then indeed phase shift in degrees (or radians) would be a variable function p(f), but I assume this is not the meaning here.
Phase shift relative to the original signal. There is frequency-dependent phase shift through any circuit with non-infinite bandwidth and non-zero delay, be it a preamp, amplifier, crossover, any other EQ/filter, etc. The purpose of this thread was to define group delay in a general sense without relation to any specific circuit, similar to other "fundamental" articles I have composed. Rene's video (posted earlier in this thread) goes into detail far beyond what is reasonable in a thread like this.
 

Alexium

Active Member
Joined
Sep 22, 2019
Messages
223
Likes
144
Location
Ukraine
Phase shift relative to the original signal. There is frequency-dependent phase shift through any circuit with non-infinite bandwidth and non-zero delay, be it a preamp, amplifier, crossover, any other EQ/filter, etc. The purpose of this thread was to define group delay in a general sense without relation to any specific circuit, similar to other "fundamental" articles I have composed. Rene's video (posted earlier in this thread) goes into detail far beyond what is reasonable in a thread like this.

Thank you.
Let's say we have a phase shift of 90 degrees at 1000 Hz. 90 degrees is 1/4th of a cycle. Is it correct to say that group delay at 1 kHz is then 1/4 * 1/1000 s = 0.25 ms? Or is that a different metric, not GD?
 

René - Acculution.com

Senior Member
Technical Expert
Joined
May 1, 2021
Messages
416
Likes
1,221
Thank you.
Let's say we have a phase shift of 90 degrees at 1000 Hz. 90 degrees is 1/4th of a cycle. Is it correct to say that group delay at 1 kHz is then 1/4 * 1/1000 s = 0.25 ms? Or is that a different metric, not GD?
That approach gives you phase delay, which is generally only equal to group delay at all frequencies, when you have a pure delay (transport delay/dead time). Both phase delay and group delay should be (and was in older literature) be called 'apparent phase delay' and 'apparent group delay', as the phase from which they are calculated comes from a steady-state frequency response, and so something like a polarity flip, which corresponds to phase of 180 degrees at all frequencies, gives a phase delay that varies with frequency, but has zero group delay, and zero dead time, since as soon as you put a signal on the input, you will have the inverted signal on the output.

Phase only makes sense for steady state signals. Be careful with just moving non-casual signals along the time-axis, as two different situations can look completely similar and trick you (see my post on Polarity and Phase where there is a pdf showing this).

If anyone is interested in some kind of Youtube live or similar to ask question, we can set it up.
 
Last edited:

Alexium

Active Member
Joined
Sep 22, 2019
Messages
223
Likes
144
Location
Ukraine
Thanks for the explanation. This is complicated stuff indeed, guess I'll have to watch that 4 hour video after all :)
 
OP
DonH56

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,835
Likes
16,497
Location
Monument, CO
Thank you.
Let's say we have a phase shift of 90 degrees at 1000 Hz. 90 degrees is 1/4th of a cycle. Is it correct to say that group delay at 1 kHz is then 1/4 * 1/1000 s = 0.25 ms? Or is that a different metric, not GD?
Rene has already answered, but remember the definitions:
  • phase delay = -phi(f) / f = -phase / frequency -- this is what you proposed, changing the phase at a single frequency, which corresponds to the time you calculated
  • group delay = -dphi(f) / df = change in phase / change in frequency -- this is different, yes, and is basically the slope of the phase as frequency changes
@René - Acculution.com also makes a good point that he mentioned earlier and I glossed over: group (and phase) delay are defined for steady-state signals (which need not be pure sine waves but can be pulse streams and such). It is normally applied to linear time-invariant (LTI) systems. There are also some related terms, like group velocity (the inverse of group delay), useful in some applications.
 
Last edited:
OP
DonH56

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,835
Likes
16,497
Location
Monument, CO
Example with listening files. This time with a 500 Hz fundamental plus nine terms (3,5,7,9,11,13,15,17,19 harmonic) of a square wave.

Group delay = 0 (constant):
Vin_gd_0.png

Vsum_gd_0.png

Varying group delay:
Vin_gd_vary.png

Vsum_gd_vary.png

The waveforms look very different; listen and see if they sound any different to you. I could not upload .wav files directly so download the zip file and extract the two 3-second samples to play them.

Enjoy - Don
 

Attachments

  • Group Delay.zip
    894.9 KB · Views: 53

René - Acculution.com

Senior Member
Technical Expert
Joined
May 1, 2021
Messages
416
Likes
1,221
Sorry for being so pendatic. But what has distorted these non-causal discrete signals are their associated phase delays, not their group delays. The group delay only makes sense when the phase in the vicinity of each of those frequencies is known, and so the phase for the entire frequency range must be known to be able to even define the group delay at at different frequencies. So it is much better to start with a system with a phase, and see how it affects an input signal including transient behavior, instead of showing signals being manipulated at discrete frequencies only, as that does not gives us the full picture. Again, watch my video ;-)
 
  • Like
Reactions: pma

dualazmak

Major Contributor
Forum Donor
Joined
Feb 29, 2020
Messages
2,820
Likes
2,950
Location
Ichihara City, Chiba Prefecture, Japan
I am just intensively considering/speculating how I can (or I cannot?) correlate my rather primitive "time alignment" measurements and tuning in my project using rectangular tone burst signals (as well as single wave signals) consist of various frequencies to OP's educational discussion here.
- Precision measurement and adjustment of time alignment for speaker (SP) units: Part-1_ Precision pulse wave matching method: #493
- Precision measurement and adjustment of time alignment for speaker (SP) units: Part-2_ Energy peak matching method: #494
- Precision measurement and adjustment of time alignment for speaker (SP) units: Part-3_ Precision single sine wave matching method in 0.1 msec accuracy: #504, #507
and
- Perfect (0.1 msec precision) time alignment of all the SP drivers greatly contributes to amazing disappearance of SPs, tightness and cleanliness of the sound, and superior 3D sound stage: #520
- Not only the precision (0.1 msec level) time alignment over all the SP drivers but also SP facing directions and sound-deadening space behind the SPs plus behind our listening position would be critically important for effective (perfect?) disappearance of speakers: #687
 
OP
DonH56

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,835
Likes
16,497
Location
Monument, CO
Sorry for being so pendatic. But what has distorted these non-causal discrete signals are their associated phase delays, not their group delays. The group delay only makes sense when the phase in the vicinity of each of those frequencies is known, and so the phase for the entire frequency range must be known to be able to even define the group delay at at different frequencies. So it is much better to start with a system with a phase, and see how it affects an input signal including transient behavior, instead of showing signals being manipulated at discrete frequencies only, as that does not gives us the full picture. Again, watch my video ;-)
I define the signals, including their phase and group delay, to create the examples so the phase over frequency is a given (defined by the signals created).. In fact, for the last couple I defined a group delay function and defined the phase from that; for the first examples, I started with phase. These are simplified examples, just a taste of a very big subject, covered much better in your video.

Here is the group delay plot for the example above:

1669561504509.png
 
Last edited:

René - Acculution.com

Senior Member
Technical Expert
Joined
May 1, 2021
Messages
416
Likes
1,221
I define the signals, including their phase and group delay, to create the examples so the phase over frequency is a given (defined by the signals created).. In fact, for the last couple I defined a group delay function and defined the phase from that; for the first examples, I started with phase. These are simplified examples, just a taste of a very big subject, covered much better in your video.
Hi Don,

What I mean is that if the phase is only defined for those singular frequencies, then you cannot have a well-defined group delay for any of them. You don't know the slope of the phase, unless there is phase for all frequencies. So I don't understand how you create the signals, is probably the way to say it :)

Edit: If you start with the group delay, then there will be ambiguity in the phase as infinitely many phases can give you that group delay, but if you have one phase delay to set phase at one frequency, then I guess you can do it that way.
 
Last edited:

killdozzer

Major Contributor
Joined
Aug 2, 2020
Messages
1,615
Likes
1,628
Location
Zagreb
Would it be possible to program a feature in a DSP that would correct group delay?
 

René - Acculution.com

Senior Member
Technical Expert
Joined
May 1, 2021
Messages
416
Likes
1,221
Meaning that correcting phase would deal with the resulting group delay?
Well in broad terms yes but perhaps you are looking at multiple sources and such. From a signal processing point of view you would perhaps aim at a linear phase to have the same delay at all frequencies. But it would depend on what you are looking to do.
 
Last edited:
Top Bottom