-1
\$\begingroup\$

I was going through NRZ-I encoding technique, somebody mentioned that long stream of 0's will cause loss of synchronization in NRZ-I encoding scheme. But how?

What I understand is the receiver should be able to detect end of each bit to decode the transmitted data correctly.

Now, lets say we send 4-bit data using NRZ-I encoding, possible combinations will be -

txd.data -> encoded data(NRZ-I)\

0000 -> 0000
0001 -> 0001
0010 -> 0011
0011 -> 0010
0100 -> 0111
0101 -> 0110
0110 -> 0100
0111 -> 0101
1000 -> 1111
1001 -> 1110
1010 -> 1100
1011 -> 1101
1100 -> 1000
1101 -> 1001
1110 -> 1011
1111 -> 1010

But are all combinations except all 0's stream self-clocking? Can someone explain by taking any NRZ-I encoded data that how will receiver clock from it?

\$\endgroup\$
2

1 Answer 1

2
\$\begingroup\$

Take a byte, or kilobyte, full of zeroes, and send it using NRZ-I.

That is 8192 bits of constant logic level. In order for your receiver to be able to determine that there was 8192 bits instead of 8191 or 8193 bits, the clocks must not drift more than 60 ppm, over all timing specifications.

It leaves each device to be within 30ppm of each other under all conditions. That is an unreasonable requirement for staying in sync without external reference clocks.

The receiver needs transitions often enough so the receiver can synchronize to the bits before there is too much uncertainty how many bits there has been without transitions.

\$\endgroup\$

Your Answer

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

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