You are on page 1of 36

www.edutalks.

org

Convolutional Coding Prepared by Vishnu.N.V GEC Sreekrishnapuram

www.edutalks.org

Block Versus Convolutional Codes


Block codes take k input bits and produce n output bits, where k< n there is no data dependency between blocks useful for data communications

Convolutional codes take a small number of input bits and produce a small number of output bits each time period data passes through convolutional codes in a continuous stream useful for low- latency communications

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Convolutional

Codes

k bits are input, n bits are output Now k & n are very small (usually k=1-3, n=2-6) Input depends not only on current set of k input bits, but also on m past input. An (n,k,m) convolutional code is implemented with a k-input,n-o/p,linear sequential ckt with input memory m. Frequently, we will see that k=1
Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Overview of Convolutional Codes


The performance of a convolutional code depends on the coding rate and the constraint length. Constraint length is the no of shifts over which a single

message bit can affect the encoder o/p.

In an encoder with an m stage shift register , the constraint

length is m+1, as m+1 stages are required for a message to enter the SR and finally come out.

Code Rate = k/n

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Characteristics
Longer constraint length K

More powerful code More coding gain Coding gain: the measure in the difference between the signal to noise ratio (SNR) levels between the un coded system and coded system required to reach the same bit error rate (BER) level More complex decoder More decoding delay More powerful code due to extra redundancy. Less bandwidth efficiency

Smaller coding rate R=k/n


Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Example of Convolutional Code

k =1, n = 2 , (2,1) Rate-1/2 convolutional code Two-stage register ( M=2 ) Each input bit influences the output for 3 intervals (K=3) K = constraint length of the code = M + 1

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Generator Polynomial
A convolutional code may be defined by a set of n

generating polynomials for each input bit. For the circuit under consideration:
g1(D) = 1 + D + D2 g2(D) = 1 + D2

The set {gi(D)} defines the code completely. The length

of the shift register is equal to the highest-degree generator polynomial.

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Example

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Example

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Encoder Representation (1) Vector Form

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

2 Polynomial representation

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Transfer Domain Representation


Convolution in time domain= Multiplication in

transfer domain. The convolution operation is replaced by polynomial multiplication V1(D)= u(D).g1(D) V2(D)= u(D).g2(D) Code word V(D)=V1(D2) +DV2(D2) for a (2,1,m) code V(D)=V1(Dn) +DV2(Dn)++Dn-1 Vn(Dn) for an (n,k,m) code

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

www.edutalks.org

STRUCTURAL PROPERTIES OF CONVOLUTIONAL CODES

Code Tree Code Trellis State Diagram

Vishnu N V, GEC Sreekrishnapuram

Tree Diagram (1)

www.edutalks.org

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Tree Diagram (2)

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

State Diagram

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

State Diagram
A state diagram is simply a graph of the possible states of

the encoder and the possible transitions from one state to another. It can be used to show the relationship between the encoder state, input, and output. The stage diagram has 2 (K-1) k nodes, each node standing for one encoder state. Nodes are connected by branches Every node has2k branches entering it and 2k branches leaving it. The branches are labelled with c, where c is the output. When k=1 The solid branch indicates that the input bit is 0. The dotted branch indicates that the input bit is 1.
Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Example of State Diagram

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Distance Properties of Convolutional Code


The minimum free distance dfree denotes The

minimum weight of all the paths in the modified state diagram that diverge from and re-emerge with the allzero state a. The lowest power of the transfer function T(X)

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Trellis Diagram
Trellis diagram is an extension of state diagram which

explicitly shows the passage of time.


All the possible states are shown for each instant of time. Time is indicated by a movement to the right. The input data bits and output code bits are represented by a unique path through the trellis. The lines are labelled with the output. After the second stage, each node in the trellis has 2k incoming paths and 2k outgoing paths.

When k=1 The solid line indicates that the input bit is 0. The dotted line indicates that the input bit is 1.
Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Example of Trellis Diagram

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

www.edutalks.org

Maximum Likelihood Decoding


Given the received code word r, determine the

mostlikely path through the trellis. (maximizing p(r|c'))


Compare r with the code bits associated with each path Pick the path whose code bits are closest to r Measure distance using either Hamming distance for Harddecision decoding or Euclidean distance for soft-decision decoding

Once the most likely path has been selected, the

estimated data bits can be read from the trellis diagram


Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Example of Maximum Likelihood Decoding

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

The Viterbi Algorithm


A breakthrough in communications in the late 60s Guaranteed to find the ML solution

However the complexity is only O(2K) Complexity does not depend on the number of original data bits

Is easily implemented in hardware Used in satellites, cell phones, modems, etc Example: Qualcomm Q1900

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

The Viterbi Algorithm


Takes advantage of the structure of the trellis: Goes through the trellis one stage at a time At each stage, finds the most likely path leading into each state (surviving path) and discards all other paths leading into the state (non-surviving paths) Continues until the end of trellis is reached At the end of the trellis, traces the most probable path from

right to left and reads the data bits from the trellis Note that in principle whole transmitted sequence must be received before decision. However, in practice storing of stages for input length of 5K is quite adequate
Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

The Viterbi Algorithm


Implementation: 1. Initialization: Let Mt(i) be the path metric at the i-th node, the t-th stage in

trellis Large metrics corresponding to likely paths; small metrics corresponding to unlikely paths Initialize the trellis, set t=0 and M0(0)=0; 2. At stage (t+1), Branch metric calculation

Compute the metric for each branch connecting the states at time t

to states at time (t+1) The metric is the likelihood probability between the received bits and the code bits corresponding to that branch: p(r(t+1)|c'(t+1))
Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

The Viterbi Algorithm


Implementation (contd): 2. At stage (t+1), Branch metric calculation In hard decision, the metric could be the number of same bits between the received bits and the code bits Path metric calculation For each branch connecting the states at time t to states at

time (t+1), add the branch metric to the corresponding partial path metric Mt(i) Trellis update

Set M(t+1)(i)= the largest metric corresponding to the state i


Vishnu N V, GEC Sreekrishnapuram

At each state, pick the most likely path which has the largest metric and delete the other paths

www.edutalks.org

The Viterbi Algorithm


3. Set t=t+1; go to step 2 until the end of trellis is

reached 4. Trace back

Assume that the encoder ended in the all-zero state The most probable path leading into the last all-zero

state in the trellis has the largest metric


Trace the path from right to left Read the data bits from the trellis

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Examples of the Hard-Decision Viterbi Decoding

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

Examples of the Hard-Decision Viterbi Decoding

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

SEQUENTIAL DECODING

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

SEQUENTIAL DECODING
A Decoding effort that is adaptable to the noise level The decoding effort of sequential decoding is

essentially independent of K , so that large constraint lengths can be used. Arbitrarily low error probabilities can be achieved. The major draw back of Sequential decoding is that noisy frames take large amounts of computation, and decoding times may exceed some upper limit, causing information to be lost or erased.
Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

SEQUENTIAL DECODING
The various algorithms are
Stack

algorithm Fano algorithm

Vishnu N V, GEC Sreekrishnapuram

www.edutalks.org

SEQUENTIAL DECODING
THE PURPOSE OF SEQUENTIAL DECODING IS To search through the nodes of the code tree in an efficient way in an attempt to find the maximum likelihood path. Each node examined represents a path through part of the tree. Whether or not a particular path is likely to be a part of the maximum likelihood path depends on the metric value associated with that path. The metric is a measure of the closeness of a path to the received sequence.
Vishnu N V, GEC Sreekrishnapuram

You might also like