I've read that a CDR block recovers clock from the data stream. Clock Data Recovery

Can someone show me a waveform on how its done? Like the carrier wave and modulation wave in FM and AM techniques, is the data signal (modulation wave) superimposed on the clock signal (carrier wave) and then transmitted? If the data signal is encoded using MLT-3 or NRZ-I or PAM-5, can someone explain with a simple drawing of the waveform on how the data is transmitted with the clock and how it is recovered? I find difficulty in imagining the waveform.

Like, with the modulation of MLT-3 and 4D-PAM5, how the clock data recovery is done?

This question is in the context of fast ethernet and gigabit ethernet.

  • \$\begingroup\$ Please have a look at this tutorial. CDRs are used for serial digital communications e.g fiber links and on-chip between cores etc. \$\endgroup\$
    – Syed
    Commented Mar 11, 2022 at 7:27
  • \$\begingroup\$ Why do you think this can be explained with a waveform? Besides, does not the Wikipedia article you linked to explain the general process? You could start from 10BaseT or 10Base2 which uses Manchester encoding as it is very simple to understand how it could be done. \$\endgroup\$
    – Justme
    Commented Mar 11, 2022 at 11:17

1 Answer 1


Like, with the modulation of MLT-3 and 4D-PAM5, how the clock data recovery is done?

Depends on how "blind" you want it to work, i.e. how much you want to assume you know about the modulation and pulse shape.

There's many ways to do it, but typically, you build a control loop, in which you strive to put the zero crossings on average at the same time. A zero crossing is too early – notch the local clock to run a tiny bit faster. A zero crossing is too late – slow down the local clock a tiny bit.

While the zero crossings naturally don't all occur at the same instant relative to the symbol period (because sending the same symbol 10 times followed by a different one will produce a slightly offset zero crossing position, usually, than alternating between two symbols; between the identical symbols, there's not even necessarily a zero crossing. It depends on the line coding!), the do on average; so you really make the adjustment small enough that the clock just drifts toward being synchronous with the symbol clock, and then doesn't jump around a lot once it achieved that.

By the way, I'm not writing much in detail here, because

  1. it's a large field, and I can't tell you what a specific CDR does – there's, as said, many ways of doing it,
  2. the very wikipedia article you linked to has a link at the bottom, "Wikibooks has a book on the topic of: Clock and Data Recovery", and maybe you need to do a little more research on your own to be able to ask a more precise question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.