On 4/7/19 4:30 AM, Wayne Holder wrote:
Hi Wayne,
Great to see you found my presentation!
The paper is available here:
  https://www.kevincroissant.com/WWVB/WWVB_PTTI_2018_paper.pdf

Kevin, thanks for the link to the paper.  I'd like to know more about how
correlation works and how you were able to use to to sync with the WWVB
bitstream.  From what I read in your paper, I'm guessing that the "local"
code you use for correlation is generated by prediction once the receiver
has locked on the broadcast code and these two bit streams are then
"compared" in some way via multiplication...  But, I don't really
understand how this is done at a practical level as it would seem that his
would require multiple passes over the code with some type of sliding time
offset that advances with each pass? Or, are there simpler techniques?  Can
you suggest a reference where I can learn more?



One thing that helps is that you know the structure and content of the bitstream after the fact - that is, the SNR needed to decode the bits is lower than that to recover precision timing. So you take the "known" bitstream and do a cross correlation against the received signal.

pseudocode for the cross correlation is something like this:

for lag=0:N
        sum=0
        for i=0:M-1
                sum = sum + input[i]*reference[i+lag]
        end for
        crosscorrel[lag] = sum/M
end for

this is a O(N*M) number of operations, so most folks use a technique using FFTs: FFT each of them, multiply term by term, then inverse FFT back. That's O(3*M*log2(M) +M operations)


You'll get something that has a peak in the middle, which corresponds to the point of "maximum alignment" between the two data streams.

There's all sorts of things one can do to get "sub sample" resolution - essentially by interpolating. Zero padding the data set before FFTing is one way.

The other thing that might save computational burden is that you don't need to try ALL possible time lags - you have an estimate, and so you can slide around just that





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

Reply via email to