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

LEC.2convolution code (2)

The document discusses convolution coding, an error-correcting method used to enhance communication reliability, detailing its encoder structure, including state diagrams, code trees, and trellis diagrams. It explains the parameters of convolution codes, such as output/input bits and memory registers, and introduces the Viterbi algorithm for decoding, which aims to minimize errors in the detected sequence. Overall, it provides a comprehensive overview of convolution coding techniques and their applications in communication systems.

Uploaded by

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

LEC.2convolution code (2)

The document discusses convolution coding, an error-correcting method used to enhance communication reliability, detailing its encoder structure, including state diagrams, code trees, and trellis diagrams. It explains the parameters of convolution codes, such as output/input bits and memory registers, and introduces the Viterbi algorithm for decoding, which aims to minimize errors in the detected sequence. Overall, it provides a comprehensive overview of convolution coding techniques and their applications in communication systems.

Uploaded by

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

Channel coding

part 3
Outline:

 convolution code
encoder for convolution code
 -state diagram
 -code tree
 - trellis
 decoding of convolution codes
 - Viterbi algorithm
Convolution coding is a popular error-correcting coding method
used to improve the reliability of communication system.

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
Registers (or delay elements) is capable of holding one bit (0 or 1) and
each having one input and one output, The output of each register is
always the same as the input was one unit of time earlier.
The quantity k/n is called as code rate. It is a measure of the efficiency
of the code.
The quantity L 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, L = k (m-1)
 encoder for convolution code

n = number of output bits


k = number of input bits
m = number of memory registers
constraint length of the code L = k (m-1)
The no of bit in the shaded register are
called state of code and are defined by
No. of states = 2L
Encoder Representations

 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 right most (m-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.
 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.
 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
The code tree starts at node ‘a’ if input message bit is m=1, then path of the tree goes
down towards node ‘b’ and output is ‘11’. Otherwise, if the input is m=0 at node ‘a’,
then path of the tree goes upward towards node ‘a’ and output is ‘00’. Similarly,
depending upon the input message bit, the path of the tree goes upward or downward
 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 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.

Steps to construct trellis diagram

o It starts from scratch (all 0’s in the SR, i.e., state a) and makes transitions
corresponding to each input data digit.
o 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.
o Thus when the first input digit is 0, the encoder output is 00 (solid line)
o When the input digit is 1, the encoder output is 11 (dashed line).
o We continue this way for the second input digit and so on as depicted in Figure that
follows.
Decoding of convolutional codes
 - Viterbi 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
Thank you

You might also like