Deliverables: In achieving this project task, mathematical software MATLAB will be used mainly because of its availability and wide range of its communication tool box
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 Code.
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
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.
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.
Microsoft Visual C++ Express Edition/Matlab
The 4th floor computer lab, Tower building