presented by mohamed samir mazloum omar diaa shawky maximum likelihood sequence detection (mlsd) and...

17
PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Upload: harry-walton

Post on 17-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

PRESENTED BY

MOHAMED SAMIR MAZLOUMOMAR DIAA SHAWKY

Maximum Likelihood Sequence Detection (MLSD)

and the Viterbi Algorithm

Page 2: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Introduction

Signaling schemes can be classified into memoryless or with memory with respect to interdependence between symbols.

Memoryless: symbols are independent.Memory: symbols are interdependent.Both schemes use common tools in symbol

detection, such as MAP (maximum a posteriori) rule and ML (maximum likelihood).

Page 3: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Viterbi Algorithm

The viterbi algorithm is a dynamic programming algorithm that is used to find the most likely sequence of hidden states, called the Viterbi path.

It depends on a number of assumptions:1- Algorithm works on a finite state assumption. The number of states, however large, is ultimately finite.

2- Multiple sequences of states could lead to one state, but only one sequence is the most likely (survivor path).

3- Transition from one state to another involves a metric that is usually cumulative (additive) over states.

Page 4: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Viterbi Algorithm

The objective of the algorithm is observing the possible sequences that could lead to a particular state, comparing the cumulative metrics of such sequences, and accordingly choose the most likely.

Path history is important for the algorithm. In limited situations, programming is used to reduce the memory needed for recording history.

Page 5: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

MLSD

Maximum Likelihood Sequence Detections uses similar concepts as MAP and ML as it searches for the minimum Euclidean distance path through the trellis.

The optimal detection rule:

Page 6: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

NRZI Signal Detection

•Consider a Binary PAM Constellation

•Lets assume we start with S0

Page 7: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

NRZI Signal Detection

We then compute the DFor each path entering nodes att= 2T

We then use the Viterbi algorithm to compute the min D and call it the survivor path and discard the other one.

Page 8: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

NRZI Signal Detection

At t=3T we calculate the pathsentering each node.Assume survivor path (0,0) atand path (0,1) at

Using the Viterbi algorithm decreases the number of paths by a factor of 2.

Page 9: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Hard and Soft Decision

Hard Decision Vs Soft Decision

000 to represent a strongest 0 001 representing a relatively strong 0 010 representing a relatively weak 0 011 represent the weakest 0 100 represent the weakest 1 101 represents a relatively weak 1 110 represents a relatively strong 1 111 represents the strongest 1

The last 2 bits are called reliability bits.

Page 10: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional codes

Another example of signaling schemes involving memory.

The code is implemented by passing the information bit sequence through a finite state shift register, where the output bits are produced by adders that take in the bits shifted into the register.

The shift register consists of K stages, and for each k bits of input, n bits of output are produced.

Page 11: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional codes

Each vector indicates which stages of the encoder are connected to the corresponding adder, where an ‘1’ represents a connection, and a ‘0’ indicates none. For example, a vector [100] indicates that out of a 3 stage shift register, only the first stage is connected to the adder.

In order to better describe convolutional codes, we utilize a number of vectors equivalent to the number of modulo-2 adders that form the outputs of the encoder.

Page 12: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional Codes

After realizing the vectors representing the adders within the encoder, the output of the encoder is determined by convolving the input bit sequence with each of the vectors, then interleaving the bits from each convolution process.

Page 13: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional Codes

Convolutional codes can be represented in several forms, such as tree diagrams, trellises and state diagrams.

Page 14: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional Codes

Convolutional codes can be decoded using various methods, such as soft vs. hard decision decoding or MAP vs. ML methods.

The optimum decoder in the case of convolutional codes is the MLSE (Maximum Likelihood sequence detector) due to its finite-state machine structure.

The optimum decoding in this case takes place by searching through the trellis corresponding to the convolutional code, and finding the path with the smallest distance metric.

Page 15: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional Codes

Decoding takes place as follows; the first node representing an output (after the trellis has stabilized, with an equal number of branches entering and exiting each node) is observed, and the path followed through the trellis from the initial input node to that output node is to be determined.

Page 16: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Convolutional Codes

The viterbi algorithm is essential during the decoding process, due to its capability of choosing a survivor path having the largest path metric, and hence reducing the number of paths that are considered during ML detection, ultimately making decoding a simpler process.

Page 17: PRESENTED BY MOHAMED SAMIR MAZLOUM OMAR DIAA SHAWKY Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm

Thank You

Questions?