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.

Slides:



Advertisements
Similar presentations
Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
Advertisements

Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Iterative Equalization and Decoding
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
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!
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Cyclic Code.
Applied Algorithmics - week7
Error Control Code.
Inserting Turbo Code Technology into the DVB Satellite Broadcasting System Matthew Valenti Assistant Professor West Virginia University Morgantown, WV.
6.375 Project Arthur Chang Omid Salehi-Abari Sung Sik Woo May 11, 2011
Modern Digital and Analog Communication Systems Lathi Copyright © 2009 by Oxford University Press, Inc. C H A P T E R 15 ERROR CORRECTING CODES.
1 Channel Coding in IEEE802.16e Student: Po-Sheng Wu Advisor: David W. Lin.
Cellular Communications
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Figure 6.1. A convolutional encoder. Figure 6.2. Structure of a systematic convolutional encoder of rate.
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.
S Advanced Digital Communication (4 cr)
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
1 INF244 Textbook: Lin and Costello Lectures (Tu+Th ) covering roughly Chapter 1;Chapters 9-19? Weekly exercises: For your convenience Mandatory.
Equalization. Fig. Digital communication system using an adaptive equaliser at the receiver.
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
A Novel technique for Improving the Performance of Turbo Codes using Orthogonal signalling, Repetition and Puncturing by Narushan Pillay Supervisor: Prof.
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.
Week 7 Lecture 1+2 Digital Communications System Architecture + Signals basics.
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.
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:
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Error Correction Code (2)
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
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.
Minufiya University Faculty of Electronic Engineering Dep. of Electronic and Communication Eng. 4’th Year Information Theory and Coding Lecture on: Performance.
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.
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes.
Log-Likelihood Algebra
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
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
Diana B. Llacza Sosaya Digital Communications Chosun University
Block Coded Modulation Tareq Elhabbash, Yousef Yazji, Mahmoud Amassi.
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.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
296.3:Algorithms in the Real World
The Viterbi Decoding Algorithm
Coding and Interleaving
Trellis Codes With Low Ones Density For The OR Multiple Access Channel
S Digital Communication Systems
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Error Correction Code (2)
Error Correction Code (2)
Chapter 10: Error-Control Coding
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
Presentation transcript:

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 almost any desired rate * Can create codes with slightly improved performance  The resulting code can usually be decoded with only a slight modification to the decoder algorithm.  Sometimes modification process can be applied multiple times in succession Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE

Modification to Known Codes 1.Puncturing: delete a parity symbol  (n,k) code  (n-1,k) code 2.Shortening: delete a message symbol  (n,k) code  (n-1,k-1) code 3.Expurgating: delete some subset of codewords  (n,k) code  (n,k-1) code 4.Extending: add an additional parity symbol  (n,k) code  (n+1,k) code Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE

Modification to Known Codes… 5.Lengthening: add an additional message symbol  (n,k) code  (n+1,k+1) code 6.Augmenting: add a subset of additional code words  (n,k) code  (n,k+1) code Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE

Interleaving  We have assumed so far that bit errors are independent from one bit to the next  In mobile radio, fading makes bursts of error likely.  Interleaving is used to try to make these errors independent again Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Depth Of Interleaving  31 7  Length Order Bits Transmitted Order Bits Received

Concatenated Codes  Two levels of coding Achieves performance of very long code rates while maintaining shorter decoding complexity  Overall rate is product of individual code rates  Codeword error occurs if both codes fail.  Error probability is found by first evaluating the error probability of “inner” decoder and then evaluating the error probability of “outer” decoder.  Interleaving is always used with concatenated coding Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE

Block Diagram of Concatenated Coding Systems Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Data Bits Outer Encoder Interleave Inner Encoder Modulator Channel De - Modulator Inner Decoder De- Interleave Outer Decoder Data Out

Practical Application : Coding for CD Each channel is sampled at samples/second Each sample is quantized with 16 bits Uses a concatenated RS code  Both codes constructed over GF(256) (8-bits/symbol)  Outer code is a (28,24) shortened RS code  Inner code is a (32,28) extended RS code  In between coders is a (28,4) cross-interleaver  Overall code rate is r = 0.75 Most commercial CD players don’t exploit full power of the error correction coder Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE

Practical Application: Galileo Deep Space Probe  Uses concatenated coding  Inner code rate is ½, constraint length 7 convolutinal encoder  Outer Code (255,223) RS code over GF(256) – corrects any burst errors from convolutional codes  Overall Code Rate is r=  A block interleaver held 2RS Code words  Deep space channel is severely energy limited but not bandwidth limited Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE

IS-95 CDMA The IS-95 standard employs the rate (64,6) orthogonal (Walsh) code on the reverse link The inner Walsh Code is concatenated with a rate 1/3, constraint length 9 convolutional code Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Data Transmission in a 3 rd Generation PCS Proposed ETSI standard employs RS Codes concatenated with convolutional codes for data communication Requirements; Ber of the order of Moderate Latency is acceptable CDMA2000 uses turbo codes for data transmission ETSI has optional provisions for Turbo Coding

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE A Common Theme from Coding Theory  The real issue is the complexity of the decoder.  For a binary code, we must match 2 n possible received sequences with code words  Only a few practical decoding algorithms have been found:  Berlekamp-Massey algorithm for clock codes  Viterbi algorithm (and similar technique) for convolutional codes  Code designers have focused on finding new codes that work with known algorithms

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Block Versus Convolutional Codes Block codes take k input bits and produce n output bits, where k and n are large there is no data dependency between blocks useful for data communcations Convolutional codes take a small number of input bits and produce a small number of output bits each time period data passes through convolutional codes in a continuous stream useful for low- latency communications

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Convolutional Codes  k bits are input, n bits are output  Now k & n are very small (usually k=1-3, n=2-6)  Input depends not only on current set of k input bits, but also on past input.  The number of bits which input depends on is called the "constraint length" K.  Frequently, we will see that k=1

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Example of Convolutional Code k=1, n=2, K=3 convolutional code

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Example of Convolutional Code k=2, n=3, K=2 convolutional code

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Representations of Convolutional Codes  Encoder Block Diagram (shown above)  Generator Representation  Trellis Representation  State Diagram Representation

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Convolutional Code Generators  One generator vector for each of the n output bits:  The length of the generator vector for a rate r=k/n code with constraint length K is K The bits in the generator from left to right represent the connections in the encoder circuit. A “1” represents a link from the shift register. A “0” represents no link.  Encoder vectors are often given in octal representation

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Example of Convolutional Code k=1, n=2, K=3 convolutional code

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Example of Convolutional Code k=2, n=3, K=2 convolutional code

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE State Diagram Representation  Contents of shift registers make up "state" of code:  Most recent input is most significant bit of state.  Oldest input is least significant bit of state.  (this convention is sometimes reverse)  Arcs connecting states represent allowable transitions  Arcs are labeled with output bits transmitted during transition

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Example of State Diagram Representation Of Convolutional Codes k=1, n=2, K=3 convolutional code

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Trellis Representation of Convolutional Code  State diagram is “unfolded” a function of time  Time indicated by movement towards right  Contents of shift registers make up "state" of code: Most recent input is most significant bit of state. Oldest input is least significant bit of state.  Allowable transitions are denoted by connects between states transitions may be labeled with transmitted bits

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Example of Trellis Diagram k=1, n=2, K=3 convolutional code

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Encoding Example Using Trellis Representation k=1, n=2, K=3 convolutional code We begin in state 00: Input Data: Output:

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Distance Structure of a Convolutional Code The Hamming Distance between any two distinct code sequences and is the number of bits in which they differ: The minimum free Hamming distance d free of a convolutional code is the smallest Hamming distance separating any two distinct code sequences:

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Search for good codes We would like convolutional codes with large free distance must avoid “catastrophic codes” Generators for best convolutional codes are generally found via computer search  search is constrained to codes with regular structure  search is simplified because any permutation of identical generators is equivalent  search is simplified because of linearity.

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Best Rate 1/2 Codes

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Best Rate 1/3 Codes

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Best Rate 2/3 Codes

Error Control Coding, © Brian D. Woerner, reproduced by: Erhan A. INCE Summary of Convolutional Codes Convolutional Codes are useful for real-time applications because they can be continously encoded and decoded We can represent convolutional codes as generators, block diagrams, state diagrams, and trellis diagrams We want to design convolutional codes to maximize free distance while maintaining non-catastrophic performance