Learn SDR 19: Carrier Phase Synchronization with a Costas Loop

Описание к видео Learn SDR 19: Carrier Phase Synchronization with a Costas Loop

Learn SDR with Professor Jason Gallicchio at Harvey Mudd College
Lesson 19: Carrier Phase Synchronization with a Costas Loop

Reminder: Receiver antenna's r(t) = A cos(2πft+ϕ) 
turns into SDR samples of z(t) = A  e^iϕ e^(2πi(f-f0)t)

(Phases are preserved through the frequency shifting down-conversion process.)

The hardware clocks are never matched (in sync)

Even if they were ticknig at the same rate, they'd never naturally be in phase sync: they get turned on at different times.

Imagine somehow you've perfectly synchronized things so that peaks and troughs arrive at the receiver exactly when you expect them to. Then you slowly move your laptop over an inch and your 5GHz wifi had gone 180 degrees of phase! Ones become zeros! Clearly the phase needs to be tracked. 

"Oh, but that's at GHz and my samples are only MHz." Remember that the cosine and sine mixing process translates the phase of the RF into the phase of the complex exponential, so your constellation really would rotate as you moved centimeters.

This would happen even if you used the best atomic clocks synched to GPS.

DEMO BPSK and QPSK simplified version of last time where I try to match the clock by hand (seems to be better than FLL).

Draw a complex plane labeled I (re) and Q (im) and plot the QPSK constellation as the decisions a = a_I + i a_Q (or maybe a is the complex number) and the rotated version as the incoming data sampled at the right time as x,y.

VCO or NCO. Phase error detector. Low-pass filter the error. Nudge the VCO.

Phase error based on decisions and arctan.

Cross product phase error detector as giving sin theta rather than theta itself. These are equal for small values of theta (small angle approximation) and the sin is just algebra, which is much easier to compute than an arctangent.

"Costas Loop" block

Let's see how this could possibly work and what is limitations are

Need to lock on even when there is data modulating the tone

Costas Loop

Loop bandwidth.

https://gallicchio.github.io/learnSDR...

All GNURadio flowgraphs are at:
https://github.com/gallicchio/learnSDR

--- Learn SDR with Professor Jason Gallicchio

Комментарии

Информация по комментариям в разработке