Purification theorem: Difference between revisions
en>Hughjonesd added example of purification |
en>Gabbe added {{doi}} |
||
| Line 1: | Line 1: | ||
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 on the current bit (or symbol), but also on the previous one. | |||
The common types of modulation that require differential coding include [[phase shift keying]] and [[quadrature amplitude modulation]]. | |||
==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 is inverted. | |||
Assuming that <math>x_i</math> is a bit intended for transmission, and <math>y_i</math> is a bit actually transmitted (differentially encoded), if | |||
:<math>y_i=y_{i-1} \oplus x_i, \qquad (1)</math> | |||
is transmitted, then on the decoding side | |||
:<math>x_i=y_i \oplus y_{i-1}. \qquad (2)</math> | |||
can be reconstructed, where <math>\oplus{}</math> indicates [[binary addition|binary]] or [[modular arithmetic|modulo-2]] addition. | |||
Now <math>x_i</math> depends only on a difference between <math>y_i</math> and <math>y_{i-1}</math> and not on their values. So, whether the data stream is inverted or not, the decoded data will always be correct. | |||
When data is transmitted over twisted-pair wires, it is easy to accidentally insert an extra half-twist in the cable between the transmitter and the receiver. | |||
When this happens, the received data is inverted. | |||
There are several different [[line code]]s designed to be '''polarity insensitive'''<ref>[http://www.jikos.cz/~dankr/skola/spread_spectrum/Final%20report.pdf "Spread spectrum direct sequence"] by Daniel Kraus</ref> -- whether the data stream is inverted or not, the decoded data will always be correct. | |||
The [[line code]]s with this property include [[differential Manchester encoding]], [[bipolar encoding]], [[NRZI]], [[biphase mark code]], [[coded mark inversion]], and [[MLT-3 encoding]]. | |||
==Conventional differential coding== | |||
[[Image:Differential coding encoder.png|right|thumb|A differential encoder]] | |||
[[Image:Differential coding decoder.png|right|thumb|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 synchronization|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 <math>(1)</math> operation, a ''differential decoder'' - the <math>(2)</math> operation. | |||
Both differential encoder and differential decoder are discrete [[LTI system|linear time-invariant systems]]. The former is recursive and [[infinite impulse response|IIR]], the latter is non-recursive and thus [[finite impulse response|FIR]]. They can be analyzed as [[digital filter]]s. | |||
A ''differential encoder'' is similar to an analog [[integrator]]. It has an [[impulse response]] | |||
:<math>h(k)=\begin{cases} | |||
1, & \mbox{if } k \ge 0 \\ | |||
0, & \mbox{if } k < 0 | |||
\end{cases}</math> | |||
and a [[transfer function]] | |||
:<math>\ H(z)=\frac{1}{1-z^{-1}}.</math> | |||
A ''differential decoder'' is thus similar to an analog [[differentiator]], its impulse response being | |||
:<math>h(k)=\begin{cases} | |||
1, & \mbox{if } k=0 \\ | |||
-1, & \mbox{if } k=1 \\ | |||
0, & \mbox {otherwise} | |||
\end{cases}</math> | |||
and its transfer function | |||
:<math>\ H(z)=1-z^{-1}.</math> | |||
Note that in binary (modulo-2) arithmetic, addition and subtraction (and positive and negative numbers) are equivalent. | |||
==Generalized differential coding== | |||
Using the relation <math>y_{i-1} \oplus x_i = y_i</math> is not the only way of carrying out differential encoding. More generally, it can be any function <math>u=F(y,x)</math> provided that an equation <math>u_0=F(y_0,x)</math> has one and only one solution for any <math>y_0</math> and <math>u_0</math>. | |||
==Applications== | |||
Differential coding is widely used in [[satellite communications|satellite]] and [[radio relay link|radio relay]] communications together with [[phase shift keying|PSK]] and [[QAM]] modulations. | |||
==Drawbacks== | |||
Differential coding has one significant drawback: it leads to error multiplication. That is, if one symbol such as <math>y_i</math> was received incorrectly, two incorrect symbols <math>x_i </math> and <math>x_{i+1}</math> would be at the differential decoder's output, see: | |||
<math>x_i=y_i \oplus y_{i-1} </math> and <math>x_{i+1}=y_{i+1} \oplus y_i</math>. This approximately doubles the [[bit error rate|BER]] at signal-to-noise ratios for which errors rarely occur in consecutive symbols. | |||
==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, it inverts the whole stream. This method is used in [[DVB-S]]. | |||
==See also== | |||
* [[Phase shift keying]] | |||
* [[Satellite modem]] | |||
==External links and references== | |||
{{Reflist}} | |||
* [[INTELSAT]] Earth Station Standard IESS-308 | |||
* [[Digital Video Broadcasting|DVB]] framing structure, channel coding and modulation for 11/12 GHz satellite services (EN 300 421) | |||
[[Category:Data transmission]] | |||
Latest revision as of 10:04, 14 August 2013
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 on the current bit (or symbol), but also on the previous one.
The common types of modulation that require differential coding include phase shift keying and quadrature amplitude modulation.
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 is inverted.
Assuming that is a bit intended for transmission, and is a bit actually transmitted (differentially encoded), if
is transmitted, then on the decoding side
can be reconstructed, where indicates binary or modulo-2 addition.
Now depends only on a difference between and and not on their values. So, whether the data stream is inverted or not, the decoded data will always be correct.
When data is transmitted over twisted-pair wires, it is easy to accidentally insert an extra half-twist in the cable between the transmitter and the receiver. When this happens, the received data is inverted. There are several different line codes designed to be polarity insensitive[1] -- 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.
Conventional 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 operation, a differential decoder - the 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
and a transfer function
A differential decoder is thus similar to an analog differentiator, its impulse response being
and its transfer function
Note that in binary (modulo-2) arithmetic, addition and subtraction (and positive and negative numbers) are equivalent.
Generalized differential coding
Using the relation is not the only way of carrying out differential encoding. More generally, it can be any function provided that an equation has one and only one solution for any and .
Applications
Differential coding is widely used in satellite and radio relay communications together with PSK and QAM modulations.
Drawbacks
Differential coding has one significant drawback: it leads to error multiplication. That is, if one symbol such as was received incorrectly, two incorrect symbols and would be at the differential decoder's output, see: and . This approximately doubles the BER at signal-to-noise ratios for which errors rarely occur in consecutive symbols.
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, it inverts the whole stream. This method is used in DVB-S.
See also
External links and references
43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.
- INTELSAT Earth Station Standard IESS-308
- DVB framing structure, channel coding and modulation for 11/12 GHz satellite services (EN 300 421)
- ↑ "Spread spectrum direct sequence" by Daniel Kraus