Learn SDR 19: Carrier Phase Synchronization with a Costas Loop

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024
  • 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.
    gallicchio.git...
    All GNURadio flowgraphs are at:
    github.com/gal...
    --- Learn SDR with Professor Jason Gallicchio

Комментарии • 9

  • @wmcheang
    @wmcheang 2 месяца назад

    Recognitions to Harvey Mudd College, and specifically Prof Jason for this series of SDR lectures. I have learned tremendously from his knowledge sharing. Keep up the good work. Two thumps up! 👍👍
    Regards from Malaysia!

  • @MrFelipe4004
    @MrFelipe4004 Год назад +5

    Harvey, thanks for this videos about electronics and physics! This is the best content about sdr in whole youtube.
    Regards from Brazil!

    • @HarveyMuddPhysicsElectronics
      @HarveyMuddPhysicsElectronics  Год назад +1

      Thanks. Boa sorte!

    • @creamycheesecake123
      @creamycheesecake123 Год назад

      Agree! This has been so helpful. I’ve been using Costas not knowing what it was doing but just knowing that I needed it. Thank you, I finally understand!

  • @fl0a226
    @fl0a226 Год назад +1

    Great lecture, thank you very much! I have one question regarding the order of synchronization steps. I wonder if it would not make more sense to perform carrier (phase) synchronization BEFORE clock recovery (symbol sync) and in that regard I wonder how it is even possible to perform symbol synchronisation without having removed the effects of un-synchronised carriers first. Thank you!

    • @HarveyMuddPhysicsElectronics
      @HarveyMuddPhysicsElectronics  Год назад +1

      The carrier (phase) synchronization described here only works when things are sampled at the "right" places, so clock recovery (symbol sync) needs to happen first. This was not intuitive to me when I first learned it, because the the carrier is the first thing that is approximately removed from the incoming RF, but it can't be exactly removed until much later.

  • @ipodloko97
    @ipodloko97 Год назад

    This series are great man, thanks a lot for your work. Would you be down to discuss GMSK mod in the same ways?

  • @АлександрДунай-е9ъ

    Jackson Jessica Lewis Melissa Lopez Nancy

  • @asinegaasinega
    @asinegaasinega Год назад

    Again, what's the point of going through all that math nonsense when you can't even show and explain the most significant and important part of the loop- the controller? the loop filter and the NCO and all the idiosyncracies associated with it? (not trying to be mean, i really am not). Would have served you and us right if you just explained everything you mentioned from the perspective of the design of that loop filter because you don't design that right- guess what. You won't have that constellation that you show us from GNURadio