# Differenzcodierung

Die Differenzcodierung (seltener Differenzkodierung) ist in der digitalen Datenübertragung eine Leitungscodierung, die bei manchen digitalen Modulationsverfahren eine eindeutige Informationszuordnung erlaubt. Sie stellt eine Form der einfachen rekursiven Faltungscodierung dar, bei der zeitlich benachbarte Informationsbits voneinander abhängen.
Differenzcodierung wird u. a. bei digitalen Modulationen wie der Phasenumtastung (PSK) oder der Quadraturamplitudenmodulation (QAM) eingesetzt.

## Motivation

Bei digitalen Modulationen wie der binären Phasenumtastung (BPSK) kann der Empfänger ohne zusätzliche Maßnahmen nicht erkennen, welche Phasenlage der Trägerschwingung welchen logischen Wert aufweist, da der Empfänger nicht über die Phaseninformation des Senders verfügt.
Eine mögliche Maßnahme besteht in Form einer zusätzlichen und vor der eigentlichen Datenübertragung nötigen Synchronisierung, in deren Rahmen der Empfänger die Phasenlage des Senders ermitteln kann und anhand dieser Information in Folge die korrekte Gewinnung der in der Phasenlage untergebrachten Information erfolgen kann.
Eine andere Möglichkeit ist die Differenzcodierung der zu übertragenen Daten, welche im Fall der binären Phasenumtastung zur differentiellen Phasenumtastung führt, abgekürzt DPSK (englisch Differential Phase-Shift Keying).

## Umsetzung

Bei der Differenzcodierung kommt es nicht auf die absolute Phasenlage an, sondern auf den Umstand, ob sich die Phasenlage zum Abtastzeitpunkt in Relation zum vorherigen Abtastzeitpunkt geändert hat oder nicht. Dadurch lassen sich im einfachsten Fall der binären Phasenumtastung zwei Zustände in der Differenz benachbarter Sendesymbole bilden.
Der Encoder bildet aus der Eingangsdatenfolge $x$ die Ausgangsfolge $y$ nach folgender Regel:
    $y_{i}=y_{i-1}\oplus x_{i}$
wobei $y$ dann phasenmoduliert und zum Empfänger übertragen wird.
Der Decoder bildet nach der Demodulation aus der empfangenen Folge $y$ die ursprüngliche Datenfolge $x$ nach folgender Regel:
    $x_{i}=y_{i}\oplus y_{i-1}$
In den Gleichungen steht $\oplus$ für die XOR-Verknüpfung oder modulo-2 Addition. Der Ausdruck $y_{i-1}$ drückt dabei den Umstand aus, dass zur Codierung und Decodierung der Zustand des vorherigen Wertes nötig ist. Schaltungstechnisch wird dies in Form eines Registers mit einem Bit Speichertiefe realisiert, wie in nebenstehenden Abbildungen dargestellt. Die Differenzcodierung stellt damit eine einfache rekursive Faltungscodierung mit dem Gedächtnis von einem Bit dar.
Die Differenzcodierung kann in verschiedenen Adaptionen auch ohne einer Modulation als Leitungscode eingesetzt werden, wie dies beispielsweise bei Non Return to Zero (NRZI) oder bei dem differentiellen Manchester-Code der Fall ist. Dabei weist die Differenzcodierung den Vorteil auf, dass eine Invertierung oder Verpolung der Übertragungsleitung keinen Einfluss aufweist.
Die Differenzcodierung weist durch die Gedächtnisfunktion der Faltung den Nachteil auf, dass ein Übertragungsfehler zu einer Fehlervermehrung führen kann. So kann bei der binären Phasenumtastung ein Empfangsfehler zu zwei zeitlich aufeinander folgenden und fehlerhaften Werten nach der Differenzcodierung führen. Dieser Umstand kann bei einer nachfolgenden Vorwärtsfehlerkorrektur zu einer schlechteren Fehlerkorrekturleistung führen.