2

I just learned the following about the so-called 'Manchester encoding':

  • There is a transition at the middle of each bit period.
  • The midbit transition serves as a clock mechanism and also as data: low to high represents 1, high to low represents 0.

The following image is said to illustrate this:

enter image description here

We can see that, in the first 'time interval', the signal goes from high to low, signifying a 0, and during the second time interval, the signal goes from low to high, signifying a 1, as expected. During the third time interval, we see that the signal goes from high to low, signifying a 0, which corresponds to what is in the image, but then, in the middle of the time interval, at the end of the 'bit sent', we see that the signal goes from low to high, signifying a 1, but the next bit sent is still a 0. This latter part seems to contradict what we would expect, since the transition from low to high in the middle of the interval would mean that the next bit would be a 1, no?

2

You need to see it like this:

  • a user bit 0 is line encoded as 10
  • a user bit 1 is line encoded as 01

If alternating bits are transmitted, there is only one level transition per bit:

  user           line
01010101 => 1001100110011001
10101010 => 0110011001100110

If same bits are transmitted, there are two level transitions per bit:

  user           line
00000000 => 1010101010101010
11111111 => 0101010101010101

Note the difficulty to detect the exact middle of the two-level symbol where the transition signals the relevant data - all the receiver sees is this: enter image description here

If the receiver erroneously misplaces the symbol borders it decodes garbage data.

That's why Manchester requires a preamble with alternating bits to synchronize the receiver to the middle transition. The other transitions (between symbols) are simply irrelevant.

10
  • Thanks for the answer. What do you mean by "level transition"? – The Pointer Mar 2 at 10:21
  • A level transition is between line 0 and line 1 (or low/high, +/-, ...) or reverse. – Zac67 Mar 2 at 10:22
  • Hmm, I don't think I'm understanding this part. So a level transition is between each change in digit between 0 and 1 in the 'line'? So if the symbol | signifies a level transition, for 1001100110011001, we would have 1|0|0|1|1|0|0|1|1|0|0|1|1|0|0|1? (I'm sure this is wrong, but I'm not sure exactly what you mean.) – The Pointer Mar 2 at 10:33
  • Don't forget that there's no external clock: the receiver needs to reconstruct the symbol borders only from the transitions it can see. – Zac67 Mar 2 at 10:34
  • 1
    This youtu.be/XKtxxZ327UM video seems to clarify things: the "low to high represents 1, high to low represents 0" pattern is being used, but the odd parts on the boundaries in between are basically to connect the 0 and 1 values. – The Pointer Mar 2 at 13:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.