Costas Loop Demodulator

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 55

  • @AllElectronicsChannel
    @AllElectronicsChannel  2 роки тому

    Subscribe and become a Patron! www.patreon.com/allelectronics

  • @BalticLab
    @BalticLab 2 роки тому +4

    Gregory, not only are your videos awesome, I absolutely love the positive and enthusiastic energy you bring into these topics. It's obvious you enjoy what you're doing. Great job!

  • @yakovdavidovich7943
    @yakovdavidovich7943 2 роки тому +2

    Wow, what a beautiful video; and what an illuminating approach! I've been trying to slog my way through DSP implementation of a bunch of digital signal demodulators. It frustrates me how infrequently these things are treated on the level of practical intuition, rather than the math. Thanks... I just joined your patreon -- yours is the single most educational UA-cam channel for me right now!

  • @camodudeA51
    @camodudeA51 2 роки тому +1

    Thank you so much for your explanation of the Costas loop...it has now been Demystified by you (you are the best teacher ever). Hard to believe how QAM-1024 can even work, I now wonder how that is aligned.

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +1

      Thank you! For higher constellation order, other methods are used, like Direct decision!

  • @l_szabi
    @l_szabi 2 роки тому +3

    Very informative video, with a lot of intuition! I think for the BPSK, a better error function would be sgn(I)*Q, instead of I*Q. This would eliminate the white zone around the Q axis (when I=0), and would give a sharper edge, like on the other diagrams. This would help the PLL to lock on faster.

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +2

      Yep! You are right. Sign(i) *Q is commonly used, and uses less logic on FPGA/ASICs

  • @denizhankaraca8862
    @denizhankaraca8862 Рік тому

    Thanks for this intuitive explanation, it's exactly what I needed.

  • @declanmoore
    @declanmoore Рік тому

    Wow, thanks so much for making this make sense for a complete newbie 😅 great video .

  • @johnaweiss
    @johnaweiss Місяць тому

    10:08 Awesome! Is that your invention? Or is standard method?
    13:22 How many carrier cycles (bottom trace) per symbol (top trace)?

    • @AllElectronicsChannel
      @AllElectronicsChannel  19 днів тому +1

      Not my invention.. Not sure about the "standard method", just something I implemented and worked! I don't remember the numbers.

  • @MrCuddlyable
    @MrCuddlyable 2 роки тому +1

    How to design the filters for a) demodulating weak noisy signals and/or b) a wide frequency pull-in range ?

    • @asinegaasinega
      @asinegaasinega Рік тому

      You really expect the guy even understands on how to design the most important component of the whole architecture? I suggest you start looking at books (that's what I have resorted to at least)

    • @MrCuddlyable
      @MrCuddlyable Рік тому

      @@asinegaasinega Thank you for your suggestion which is a good one for anybody.

    • @AllElectronicsChannel
      @AllElectronicsChannel  Рік тому

      ❤❤❤ thank you guys!

  • @nova0302
    @nova0302 Рік тому

    Thanks bro!
    Can you elaborate on how you choose Kp, Pi?

  • @gammaleader96
    @gammaleader96 2 роки тому

    It is always nice to have another way of looking at something. Especially since the mathematical way is often the most precise but also the least intuitive one to take.
    I like your way of dividing a closed loop system into subparts and look at their inputs and outputs first.
    I find that it often helps a lot to break the feedback and take a look at it in a linear way instead of a closed loop with feedback.
    Are you actually building a new receiver (maybe V2 of your BPSK receiver) or is it just a coincidence, that you cover a lot of receiver topics lately?

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +2

      Thanks man!! I'm not, I'm chilling a bit from the 10g source hahahaha

  • @Kronkulus9282
    @Kronkulus9282 Рік тому

    If the error goes to zero and the loop lands on the I=1,Q=0 point in the constellation (in the BPSK scenario for example), I can see that working. However what if it lands on the I=-1, Q=0 point in the constellation? Wont that mean your demodulated data is inverted because your loop locked on to the inverted component and not the in phase component?

    • @AllElectronicsChannel
      @AllElectronicsChannel  Рік тому

      The data will be inverted. This is why sync codes are needed or differential encoding. It is impossible to prevent this phase inversion ambiguity in BPSK

  • @moritzjakob5541
    @moritzjakob5541 10 місяців тому

    Great explanation!

  • @codyemerson9974
    @codyemerson9974 2 роки тому

    What is the benefit of doing the quadrature demodulator at IF instead of digital baseband? I don't think you need the low pass filter in a digital system

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +1

      There are tradeoffs.. not benefits.. zero-if dowconversion imply balanced IQ paths, AGC before ADs.. so there is no best topology

  • @sambhupra
    @sambhupra Рік тому

    I do I get the simulation files?

  • @CheickSylla-i9p
    @CheickSylla-i9p Рік тому +1

    please j need this matlab code

  • @like_cabezon3810
    @like_cabezon3810 2 роки тому

    Very useful video no much content about that circuit.

  • @like_cabezon3810
    @like_cabezon3810 2 роки тому

    How is this usually implemented in a demodulator as an analog circuit or with dsp?

  • @elware176
    @elware176 2 роки тому

    perfect video, thank you for nice explanation :)

  • @SandeepKumar-jj7zi
    @SandeepKumar-jj7zi 2 роки тому

    Nice, is it possible to recover carrier from analog PM modulated suppressed carrier signals ?

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +1

      I'm not sure! Maybe with a loop constant slower than the modulation?

  • @fuelcellmotorbike
    @fuelcellmotorbike 2 роки тому

    Thanks for another very interesting video! As I understand it your BPSK error function also goes to zero when I is 0 and Q is not zero, so you could get a lock 90 degrees out of phase, right? How would you handle that?

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому

      No! The error gradient points to the I axis!

    • @fuelcellmotorbike
      @fuelcellmotorbike 2 роки тому

      But if the error function is purely I * Q, to minimize it you could also have Q go to zero no? The gradient seems to reflect this, as it is also white along the Q axis. Or am I missing something. :)

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +1

      It is white but it is an unstable region, any displacement/noise will generate errors that points to I.
      The colors (error direction) would need to be reversed to Q be stable.

    • @fuelcellmotorbike
      @fuelcellmotorbike 2 роки тому +1

      @@AllElectronicsChannel Ah I see, so the error signal has a magnitude and a direction?

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому +1

      Yes, the sign of the error. Negative or positive, these are the colors on the diagram!

  • @huawatuam4965
    @huawatuam4965 2 роки тому

    The color-transition in your first constellation diagram (BPSK) ist showing a white region along the Q-axis which ist wrong.
    Should be showing fully saturated color.

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому

      It's not wrong. it is the error function for I * Q

    • @huawatuam4965
      @huawatuam4965 2 роки тому

      @@AllElectronicsChannel but in that region the error is a maximum instead of a minimum as indicated wrongly by the desaturated white coloring

    • @AllElectronicsChannel
      @AllElectronicsChannel  2 роки тому

      @@huawatuam4965 The error is not maximum there. The color is generated by I * Q. On the Q axis the I is zero. 0 * Q = 0.

  • @LarsBerntzon
    @LarsBerntzon 2 роки тому

    What is a NCO?

  • @asinegaasinega
    @asinegaasinega Рік тому

    you spent all that time jabbering about nonsense when the most important and the most significant part of the costas loop you barely touched on how to design it: the loop filter or the loop controller. Next time, spend more time on the most important aspects of a subject rather than trying to impress people