Home > On-Demand Archives > Talks >

Against the Clock

Joseph Gaeddert - Watch Now - DSP Online Conference 2024 - Duration: 42:34

Against the Clock
Joseph Gaeddert

There's a famous joke where someone starts to ask a comedian "What's the secret to good comedy?" but before they can finish, the comedian interrupts with "Good timing." The same can be said for digital communications (well, good timing and good carrier recovery).

This talk will cover algorithmically efficient means to estimate (and correct for) timing and carrier (frequency/phase) offsets for various signal types to generate custom waveforms. It will include practical examples with source code for participants to follow along with.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

mh
Score: 0 | 6 days ago | no reply

Can this method be applied to GNSS acquisition? If yes, why is not popular as GNSS acquisition usually use the FFT method?

adam.troyer
Score: 3 | 3 weeks ago | 1 reply

Thanks for the interesting talk Joseph. Is this method similar to what is typically done for DSSS signals, or is this something novel in that application? What makes this method particular to DSSS signals? It seems like it could be used for anything with a sufficiently long preamble.

jgaeddertSpeaker
Score: 0 | 3 weeks ago | 1 reply

Great question! There’s nothing that restricts this method to DSSS signals but it’s a good application for it since those preambles can be extremely long. As far as I know, this method isn’t used for DSSS signals but it’s possible I just haven’t found it in the literature. You are right that it could be used for any signal with a long preamble, and it can in fact be used for signals other than just linear modulation (e.g. GMSK, OFDM, or even noise-like signals). I chose linear modulation here because it was easier to visualize in the presentation.

adam.troyer
Score: 0 | 3 weeks ago | 1 reply

Good to know. I sometimes deal with HF waveforms that have long preambles in the hundreds of symbols range, so I'd be interested to try this method. Thanks!

jgaeddertSpeaker
Score: 0 | 3 weeks ago | no reply

HF is a tricky beast for sure. Let me know how it goes. joseph@liquidsdr.org

Leonard
Score: 0 | 3 weeks ago | 1 reply

Great presentation. It left me wanting more.

jgaeddertSpeaker
Score: 0 | 3 weeks ago | no reply

Thank you! I'm very glad you enjoyed it.

Harry
Score: 1 | 3 weeks ago | 1 reply

I'm not sure if it would conflict with your spread-spectrum requirement, but if your short preamble "partitions" were all the same, then you could instead do an extremely efficient "delay-and-correlate" detection. That can be done with a sliding window architecture, so is much more efficient than a cross-correlation (even an FFT-based one) - it only needs 1 multiply-accumulate per sample. This is how the "Short Training Field" was designed in Wi-Fi (802.11a/g and later) for coarse frequency and timing recovery. Another nice feature is that the carrier offset and power estimate (for AGC) also fall out as bi-products from the numerator and denominator of the correlation calculation, respectively. So, you really get a lot from remarkably little computation.

That STF is followed by a separate LTF (long training field), which can obviously be much longer because the frequency error has been approximately removed. So, the LTF is used to refine the frequency/timing recovery and also estimate/equalize the channel.

Reading between the lines, I guess you need your signal to appear "noise-like", which is why you need to use a more unstructured preamble.

jgaeddertSpeaker
Score: 0 | 3 weeks ago | 1 reply

Great points! I think the Schmidl & Cox algorithm does this, no? You do certainly get coarse timing and carrier frequency estimates from this method, but it can be susceptible to noise and interference. It's definitely a trade-off.
A long time I ago I implemented an 802.11a/g receiver in C, but it didn't use the auto-correlator method and instead uses an FFT-based method. This was because 802.11a/g uses a 16-sample repeating sequence (ten copies, IIRC) for the short training field. By looking at the output of the FFT, you can remove some of the noise by ignoring subcarriers that are effectively not enabled (e.g. only 1/4 of the subcarriers are used), and also ignore something like a tone interferer that is in the band but not overlapping those subcarriers.
This is good stuff! Thanks for the great comment!

Harry
Score: 0 | 3 weeks ago | no reply

I must admit, I never knew who invented the algorithm - but I think you're right. It appears to be credited to Schmidl and Cox. I'm glad to finally have a name (or pair of names) for it!

Yes, if I remember correctly, it was known to be sub-optimal (perhaps significantly so), but it was just irresistibly cheap to compute. I suppose 20 - 25 years ago, that was much more of a concern that it would be today.

Thank you for the very enjoyable presentation. Your diagrams and descriptions were really crystal clear.

OUR PARTNERS