Reference articles on history, science, culture and more
Encyclopedia

Differential coding

Technique in digital communications

In digital communications, differential coding is a technique used to provide unambiguous signal reception when using some types of modulation. It makes transmissible data dependent on both the current and previous signal (or symbol) states.

The common types of modulation that may be used with differential coding include phase-shift keying and quadrature amplitude modulation.

01Purposes of differential coding

When data is transmitted over balanced lines, it is easy to accidentally invert polarity in the cable between the transmitter and the receiver.

Similarly for BPSK. To demodulate BPSK, one needs to make a local oscillator synchronous with the remote one. This is accomplished by a carrier recovery circuit. However, the integer part of the recovered carrier is ambiguous. There are n valid but not equivalent phase shifts between the two oscillators. For BPSK, n = 2; the symbols appear inverted or not.

Differential encoding prevents inversion of the signal and symbols, respectively, from affecting the data.

Assuming that x_{i} is a bit intended for transmission and y_{i-1} was the symbol just transmitted, then the symbol to be transmitted for x_{i} is

y_{i}=y_{i-1}\oplus x_{i}, 1

where \oplus {} indicates binary or modulo-2 addition. On the decoding side, x_{i} is recovered as

x_{i}=y_{i}\oplus y_{i-1}. 2

That is, x_{i} depends only on a difference between the symbols y_{i} and y_{i-1} and not on their values (inverted or not).

There are several different line codes designed to be polarity insensitive - whether the data stream is inverted or not, the decoded data will always be correct.

The line codes with this property include differential Manchester encoding, bipolar encoding, NRZI, biphase mark code, coded mark inversion, and MLT-3 encoding.

A block diagram representation of a differential encoder. Note that the output is dependent on both the current and previous register state.
A block diagram representation of a differential encoder. Note that the output is dependent on both the current and previous register state.

02Conventional differential coding

A method illustrated above can deal with a data stream inversion (it is called 180° ambiguity). Sometimes it is enough (e.g. if BPSK is used or if other ambiguities are detected by other circuits, such as a Viterbi decoder or a frame synchronizer) and sometimes it isn't.

Generally speaking, a differential coding applies to symbols (these are not necessary the same symbols as used in the modulator). To resolve 180° ambiguity only, bits are used as these symbols. When dealing with 90° ambiguity, pairs of bits are used, and triplets of bits are used to resolve 45° ambiguity (e.g. in 8PSK).

A differential encoder provides the (1) operation, a differential decoder - the (2) operation.

Both differential encoder and differential decoder are discrete linear time-invariant systems. The former is recursive and IIR, the latter is non-recursive and thus FIR. They can be analyzed as digital filters.

A differential encoder is similar to an analog integrator. It has an impulse response

h(k)={\begin{cases}1,&{\mbox{if }}k\geq 0\\0,&{\mbox{if }}k<0\end{cases}}

and a transfer function

H(z)={\frac {1}{1-z^{-1}}}.

A differential decoder is thus similar to an analog differentiator, its impulse response being

h(k)={\begin{cases}1,&{\mbox{if }}k=0\\-1,&{\mbox{if }}k=1\\0,&{\mbox{otherwise}}\end{cases}}

and its transfer function

H(z)=1-z^{-1}.

Note that in binary (modulo-2) arithmetic, addition and subtraction (and positive and negative numbers) are equivalent.

03Generalized differential coding

Using the relation y_{i-1}\oplus x_{i}=y_{i} is not the only way of carrying out differential encoding. More generally, it can be any function u=F(y,x) provided that an equation u_{0}=F(y_{0},x) has one and only one solution for any y_{0} and u_{0}.

04Applications

Differential coding is widely used in satellite and radio relay communications together with PSK and QAM modulations.

Another type of differential decoder.
Another type of differential decoder.

05Drawbacks

Differential coding has one significant drawback: it leads to error multiplication. That is, if one symbol such as y_{i} was received incorrectly, two incorrect symbols x_{i} and x_{i+1} would be at the differential decoder's output, see: x_{i}=y_{i}\oplus y_{i-1} and x_{i+1}=y_{i+1}\oplus y_{i}. This approximately doubles the BER at signal-to-noise ratios for which errors rarely occur in consecutive symbols.

06Other techniques to resolve a phase ambiguity

Differential coding is not the only way to deal with a phase ambiguity. The other popular technique is to use syncwords for this purpose. That is, if a frame synchronizer detects repeated inverted sync-words, it inverts the whole stream. This method is used in DVB-S.

Watch videos about Differential codingExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Differential coding, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.