textbook icon indicating copy to clipboard operation
textbook copied to clipboard

Fine Frequency Synchronization needs explanation for how LNA removes second term

Open warnes opened this issue 3 years ago • 3 comments

In https://pysdr.org/content/sync.html#fine-frequency-synchronization, the Costas loop includes LPF's that remove the terms containing 2*\pift.

There needs to be an explanation that the LPF low-pass filters are set so that the first term containing \theta+\phi passes, but that the higher frequency 2*\pift term is removed, perhaps with an example of the filter passband range.

warnes avatar Mar 01 '22 19:03 warnes

It would also help to briefly explain how the error function works..

For BPSK, Q should always equal 0, so the error function takes on its minimum value when Q=0, which should only occur when there is no phase or frequency offset shifting signal from I to Q.

For QPSK, taking the abs of each component will put the IQ value at +1 +1j if there is no phase or frequency offset, so the difference between the absolute value of I and Q should be zero . Otherwise it will take a value > 0.

warnes avatar Mar 01 '22 19:03 warnes

Just to clarify, are you saying there should be added blocks (LNAs) in the diagram? I used https://en.wikipedia.org/wiki/Costas_loop as a starting point. For a digital implementation it wouldn't be LNAs right? I'm not trying to be specific to digital/analog, although the python code is more of a digital implementation than trying to model analog.

Thanks for the explanation of the two error functions, I tweaked the wording and added it right before I show the 4th order error function.

777arc avatar Mar 02 '22 06:03 777arc

Sorry, I mistyped 'LNA' when I should have typed 'LPF'. I edited the text to fix this, so it should make more sense now.

warnes avatar Mar 02 '22 12:03 warnes