[time-nuts] simple phase finder

jimlux jimlux at earthlink.net
Wed Dec 5 13:45:44 UTC 2018


On 12/5/18 5:39 AM, Poul-Henning Kamp wrote:
> --------
> In message <4a8ff8d6-70b2-782e-cb79-21c7e9a49649 at earthlink.net>, jimlux writes:
> 
>> If I were decoding WWVB to start, I'd break my samples up into 0.1
>> second or 0.5 second chunks and process them to see what the carrier
>> phase is.
> 
> With stable signals like this, it is a bad idea to chop them up,
> in particular if your ADC runs from a good stable frequency.

True enough - this was just to get started.

> 
> Instead continuously average the square of the signal into a 1
> second long circular buffer.
> 
> Then multiply/sum that buffer with a 120kHz sine and cosine to find
> the phase angle.

yes.. assuming your ADC is running off a sufficiently stable source.  I 
was thinking about a very low cost implementation where the ADC is 
running off a not very wonderful microcontroller clock.




> 
> Next find the amplitude modulation in the buffer with simple
> thresholding and you now know the start of the second and the
> 60KHz phase, so you can lock a PLL to the carrier directly,
> and having done so, the phase modulation falls right out by
> simple multiplication.

That would be the standard Costas loop approach - I wonder though, is 
the signal strong enough that you can just clip it to remove the AM or 
implement some sort of software AGC?

All manner of PLLs don't work as well when the input signal is of 
varying amplitude.  Maybe it works well enough here.


> 
> The really interesting thing is that you can track a lot of carriers
> this way using the same single circular buffer.
> 
> If you multiply it by 77.5 kHz sine+cosine, you get DCF77 phase
> and amplitude.  If you multiply it by 198kHz you get...

yes..



> 
> There's some very old plots here:
> 
> 	http://phk.freebsd.dk/loran-c/CW/
> 


The real intent was to show that you can do the processing with a very 
simple implementation - no need to fire up SDR# or gnuradio.





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