Thursday, January 10, 2008

Line Code

In telecommunication, a line code (also called digital baseband modulation) is a code chosen for use within a communications system for transmission purposes.

For digital data transport line coding is often used. Line coding consists of representing the digital signal to be transported, by an amplitude- and time-discrete signal, that is optimally tuned for the specific properties of the physical channel (and of the receiving equipment). The waveform pattern of voltage or current used to represent the 1s and 0s of a digital signal 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 runlength constraint on the generated channel sequence, 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 runlength guarantees such clock recovery, while sequences without such a constraint could seriously hamper the detection quality.

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

Unfortunately, most long-distance communication channels cannot transport a DC component. The DC component is also called the disparity, the bias, the DC coefficient. The simplest possible line code, unipolar, because it has unbounded DC component, gives too many errors on such systems. Most line codes eliminate the DC component -- such codes are called "DC balanced", zero-DC, zero-bias, "DC equalized", etc. There are 2 ways of eliminating the DC component:

  • Use a constant-weight code. In other words, design each transmitted code word 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, design the receiver such that every code word that averages to a negative level is paired with another code word that averages to a positive level. Design the receiver so that either code word of the pair decodes to the same data bits. Design the transmitter to keep track of the running DC buildup, and always pick the code word that pushes the DC level back towards zero. For example, AMI, 8B10B, 4B3T, etc.

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.

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.

No comments: