296.3:Algorithms in the Real World

Slides:



Advertisements
Similar presentations
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Advertisements

Iterative Equalization and Decoding
Convolutional Codes Representation and Encoding  Many known codes can be modified by an extra code symbol or by deleting a symbol * Can create codes of.
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!
Inserting Turbo Code Technology into the DVB Satellite Broadcasting System Matthew Valenti Assistant Professor West Virginia University Morgantown, WV.
Forward Error Correction Demystified Presented by Sunrise Telecom Broadband … a step ahead.
6.375 Project Arthur Chang Omid Salehi-Abari Sung Sik Woo May 11, 2011
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
Cellular Communications
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
ECE 559 VLSI – Design Project Viterbi Decoder VLSI Design Project Spring 2002 Dan Breen Keith Grimes Damian Nowak David Rust Advisor: Prof. Goeckel.
Turbo Codes – Decoding and Applications Bob Wall EE 548.
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.
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
1 INF244 Textbook: Lin and Costello Lectures (Tu+Th ) covering roughly Chapter 1;Chapters 9-19? Weekly exercises: For your convenience Mandatory.
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 5 Turbo Code.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Introduction of Low Density Parity Check Codes Mong-kai Ku.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
Turbo Codes COE 543 Mohammed Al-Shammeri. Agenda PProject objectives and motivations EError Correction Codes TTurbo Codes Technology TTurbo decoding.
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.
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.
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? 指導教授:黃文傑 博士 學生:吳濟廷
Sequential Soft Decision Decoding of Reed Solomon Codes Hari Palaiyanur Cornell University Prof. John Komo Clemson University 2003 SURE Program.
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.
Implementation of Turbo Code in TI TMS320C8x Hao Chen Instructor: Prof. Yu Hen Hu ECE734 Spring 2004.
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.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
MD. TARIQ HASAN SoC Design LAB Department of Information and Communication Engineering College of Electronics and Information Engineering Chosun University.
DIGITAL SYTEM DESIGN MINI PROJECT CONVOLUTION CODES
Hamming Code In 1950s: invented by Richard Hamming
The Viterbi Decoding Algorithm
What is this “Viterbi Decoding”
디지털통신 Introduction 임 민 중 동국대학교 정보통신공학과 1.
Modulation and Coding Schemes
Chapter 6.
Pipelined Architectures for High-Speed and Area-Efficient Viterbi Decoders Chen, Chao-Nan Chu, Hsi-Cheng.
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
January 2004 Turbo Codes for IEEE n
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Chapter 6.
Error Correction Code (2)
Error Correction Code (2)
CT-474: Satellite Communications
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:

296.3:Algorithms in the Real World Convolutional Coding & Viterbi Decoding 296.3

And now a word from my father… "First, computer software and hardware are the most complex and rapidly developing intellectual creations of modem man." -- p. iii, Internet and Computer Law, P. B. Maggs, J. T. Soma, and J. A. Sprowl, 2001 296.3

Today’s lecture is based on A Tutorial on Convolutional Coding with Viterbi Decoding Chip Fleming Spectrum Applications http://home.netcom.com/~chip.f/viterbi/tutorial.html 296.3

Origin of Viterbi Decoding Andrew J. Viterbi, "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm," IEEE Transactions on Information Theory, Volume IT-13, pp. 260-269, April 1967. Viterbi is a founder of Qualcomm. 296.3

Terminology k number of message symbols (as before) n number of codeword symbols (as before) r rate = k/n m number of encoding cycles an input symbol is stored K number of input symbols used by encoder to compute each output symbol (decoding time exponentially dependent on K) 296.3

Convolution Encoder output upper input followed by lower input flip flop (stores one bit) k = 15, n = 30, r = ½, K = 3, m = 2 296.3

Encoding Example Both flip flops set to 0 initially. Input: 010111001010001 Output: 00 11 10 00 01 10 01 11 11 10 00 10 11 00 11 Flush encoder by clocking m = 2 times with 0 inputs. 296.3

Viterbi Decoding Applications decoding trellis-coded modulation in modems most common FEC technique used in space communications (r = ½, K = 7) usually implemented as serial concatenated block and convolutional coding – first Reed-Solomon, then convolutional Turbo codes are a new parallel-concatenated convolutional coding technique 296.3

State Transition and Output Tables   Next State, if  Current State Input = 0: Input = 1: 00 10 01 11 Output Symbols, if Current State Input = 0: Input = 1: 00 11 01 10 State transition table Output table 2m rows 296.3

State Transitions input symbol is 1 input symbol is 0 arcs labeled with output symbols 296.3

Trellis 296.3

Oh no! Errors in received bits! 296.3

Viterbi Decoding - Accumulated Error Metric Trying to find the input sequence who corresponding output matches the received output as closely as possible. (use Hamming distance in our example) 296.3

Accumulated Error Metric 296.3

Decoder Trellis 296.3

Decoder Trellis 296.3

Decoder Trellis 296.3

Final Decoder Trellis 296.3

Accumulated Error Metric over Time 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 State 002   State 012 State 102 State 112 Last two inputs known to be zero. 296.3

Surviving Predecessor States 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 State 002 00 01 State 012 State 102 State 112 296.3

States Selected when Tracing Back 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17   00 01 296.3

Transmission voltages (signal to noise ratio SNR 20 dB). Coding Gain Transmission voltages (signal to noise ratio SNR 20 dB). No errors. 296.3

Coding Gain Transmission voltages with Gaussian noise (SNR 6dB)                                                                                                                  Transmission voltages with Gaussian noise (SNR 6dB) bit error rate (BER) of about 0.235% 296.3

Coding Gain convolutional coding with Viterbi decoding can achieve a BER of less than 1 x 10-7 at the same SNR, 6 dB r = ½, K = 3 Use 5db less power to achieve 1 x 10-7 BER than without coding Coding uses twice as much (3dB) bandwidth Coding gain: 5dB-3dB = 2dB less energy 296.3

References (from Fleming) Some Books about Forward Error Correction S. Lin and D. J. Costello, Error Control Coding. Englewood Cliffs, NJ: Prentice Hall, 1982. A. M. Michelson and A. H. Levesque, Error Control Techniques for Digital Communication. New York: John Wiley & Sons, 1985. W. W. Peterson and E. J. Weldon, Jr., Error Correcting Codes, 2 nd ed. Cambridge, MA: The MIT Press, 1972. V. Pless, Introduction to the Theory of Error-Correcting Codes, 3rd ed. New York: John Wiley & Sons, 1998. C. Schlegel and L. Perez, Trellis Coding. Piscataway, NJ: IEEE Press, 1997 S. B. Wicker, Error Control Systems for Digital Communication and Storage . Englewood Cliffs, NJ: Prentice Hall, 1995.   296.3

More References (from Fleming) Some Papers about Convolutional Coding with Viterbi Decoding For those interested in VLSI implementations of the Viterbi algorithm, I recommend the following paper and the papers to which it refers (and so on): Lin, Ming-Bo, "New Path History Management Circuits for Viterbi Decoders," IEEE Transactions on Communications, vol. 48, October, 2000, pp. 1605-1608. Other papers are: G. D. Forney, Jr., "Convolutional Codes II: Maximum-Likelihood Decoding," Information Control, vol. 25, June, 1974, pp. 222-226. K. S. Gilhousen et. al., "Coding Systems Study for High Data Rate Telemetry Links," Final Contract Report, N71-27786, Contract No. NAS2-6024, Linkabit Corporation, La Jolla, CA, 1971. J. A. Heller and I. M. Jacobs, Viterbi Decoding for Satellite and Space Communications," IEEE Transactions on Communication Technology, vol. COM-19, October, 1971, pp. 835-848. K. J. Larsen, "Short Convolutional Codes with Maximal Free Distance for Rates 1/2, 1/3, and 1/4," IEEE Transactions on Information Theory, vol. IT-19, May, 1973, pp. 371-372. J. P. Odenwalder, "Optimum Decoding of Convolutional Codes," Ph. D. Dissertation, Department of Systems Sciences, School of Engineering and Applied Sciences, University of California at Los Angeles, 1970. A. J. Viterbi, "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm," IEEE Transactions on Information Theory , vol. IT-13, April, 1967, pp. 260-269. 296.3