# Non Return to Zero

Non-Return-to-Zero und Non-Return-to-Zero-Inverted, abgekürzt NRZ/NRZI, vereinzelt auch als Wechselschrift bezeichnet, sind Begriffe aus der Digitaltechnik und beschreiben die einfachsten Leitungscodes für binäre Signale. Im Gegensatz zum RZ-Code bestehen die beiden binären Symbole aus konstanten Leitungszuständen (meist Spannungen). Die Bezeichnung Non-Return-to-Zero bezieht sich dabei nicht auf einen womöglich unzulässigen Spannungswert von 0 V, sondern darauf, dass es im Gegensatz zum RZ-Code keinen dritten Spannungswert gibt, der für einen Teil einer Symboldauer angelegt wird. Eine andere Auslegung besagt, dass die Spannung in der Mitte des Bits nie auf den Wert 0 zurückfallen kann.
Von Nachteil ist, dass während der Übertragung einer längeren Folge gleicher Symbole beim Empfänger zunehmend Unsicherheit über die tatsächliche Länge der Folge entstehen kann. Es ist daher oft ein separates Taktsignal wie beim I$^2$C-Bus nötig, bzw. eine Rahmenbildung wie bei EIA-232, der Einsatz von Scramblern wie beim SDI oder eine zusätzliche lauflängenbegrenzende Leitungskodierung wie Bitstuffing.

## NRZ

Der NRZ-Code ordnet direkt jedem Bit-Wert einen Leitungszustand zu. Er kann ohne weiteres verwendet werden, wenn in den Nutzdaten keine langen konstanten Folgen auftreten, wie etwa bei ASCII-kodierten Texten. Die Grenze für ‘lang’ kann recht kurz sein, etwa für ein Bandlaufwerk mit Gleichlaufschwankungen.
Die NRZ-Kodierung ist im Allgemeinen auch nicht gleichanteilsfrei und damit insbesondere bei magnetischer Datenaufzeichnung problematisch. Eine einfache galvanische Trennung im Signalübertragungsweg mittels Impulstransformatoren ist daher auch nicht möglich.
UARTs z. B. verwenden die NRZ-Kodierung.

## NRZI

Die NRZI-Kodierung (Non Return to Zero Inverted) ordnet einem der beiden Bit-Werte den bereits anliegenden Leitungszustand zu, dem anderen Bit-Wert einen Zustandswechsel (Inversion). Daraus ergibt sich unmittelbar die Polaritätsfreiheit: Ein Verpolen der Übertragungsleitung ändert nicht die Bitfolge.
NRZI existiert in zwei Varianten, je nachdem ob Einsen (Mark) oder Nullen (Space) einen Zustandswechsel bedingen. Wenn d$_k$ die Datenfolge am Eingang und p$_k$ die Pegelfolge am Ausgang darstellt, lautet die Bildungsvorschrift für NRZ-M:
    $p_{k}=d_{k}\oplus p_{k-1}$
und für NRZ-S:
    $p_{k}={\overline {d_{k}}}\oplus p_{k-1}$
Darin bezeichnet der Operator $\oplus$ die Modulo-2-Addition, die mit einem Exklusiv-Oder-Gatter realisiert werden kann, k−1 den vorherigen Wert (etwa aus einem Latch) und der Überstrich $^−$ eine Negation (für NRZ-S).
Die NRZI-Kodierung kann ohne weiteres verwendet werden, falls bekannt ist, dass die Nutzdaten keine langen Folgen von Nullen (NRZ-M) bzw. Einsen (NRZ-S) aufweisen. Am Anfang und am Ende der Nutzdaten können Bits, die den Leitungszustand nicht ändern, mit einem Synchronisationsrahmen erfasst werden.
Verwendet wird NRZI bei USB, bei Ethernet über Glasfaser (100BASE-FX) und bei FDDI. Auch bei der Aufzeichnung von Daten auf Speichermedien wie bei der CD-ROM oder bei Festplatten wird NRZI benutzt.

### NRZ-M

NRZ-M (selten NRZI-M) bewirkt einen Bitwechsel bei Eins, siehe Beispiele. Eine Null bewirkt keinen Bitwechsel.
| Beispiel 1: | |
| Datenbits (logisch): | 1 1 1 1 1 1 1 1 |
| phys. Leitung bei Ausgangszustand „1“: | 0 1 0 1 0 1 0 1 |
| phys. Leitung bei Ausgangszustand „0“: | 1 0 1 0 1 0 1 0 |
| Beispiel 2: | |
| Datenbits (logisch): | 0 0 0 0 0 0 0 0 |
| phys. Leitung bei Ausgangszustand „1“: | 1 1 1 1 1 1 1 1 |
| phys. Leitung bei Ausgangszustand „0“: | 0 0 0 0 0 0 0 0 |
| Beispiel 3: | |
| Datenbits (logisch): | 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 |
| phys. Leitung bei Ausgangszustand „1“: | 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 |
| phys. Leitung bei Ausgangszustand „0“: | 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 0 |

### NRZ-S

NRZ-S (selten NRZI-S) bewirkt einen Bitwechsel bei Null, siehe Beispiele. Eine Eins bewirkt keinen Bitwechsel (USB).
| Beispiel 1: | |
| Datenbits (logisch): | 1 1 1 1 1 1 1 1 |
| phys. Leitung bei Ausgangszustand „1“: | 1 1 1 1 1 1 1 1 |
| phys. Leitung bei Ausgangszustand „0“: | 0 0 0 0 0 0 0 0 |
| Beispiel 2: | |
| Datenbits (logisch): | 0 0 0 0 0 0 0 0 |
| phys. Leitung bei Ausgangszustand „1“: | 0 1 0 1 0 1 0 1 |
| phys. Leitung bei Ausgangszustand „0“: | 1 0 1 0 1 0 1 0 |
| Beispiel 3: | |
| Datenbits (logisch): | 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 |
| phys. Leitung bei Ausgangszustand „1“: | 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 |
| phys. Leitung bei Ausgangszustand „0“: | 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 |