FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.

Slides:



Advertisements
Similar presentations
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Advertisements

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.
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.
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.
Coding and Error Control
Turbo Codes Azmat Ali Pasha.
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
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.
Viterbi Decoder: Presentation #1 Omar Ahmad Prateek Goenka Saim Qidwai Lingyan Sun M1 Overall Project Objective: Design of a high speed Viterbi Decoder.
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.
#4 1 Victor S. Frost Dan F. Servey Distinguished Professor Electrical Engineering and Computer Science University of Kansas 2335 Irving Hill Dr. Lawrence,
M. S. Engineering College, Bangalore 1 Final Project Presentation Design and ASIC Implementation of Low-Power Viterbi Decoder for WLAN Applications Academic.
296.3Page :Algorithms in the Real World Convolutional Coding & Viterbi Decoding.
ECED 4504 Digital Transmission Theory
S Advanced Digital Communication (4 cr)
Review of modern noise proof coding methods D. Sc. Valeri V. Zolotarev.
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 5 Turbo Code.
Medicaps Institute of Technology & Management Submitted by :- Prasanna Panse Priyanka Shukla Savita Deshmukh Guided by :- Mr. Anshul Shrotriya Assistant.
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
L38: Viterbi Decoder저전력 설계
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:
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.
Turbo Codes. 2 A Need for Better Codes Designing a channel code is always a tradeoff between energy efficiency and bandwidth efficiency. Lower rate Codes.
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.
Classical Coding for Forward Error Correction Prof JA Ritcey Univ of Washington.
DS-UWB FEC Decoder Design VLSI 자동설계연구실 정재헌. Topics on Communication Modem Design VLSI Design Automation LAB2  Outline  Top level block diagram  BM.
MD. TARIQ HASAN SoC Design LAB Department of Information and Communication Engineering College of Electronics and Information Engineering Chosun University.
296.3:Algorithms in the Real World
DIGITAL SYTEM DESIGN MINI PROJECT CONVOLUTION CODES
The Viterbi Decoding Algorithm
What is this “Viterbi Decoding”
Modulation and Coding Schemes
Coding and Interleaving
Trellis Codes With Low Ones Density For The OR Multiple Access Channel
Interleaver-Division Multiple Access on the OR Channel
S Digital Communication Systems
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Su Yi Babak Azimi-Sadjad Shivkumar Kalyanaraman
Error Correction Code (2)
Error Correction Code (2)
Coding and Error Control
Wireless Mesh Networks
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.
IV. Convolutional Codes
Presentation transcript:

FEC decoding algorithm overview VLSI 자동설계연구실 정재헌

Topics on Communication Modem Design VLSI Design Automation LAB2  Outline  Channel coding  Convolutional encoding  Trellis diagram  Viterbi algorithm  Methods of implementing VA  Trace-Back VA  Register-Exchange VA  Low-power, High-speed issues (TBVA vs REVA)  Project plan  Reference

Topics on Communication Modem Design VLSI Design Automation LAB3  Channel coding  Purpose  To find and correct errors from channel.  Basically, attach redundancy to original data.  Roughly, two kinds of codes. Block code & Trellis code.  Block code  Attach redundancy to data bits called block.  For more efficiency, extend redundancy.  Trellis code  Generally, use convolutional code.  Instead of using block, put data to shift register and get codeword from combinational logic.

Topics on Communication Modem Design VLSI Design Automation LAB4  Convolutional Encoding  Convolutional encoder example  K=3, rate=1/2, generating polynomial(7, 5)  Constraint length(K) means cardinality of register  State diagram + + SREG1SREG2 source bit codeword /11 1/11 1/00 0/10 0/01 1/01 1/11 0/00 input/codeword

Topics on Communication Modem Design VLSI Design Automation LAB5  Trellis diagram  Visualizing the transitions from state to state.  Finite-state diagram by a time-indexed.  Upper branch means input 0, lower branch means input 1.  Bits on branch means codeword … time

Topics on Communication Modem Design VLSI Design Automation LAB6  Viterbi algorithm  Maximum likelihood sequence estimation  Our objective is to estimate a 1 *, a 2 *,…, a X * signals of the sequence of transmitted symbols a 1, a 2,…, a X  We estimate the transmitted sequence to be the sequence that maximizes this likelihood.  Probability density function P[y(t), 0≤t≤τ | a 1 =a 1 *, a 2 =a 2 *,…, a X =a X * ]  MLSE and Trellis diagram  In trellis diagram, each state have N different probable path from another state.  Total N X path exist. (exponentially grow)

Topics on Communication Modem Design VLSI Design Automation LAB7  Viterbi algorithm(Cont'd)  Dynamic programming  Principle of optimality : Whatever the initial state is, remaining decisions must be optimal with regard the state following from the first decision. A B C E D F If ACEF is the shortest path, then ACE is the shortest path.

Topics on Communication Modem Design VLSI Design Automation LAB8  Viterbi algorithm(Cont'd)  VA is dynamic programming.  VA is maximum-likelihood algorithm.  Basic concept  Compare received signal with code for each path through the trellis.  Calculate Hamming distance or Euclidean distance.(choose by hard decision or soft decision)  Select path at minimum distance.  Performance issues  The number of comparisons.  Length on which decoding is performed.

Topics on Communication Modem Design VLSI Design Automation LAB9  Viterbi algorithm(Cont'd)  VA flow  Finding branch metric from received signal.  Compare summation of branch metric and path metric.  Select smaller distance path, called the ‘survivor’.  Update path metric and store survivor path.  Repeat indefinitely. 1. Branch metric calculation =3 5+0=5 3. Store survivor path : 00 And update path metric value. Incoming codeword 11 Incoming codeword 11 Hamming distances 2. Compare summation. 5>3

Topics on Communication Modem Design VLSI Design Automation LAB10  Viterbi algorithm(Cont'd)  Find maximum probability path from trellis diagram.  Total NX calculations required received codeword Branch metric Survivor path 1 Path metric ? ?

Topics on Communication Modem Design VLSI Design Automation LAB11  Methods of implementing VA  Trace-back VA  Write survivor path to memory. Use 4 banks.  Search start state to decode. Survivor path will be merged after training period.  Decode from searched state. Bank1Bank2Bank3Bank4 write1 search1write2 search2write3 decode1search3write4 write5decode2search4 search5write6decode3 search6write7decode4

Topics on Communication Modem Design VLSI Design Automation LAB12  Methods of implementing VA(Cont'd)  Register-exchange VA  A register is assigned to each state.  The register records the decoded output sequence along the path from the initial state to the final state.  At the last stage, the decoded output sequence is the one stored in the survivor path register that assigned to the state with the minimum path metric.

Topics on Communication Modem Design VLSI Design Automation LAB13  Low-power, High-speed issues  Power  TBVA uses 4*N*L bits memory. L means survivor path length and usually L=5K.  REVA uses N*L flip-flop and muxes. Each stage, flip-flop will be switched.  If L is large, REVA use more power because of switching.  Speed  TBVA needs trace back (search) operation.  Both needs training period L.  TBVA output first decoded bit after 3L clocks, but REVD output first decoded bit after L clocks.

Topics on Communication Modem Design VLSI Design Automation LAB14  Project plan weekplan 1Read papers. 2 3Make C simulator. 4 5Performance test of simulator. 6Fix parameters and final test of simulator. 7Implement to HDL, and compare with simulator. 8Make documents.

Topics on Communication Modem Design VLSI Design Automation LAB15  Reference  A.J.Viterbi, "Error bounds for convolutional codes and ssymptotically optimum decoding algorithm", IEEE Trans. Inform. Theory, vol It-13, pp , April  Ranjan Bose, "Information Theory, Coding and Cryptography", McGrawHill,  T.K.Truong, Ming-Tang Shih, Irving S.Reed, E.H. Satorius, "A VLSI Design for a Trace-Back Viterbi Decoder", IEEE Trans. Comm, vol 40, pp , March  Dalia A.El-Dib, Mohamed I.Elmasry, "Modified Register-Exchange Viterbi Decoder for Low-Power Wireless Communications", IEEE Trans. Circuits and Systems, vol 51, pp , February 2004.