CHANNEL CODING FOR
MODERN COMMUNICATION
SYSTEMS
Presented By
Yasir Mehmood (200411018)
CONTENTS
• Background of Project
• Introduction
• Types of Channel coding
• Cyclic codes
• Convolutional codes
• Advantages
BACKGROUND OF PROJECT
With the advancement in technology new techniques should be
used
This
data is transferred in form of binary bits but contains a lot of
unwanted information
So, channel coding strategy may be used
INTRODUCTION
Channel coding, also known as forward error control coding
(FECC)
Channel coding is performed both at the transmitter and at the
receiver.
Channel coding enables the receiver to detect and correct errors
TYPES OF CHANNEL CODES
There are two types of channel coding, to be
specific block codes and convolutional codes
Block codes are based thoroughly on limited field math and
theoretical math based used to distinguish or rectify errors
On the other hand, Convolutional codes are one of the
foremost broadly utilized channel codes in practical
communication
TYPES OF CHANNEL CODES
There are a lot of further different kind of coding schemes related
to block coding and convolutional code
Herewe mainly discuss only two of them in detail such as cyclic
codes and convolution codes
CYCLIC CODES
A Cycliccode is a block code, where the circular shifts of each
code word gives another word that belongs to the code
Cyclic code has a simple mathematical structure that permits
design of higher order error correcting codes
The encoder can be realized by simply using shift registers
PROPERTIES
A binary code is said to be cyclic if it exhibits the two following
properties
1. The sum of any two code words in the code is also a code word
(linearity)
2. Any cyclic shift of a code word in the code is also a code word
(cyclic)
EXAMPLE OF A CYCLIC CODE
SUB-CATEGORIES
Other remarkable cyclic codes are
I. Cyclic redundancy check (CRC) codes
II. Bose-Chaudhuri-Hocquenghem (BCH) codes
III. Reed-Solomon codes
CONVOLUTIONAL CODES
Convolutional coding is a broadly utilized coding strategy which
isn't based on blocks of bits but rather the output code bits are
decided by logic operations to convert the entire data stream into one
single code word
The convolutional coding can be applied to a continuous data stream
as well as to blocks of data whereas the block codes can be applied
only for the block of data.
PARAMETERS AND PROPERTIES
Convolutional codes are commonly specified by three parameters:
(n,k,m)
n = number of output bits
k = number of input bits
m = number of memory registers
Code Rate: The quantity k/n is called as code rate. It is a measure of
the efficiency of the code.
Constraint Length: The quantity L is called the constraint length of
the code. It represents the number of bits in the encoder memory.
CONVOLUTIONAL ENCODER
The encoder can be represented in several different but equivalent
ways. They are:
I. Generator Representation
II. Tree Diagram Representation
III. State Diagram Representation
IV. Trellis Diagram Representation
Here i explain only III and IV
DECODING OF CONVOLUTIONAL CODES
There are several different approaches to decoding of convolutional
codes. These are grouped in two basic categories:
I. Fano Algorithm
II. Viterbi Algorithm
Here i explain only II
PROCESS OF VITERBI ALGORITHM
Following steps are to be followed to solve Viterbi Algorithm :
I. Make trellis encoder
II. Using encoder make trellis diagram
III. Match weightage with respect to trellis diagram
IV. Find minimum weightage path on trellis
EXPLANATION OF VITERBI ALGORITHM
Some of steps are explain in previous slide of convolutional code
using trellis encoder
Step 2: making of trellis diagram
EXPLANATION OF VITERBI ALGORITHM
Step 3: Match weightage with respect to trellis diagram
Let consider received bit sequence as: 01 10 11 00 00
ADVANTAGES OF CONVOLUTIONAL
CODES
Convolution coding is a popular error-correcting coding method used
in digital communications
Convolution encoding with Viterbi decoding is a powerful FEC
technique that is particularly suited to a channel.
It is simple and has good performance with low implementation cost.
All the data is collected from book:
1)Coding theory : algorithms, architectures and applications by Andre Neubauer,
Jurgen Freudenberger, Volker Kuhn
2) https://vtechworks.lib.vt.edu/handle/10919/36910
Thank you