What is this “Viterbi Decoding”

Slides:



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

Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Iterative Equalization and Decoding
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!
Maximum Likelihood Sequence Detection & the Viterbi Algorithm EE-242 Digital Communications & Coding Miguel Ángel Galicia Ismail AlQerm EE-242 Digital.
1 HDTV in StreamIT: A Case Study Andrew A. Lamb MIT Laboratory for Computer Science Computer Architecture Group (8/2/2002)
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.
GS 540 week 6. HMM basics Given a sequence, and state parameters: – Each possible path through the states has a certain probability of emitting the sequence.
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)
Turbo Codes Azmat Ali Pasha.
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.
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.
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.
296.3Page :Algorithms in the Real World Convolutional Coding & Viterbi Decoding.
ECED 4504 Digital Transmission Theory
S Advanced Digital Communication (4 cr)
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
1 (Chapter 15): Concatenated codes Simple (classical, single-level) concatenation Length of concatenated code: n 1 n 2 Dimension of concatenated code:
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
A Novel technique for Improving the Performance of Turbo Codes using Orthogonal signalling, Repetition and Puncturing by Narushan Pillay Supervisor: Prof.
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
1 Coded modulation So far: Binary coding Binary modulation Will send R bits/symbol (spectral efficiency = R) Constant transmission rate: Requires bandwidth.
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:
Part 1: Overview of Low Density Parity Check(LDPC) codes.
CS654: Digital Image Analysis Lecture 34: Different Coding Techniques.
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.
Sujan Rajbhandari LCS Convolutional Coded DPIM for Indoor Optical Wireless Links S. Rajbhandari, N. M. Aldibbiat and Z. Ghassemlooy Optical Communications.
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.
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
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.
Classical Coding for Forward Error Correction Prof JA Ritcey Univ of Washington.
Presentation III Irvanda Kurniadi V. ( )
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
296.3:Algorithms in the Real World
DIGITAL SYTEM DESIGN MINI PROJECT CONVOLUTION CODES
The Viterbi Decoding Algorithm
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)
Instructor: Alexander Stoytchev
Guest Lecture by David Johnston
Error Correction Code (2)
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.
Error Correction Coding
IV. Convolutional Codes
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

What is this “Viterbi Decoding” Andrew A. Lamb MIT Laboratory for Computer Science Computer Architecture Group (8/2/2002)

State Machine/Trellis Encoding? You can also represent the convolution encoder as a finite state machine The possible state evolution of the convolution encoder traces out a “trellis” like structure in state-time space.

Convolutional Encoder

Interesting Part

State Transition Diagram

Trellis Diagram Note: it is assumed that you start in state 00

Trellis Paths Each set of inputs traces a unique path through the trellis. Input: 0110101110

Symbol Mapping

Trellis Decoder Use Viterbi Algorithm to undo Convolution Coding (not signal symbol unmapping) Two flavors of determining unmapping Hard: make a decision as to which symbol the received signal most closely matches. Soft: Assign weights to all symbols based on their respective likelihood given received signal Viterbi implementation we present assumes a hard decision model.

Viterbi Decoding (Overview) The Viterbi algorithm: Given a sequence of received symbols, (that were produced by a convolution encoder, sent over a channel) Determine what the input to the convolution encoder was It does this by determining the most likely path through the trellis

Viterbi Decoding (Main Idea) Dynamic Programming Keep a table c[s,t] that records the number of errors* that would have been accumulated if the encoder was in state s at time t. Also keep a table p[s,t] which records the state that the encoder would have been in at time t-1 if it were in state s at time t. * Typically calculated using either Hamming or Euclidian distance

Filling out the tables At time t, we receive the symbol Rt. For each state s, Let q0 and q1 be the two possible previous states of s at time t-1. Let e0 be the error between Rt and q0 s Let e1 be the error between Rt and q1 s c[s,t] min(c[q0,t-1]+e0, c[q1,t-1]+e1) Update p[s,t] appropriately with q0 or q1

Traceback When the algorithm has examined T input symbols, it looks for the minimum entry among all states in c[s,T ]. Then the algorithm traces back through the trellis using the entries of p[s,t ].

Example Input to Encoder: Output of Encoder: 0110101110 00 10 11 01 11 00 11 11 10 00

Decoder, time = 1

Decoder, time = 2

Decoder, time = 3

Decoder, time = 4

Decoder, time = 5

Decoder, time = 6

Decoder, time = 7

Decoder, time = 8

Decoder, time = 9

Decoder, time = 10

Decoder, Traceback

Original Path

Questions Is there a way to express the Viterbi algorithm in a fine grained stream graph? Variable rates for this decoder would mean pop(2) for 5K times, and then push(5K). This is deterministic, if not constant rate. Perhaps 2 stage filters?