[LAU] Progressive Quantisation

Fons Adriaensen fons at kokkinizita.net
Thu Aug 30 12:30:47 EDT 2007


On Thu, Aug 30, 2007 at 08:11:27AM -0700, Kevin Cosgrove wrote:

> Like maybe a DLL?  I'm not sure what the coding difficulty
> differences would be between PLL & DLL.  Maybe it's worth asking
> that question tho.

They are very similar.

Usually the term PLL is used if the signal that is tracked
is cyclic - if you can associate a 'frequency' with it.
The name DLL is used when the quantity tracked is more like
a linear function of time, somehting that has a 'speed'.

In a software implementation the distinction is not always
clear. Consider the oscillator 

x [i] = sin (i * w);

Here 'i * w' is linear function of time 'i', and the sin()
turns it into a cyclic function. If your loop operates on
i * w it could be called a DLL, if it uses the sin() or
another cyclic function it would be called a PLL. 

In both case the 'core algorithm' is very simple, and
most of the work is in the design of 1. the 'detector'
(the element that determines what the current error is)
and 2. the loop filter. For second and higher order the
loop can become unstable, and you really need a systematic
mathematical approach to get it right.

For a gentle introduction to DLLs see 
<http://www.kokkinizita.net/papers/usingdll.pdf>
which explains how the one in jackd works.

-- 
FA

Follie! Follie! Delirio vano è questo !





More information about the Linux-audio-user mailing list