Maximum Likelihood Sequence Detection & the Viterbi Algorithm EE-242 Digital Communications & Coding Miguel Ángel Galicia Ismail AlQerm EE-242 Digital.

Slides:



Advertisements
Similar presentations
Chapter 22 Implementation of Viterbi Algorithm/Convolutional Coding
Advertisements

Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Noise-Predictive Turbo Equalization for Partial Response Channels Sharon Aviran, Paul H. Siegel and Jack K. Wolf Department of Electrical and Computer.
Decoding of Convolutional Codes  Let C m be the set of allowable code sequences of length m.  Not all sequences in {0,1}m are allowable code sequences!
Decoders. Usage of Decoders Channel Selection: Generates Mutually Exclusive Channel Enabling/Disabling Signals (e.g. Multiplexers) Device Selection: Generates.
The Impact of Channel Estimation Errors on Space-Time Block Codes Presentation for Virginia Tech Symposium on Wireless Personal Communications M. C. Valenti.
6.375 Project Arthur Chang Omid Salehi-Abari Sung Sik Woo May 11, 2011
Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
Lecture 15 Hidden Markov Models Dr. Jianjun Hu mleg.cse.sc.edu/edu/csce833 CSCE833 Machine Learning University of South Carolina Department of Computer.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Turbo Codes – Decoding and Applications Bob Wall EE 548.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 17: Application-Driven Hardware Acceleration (3/4)
Viterbi Decoder: Presentation #2 Omar Ahmad Prateek Goenka Saim Qidwai Lingyan Sun M1 Overall Project Objective: Design of a high speed Viterbi Decoder.
Chapter 11 Error-Control CodingChapter 11 : Lecture edition by K.Heikkinen.
Figure 6.1. A convolutional encoder. Figure 6.2. Structure of a systematic convolutional encoder of rate.
ECE 559 VLSI – Design Project Viterbi Decoder VLSI Design Project Spring 2002 Dan Breen Keith Grimes Damian Nowak David Rust Advisor: Prof. Goeckel.
An FPGA Based Adaptive Viterbi Decoder Sriram Swaminathan Russell Tessier Department of ECE University of Massachusetts Amherst.
Coded Modulation in Fading Channels Ryan Aures Matthew Holland ECE 492 Mobile Communications.
Viterbi Decoder: Presentation #1 Omar Ahmad Prateek Goenka Saim Qidwai Lingyan Sun M1 Overall Project Objective: Design of a high speed Viterbi Decoder.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
1 ACS Unit for a Viterbi Decoder Garrick Ng, Audelio Serrato, Ichang Wu, Wen-Jiun Yong Advisor: Professor David Parent EE166, Spring 2005.
EE 3220: Digital Communication Dr Hassan Yousif 1 Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser.
EE 3220: Digital Communication Dr Hassan Yousif 1 Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser.
ECED 4504 Digital Transmission Theory
Equalization in a wideband TDMA system
S Advanced Digital Communication (4 cr)
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
S Digital Communication Systems The Viterbi algorithm, optimum coherent bandpass modulation.
The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.
Medicaps Institute of Technology & Management Submitted by :- Prasanna Panse Priyanka Shukla Savita Deshmukh Guided by :- Mr. Anshul Shrotriya Assistant.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Design of a High-Throughput Low-Power IS95 Viterbi Decoder Xun Liu Marios C. Papaefthymiou Advanced Computer Architecture Laboratory Electrical Engineering.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
DIGITAL COMMUNICATIONS Linear Block Codes
Real-Time Turbo Decoder Nasir Ahmed Mani Vaya Elec 434 Rice University.
1 Channel Coding (III) Channel Decoding. ECED of 15 Topics today u Viterbi decoding –trellis diagram –surviving path –ending the decoding u Soft.
Last time, we talked about:
Channel-Independent Viterbi Algorithm (CIVA) for DNA Sequencing
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Error Correction Code (2)
A simple rate ½ convolutional code encoder is shown below. The rectangular box represents one element of a serial shift register. The contents of the shift.
Muhammad Shoaib Bin Altaf. Outline Motivation Actual Flow Optimizations Approach Results Conclusion.
Wireless Communication Research Lab. CGU What is Convolution Code? 指導教授:黃文傑 博士 學生:吳濟廷
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes.
Log-Likelihood Algebra
SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Convolutional Codes.
Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.
Interleaving Compounding Packets & Convolution Codes
Overview of MB-OFDM UWB Baseband Channel Codec for MB-OFDM UWB 2006/10/27 Speaker: 蔡佩玲.
1 Code design: Computer search Low rate: Represent code by its generator matrix Find one representative for each equivalence class of codes Permutation.
Visual Recognition Tutorial1 Markov models Hidden Markov models Forward/Backward algorithm Viterbi algorithm Baum-Welch estimation algorithm Hidden.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
DIGITAL SYTEM DESIGN MINI PROJECT CONVOLUTION CODES
The Viterbi Decoding Algorithm
What is this “Viterbi Decoding”
Equalization in a wideband TDMA system
Modulation and Coding Schemes
Pipelined Architectures for High-Speed and Area-Efficient Viterbi Decoders Chen, Chao-Nan Chu, Hsi-Cheng.
Coding and Interleaving
S Digital Communication Systems
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Error Correction Code (2)
Error Correction Code (2)
Error Correction Code (2)
Implementation of Dijkstra’s Algorithm
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Homework #2 Due May 29 , Consider a (2,1,4) convolutional code with g(1) = 1+ D2, g(2) = 1+ D + D2 + D3 a. Draw the.
IV. Convolutional Codes
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Maximum Likelihood Sequence Detection & the Viterbi Algorithm EE-242 Digital Communications & Coding Miguel Ángel Galicia Ismail AlQerm EE-242 Digital Communications & Coding

Why using MLSD? EE-242 Digital Communications & Coding

Outline Viterbi Algorithm MLSD EE-242 Digital Communications & Coding

Viterbi Algorithm What is Viterbi Algorithm? Viterbi Algorithm (VA) is an algorithm implemented using dynamic programming to detect and estimate sequence of symbols in digital communication and signal processing. EE-242 Digital Communications & Coding

Viterbi Algorithm in Sequence Detection Basic Tools Needed: State diagram to represent transmitted signals. EE-242 Digital Communications & Coding

Tools Needed The Trellis: EE-242 Digital Communications & Coding

Viterbi Algorithm Description Main principle: Finding a noiseless output sequence with minimum distance from the detected noisy sequence of symbols. It consists of certain number of Recursion (Stages) EE-242 Digital Communications & Coding

At each recursion, there are three main steps that must be done to achieve MLSD using VA: Branch Metric Generation: B i,j,n = (X n – C i,j ) 2 Survivor path and path metrics update. The path metric is the sum of all branch metrics at a given state. The survivor path at recursion n: M j,n = min[M i,n-1 + B i,j,n ] Most likely path traced back. EE-242 Digital Communications & Coding

VA Example (1/4) Assume that the received noisy sequence is Xn= (0.05, 2.05, -1.05, -2.00, -0.05) and we have the following trellis diagram: First: Branch Metrics at stage 1: – B 1,1,1 = (X 1 – C 1,1 ) 2 = ( ) 2 = – B -1,-1,1 = (X 1 -C -1,-1 ) 2 =(0.05+2) 2 = – B 1,-1,1 = B -1,1,1 =(0.05) 2 = EE-242 Digital Communications & Coding

VA Example (2/4) Second: Finding the survivor path for each state: i= 2 states. M1,0 = M-1,0 = 0 M1,1= min[Mi,0+Bi,1] from state -1 to 1 ([M 1,0 + B 1,1 ] = ) > ([M -1,0 + B -1,1 ]= ) For state -1 similarly : M-1,1= min[Mi,0+Bi,1] from state 1 to -1 EE-242 Digital Communications & Coding

VA Example (3/4) Stage 2: B1,1,2= (X1 – C1,1)^2= ( )^2= B-1,-1,2 =(X1 -C-l,-l)^2 =(2.05+2)^2 = B1,-1,2 =B-1,1,2 =(2.05)^2 =4.202 Survivor path selection: For state1 M1,1 = M-1,1 = from state 1 to 1 M1,2= min[Mi,0+Bi,2]= ([M1,1+B1,2]=0.005<[M-1,1+B-1,2]= ) For state -1: M-1,2= min[Mi,0+Bi,2]= ([M-1,1+B1,2]=4.2045<[M-1,1+B-1,2]= ) From state 1 to -1 EE-242 Digital Communications & Coding

VA Example (4/4) After 5 recursions: The path trace back as shown with the most likely inputs an outputs EE-242 Digital Communications & Coding

MLSD Algorithm EE-242 Digital Communications & Coding Searches the minimum Euclidean distance path through the trellis memory of transmitted signal of k symbols and r(t) Optimal Detection Rule becomes:

MLSD – NRZI Example (1/4) NRZI transmitted signal (binary modulation - PAM) – corresponding to the points S1 = -S2 = – Reduce the number of 2 k sequences in the trellis using the Viterbi algorithm – State Diagram representation: EE-242 Digital Communications & Coding (0,(0,

MLSD – NRZI Example (2/4) – t=0: S – Entering paths at S 0 at t=2T: * bits (0,0) & (1,1) * signal points: – Entering paths at S 1 at t=2T: * bits (0,1) & (1,0) * signal points: * EE-242 Digital Communications & Coding

MLSD – NRZI Example (3/4) Euclidean S 0 Outputs r 1 and r 2 from the demodulator: Euclidean S0 Outputs r 1 and r 2 : EE-242 Digital Communications & Coding * 2 survivors: D 0 (1,1) & D 1 (1,0)

MLSD – NRZI Example (4/4) EE-242 Digital Communications & Coding Path t=3T: S 0 : S 1 : … and goes on… * 2 survivors again: D 0 (1,1,0) & D 1 (1,0,0)

MLSD – M-ary Extension EE-242 Digital Communications & Coding M=4 signals – Four-state trellis: – 2 signal paths enter & 2 leave each node – 4 each stage – 1 / 2 signal paths is each stage – Minimize the number of trellis’ paths

EE-242 Digital Communications & Coding References: Tor M. Aulin, Breadth-First Maximum Likelihood Sequence Detection: Basics, IEEE Transactions on Communications, Vol. 47, No. 2, February Hui-Ling Lou, Implementing the Viterbi Algorithm: Fundamental and real-time issues for processor designers, IEEE Signal Processing Magazine, September X. Zhu and J. M. Kahn, Markov Chain Model in Maximum Likelihood Sequence Detection for Free-Space Optical Communication Through Atmospheric Turbulence Channels, IEEE Transactions on Communications, Vol. 51, No. 3, March J. R. Barry, E. A. Lee and David G. Messershmitt, Digital Communication, 3 rd ed., Ed. NY, USA: Springer-Verlag, J. G. Proakis and M. Salehi, Digital Communications, 5 th ed., Mc-Graw Hill, 2008.

EE-242 Digital Communications & Coding Thank you! Q & A