0% found this document useful (0 votes)
0 views

ACT _ Module 4_Convolutional codes

Convolutional coding is a digital communication technique that enhances data transmission reliability by processing data bit by bit and generating redundant bits through modulo-2 convolution. The encoder operates as a finite-state machine with memory elements and produces output bits based on input bits, defined by a code rate and constraint length. The Viterbi algorithm is used for decoding by evaluating the Hamming distance to determine the most likely transmitted sequence from the received data.

Uploaded by

Shanti Trivedi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

ACT _ Module 4_Convolutional codes

Convolutional coding is a digital communication technique that enhances data transmission reliability by processing data bit by bit and generating redundant bits through modulo-2 convolution. The encoder operates as a finite-state machine with memory elements and produces output bits based on input bits, defined by a code rate and constraint length. The Viterbi algorithm is used for decoding by evaluating the Hamming distance to determine the most likely transmitted sequence from the received data.

Uploaded by

Shanti Trivedi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Module -4

Convolutional codes

Convolutional coding is a technique used in digital communication to make data transmission


more reliable, especially in noisy environments. Instead of sending data as large blocks, it
processes data bit by bit in a continuous stream.

Why is it called "Convolutional" Coding?

The name comes from the fact that redundant (extra) bits are generated using a mathematical
operation called modulo-2 convolution. This operation ensures that even if some bits get
corrupted during transmission, the receiver can still recover the original data.

How Does a Convolutional Encoder Work?

A convolutional encoder can be thought of as a finite-state machine, which consists of:

●​ Shift registers (memory elements) that store previous bits.


●​ Modulo-2 adders (XOR gates) that generate redundant bits.
●​ Multiplexers that select and process the bits.

The code rate of the encoder is defined as:

Code Rate=k/n

where:

●​ k = Number of input bits (original data bits)


●​ n = Number of output bits (encoded bits)

For example, if k=1 and n=2, it means that for every 1 input bit, the encoder produces 2
output bits.

Constraint Length (L):

The constraint length (L) represents how many previous bits influence the current output bit.
It tells us how much "memory" the encoder has. A larger constraint length means stronger error
correction but increases complexity.
State diagram:
Each branch in the state diagram has a label of the form X=YYY...; where X is the
input bit that causes the state transition and YYY... is the corresponding output bits.
The encoder consists of two memory elements and hence the two binary elements can assume
any one of the four states designated by
S0 00; state a
S2 01; state b
S2 01; state c
S3 11: state d

Trellis Diagram
The state diagram does not contain time information required in decoding. Hence, trellis
diagram is developed to overcome the disadvantage. The trellis diagram is an expansion of
state diagram by adding a time axis for time information.

Example 5.6 The impulse responses of a convolutional encoder are given by


g1 =[1 0 1 ]; g2 = [1 1 1 ]
1. Draw the encoder
2.Draw the tree diagram
3. Draw the state diagram
4. Draw the trellis diagram for the first three stages.
Encoder:

𝑋1 = 𝑚0 + 𝑚1 + 𝑚2
𝑋2 = 𝑚0 + 𝑚2

𝑠𝑡
1 𝑀𝑒𝑡ℎ𝑜𝑑:
for given input: 1011

i/0 m0 m1 m2 x1 x2
0 0 0 0 0

1 1 0 0 1 1

1 1 1 0 0 1

0 0 1 1 0 1

1 1 0 1 0 0

0 1 0 1 0
0 0 1 1 1
1 1 1 1 0
Tree Diagram:

for given input: 1011 (Take LSB First)

Encoded sequence: 11 01 10 11
𝑛𝑑
2 𝑀𝑒𝑡ℎ𝑜𝑑: (we use this to make a state diagram)

m0 m1 m2 x1 x2 Current Next state


state
0 0 0 0 0 a (00)a
1 0 0 1 1 a (10)c
0 0 1 1 1 b (00)a
1 0 1 0 0 b (10)c
0 1 0 1 0 c (01)b
1 1 0 0 1 c 11(d)
0 1 1 0 1 d 01(b)
1 1 1 1 0 d 11(d)

State diagram:
Here state (𝑚1𝑚2) is inside the circle which is represented by
𝑚1𝑚2= 00; state a
𝑚1𝑚2=01; state b
𝑚1𝑚2= 01; state c
𝑚1𝑚2= 11: state d

0/00= input/output or 𝑚0/𝑥1𝑥2


0: move downward or same level
1: move upward or same level

0=solid line
1=dashed line
Trellis diagram:

Decoding the received sequence 11 01 01 00 using Viterbi


algorithm
Viterbi algorithm:

•​ It is also known as maximum likelihood decoding


•​ The algorithm operates by computing a metric or discrepancy for every possible path in
the trellis.
•​ The metric for a particular path is defined as the hamming distance between the code
sequence represented by the path and received sequences.
•​ This for each node (state) in trellis , the algorithm compares two paths entering the node.
•​ The path with lower metric is retained and other is discarded.
Decoding the received sequence 11 01 10 using Viterbi algorithm

•​

Decoding:

•​
Q.3
Below figure depicts a rate ½, constraint length L = 1, convolutional encoder. Sketch the Tree
diagram. Also find encoder output for input data: 11101

Q.4

a)​ Draw the state diagram, trellis diagram for this encoder.
b)​ Find the outputsequences corresponding to the input msg sequence 1101.
c)​ Assume that the received sequence is r=10 11 11 10 using the viterbi algorithm find the
transmitted bit sequence. Ans 1001

You might also like