Digital Transmission
In this tutorial, we will be covering the concept of Digital transmission in Computer Networks.
As we have already told you in our previous tutorials that data is represented in two forms either analog or digital. The Computer can only understand the binary language that is of the form of 0 or 1 and also stores the information in the digital form.
Thus we need to convert the data into digital form so that it can be understood by the computer.
Given below are the conversion methods used for data transmission:

DigitaltoDigital Conversion

AnalogtoDigital Conversion

DigitaltoAnalog Conversion

AnalogtoAnalog Conversion
As we want to convert our data into digital form. Thus we will cover DigitaltoDigital Conversion and AnalogtoDigital Conversion
1.DigitaltoDigital Conversion
As we have already told you that data can either be in analog form or in digital form. So let us learn how can we represent digital data in the form of digital signals.
Three techniques used for this conversion are as follows:

Line Coding

Block Coding

Scrambling
Line Coding
It is the process used to convert digital data to digital signals. Let us assume that data is in the form of text, numbers, audio, or video and it is stored in the form of a sequence of bits in the computer. Thus Line coding process converts the sequence of bits to a digital signal.
On the sender side, the digital data are encoded into digital signals, and on the receiver side, digital data is recreated by decoding the digital signal.
The above Figure shows Line Coding and Decoding
Line Coding schemes can be broadly classified into five categories:

Unipolar

Polar

Bipolar

Multilevel

Multi Transition
Unipolar Scheme
In this line coding scheme, all the signal levels are on one side of the time axis. It can be either Above or Below. Basically, Unipolar Scheme was designed as a NonReturntoZero(NRZ) scheme where positive voltage defines bit 1 and zero voltage defined bit 0.
The unipolar scheme makes uses only one voltage level. It is called NRZ because the signal does not return to zero in the middle of the bit.
Unipolar NRZ Scheme
This coding scheme is inexpensive and is simple to implement.
Polar Scheme
In this line coding scheme, the voltages are on both sides of the time axis. Let us take an example for this: the voltage level for 0 can be positive and the voltage level for 1 can be negative.
Thus in Polar NRZ encoding, we make use of two levels of voltage amplitude.
There are two versions of Polar NRZ:

NRZL(NRZlevel)
In this, the level of voltage mainly determines the value of the bit. Thus the level of the signal depends upon the value of the bit. 
NRZI(NRZInvert)
In this, the change in the level of the voltage mainly determines the value of the bit. Suppose if there is no change then the bit is 0; and in case if there is a change the bit is 1.
In the above diagram, If the next bit is 0 then there will be no inversion. But if the next bit is 1 then there will be Inversion
Bipolar schemes
In the Bipolar scheme, there are three voltage levels: positive, zero, and negative. In this, the voltage level for one data element is at 0 while the voltage level for other elements alternates between positive and negative.
Given Below are two variations of Bipolar Encoding:

AMI(Alternate Mark Inversion)
It simply means alternate 1 inversion. In this neutral zero voltage represents binary 0 while binary 1s are represented by alternating positive and negative voltages.
The figure shows Bipolar AMI Encoding

Pseudoternary
In this 1 bit is encoded as zero voltage while 0 bit is encoded as alternating positive and negative voltages
The figure shows the Bipolar Pseudoternary Scheme
Multilevel Scheme
The Multilevel Coding scheme is also known as mBnL;
where:
m indicates the length of the Binary pattern.
B denotes the binary data
n indicates the length of the signal pattern
L indicates the number of levels in the signaling.
Three different versions of this scheme are:

2B1Q

8B6T

4DPAM5
Multi Transition(MLT3)
This technique uses three levels(+V,0,V) and it also uses more than three transition rules in order to move between the levels.
Rules are:

If the next bit is 0, then there is no transition.

If the next bit is 1 and the current level is not 0, then the next level will be 0.

If the next bit is 1 and also the current level is 0, then the next level is the opposite of the last nonzero level.
This technique does not perform selfsynchronization for long 0s.
Block Coding
The main problem with line coding is Redundancy. The Block Codes mainly operates on a block of bits. They make use of the preset algorithm, takes the group of bits, and then add a coded part to them in order to make them a large block.
This large block is then checked at the receiver after that receiver makes the decision about the validity of the received sequence.
Thus the block coding changes the block of m bits into the block of n bits where n>m.
This block coding technique is also referred to as mB/nB encoding.
This technique overcomes the drawback of line coding and gives better performance.
Different versions of Block Coding are as follows:

4B/5B

8B/10B
Scrambling
We can modify the line and block coding by including scrambling. It is important to note that scrambling as opposed to block coding is mainly done at the time of encoding.
Mainly the system needs to insert the required pulses on the basis of the scrambling rules.
Given below are the two common techniques used for scrambling:

B8ZS(Bipolar with 8zero substitution)
With this technique, eight consecutive zerolevel voltages are replaced by the sequence of 000VB0VB.
In this sequence V mainly denotes violation and this is basically a nonzero voltage that breaks the AMI rule of encoding.
The B in the given sequence denotes Bipolar which simply means nonzero voltage level according to the AMI rule.
Given below figure shows two cases of the B8ZS scrambling technique:

HDB3(HighDensity Bipolar 3zero
This technique is more conservative than B8ZS and in this four consecutive zerolevel voltages are replaced with a sequence of 000V or B00V. The main reason for two different substitutions is just to maintain the even number of nonzero pulses after each substitution.
Here are two rule for this purpose and these are as follows:
1. If the number of nonzero pulses after the last substitution is odd, then we will use the 000V substitution pattern and it then makes the total number of nonzero pulses even.
2. If the number of nonzero pulses after the last substitution is even, then we will use the B00V substitution pattern and it then makes the total number of nonzero pulses even.
Given below figure shows different situations in the HDB3 scrambling technique: