Modeling Of Convolutional Encoders With Viterbi Decoders Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Aim & Objectives: Modeling a communication system for next generation broadband wireless access systems using a rate ½, 2/3, ¾ & 5/6 Convolutional Encoders and decoding the codes using Viterbi Decoders and further obtaining a curve of bit error rate Vs signal to noise over an additive white Gaussian noise channel (AWGN)

Deliverables: In achieving this project task, mathematical software MATLAB will be used mainly because of its availability and wide range of it's communication tool box

Introduction to communication system

Figure 1: Typical communication system.

A communication system is the process of getting information from the information source to the information sink (destination); but in so doing there is enormous data that is sent and because bandwidth is expensive there is therefore need to reduce the size as well as limit the errors getting to the destination.

In this project the technique used for the forward error correction is known as convolutional encoding with Viterbi as the decoder

Convolutional encoding and Viterbi decoding are an error correction technique that is widely used in wireless broadband system mainly because it improves the bit error rate (BER) performance.

In other to achieve this task of encoding and decoding as well as getting to show the reduced error rate; the data is first Generated and then convolution encoded before passing it will be passed through a noisy channel and thereafter performing the Viterbi decoding to recover the input information bits.

Convolutional encoding with Viterbi decoding is a FEC technique that is particularly suited to a channel in which the transmitted signal is corrupted mainly by additive white Gaussian noise (AWGN)

The Source Coding: this is used to remove unwanted bits in the channel

Encryption: Adding redundancy to prevent unauthorized users from accessing the original message

Channel Coding: this in itself is to add redundancy bits to reduce noise ie unwanted signal in the channel.

1.1 Additive White Gaussian Noise (AWGN)

AWGN is a channel model whereby the only mutilation to the communication data is a linear addition of white noise and that implies a random signal with same power within a fixed bandwidth at a centre frequency (Flat Power spectral Density in units Watts/Hz of a bandwidth). The AWGN is suitable for mathematical models because it gives an insight of the behaviour of the system and further is a good model for broadband wireless systems, satellite and deep space communications.

Error Detection and Correction

Error detection and correction is very important in communication system but both detection and correction work hand in hand and it can be said that it is pointless to detect error and not able to correct it in a communication system.

There are basically 2 types of error detection and correction

Automatic repeat request

Forward Error Correction

Automatic repeat request is a form of error control process whereby error detection is combined with ability to re -request for the information. In other words if an error is detected the receiver will ask for the information to be re-sent.

Forward error correction is a process whereby the information is encoded before it is transmitted and as such must be decoded before it is received.

2.1 Block codes

In this type of coding a block of K data digits is encoded by a code word of n digits. It is different to Convolutional code because in the latter coding is done on a continuous basis whereby the coded sequence of n-digits depends not only on k data digits but also on the previous data digits.

2.2 Reed-Solomon Coded.

Reed Solomon codes are block- based codes with high code rate and efficiency for burst error correction. It can detect and correct multiple random symbol errors. The reed Solomon codes are used in deep-space applications as well as in Compact Disks (CD) and DVD's.

2.3 Convolutional code

Figure 2: Convolutional code

Rate: ½ Constraint length: 7 Generator polynomials: G1 =1111001, G2 = 1011011

the constraint length is the number of data that can combine to give an output.

The rate signifies the number of input that produces an output eg rate ½ means for every input signal there is 2 output signal and the Generator polynomials the combination of signals modulo 2 that produces the required output.

3.0 Viterbi decoder

A Viterbi decoder uses an algorithm of finding the most probable sequence for decoding a bitstream that was encoded using the Convolutional code. "The algorithm makes a number of assumptions. First, both the observed events and hidden events must be in a sequence. This sequence often corresponds to time. Second, these two sequences need to be aligned, and an instance of an observed event needs to correspond to exactly one instance of a hidden event. Third, computing the most likely hidden sequence up to a certain point t must depend only on the observed event at point t, and the most likely sequence at point t − 1. These assumptions are all satisfied in a first-order hidden Markov model".

Figure 3: trellis diagram for Viterbi decoding

4.0 Project design plane and tasks.

Task 1:-Modeling the Convolutional Encoder of code rate 1/2.

Task 2:- Modeling the Viterbi Decoder for Task 2.

Task 3:-Obtain a curve of BER (Bit Error Rate) vs Signal-to-Noise (Eb/No) for Tasks 2 & 3 over an AWGN channel.

Task 4:-Modelling the Convolutional Encoder with configurable code rates 1/2, 2/3, Task 5:-Modelling the Viterbi Decoder for Task 5.

Task 6:-Obtain curves of BER (Bit Error Rate) vs Signal-to-Noise (Eb/No) for Tasks 5 & 6 over an AWGN channel.

Task 7: report writing

Figure 4. Project Gantt chart

5.0 Conclusion


Lin, Ming-Bo, "New Path History Management Circuits for Viterbi Decoders," IEEE Transactions on Communications, vol. 48, October, 2000, pp. 1605-1608.

G. D. Forney, Jr., "Convolutional Codes II: Maximum-Likelihood Decoding," Information Control, vol. 25, June, 1974, pp. 222-226.

K. S. Gilhousen et. al., "Coding Systems Study for High Data Rate Telemetry Links," Final Contract Report, N71-27786, Contract No. NAS2-6024, Linkabit Corporation, La Jolla, CA, 1971.

J. A. Heller and I. M. Jacobs, Viterbi Decoding for Satellite and Space Communications," IEEE Transactions on Communication Technology, vol. COM-19, October, 1971, pp. 835-848.

K. J. Larsen, "Short Convolutional Codes with Maximal Free Distance for Rates 1/2, 1/3, and 1/4," IEEE Transactions on Information Theory, vol. IT-19, May, 1973, pp. 371-372.

J. P. Odenwalder, "Optimum Decoding of Convolutional Codes," Ph. D. Dissertation, Department of Systems Sciences, School of Engineering and Applied Sciences, University of California at Los Angeles, 1970.

A. J. Viterbi, "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm," IEEE Transactions on Information Theory , vol. IT-13, April, 1967, pp. 260-269

Modelling of Convolutional Encoders with Viterbi Decoders for Next Generation Broadband Wireless Access Systems


IEEE STD 802.16-2009 has defined next generation broadband wireless access systems, in which an FEC with the concatenation of a Reed-Solomon outer code and a rate-compatible convolutional inner code should be supported. In this project, students are required to do a literature review on channel coding for next generation broadband wireless access systems and then write a C/MATLAB model for convolutional Encoders with Viterbi Decoders for IEEE STD 802.16-2009.

Design Tasks

The MSc project has the following specific design tasks:

1. Literature review on channel coding for next generation broadband wireless access

systems, which will be one of the Chapters in your final MSc thesis.

2. Modelling the Convolutional Encoder of code rate 1/2.

3. Modelling the Viterbi Decoder for Task 2.

4. Obtain a curve of BER (Bit Error Rate) vs Signal-to-Noise (Eb/No) for Tasks 2 & 3

over an AWGN channel.

5. Modelling the Viterbi Decoder with configurable code rates 1/2, 2/3, 3/4 and 5/6.

6. Modelling the Viterbi Decoder for Task 5.

7. Obtain curves of BER (Bit Error Rate) vs Signal-to-Noise (Eb/No) for Tasks 5 & 6

over an AWGN channel.

Modelling Tools

Microsoft Visual C++ Express Edition/Matlab

Project Labs:

The 4th floor computer lab, Tower building