This post describes gives an overview of the digital transmission techniques used in computer communication.

**Digital Signals Overview:**

Digital signals are nothing but a finite sequence of voltage pulses that can be transmitted over a medium. Digital signals can be used to propagate both analog and digital data. Digital signal transmission offer better noise immunity, are cheaper, more secure and additionaly offers the facility to compress data thereby optimally using the underlying transmission network. In computer communication, digital signal transmission is quite popular both in LAN and WAN links (e.g. **10Mbps Ethernet, T1/E1 links**).

**Typical Digital Signalling line encoding process**

The diagram above gives the typical process at the sending and receiving end nodes for digital signal transmission.

At the **sending node**,

- Analog or digital data is first converted into a digital binary bit stream through the process of endoding. If it is analog data, then the encoding process involves an
**A/D (analog to digital conversion) process**, using devices known as**codecs**. If data is already in digital form, then the encoding process just converts the digital data into a binary stream of 0s and 1s (e.g. ascii encoding used to encode a text file or an electronic mail into a binary stream). - Encoded data is then given to a Transreceiver, which typically would implement the actual digital line encoding technique (e.g. Manchester encoding, T1/E1 AMI encoding etc.). The Transreceiver is the device that actually interfaces with the physical telecommunication link and transmits data in accordance with the rules of the underlying link.

At the **receiving node**, the reverse process as that followed at the sender is applied:

- The received digital signals are first converted into a stream of binary digits using a Transreceiver, which in this case understands the digital line encoding method used at the sender and accordingly performs the receiver’s job of extracting the binary stream of data from the telecommunication link.
- The stream of binary digits is then converted back to either analog or digital data, by using a decoder, that does the reverse operation as that of the encoder used at the sender.

**Analog Data to Digital Signal Transmission process**

When data is analog (e.g. voice, video etc.), before transmission, it is first converted into a digital binary bit stream. This is done by a codec. The diagrams below illustrates the typical A/D conversion process.

As given in the diagrams, the analog signal is first passed through a Band Pass filter to limit the bandwidth of the signal to a given range. Then the process of sampling and quantization are applied to get binary data. The binary data is then passed through a transreciever to do the digital line encoding process corresponding to the underlying transmission link. This is the basic mechanism of all Voice/Video over IP transmissions.

**Digital Data to Digital Signal Transmission process**

When data itself is digital (e.g. text, email, digital images etc.), the first step is to convert it into a binary stream of bits. This encoding process may be as simple as representing each character by its ASCII code. After this encoding process, the rest of the digital line encoding process is similar to that of the analog data case.

**Basics of Digital Line Encoding Techniques**

Though there are various digital line encoding techniques from the simplest ones to complicated ones, the basic principle of these techniques boil down to methods for representing a binary 0 and a binary 1 on the telecommunciation link. They vary mainly based on how (voltage value, polarity etc.) they represent binary 0s and 1s and also based on whether they support self-clocking and DC-Balancing.

- The techniques may vary in the
**voltage values and polarity**that they use for representing a binary 0 and a binary 1. For e.g. we can have a line encoding technique where a binary 0 is represented by +5V and a binary 1 is represented by +10V. We can similarly have another digital line encoding technique where a binary 0 is represented by -0.85V and a binary 1 is represented by +0.85V. - Some digital line encoding techniques like AMI (Alternate Mark Inversion) represent a binary 1 using both a positive voltage and a negative voltage,
**with the polarity alternating for every binary 1**. - Some digital line encoding techniques like Manchester encoding represent binary digits with a positive value in one half of the bit interval and a negative value in the next half of the bit interval, thereby automatically taking care of clocking and DC-Balancing issues.

The diagram given below illustrates a few digital line encoding techniques.

As illustrated in the diagram, for all the three line encoding techniques, the same binary data pattern of 1001101 is used, for comparison purposes.

In NRZ-L (Non Return to Zero), as the name indicates, the signal value never returns to zero. While a binary 1 is represented by a positive value, a binary 0 is represented by a value that is equal in magnitude to the binary 1, but different in polarity (negative).

In AMI, a binary 1 is represented by alternating positive and negative values and a binary 0 is represented by zero voltage for the duration of the bit interval.

In Manchester Encoding, a binary 1 is represented by a negative value in the first half of the bit interval and an equal (in magnitude) positive value in the second half of the bit interval. Similarly, a binary 0 is represented by a positive value in the first half of the bit interval and an equal negative value in the second half of the bit interval.

**DC-Balancing Property**

Telecommunication links may have intermediate devices like repeaters, amplifiers etc. for extending the signals over a longer distance. They may also have electronic components like Inductors (loaded coils) for noise reduction purposes. The behavior of these components may be affected if the line voltages do not have an average value of zero voltage (i.e. if they have excessive positive voltages or excessive negative voltages). A good line encoding algorithm needs to maintain a long term average of zero voltage (DC) on the link irrespective of the data pattern. This is known as the DC-Balancing property of a line encoding algorithm.

In the examples above, **NRZ-L does not support DC-Balancing**, because if the data pattern has excessive binary 1s (for e.g. 1111111), then the link would always have a bias towards a positive voltage value (non-zero average value).

**AMI supports DC-Balancing**, because a binary 1 is alternatively represented by either a positive or a negative voltage and a binary 0 is represented by zero voltage.

**Manchester encoding supports DC-Balancing,**because each bit is represented by both a positive and an equal negative value, thereby having an average value of zero voltage on the line for every bit interval.

**Clocking**

**clocking information is used by the sender to convey the bit boundaries and bit interval to the receiver**. The sender may transmit the clocking information either in a separate line (in another wire) that is different from the data line or the sender may embed the clocking information inline, in the data line itself, as part of the line coding strategy. Line encoding techniques like Manchester encoding carry in-line clocking information and are said to be

**self-clocking**.

**Separate Clock line Examples:**

**Self Clocking Example:**