[LAD] Determining Phase
Fons Adriaensen
fons at linuxaudio.org
Sun Jun 26 11:26:04 UTC 2011
On Sun, Jun 26, 2011 at 11:43:46AM +0200, Jörn Nettingsmeier wrote:
> On 06/26/2011 04:17 AM, Fons Adriaensen wrote:
>> On Sun, Jun 26, 2011 at 12:22:58AM +0200, Jörn Nettingsmeier wrote:
>
>> - Phase is related to delay but it is not the same thing.
>> Group delay is again something different. Mixing up all
>> these is not going to help anyone understand things any
>> better.
>
> well, i was trying to connect all those buzzwords... but you are right,
> it should be done more carefully. let me try again.
>
> *delay* makes the *phase* response curve steeper. it doesn't introduce
> any non-linearities in the phase response.
>
> amplitude response over frequency can be interpreted "as-is", but phase
> response needs to be looked at with your first-derivative glasses on: a
> system comprising a perfect speaker and your perfect ear only has zero
> phase when you stick your head into the speaker.
> as soon as you move away, the phase drops, the steeper the further you go.
> morale: constant amplitude response is what we want. constant phase
> response almost never happens, because of delays that creep in. instead,
> we want _linear_ phase response.
Right. And 'linear' here means 'without a constant term' - we don't
want our system to be a Hilbert transform for example.
> *group* *delay* is a *time* *delay* for a specific frequency. if you
> have a linear-phase system, the group delay is a _constant_: high
> frequencies may be phase-shifted by more cycles, but the time it takes
> them to arrive is the same as for low frequencies.
> i think you get the group delay when you differentiate the phase
> response wrt frequency (but don't believe me when i talk calculus...)
Correct. It it the derivative of the phase response w.r.t. angular
frequency (minus that value if your convention is that a delay
corresponds to positive time).
Group delay actually tells us how the 'envelope' of a signal is
modified by nonlinear phase response, something we can easily hear
on any 'percussive' signals.
Let w = 2 * pi * f
Suppose you have some filter that has a non-linear phase
response, e.g.
P(w) = a * w^2 (radians)
The corresponding phase delay is
D(w) = P(w) / w = a * w (seconds)
The group delay is
G(w) = dP(w)/dw = 2 * a * w (seconds)
Now if you have a relatively narrowband signal centered at
some frequency w1, e.g. a 'ping' with a gentle attack, then
it would appear to be delayed by 2 * a * w1, not a * w1,
because what we hear as delay is the delay on the envelope,
not on the 'cycles'.
Ciao,
--
FA
More information about the Linux-audio-dev
mailing list