Non Return to Zero

Non-return- to-zero and non-return- to-zero - invert, abbreviated as NRZ and NRZI, the simplest line codes for digital signals. In contrast to the RZ code the two binary symbols from constant conduction states exist (usually voltages). The disadvantage is that the recipient unsure about the transfer of a long sequence of identical symbols on the length of the sequence. So it is a separate clock signal as the I2C bus needed a framing as with EIA- 232, the use of scramblers like the SDI or an additional lauflängenbegrenzende line coding as bit stuffing.

The term non-return- to-zero does not refer to a possibly excessive voltage from 0 V, but that there is not a third voltage value as RZ, which is applied for a portion of each symbol duration. Another interpretation is that the voltage in the middle of the bit can never fall back to the value 0.


The NRZ code maps directly to each bit value to a conduction state. It can readily be used if no long constant sequences occur in the payload, such as in ASCII encoded texts. The limit for ' long ' can be quite short, about a tape drive with Flutter.

The NRZ coding is generally not direct component and thus in particular for magnetic data recording problematic. A simple galvanic isolation of the signal transduction pathway using pulse transformers is therefore not possible.

NRZ is used for example in the CAN bus.


NRZI coding ( Non Return to Zero Invert) assigns one of the bit values ​​to the previously applied conductive state, the other bit value, a state change ( invert ). From this immediately follows the polarity of freedom: a polarity reversal of the transmission line does not change the bit sequence.

NRZI exists in two versions, depending on whether ones (Mark) or zeros (Space) cause a state change. If dk is the data sequence at the input and pk is the level sequence at the output, is the formation rule for NRZ -M:

And for NRZ -S:

Is referred to the operator, the modulo -2 addition, which can be implemented with an XOR gate, k- 1 is the previous value (such as a latch ), and the over-bar - a negation ( NRZ -S).

NRZI coding can readily be used, if it is known that the user data do not have a long sequence of zeros (NRZ -M ) or ones ( NRZ -S). At the beginning and end of the user data can bits that do not change the conduction state can be detected at a synchronization frame.

NRZI is used with the USB in Ethernet over fiber (100 - Base -FX ) and FDDI. Also, in the recording of data on storage media such as in the CD-ROM or hard disk NRZI is used.


NRZI -M or NRZ -M causes a bit change with one, see Examples. A zero causes no bit change.


NRZI or NRZ - S S causes a bit change from zero, see Examples. A one causes no change bits (USB).