Line code

From Infogalactic: the planetary knowledge core
(Redirected from Line coding)
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

<templatestyles src="Stack/styles.css"/>

An example of coding a binary signal using rectangular pulse amplitude modulation with polar non-return-to-zero code
An example of Bipolar encoding, or AMI.
File:Manchester code.svg
Encoding of 11011000100 in Manchester encoding
An example of Biphase mark code

In telecommunication, a line code is a code chosen for use within a communications system for transmitting a digital signal down a line. Line coding is often used for digital data transport. Some line codes are digital baseband modulation or digital baseband transmission methods, and these are baseband line codes that are used when the line can carry DC components.

Line coding

Line coding consists of representing the digital signal to be transported, by a waveform that is optimally tuned for the specific properties of the physical channel (and of the receiving equipment). The pattern of voltage, current or photons used to represent the digital data on a transmission link is called line encoding. The common types of line encoding are unipolar, polar, bipolar, and Manchester encoding.

For reliable clock recovery at the receiver, one usually imposes a maximum run length constraint on the generated channel sequence[citation needed], i.e., the maximum number of consecutive ones or zeros is bounded to a reasonable number. A clock period is recovered by observing transitions in the received sequence, so that a maximum run length guarantees such clock recovery, while sequences without such a constraint could seriously hamper the detection quality.[citation needed]

After line coding, the signal is put through a "physical channel", either a "transmission medium" or "data storage medium".[1][2] Sometimes the characteristics of two very different-seeming channels are similar enough that the same line code is used for them. The most common physical channels are:

Disparity

The disparity of a bit pattern is the difference in the number of one bits vs the number of zero bits. The running disparity is the running total of the disparity of all previously transmitted words.[3]

Unfortunately, most long-distance communication channels cannot transport a DC component[citation needed]. The DC component is also called the disparity, the bias, or the DC coefficient. The simplest possible line code, unipolar, gives too many errors on such systems, because it has an unbounded DC component.

Most line codes eliminate the DC component – such codes are called DC-balanced, zero-DC, DC-free, zero-bias, DC equalized, etc.[citation needed] There are three ways of eliminating the DC component:

  • Use a constant-weight code. In other words, each transmitted code word is corrected such that every code word that contains some positive or negative levels also contains enough of the opposite levels, such that the average level over each code word is zero. For example, Manchester code and Interleaved 2 of 5.
  • Use a paired disparity code. In other words, the transmitter has to make sure that every code word that averages to a negative level is paired with another code word that averages to a positive level. Therefore it must keep track of the running DC buildup, and always pick the code word that pushes the DC level back towards zero. The receiver is designed so that either code word of the pair decodes to the same data bits. For example, AMI, 8B10B, 4B3T, etc.
  • Use a scrambler. For example, the scrambler specified in RFC 2615 for 64b/66b encoding.

Polarity

Unfortunately, several long-distance communication channels have polarity ambiguity. To compensate, several people have designed polarity-insensitive transmission systems.[4][5][6][7] There are three ways of providing unambiguous reception of "0" bits or "1" bits over such channels:

Synchronization

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Line coding should make it possible for the receiver to synchronize itself to the phase of the received signal. If the synchronization is not ideal, then the signal to be decoded will not have optimal differences (in amplitude) between the various digits or symbols used in the line code. This will increase the error probability in the received data.

Other considerations

It is also preferred for the line code to have a structure that will enable error detection. Note that the line-coded signal and a signal produced at a terminal may differ, thus requiring translation.

A line code will typically reflect technical requirements of the transmission medium, such as optical fiber or shielded twisted pair. These requirements are unique for each medium, because each one has different behavior related to interference, distortion, capacitance and loss of amplitude.[citation needed]

Common line codes

<templatestyles src="Div col/styles.css"/>

Optical line codes:

See also

References

  1. Karl Paulsen. "Coding for Magnetic Storage Mediums".2007.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Jens Kröger. "Data Transmission at High Rates via Kapton Flexprints for the Mu3e Experiment". 2014. p. 16
  4. Peter E. K. Chow. "Code converter for polarity-insensitive transmission systems". 1983.
  5. David A. Glanzer, Fieldbus Foundation. "Fieldbus Application Guide ... Wiring and Installation". Section "4.7 Polarity". p. 10
  6. George C. Clark Jr., and J. Bibb Cain. "Error-Correction Coding for Digital Communications". 2013. p. 255. quote: "When PSK data modulation is used, the potential exists for an ambiguity in the polarity of the received channel symbols. This problem can be solved in one of two ways. First ... a so-called transparent code. ..."
  7. Prakash C. Gupta. "Data Communications and Computer Networks". 2013. p. 13. quote: "Another benefit of differential encoding is its insensitivity to polarity of the signal. ... If the leads of a twisted pair are accidentally reversed..."

External links