Differential coding

From Wikipedia, the free encyclopedia

In digital communications, differential coding is a technique used to provide unambiguous signal reception when using some types of modulation. It makes data to be transmitted to depend not only from the current bit (or symbol), but also from the previous one.

The common types of modulation that require differential coding include phase shift keying and quadrature amplitude modulation.

Contents

[edit] Purposes of differential coding

To demodulate BPSK one needs to make a local oscillator synchronous with the remote one. This is accomplished by a carrier recovery circuit. However, a carrier can be recovered in different ways, depending upon a valid phases count (2 for BPSK).

For this coding, if a carrier is recovered incorrectly, the received data are inverted.

Assuming that xi is a bit intended for transmission, and yi is a bit actually transmitted (differentially encoded), if

y_i=y_{i-1} \oplus x_i, \qquad (1)

is transmitted, then on the decoding side

x_i=y_i \oplus y_{i-1}. \qquad (2)

can be reconstructed.

Now xi depends only on a difference between yi and yi − 1 and not on their values. So, whether the data stream is inverted or not, the decoded data will always be correct.

[edit] Conventional differential coding

A differential encoder
A differential encoder
A differential decoder
A differential decoder

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 \ge 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 \mbox{ or }k=1 \\ 0, & \mbox {otherwise}\end{cases}

and its transfer function

H(z) = 1 + z − 1.

[edit] Generalized differential coding

It is not the only way to use y_{i-1} \oplus x_i as yi. More generally, it can be any function u = F(y,x) provided that an equation u0 = F(y0,x) has one and only one solution for any y0 and u0.

[edit] Applications

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

[edit] Drawbacks

Differential coding has one significant drawback: it leads to error multiplication. That is, if one symbol such as yi was received incorrectly, two incorrect symbols xi and xi + 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 leads to 3dB degradation of BER performance.

[edit] Other 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 sync-words for this purpose. That is, if a frame synchronizer detects repeated inverted sync-words, in inverts the whole stream. This method is used in DVB-S.

[edit] See also

[edit] External links and references

  • INTELSAT Earth Station Standard IESS-308
  • DVB framing structure, channel coding and modulation for 11/12 GHz satellite services (EN 300 421)