[time-nuts] Re: Complex PLL

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Mar 17 17:34:15 UTC 2021


--------
Detlef Schuecker via time-nuts writes:

> Now I have to get rid of the atan, cos and sin functions.

Just because you have complex frequencies does not mean you have to
use both dimensions if you dont want to :-)

Here is how I did it when I worked on Dave Mills' LORAN-C receiver:

Step 1:  Stop the rotation.

Calculate deltavector from previous sample, figure out direction
of rotation, output counteracting error signal roughly proportional
to the delta vector length.

Step 2:  Bring angle < +/- PI/4

Look at the coordinates, output error signal to bring error signal "home".
if you are not in a hurry, simply output a constant error term and detect
when the vector rotate into +/- PI/4.

Step 3: Sin(x) ~= x

Use one of the coordinates as scalar input to the PI.


-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.




More information about the Time-nuts_lists.febo.com mailing list