Turbo Codes Azmat Ali Pasha Goals of Presentation

Turbo Codes Azmat Ali Pasha

Goals of Presentation n Why Coding, Error Correction, etc? Basic terms and concepts Methods of handling the noise issues

Error Control Coding/Channel Coding n n What can you do in situations where data is transmitted over a noisy channel? Adding redundancy to information n n Check code Correct Errors

Transmission 1. 2. 3. Data is digitally recorded and compressed Data is encoded by error control coding Data is modulated from digital data to an analog signal

Reception Analog signal is received and demodulated back to a digital signal Data is processed in the Error Control Decoder 1. 2. n 3. Redundancy is used to check for errors and correct them Data is uncompressed and presented

Transmission Process with Coding Application Layer Data Compression Channel Coding Application Layer Data Decompression Convolutional or Turbo coding Modulation Frequency Up-conversion Power Amplification Channel Decoding Viterbi or Turbo decoding Demodulation Frequency Down-conversion Receiver

Sensitivity to Error Media Sensitivity to Error Uncompressed Voice Low Sensitivity Uncompressed Video Low Sensitivity Compressed Voice High Sensitivity Compressed Video High Sensitivity Data High Sensitivity

Repetition Code n Simple Repetition Code n n Information Sequence {010011} Codeword {00 11 00 00 11 11} Code-rate = ½ Problems with Repetition n n Bandwidth Increase Decrease the information rate

Channel Coding n When NOT to channel code! n n n Transmitter power is irrelevant No noise in the channel Best case Channel Coding n n Shannon Limit (ideal) Shannon hasn’t been reached yet (Turbo codes are the closest)

Code Performance n Bit Error Rate (BER) n n Signal to Noise Ratio (SNR) n n Probability of any particular bit being in error in a transmission The ratio of channel power to the noise power Best Case n n Low BER (fewer errors in final data) Low SNR (less power req. )

Coding System Comparison

Error Correction Codes n n n Block Convolutional Turbo code n n Technically a block code Works like both Block and Convolutional codes

Block Code n n Most common is Hamming Code Take a block of length, k (information sequence) Then encode them into a codeword, the last (n-k) bits are called parity bits Parity bits used for error checking and correcting

Block Code (2 D Mapping) § higher minimum weight of code, higher the minimum weight between valid code words § higher weight, better decoder performance

Convolutional Codes n n Continuous or Streaming coding Viterbi and Soft Output Viterbi are the most common

Turbo Codes n n n Mix between Convolutional and Block codes Require a Block code HOWEVER, they use shift registers like Convolutional Codes

Turbo Codes (contd. ) n n n Most common is the PCCC (Parallel Concatenated Convolutional Codes) Produce high weight code words Interleaver shuffles the input sequence, uk, in such a way that it produces a high weight

Turbo Code Decoder n n It requires a soft output decoder Soft-output n n n Assign a probability to decoded information (eg. 1 with a 80% likelihood) Outperform hard decision algorithms MAP (Maximum A Posteriori)

Iterative Decoding

Turbo Decoding n n n Cycle will continue until certain conditions are met The decoder circulates estimates of the sent data like a turbo engine circulates air Once the decoder is ready, the hard decision is made

Error Corrections Old and New

Uses n n Cell Phone Satellite Communication Dial-up Communication RF Communication (Auto. ID? Wi. Fi? )

Questions, Clarifications, and Comments n n Turbo Coding Method? Business Implications? n n Reduced Power Requirements Higher Bandwidth (lower redundancy)
- Slides: 23