Coding and decoding Technics of binary data

The demand for binary data transmission in modern digital systems is growing at a high rate,
That alongside high frequency clocks are requiring the development of advanced coding and decoding technics- in order to grantee high speed efficient and reliable data transportation (above 1.00 GHz) between the components of the digital systems.

During the project several coding techniques where developed, modulations and pulse shaping of binary sequences in time domain at MATLAB development environment. The project is divided to 2 major parts: Encoder channel simulator and the decoder. At the encoder part several modulations where implemented of two families: Pulse Amplitude Modulations, Phase Shifting Modulations. Furthermore, two pulse shapes where Implemented: Rectangular pulse shape, and raised cosine pulse shape. The common property of those two pulse shapes is there ISI is zero, therefore each detected symbol can be demodulated independently.

The signal was  simulated  to pass through channel with Additive white Gaussian noise (AWGN). In order the lower the bit error rate (BER), an encoder was developed which adds redundant bits on order to lower the error probability.

In order to decode the transmission first of all, the decoder need to decide where each symbol starts and ends, a reference signal was added to beginning of each transmitted packet. At the decoder, zero crossing algorithm was developed along with pulse window size estimation algorithms were developed and implemented. After the zero crossing points and window size were determined, the symbol can be sampled.

After the sampling the decoder uses optimal Maximum Likelihood (ML) detector

Which determine which symbol is most likely was transmitted.

The decoder job is finished after it demodulate the symbols into bits, and the BER can be calculated.