JavaScripts Created by
Copyright © 2000 Selvarajah Ehalaivan


WELCOME TO MY FINAL YEAR PROJECT PAGE

Generation of Efficient Convolutional Codecs




mobile1.gif displayed here


If you like to receive a copy of my Thesis Please contact me

ABSTRACT
Convolutonal coding and viterbi decoding are widely used in modern digital communication systems, such as space communication, satellite communication, and mobile communication. In almost all cases, the Viterbi decoding algorithm is applied. Sometimes it is necessary to have routines for encoding and decoding to carry out simulations. However, there are not many suitable basic codes and are so many variants. It is desirable to write general-purpose routines to generate the encoder and decoder. Concatenation of several conventional convolutional encoders is a both powerful and practical method to obtain encoding schemes that are attractive for use in communication systems where very low error probabilities are needed. Essentially, the convolutional codes simulator is well established for long. However, for the general-purpose source code generator is not well established as the difficulties created by the number of variants.

2. OBJECTIVE
The main objective of this project is to write a program that will generate the source code for any selected convolutional encoder or decoder. The user will run the program and answer various questions (rate of code, constraint length, polynomials, puncturing patterns, decoder delay, number of soft decision demodulator levels per bit, etc.). The program will then select appropriate routines to make up a source file (C or C++) for the encoder and for the decoder. These source files are then compiled for use in simulation. The encoders and decoders produced should be completely dumb, taking demodulated input from standard input and sending decoded bits to standard output, with no user interaction. Additional routines to be developed, if there is time, could include interleavers and soft output decoders, where some confidence value is attached to each bit of the decoded output.

The main objective can be divided into the following small parts;
A. Analyse convolutional coding system.
B. Find the best convolutional cedes for Viterbi coding system.
C. Implement different modules of the convolutional coding system.

Ø The 7 basic modules are;
1. Random sequence generator
2. Convolutional encoder
3. BPSK modulator
4. AWGN channel simulator
5. Quantiser
6. Viterbi decoder
7. Statistical calculator

D. Implement user interface and trellis table calculation.
E. Implement the source codes generator to create the modules.
F. Find the good punctured codes and modify the system to support punctured codes.
The extended objective can be divided into the following small parts;
G. Add interleaver and soft output to the system.


INTRODUCTION
In the telecommunication systems, convolution coding is the most reliable technique for the error-correction-coding to overcome transmission distortion or channel noise. Although, this error correction process is widely used, Viterbi specifically used the viterbi algorithm (VA) for decoding convolutional codes. The encoding method is known as convolutional coding or trellis-coded modulation. The output signal is generated convolving with the input signal itself, which adds some redundancy on input signal. The state diagram (figure 2.2) illustrates the sequence of possible codes creates a constrained structures called trellis. The coded data is usually modulated before transmitting through the channel and hence called trellis-coded modulation. Today we use digital communication systems without taking much notice about it, e.g., when we listen to music on a CD, mini disc, memory card, make a call using a mobile phone, or send an e-mail and watch movies on VCD (Video Compact Disc) and DVD (digital video disc or digital versatile dis). We are also watching television programs that are broadcasted digitally. Unfortunately, contrary to the impression in the media, digital signals are affected by noise as much as analogue signals. We still have disturbances in the transmission and we still have errors in the received signals. It can be due to scratches on the surface of the CD or background noise for a satellite link, just to mention some sources of noise. This motivates the use of error correcting codes. In a digital system it is quite easy, compared to analogue systems, to add redundant data to the transmitted information that makes it possible to detect and correct some of the occurred errors. There will always be patterns of errors that we cannot correct and the codes can be more or less effective in its work, which often result in more or less complex encoders and decoders. One way to construct good codes is to combine several simpler ones, i.e., to concatenate codes.

Supervised by:Dr Peter Sweeney
Center for Communication Systems Research
Surrey Space Centre
University of Surrey

Mailing Address
S Ehalaivan
Department of Electronics Engineering
University of Surrey
Guildford
Surrey
GU2 7XH
United Kingdom



Copyright © 2003 Selvarajah Ehalaivan All rights reserved.
Your comments to S.Ehalaivan@iee.org
Last Updated on May 2003