Cart 0


Why line coding ?

There are many reasons for using line coding. Each of the line codes you will be examining offers one or more of the following advantages:

Spectrum shaping and relocation without modulation or filtering. This is important in telephone line applications, for example, where the transfer characteristic has heavy attenuation below 300 Hz.

Bit clock recovery can be simplified.

DC component can be eliminated; this allows AC (capacitor or transformer) coupling between stages (as in telephone lines). Can control baseline wander (baseline wander shifts the position of the signal waveform relative to the detector threshold and leads to severe erosion of noise margin).

Error detection capabilities.

Bandwidth usage; the possibility of transmitting at a higher rate than other schemes over the same bandwidth.

At the very least the LINE-CODE ENCODER serves as an interface between the TTL level signals of the transmitter and those of the analog channel. Likewise, the LINE-CODE DECODER serves as an interface between the analog signals of the channel and the TTL level signals required by the digital receiver.

The modules

The two new modules to be introduced are the LINE-CODE ENCODER and the LINE-CODE DECODER.+

You will not be concerned with how the coding and decoding is performed.

You should examine the waveforms, using the original TTL sequence as a reference.

In a digital transmission system line encoding is the final digital processing performed on the signal before it is connected to the analog channel, although there may be simultaneous bandlimiting and wave shaping.

Thus in TIMS the LINE-CODE ENCODER accepts a TTL input, and the output is suitable for transmission via an analog channel.

At the channel output is a signal at the TIMS ANALOG REFERENCE LEVEL, or less. It could be corrupted by noise. Here it is re-generated by a detector. The TIMS detector is the DECISION MAKER module (already examined in the experiment entitled Detection with the DECISION MAKER in this Volume). Finally the TIMS LINE-CODE DECODER module accepts the output from the DECISION MAKER and decodes it back to the binary TTL format.

Preceding the line code encoder may be a source encoder with a matching decoder at the receiver. These are included in the block diagram of Figure 1, which is of a typical baseband digital transmission system. It shows the disposition of the LINECODE ENCODER and LINE-CODE DECODER. All bandlimiting is shown concentrated in the channel itself, but could be distributed between the transmitter, channel, and receiver.


The LINE-CODE ENCODER serves as a source of the system bit clock. It is driven by a master clock at 8.333 kHz (from the TIMS MASTER SIGNALS module). It divides this by a factor of four, in order to derive some necessary internal timing.

Signals at a rate of 2.083 kHz. This then becomes a convenient source of a 2.083 kHz TTL signal for use as the system bit clock.

Because the LINE-CODE DECODER has some processing to do, it introduces a time delay. To allow for this, it provides a re-timed clock if required by any further digital processing circuits (eg, for decoding, or error counting modules).


  • the word mark, and its converse space, often appear in a description of a binary waveform. This is an historical reference to the mark and space of the telegraphist. In modern day digital terminology these have become HI and LO, or ‘1’ and ‘0’, as appropriate.
  • unipolar signalling: where a ‘1’ is represented with a finite voltage V volts, and a ‘0’ with zero voltage. This seems to be a generally agreed-to definition.
  • those who treat polar and bipolar as identical define these as signalling where a ‘1’ is sent as +V, and ‘0’ as -V. They append AMI when referring to three-level signals which use +V and -V alternately for a ‘1’, and zero for ‘0’ (an alternative name is pseudoternary).

You will see the above usage in the TIMS Advanced Modules User Manual, as well as in this text.

However, others make a distinction. Thus:

  • polar signalling: where a ‘1’ is represented with a finite voltage +V volts, and a ‘0’ with -V volts.
  • bipolar signalling: where a ‘1’ is represented alternately by +V and -V, and a ‘0’ by zero voltage.
  • the term ‘RZ’ is an abbreviation of ‘return to zero’. This implies that the particular waveform will return to zero for a finite part of each data ‘1’ (typically half the interval). The term ‘NRZ’ is an abbreviation for ‘non-return to zero’, and this waveform will not return to zero during the bit interval representing a data ‘1’.
  • the use of ‘L’ and ‘M’ would seem to be somewhat illogical (or inconsistent) with each other. For example, see how your text book justifies the use of the ‘L’ and the ‘M’ in NRZ-L and NRZ-M.
  • two sinusoids are said to be antipodal if they are 1800 out of phase.

Available line codes

For a TTL input signal the following output formats are available from the LINECODE ENCODER.

Non return to zero – level (bipolar): this is a simple scale and level shift of the input TTL waveform.

Non return to zero – mark (bipolar): there is a transition at the beginning of each ‘1’, and no change for a ‘0’. The ‘M’ refers to ‘inversion on mark’. This is a differential code. The decoder will give the correct output independently of the polarity of the input.

Uni-polar – return to zero (uni-polar): there is a half-width output pulse if the inputis a ‘1’; no output if the input is a ‘0’. This waveform has a significant DC component.

Bipolar return to zero (3-level): there is a half-width +ve output pulse if the input is a ‘1’; or a half-width -ve output pulse if the input is a ‘0’. There is a return-to-zero for the second half of each bit period.

Return to zero – alternate mark inversion (3-level): there is a half-width output pulse if the input is a ‘1’; no output if the input is a ‘0’. This would be the same as UNIRZ. But, in addition, there is a polarity inversion of every alternate output pulse.

Biphase – level (Manchester): bipolar ±V volts. For each input ‘1’ there is a transition from +V to -V in the middle of the bit-period. For each input ‘0’ there is a transition from -V to +V in the middle of the bit period.

Di-code non-return to zero (3-level): for each transition of the input there is an output pulse, of opposite polarity from the preceding pulse. For no transition between input pulses there is no output.

The codes offered by the line-code encoder are illustrated in Figure 2 below. These have been copied from the Advanced Module Users Manual, where more detail is provided.


The output waveforms, apart from being encoded, have all had their amplitudes adjusted to suit a TIMS analog channel (not explicitly shown in Figure 2).

When connected to the input of the LINE-CODE DECODER these waveforms are de-coded back to the original TTL sequence.

band limiting

No matter what the line code in use, it is not uncommon to band limit these waveforms before they are sent to line, or used to modulate a carrier.

As soon as band limiting is invoked individual pulses will spread out (in the time domain) and interfere with adjacent pulses. This raises the issue if inter-symbol interference (ISI).

A study of ISI is outside the intended scope of this text, but it cannot be ignored in practice. Band limiting (by pulse shaping) can be effected and ISI controlled by appropriate filter design.

An alternative approach, duobinary encoding, was invented by Lender 1.

Duobinary encoding

A duobinary encoder (and decoder) is included in the line code modules.

Duobinary encoding is also called correlative coding, or partial response signalling.

The preceded duobinary encoding model implemented in the LINE-CODE ENCODER module is described in the TIMS Advanced Modules User Manual.


Figure 3 shows a simplified model of Figure 1. There is no source encoding or decoding, no baseband channel, and no detection. For the purpose of the experiment this is sufficient to confirm the operation of the line code modules.


When a particular code has been set up, and the message successfully decoded without error, the BUFFER should be included in the transmission path. By patching it in or out it will introduce a polarity change in the channel.


Note that the LINE-CODE DECODER requires, for successful decoding, an input signal of amplitude near the TIMS ANALOG REFERENCE LEVEL (±2 volt pp). In normal applications this is assured, since it will obtain its input from the DECISION MAKER.


There are no step-by-step Tasks for you to perform. Instead, it is left to you to ensure that (in the approximate order indicated):

  1. you read the TIMS Advanced Modules User Manual for more details of the LINE-CODE ENCODER and LINE-CODE DECODER modules than is included here.
  2. you select a short sequence from the transmitter message source
  3. at least initially you synchronize the oscilloscope to show a snapshot of the transmitter sequence. Later you may be interested in eye patterns ?
  4. examine each code in turn from the encoder, confirming the transformation from TTL is as expected. On the other hand, and far more challenging, is to determine what the law of each transformation is without help from a Textbook
    or other reference.
  5. of significant interest would be an examination of the power spectra of each of the coded signals. For this you would need data capturing facilities, and software to perform spectral analysis.
  6. and so on ………….


Resetting of the LINE-CODE ENCODER and the LINE-CODE DECODER after the master clock is connected, or after any clock interruption, is strictly not necessary for all codes. But it is easier to do it for all codes rather than remember for which codes it is essential.

Share this post



Sold Out