Hi

> On Dec 5, 2018, at 8:45 AM, jimlux <[email protected]> wrote:
> 
> On 12/5/18 5:39 AM, Poul-Henning Kamp wrote:
>> --------
>> In message <[email protected]>, 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.
> 
> 
> 

A stable clock probably is a pretty good bet on a “Time Nut” grade design. 
Indeed one objective might be to ultimately 
read out the phase directly WRT that reference . Some sort of PPS tick likely 
would get into all this as well. 


> 
>> 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.

If the reference is stable / accurate (as above) then this really is not a PLL 
it’s more like a phase meter. Given
the low frequency the bounds on “stable / accurate” are a bit looser than one 
might think. 

My *guess* is that you will have more luck with an approach that “finds” the 
phase modulation than finding the AM. 
Just how you construct the buffer setup to do that would take a bit of thought. 
I’m not up to my first cup of coffee 
quite yet :) …. How big a buffer does it take? I doubt you will run out of RAM 
… If it does become an issue, decimate
the 10 MHz (or whatever) samples while you are in “acquire” mode. 

Things are a lot more convenient with a 12 MHz clock (or something like that) 
than with 1,5 or 10 MHz. Yes, it’s just math,
but more complicated math. 

Bob

> 
> 
>> 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.
> 
> 
> _______________________________________________
> time-nuts mailing list -- [email protected]
> To unsubscribe, go to 
> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
> and follow the instructions there.


_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to 
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Reply via email to