2. DIFFERENCE BETWEEN BLOCK
CODE AND CONVOLUTION CODE
The difference between block codes and
convolution codes is the encoding principle.
In the block codes, the information bits are
followed by the parity bits.
In convolutioncodes the information bits are
spread along the sequence
3. WHAT IS CONVOLUTION CODE?
Convolution codes are error detecting codes
used to reliably transmit digital data over
unreliable communication channel system to
channel noise.
The convolution codes map information to code
bits , but sequentially convolve the sequence of
information bits according to some rule.
4. ENCODING CIRCUIT
The code is defined by the circuit,
which consists of different number of
shift registers
Xi
Ui
5. We generate a convolution code by putting a
source stream through a linear filter. This filter
makes use of a shift register, linear output
functions and possibly linear feedback.
In a shift register, the information bits roll from
right to left.
In every filter there is one input bit and two
output bits. Because of each source bit having
two transmitted bits, the codes have rate ½.
6. DEFINING CONVOLUTION CODE
A convolution code can be defined by using a
generator matrix that describes the
encoding function u x:
x = u .G
For 3 information bit long sequence u = (u0,u1,u2)
we get
((x0(1) x0(2) ), (x1 (1)x1 (2) ), (x2(1) x2(2) )) = (u0 ,u1 ,u2 )
.G
7. PUNCTURING OF CONVOLUTION CODES
The idea of puncturing is to delete some bits in the
code bit sequence according to a fixed rule. In
general the puncturing of a rate K / N code is defined
using N puncturing vectors.
Considering a code without puncturing,
the information bit sequence
u =(0,0,1,1,0) generates the (unpunctured) code bit
sequence
xNP= (00,00,11,01,01). The sequence xNP is
punctured using a puncturing matrix:
PI= 1110
1001
The puncturing period is 4. Using P1 , 3 out of 4 code
8. The rate of the punctured code is thus
R = 1/ 2 .(4 + 4) /(3 + 2)= 4 / 5 and u
is encoded to x=
(00,0X ,1X , X1,01) = (00,0,1,1,01)
The performance of the punctured
code is worse than the performance of
the mother code.
The advantage of using puncturing is
that all punctured codes can be
decoded by a decoder that is able to
9. DECODING CONVOLUTION
CODES
The most probable state sequence
can be found using the min-sum
algorithm
(also known as the Viterbi algorithm).
The viterbi algorithm is used to
decode convolutional codes and any
structure or system that can be
described by a trellis.
It is a maximum likelihood decoding
11. TURBO CODES
The Parallel-Concatenated
Convolutional Codes(PCCC), called turbo
codes, has solved the dilemma of structure
and randomness through concatenation and
interleaving respectively.
The introduction of turbo codes has given
most of the gain promised by the channel-
coding theorem.
Turbo codes have an astonishing performance
of bit error rate (BER) at relatively low Eb /No.
12. INTERLEAVING
An interleaver is a device that
rearranges the ordering of sequence of
symbols in a deterministic manner.
The two main issues in the interleaver
design are the interleaver size and the
interleaver map.
Interleaving is used to feed the encoders
with permutations so that the generated
redundancy sequences can be assumed
independent.
14. There are two convolutional encoders in parallel. The
information bits are scrambled before entering the
second encoder.
Turbo code block diagram shows only two branches.
The convolutional code at every branch is called the
constituent code (CC).
A PAD is shown figure to append the proper sequence
of bits to terminate all the encoders to the all-zero
state.
Some of the codes are called
recursive
non- recursive
16. DECODING THE TURBO
CODES
For turbo codes we have two encoded
sequences. we start by decoding one of them to
get a first estimate of the information sequence.
This estimate should then be used as a priori
information in the decoding of the second
encoded sequence.
This requires that the decoder is able to use a
soft decision input and to produce some kind of
soft output.
17. COMPARISION
Convolution code is easy to
implement than turbo codes.
Turbo codes produces randomness in
coding due to interleavers which is
absent in convolution code.
Only one decoder is needed and
adaptive coding scheme can be
implemented in convolution code unlike
turbo code.
The Viterbi decoding uses hard