SlideShare una empresa de Scribd logo
1 de 34
Convolutional Codes
and their deCoding
KAKALI SAHARIA
M.TECH (ECE)
Department of Electronics
Pondicherry University
outline

Introduction to convolutional codes

Convolutional encoder

Convolutional codes representation and explaination with examples
-Generator Representation
-State Diagram Representation
-Tree Diagram Representation
-Trellis Diagram Representation

Decoding of convolutional codes
-Sequential decoding
-Viterbi algorithm

Advantages of convolutional codes

Practical examples of convolutional codes
FORWARD ERROR CORRECTION CODE
There are four important forward error correction codes
that find applications in digital transmission. They are:
Block Parity
Hamming Code
Interleaved Code
Convolutional Codes
introduCtion to Convolutinal Codes
Convolutional codes are introduced by Elias in 1955.
Convolution coding is a popular error-correcting coding
method used to improve the reliability of communication system.
A message is convoluted, and then transmitted into a noisy
channel.
This convolution operation encodes some redundant
information into the transmitted signal, thereby improving the
data capacity of the channel.
Convolution codes are error detecting codes used to reliably
transmit digital data over unreliable communication channel
system to channel noise.
introduCtion to Convolutional Code
(Cont’d)
The convolutional codes map information to code
bits, but sequentially convolve the sequence of
information bit according to some rule.
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.
Convolutional enCoder
 Convolutional encoder is a finite state machine (FSM),
processing information bits in a serial manner.
 Convolutional encoding of data is accomplished using a shift
register and associated combinatorial logic that performs
modulo-two addition.
A shift register is merely a chain of flip-flops wherein the
output of the nth flip-flop is tied to the input of the (n+1)th flip
flop.
Every time the active edge of the clock occurs, the input to
the flip-flop is clocked through to the output, and thus the
data are shifted over one stage.
Convolutional enCoder (cont’d)
In convolutional code the block of n code bits generated
by the encoder in a particular time instant depends not
only on the block of k message bits within that time instant
but also on the block of data bits within a previous span of
N-1 time instants (N>1).
A convolutional code with constraint length N consists of
an N-stage shift register (SR) and ν modulo-2 adders.
Convolutional enCoder (cont’d)
Fig(a):Convonutional Encoder
Fig(a) shows a convolutional encoder .Here N=3,v=2.
 The message bits are applied at the input of the shift register
(SR). The coded digit stream is obtained at the commutator
output. The commutator samples the ν modulo-2 adders in a
sequence, once during each input-bit interval.
Convolutional enCoder (cont’d)
Example: Assume that the input digits are 1010. Find the
coded sequence output for Fig(a).
Initially, the Shift Registers s1=s2=s3=0.
When the first message bit 1 enters the SR, s1= 1, s2 =
s3=0.Then ν1=1, ν2=1 and the coder output is 11.
When the second message bit 0 enters the SR, s1=0, s2=1,
s3=0.Then ν1=1 and ν2=0 and the coder output is 10.
When the third message bit 1 enters the SR, s1=1, s2=0 and
s3=1Then ν1=0 and ν2=0 and the coder output is 00.
When the fourth message bit 0 enters the SR, s1=0, s2=1 and
s3=0.Then ν1=1 and ν2=0 and the coder output is 10.
The coded Output Sequence is : 11100010
Convolutional enCoder (cont’d)
PARAMETERS OF A CONVOLUTIONAL ENCODERPARAMETERS OF A CONVOLUTIONAL ENCODER
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(or K) is called the
constraint length of the code. It represents the number of bits
in the encoder memory that affect the generation of the n
output bits. It is defined by
Constraint Length, L = k (m-1)
enCoder rePreSentationS
The encoder can be represented in several different
but equivalent ways. They are:
I. Generator Representation
II. State Diagram Representation
III. Tree Diagram Representation
IV. Trellis Diagram Representation
enCoder rePreSentationS
(cont’d)
I. Generator Representation
 Generator representation shows the hardware connection of
the shift register taps to the modulo-2 adders. A generator
vector represents the position of the taps for an output. A
“1” represents a connection and a “0” represents no
connection.
 (n, k, L) Convolutional code can be described by the
generator sequences that are the impulse response for
each coder n output branches.
 Generator sequences specify convolutional code
completely by the associated generator matrix.
 Encoded convolution code is produced by matrix
multiplication of the input and the generator matrix.
 For example, the two generator vectors for the encoder in
Fig(a) are g1 = [111] and g2 = [101], where the subscripts 1 and 2
denote the corresponding output terminals.
II. State Diagram Representation
 In the state diagram, the state information of the encoder
is shown in the circles. Each new input information bit causes
a transition from one state to another.
 Contents of the rightmost (K-1) shift register stages define
the states of the encoder. The transition of an encoder from
one state to another, as caused by input bits, is depicted in the
state diagram.
enCoder rePreSentationS
(cont’d)
enCoder rePreSentationS
(cont’d)
 The path information between the states, denoted as x/c,
represents input information bit x and output encoded bits c.
It is customary to begin convolutional encoding from the all
zero state.
Example: State diagram representation of convolutional codes.
Fig(b):state diagram
Here k=1,n=2,K=3.
enCoder rePreSentationS
(cont’d)
From the state diagram
Let 00 State a ; 01 State b; 10 State c; 11 State d;
(1) State a goes to State a when the input is 0 and the output is 00
(2) State a goes to State b when the input is 1 and the output is 11
(3) State b goes to State c when the input is 0 and the output is 10
(4) State b goes to State d when the input is 1 and the output is 01
(5) State c goes to State a when the input is 0 and the output is 11
(6) State c goes to State b when the input is 1 and the output is 00
(7) State d goes to State c when the input is 0 and the output is 01
(8) State d goes to State d when the input is 1 and the output is 10
III. Tree Diagram Representation
 The tree diagram representation shows all possible
information and encoded sequences for the
convolutional encoder.
 In the tree diagram, a solid line represents input
information bit 0 and a dashed line
represents input information bit 1.
 The corresponding output encoded bits are shown on the
branches of the tree.
 An input information sequence defines a specific path
through the tree diagram from left to right.
enCoder rePreSentationS
(cont’d)
enCoder rePreSentationS
(cont’d)
Example: Tree Diagram representation of convolutional codes
Fig(c): Tree diagram
enCoder rePreSentationS
(cont’d)
The tree diagram in Fig(b) tends to suggest that
there are eight states in the last layer of the tree and that
this will continue to grow. However some states in the last
layer (i.e. the stored data in the encoder) are equivalent as
indicated by the same letter on the tree (for example H
and h).
These pairs of states may be assumed to be
equivalent because they have the same internal state for
the first two stages of the shift register and therefore will
behave exactly the same way to the receipt of a new (0 or
1) input data bit.
ENCODER REPRESENTATIONS (cont’d)
IV. Trellis Diagram Representation
The trellis diagram is basically a redrawing of the state
diagram. It shows all possible state transitions at each time
step.
The trellis diagram is drawn by lining up all the possible
states (2L) in the vertical axis. Then we connect each state to
the next state by the allowable codeword’s for that state.
There are only two choices possible at each state. These
are determined by the arrival of either a 0 or a 1 bit.
The arrows show the input bit and the output bits are
shown in parentheses.
 The arrows going upwards represent a 0 bit and going
downwards represent a 1 bit.
ENCODER REPRESENTATIONS (cont’d)
Steps to construct trellis diagram
 It starts from scratch (all 0’s in the SR, i.e., state a) and
makes transitions corresponding to each input data digit.
These transitions are denoted by a solid line for the
next data digit 0 and by a dashed line for the next data
digit 1.
 Thus when the first input digit is 0, the encoder output
is 00 (solid line)
When the input digit is 1, the encoder output is 11
(dashed line).
 We continue this way for the second input digit and so
on as depicted in Fig (e) that follows.
ENCODER REPRESENTATIONS (cont’d)
Example: Encoding of convolutional codes using Trellis
Representation
k=1, n=2, K=3 convolutional code
We begin in state 00:
Input Data: 0 1 0 1 1 0 0
Output: 0 0 1 1 0 1 0 0 10 10 1 1
DECODINg Of CONvOluTIONAl CODES
 There are several different approaches to decoding of
convolutional codes.
 These are grouped in two basic categories:
A. Sequential Decoding
-Fano Algorithm.
B.Maximum Likelihood Decoding
-Viterbi Algorithm.
Both of these two methods represent two different
approaches .
DECODINg Of CONvOluTIONAl CODES
(cont’d)
Each node examined represents a path through part of the
tree.
The Fano algorithm can only operate over a code tree
because it cannot examine path merging.
At each decoding stage, the Fano algorithm retains the
information regarding three paths:
-the current path,
-its immediate predecessor path,
-one of its successor paths.
Based on this information, the Fano algorithm can move
from the current path to either its immediate predecessor
path or the selected successor path.
DECODINg Of CONvOluTIONAl CODES
(cont’d)
 It allows both the forward and backward movement
through the Trellis diagram flow.
Example: Decoding using Sequential decoding-Fano algorithm
consider the code 01 11 01 11 01 01 11 is received, the
algorithm will take a start and tally with the outputs it finds
on the way. If an output does not tally, it retraces the
position back to the previous ambiguous decision.
DECODINg Of CONvOluTIONAl CODES
(cont’d)
A. Sequential Decoding – Fano Algorithm.
 It was one of the first methods proposed for decoding of
a convolution ally coded bit stream.
 It was first proposed by Wozencraft and later a better
version was proposed by Fano.
 Sequential decoding concentrates only on a certain
number of likely codeword's.
The purpose of sequential decoding is to search through
the nodes of the code tree in an efficient way to find the
maximum likelihood path.
DECODINg Of CONvOluTIONAl CODES
(cont’d)
Fig():decoding using sequential decoding-Fano Algorihm
DECODINg Of CONvOluTIONAl CODES
(cont’d)
B.Maximum Likelihood Decoding-Virtebi Algorithm
The Viterbi decoder examines the entire received sequence
of a given length.
It works on maximum likelihood decoding rule which tried to
reduce the error between the detected sequence and the
original transmitted sequence.
Trellis diagram is constructed for a system based on the
received sequence the path is straight and the trellis level by
level.
If a condition raises in such a way that there is no path for
the corresponding sequence then the viterbi decoding helps
to detect the best path based on the subsequent sequence.
DecoDing of convolutional coDes
(cont’d)
. The best path is termed as survivor
Example: Maximum Likelihood decoding –Viterbi algorithm.
Fig: Maximum Likelihood decoding –Viterbi algorithm(Step1)
DecoDing of convolutional coDes
(cont’d)
Fig: Maximum Likelihood decoding –Viterbi algorithm(Step2
DecoDing of convolutional coDes
(cont’d)
Fig: Maximum Likelihood decoding –Viterbi algorithm(Step3)
DecoDing of convolutional coDes
(cont’d)
Fig: Maximum Likelihood decoding –Viterbi algorithm(Step4)
aDvantages of convolutional coDes
Convolution coding is a popular error-correcting coding
method used in digital communications.
The convolution operation encodes some redundant
information into the transmitted signal, thereby improving
the data capacity of the channel.
Convolution Encoding with Viterbi decoding is a powerful
FEC technique that is particularly suited to a channel in
which the transmitted signal is corrupted mainly by AWGN.
It is simple and has good performance with low
implementation cost.
Practical examPle of convolutional
coDes
NASA uses a standard r=1/2,K=7 convolutional code.
IS-54/136 TDMA Cellular Standard uses a r=1/2,K=6
convolutional code.
GSM Cellular Standard uses a r=1/2,K=5 convolutional
code.
IS-95 CDMA Cellular Standard uses a r=1/2,K=9
convolutional code for forward channel and a a r=1/3,K=9
convolutional code for Reverse channel.
Galileo Space Probe used constraint length 15
convolutional code
THANK
YOU

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Base band transmission
Base band transmissionBase band transmission
Base band transmission
 
Chap 3
Chap 3Chap 3
Chap 3
 
information theory
information theoryinformation theory
information theory
 
Linear block coding
Linear block codingLinear block coding
Linear block coding
 
Implementation of reed solomon codes basics
Implementation of reed solomon codes basicsImplementation of reed solomon codes basics
Implementation of reed solomon codes basics
 
Basics of channel coding
Basics of channel codingBasics of channel coding
Basics of channel coding
 
Digital base band modulation
Digital base band modulationDigital base band modulation
Digital base band modulation
 
Digital Communication: Channel Coding
Digital Communication: Channel CodingDigital Communication: Channel Coding
Digital Communication: Channel Coding
 
Digital communication system
Digital communication systemDigital communication system
Digital communication system
 
Turbo Code
Turbo Code Turbo Code
Turbo Code
 
Source coding
Source coding Source coding
Source coding
 
Reed solomon codes
Reed solomon codesReed solomon codes
Reed solomon codes
 
Reed Soloman and convolution codes
Reed Soloman and convolution codesReed Soloman and convolution codes
Reed Soloman and convolution codes
 
Turbo Codes
Turbo CodesTurbo Codes
Turbo Codes
 
Convolutional Error Control Coding
Convolutional Error Control CodingConvolutional Error Control Coding
Convolutional Error Control Coding
 
M ary psk modulation
M ary psk modulationM ary psk modulation
M ary psk modulation
 
Motion Estimation - umit 5 (II).pdf
Motion Estimation  - umit 5 (II).pdfMotion Estimation  - umit 5 (II).pdf
Motion Estimation - umit 5 (II).pdf
 
Pn sequence
Pn sequencePn sequence
Pn sequence
 
Digital Modulation Techniques ppt
Digital Modulation Techniques pptDigital Modulation Techniques ppt
Digital Modulation Techniques ppt
 
Turbo codes.ppt
Turbo codes.pptTurbo codes.ppt
Turbo codes.ppt
 

Similar a Convolutional Codes And Their Decoding

A Nutshell On Convolutional Codes (Representations)
A Nutshell On Convolutional Codes (Representations)A Nutshell On Convolutional Codes (Representations)
A Nutshell On Convolutional Codes (Representations)alka swara
 
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...IJERA Editor
 
Digital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.pptDigital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.pptMohamadHalimAbdWahid
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Dd 160506122947-160630175555-160701121726
Dd 160506122947-160630175555-160701121726Dd 160506122947-160630175555-160701121726
Dd 160506122947-160630175555-160701121726marangburu42
 
Introduction to communication system lecture5
Introduction to communication system lecture5Introduction to communication system lecture5
Introduction to communication system lecture5Jumaan Ally Mohamed
 
My review on low density parity check codes
My review on low density parity check codesMy review on low density parity check codes
My review on low density parity check codespulugurtha venkatesh
 
15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...
15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...
15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...theijes
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Energy-Efficient LDPC Decoder using DVFS for binary sources
Energy-Efficient LDPC Decoder using DVFS for binary sourcesEnergy-Efficient LDPC Decoder using DVFS for binary sources
Energy-Efficient LDPC Decoder using DVFS for binary sourcesIDES Editor
 
EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM
EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEMEFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM
EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEMelelijjournal
 
Performance bounds for unequally punctured terminated convolutional codes
Performance bounds for unequally punctured terminated convolutional codesPerformance bounds for unequally punctured terminated convolutional codes
Performance bounds for unequally punctured terminated convolutional codeseSAT Journals
 
Performance bounds for unequally punctured
Performance bounds for unequally puncturedPerformance bounds for unequally punctured
Performance bounds for unequally puncturedeSAT Publishing House
 
Channel Coding .pptx
Channel Coding .pptxChannel Coding .pptx
Channel Coding .pptxMortadha96
 

Similar a Convolutional Codes And Their Decoding (20)

A Nutshell On Convolutional Codes (Representations)
A Nutshell On Convolutional Codes (Representations)A Nutshell On Convolutional Codes (Representations)
A Nutshell On Convolutional Codes (Representations)
 
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
 
Slides
SlidesSlides
Slides
 
unit 5 (1).pptx
unit 5 (1).pptxunit 5 (1).pptx
unit 5 (1).pptx
 
Digital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.pptDigital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.ppt
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Presentation
PresentationPresentation
Presentation
 
Dd 160506122947-160630175555-160701121726
Dd 160506122947-160630175555-160701121726Dd 160506122947-160630175555-160701121726
Dd 160506122947-160630175555-160701121726
 
G5243336
G5243336G5243336
G5243336
 
Introduction to communication system lecture5
Introduction to communication system lecture5Introduction to communication system lecture5
Introduction to communication system lecture5
 
My review on low density parity check codes
My review on low density parity check codesMy review on low density parity check codes
My review on low density parity check codes
 
Research Paper
Research PaperResearch Paper
Research Paper
 
15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...
15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...
15-bit NOVEL Hamming Codec using HSPICE 22nm CMOS Technology based on GDI Tec...
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Energy-Efficient LDPC Decoder using DVFS for binary sources
Energy-Efficient LDPC Decoder using DVFS for binary sourcesEnergy-Efficient LDPC Decoder using DVFS for binary sources
Energy-Efficient LDPC Decoder using DVFS for binary sources
 
EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM
EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEMEFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM
EFFICIENT MULTIPLIERS FOR 1-OUT-OF-3 BINARY SIGNED-DIGIT NUMBER SYSTEM
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
 
Performance bounds for unequally punctured terminated convolutional codes
Performance bounds for unequally punctured terminated convolutional codesPerformance bounds for unequally punctured terminated convolutional codes
Performance bounds for unequally punctured terminated convolutional codes
 
Performance bounds for unequally punctured
Performance bounds for unequally puncturedPerformance bounds for unequally punctured
Performance bounds for unequally punctured
 
Channel Coding .pptx
Channel Coding .pptxChannel Coding .pptx
Channel Coding .pptx
 

Último

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 

Último (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Convolutional Codes And Their Decoding

  • 1. Convolutional Codes and their deCoding KAKALI SAHARIA M.TECH (ECE) Department of Electronics Pondicherry University
  • 2. outline  Introduction to convolutional codes  Convolutional encoder  Convolutional codes representation and explaination with examples -Generator Representation -State Diagram Representation -Tree Diagram Representation -Trellis Diagram Representation  Decoding of convolutional codes -Sequential decoding -Viterbi algorithm  Advantages of convolutional codes  Practical examples of convolutional codes
  • 3. FORWARD ERROR CORRECTION CODE There are four important forward error correction codes that find applications in digital transmission. They are: Block Parity Hamming Code Interleaved Code Convolutional Codes
  • 4. introduCtion to Convolutinal Codes Convolutional codes are introduced by Elias in 1955. Convolution coding is a popular error-correcting coding method used to improve the reliability of communication system. A message is convoluted, and then transmitted into a noisy channel. This convolution operation encodes some redundant information into the transmitted signal, thereby improving the data capacity of the channel. Convolution codes are error detecting codes used to reliably transmit digital data over unreliable communication channel system to channel noise.
  • 5. introduCtion to Convolutional Code (Cont’d) The convolutional codes map information to code bits, but sequentially convolve the sequence of information bit according to some rule. 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.
  • 6. Convolutional enCoder  Convolutional encoder is a finite state machine (FSM), processing information bits in a serial manner.  Convolutional encoding of data is accomplished using a shift register and associated combinatorial logic that performs modulo-two addition. A shift register is merely a chain of flip-flops wherein the output of the nth flip-flop is tied to the input of the (n+1)th flip flop. Every time the active edge of the clock occurs, the input to the flip-flop is clocked through to the output, and thus the data are shifted over one stage.
  • 7. Convolutional enCoder (cont’d) In convolutional code the block of n code bits generated by the encoder in a particular time instant depends not only on the block of k message bits within that time instant but also on the block of data bits within a previous span of N-1 time instants (N>1). A convolutional code with constraint length N consists of an N-stage shift register (SR) and ν modulo-2 adders.
  • 8. Convolutional enCoder (cont’d) Fig(a):Convonutional Encoder Fig(a) shows a convolutional encoder .Here N=3,v=2.  The message bits are applied at the input of the shift register (SR). The coded digit stream is obtained at the commutator output. The commutator samples the ν modulo-2 adders in a sequence, once during each input-bit interval.
  • 9. Convolutional enCoder (cont’d) Example: Assume that the input digits are 1010. Find the coded sequence output for Fig(a). Initially, the Shift Registers s1=s2=s3=0. When the first message bit 1 enters the SR, s1= 1, s2 = s3=0.Then ν1=1, ν2=1 and the coder output is 11. When the second message bit 0 enters the SR, s1=0, s2=1, s3=0.Then ν1=1 and ν2=0 and the coder output is 10. When the third message bit 1 enters the SR, s1=1, s2=0 and s3=1Then ν1=0 and ν2=0 and the coder output is 00. When the fourth message bit 0 enters the SR, s1=0, s2=1 and s3=0.Then ν1=1 and ν2=0 and the coder output is 10. The coded Output Sequence is : 11100010
  • 10. Convolutional enCoder (cont’d) PARAMETERS OF A CONVOLUTIONAL ENCODERPARAMETERS OF A CONVOLUTIONAL ENCODER 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(or K) is called the constraint length of the code. It represents the number of bits in the encoder memory that affect the generation of the n output bits. It is defined by Constraint Length, L = k (m-1)
  • 11. enCoder rePreSentationS The encoder can be represented in several different but equivalent ways. They are: I. Generator Representation II. State Diagram Representation III. Tree Diagram Representation IV. Trellis Diagram Representation
  • 12. enCoder rePreSentationS (cont’d) I. Generator Representation  Generator representation shows the hardware connection of the shift register taps to the modulo-2 adders. A generator vector represents the position of the taps for an output. A “1” represents a connection and a “0” represents no connection.  (n, k, L) Convolutional code can be described by the generator sequences that are the impulse response for each coder n output branches.  Generator sequences specify convolutional code completely by the associated generator matrix.  Encoded convolution code is produced by matrix multiplication of the input and the generator matrix.
  • 13.  For example, the two generator vectors for the encoder in Fig(a) are g1 = [111] and g2 = [101], where the subscripts 1 and 2 denote the corresponding output terminals. II. State Diagram Representation  In the state diagram, the state information of the encoder is shown in the circles. Each new input information bit causes a transition from one state to another.  Contents of the rightmost (K-1) shift register stages define the states of the encoder. The transition of an encoder from one state to another, as caused by input bits, is depicted in the state diagram. enCoder rePreSentationS (cont’d)
  • 14. enCoder rePreSentationS (cont’d)  The path information between the states, denoted as x/c, represents input information bit x and output encoded bits c. It is customary to begin convolutional encoding from the all zero state. Example: State diagram representation of convolutional codes. Fig(b):state diagram Here k=1,n=2,K=3.
  • 15. enCoder rePreSentationS (cont’d) From the state diagram Let 00 State a ; 01 State b; 10 State c; 11 State d; (1) State a goes to State a when the input is 0 and the output is 00 (2) State a goes to State b when the input is 1 and the output is 11 (3) State b goes to State c when the input is 0 and the output is 10 (4) State b goes to State d when the input is 1 and the output is 01 (5) State c goes to State a when the input is 0 and the output is 11 (6) State c goes to State b when the input is 1 and the output is 00 (7) State d goes to State c when the input is 0 and the output is 01 (8) State d goes to State d when the input is 1 and the output is 10
  • 16. III. Tree Diagram Representation  The tree diagram representation shows all possible information and encoded sequences for the convolutional encoder.  In the tree diagram, a solid line represents input information bit 0 and a dashed line represents input information bit 1.  The corresponding output encoded bits are shown on the branches of the tree.  An input information sequence defines a specific path through the tree diagram from left to right. enCoder rePreSentationS (cont’d)
  • 17. enCoder rePreSentationS (cont’d) Example: Tree Diagram representation of convolutional codes Fig(c): Tree diagram
  • 18. enCoder rePreSentationS (cont’d) The tree diagram in Fig(b) tends to suggest that there are eight states in the last layer of the tree and that this will continue to grow. However some states in the last layer (i.e. the stored data in the encoder) are equivalent as indicated by the same letter on the tree (for example H and h). These pairs of states may be assumed to be equivalent because they have the same internal state for the first two stages of the shift register and therefore will behave exactly the same way to the receipt of a new (0 or 1) input data bit.
  • 19. ENCODER REPRESENTATIONS (cont’d) IV. Trellis Diagram Representation The trellis diagram is basically a redrawing of the state diagram. It shows all possible state transitions at each time step. The trellis diagram is drawn by lining up all the possible states (2L) in the vertical axis. Then we connect each state to the next state by the allowable codeword’s for that state. There are only two choices possible at each state. These are determined by the arrival of either a 0 or a 1 bit. The arrows show the input bit and the output bits are shown in parentheses.  The arrows going upwards represent a 0 bit and going downwards represent a 1 bit.
  • 20. ENCODER REPRESENTATIONS (cont’d) Steps to construct trellis diagram  It starts from scratch (all 0’s in the SR, i.e., state a) and makes transitions corresponding to each input data digit. These transitions are denoted by a solid line for the next data digit 0 and by a dashed line for the next data digit 1.  Thus when the first input digit is 0, the encoder output is 00 (solid line) When the input digit is 1, the encoder output is 11 (dashed line).  We continue this way for the second input digit and so on as depicted in Fig (e) that follows.
  • 21. ENCODER REPRESENTATIONS (cont’d) Example: Encoding of convolutional codes using Trellis Representation k=1, n=2, K=3 convolutional code We begin in state 00: Input Data: 0 1 0 1 1 0 0 Output: 0 0 1 1 0 1 0 0 10 10 1 1
  • 22. DECODINg Of CONvOluTIONAl CODES  There are several different approaches to decoding of convolutional codes.  These are grouped in two basic categories: A. Sequential Decoding -Fano Algorithm. B.Maximum Likelihood Decoding -Viterbi Algorithm. Both of these two methods represent two different approaches .
  • 23. DECODINg Of CONvOluTIONAl CODES (cont’d) Each node examined represents a path through part of the tree. The Fano algorithm can only operate over a code tree because it cannot examine path merging. At each decoding stage, the Fano algorithm retains the information regarding three paths: -the current path, -its immediate predecessor path, -one of its successor paths. Based on this information, the Fano algorithm can move from the current path to either its immediate predecessor path or the selected successor path.
  • 24. DECODINg Of CONvOluTIONAl CODES (cont’d)  It allows both the forward and backward movement through the Trellis diagram flow. Example: Decoding using Sequential decoding-Fano algorithm consider the code 01 11 01 11 01 01 11 is received, the algorithm will take a start and tally with the outputs it finds on the way. If an output does not tally, it retraces the position back to the previous ambiguous decision.
  • 25. DECODINg Of CONvOluTIONAl CODES (cont’d) A. Sequential Decoding – Fano Algorithm.  It was one of the first methods proposed for decoding of a convolution ally coded bit stream.  It was first proposed by Wozencraft and later a better version was proposed by Fano.  Sequential decoding concentrates only on a certain number of likely codeword's. The purpose of sequential decoding is to search through the nodes of the code tree in an efficient way to find the maximum likelihood path.
  • 26. DECODINg Of CONvOluTIONAl CODES (cont’d) Fig():decoding using sequential decoding-Fano Algorihm
  • 27. DECODINg Of CONvOluTIONAl CODES (cont’d) B.Maximum Likelihood Decoding-Virtebi Algorithm The Viterbi decoder examines the entire received sequence of a given length. It works on maximum likelihood decoding rule which tried to reduce the error between the detected sequence and the original transmitted sequence. Trellis diagram is constructed for a system based on the received sequence the path is straight and the trellis level by level. If a condition raises in such a way that there is no path for the corresponding sequence then the viterbi decoding helps to detect the best path based on the subsequent sequence.
  • 28. DecoDing of convolutional coDes (cont’d) . The best path is termed as survivor Example: Maximum Likelihood decoding –Viterbi algorithm. Fig: Maximum Likelihood decoding –Viterbi algorithm(Step1)
  • 29. DecoDing of convolutional coDes (cont’d) Fig: Maximum Likelihood decoding –Viterbi algorithm(Step2
  • 30. DecoDing of convolutional coDes (cont’d) Fig: Maximum Likelihood decoding –Viterbi algorithm(Step3)
  • 31. DecoDing of convolutional coDes (cont’d) Fig: Maximum Likelihood decoding –Viterbi algorithm(Step4)
  • 32. aDvantages of convolutional coDes Convolution coding is a popular error-correcting coding method used in digital communications. The convolution operation encodes some redundant information into the transmitted signal, thereby improving the data capacity of the channel. Convolution Encoding with Viterbi decoding is a powerful FEC technique that is particularly suited to a channel in which the transmitted signal is corrupted mainly by AWGN. It is simple and has good performance with low implementation cost.
  • 33. Practical examPle of convolutional coDes NASA uses a standard r=1/2,K=7 convolutional code. IS-54/136 TDMA Cellular Standard uses a r=1/2,K=6 convolutional code. GSM Cellular Standard uses a r=1/2,K=5 convolutional code. IS-95 CDMA Cellular Standard uses a r=1/2,K=9 convolutional code for forward channel and a a r=1/3,K=9 convolutional code for Reverse channel. Galileo Space Probe used constraint length 15 convolutional code

Notas del editor

  1. ed