Non-Return-To-Zero, Inverted (NRZI) encoding is a method of encoding a signal for transmission. It allows the signal to be decoded correctly, even after passing through a component which does not preserve polarity.

In a NRZI-encoded signal, the value of a given bit is determined by the presence or absence of a change in the signal during a given clock pulse.

Differing Implementations

This can be implemented so that a transition (from low to high, or from high to low) at during a clock cycle indicates a bit with a value of one (1), while a constant signal indicates a zero (0). This method is known as NRZI-M, where the ‘M’ stands for ‘mark’.

However, the opposite approach is also commonly used, including in the USB protocol. This method, known as NRZI-S (‘S’ is ‘space’), encodes a zero as a transition and a one as a lack of transition.