Coders Packet

Line coding encoder and scrambler with digital data generator in C++

By Sharad Verma

This C++ code implements line coding schemes such as NRZ-L, NRZ-I, Manchester, Differential Manchester, and AMI (with scrambling) on the randomly generated binary data stream.

This C++ packet implements Line encoding schemes and scrambling schemes on the randomly generated string of binary data. This binary data stream generated by our code may contain some fixed pattern.


line code is a code used for data transmission of a digital signal over a transmission line. This process of coding is chosen to avoid overlap and distortion of signals such as inter-symbol interference.

This Packet uses a function to generate a random stream of binary data. however, users will be asked to choose between the option of a completely random pattern and the random pattern with some fixed sequence of data. For example, 8 consecutive zeroes or 4 consecutive zeroes.

After the generation of the binary stream, Users need to choose one of the line coding schemes from the following available options:-

1-  NRZ-L

2- NRZ-I

3- Manchester

4- Differential Manchester

5- AMI

Users may also choose to implement scrambling schemes on our encoded data (B8ZS or HDB3). 

Finally, the Output of the code will be illustrated by a graphical representation.


-> Users need to enter a pattern if they choose to generate a random binary stream with some specific subsequence.


-> Your compiler must be compatible with graphics.h library.


1- Make your compiler compatible with graphics.h library.
2- Run the program.
3- Choose the method of generating a data stream and enter a specific subsequence if prompted. 
4- choose the line-encoding scheme.
5- Choose scrambling type in case of AMI encoding.
7- press any key on the plotting terminal(window BGI) to continue.

Download Complete Code


No comments yet