Download presentation
Presentation is loading. Please wait.
Published byAmberlynn Nelson Modified over 8 years ago
1
Channel Coding and Error Control 1
2
Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes 2
3
– Severe transmission problems In terrestrial mobile communications due to: – Multipath fading » E.g., reflections / diffractions / scattering in cellular wireless communications – Low S/N (signal-to-noise) ratio In satellite communications due to: – Limited transmitting power for forward channels (downlink ) » Limited satellite energy resources Introduction 3
4
=> Need channel coding and error control to improve transmissions Channel coding (CC) = coding (discrete digital) information into a form suitable for transmission, with emphasis on enhanced reliability – CC adds redundancy that allows for info restoration or recovery when needed Price paid: need broader bandwidth – CC ensures proper transmission quality Measured by – Bit error quality (BER) / Frame error quality (FER) 4
5
Information to be transmitted Source coding Channel coding Modulation Transmitter Channel Information received Source decoding Channel decoding Demodulation Receiver Channel coding Channel decoding Channel coding/decoding in a wireless communication system 5
6
Error Correction (EC) The key EC idea: – Transmit enough redundant data to allow receiver to recover from errors all by itself No sender retransmission required Major categories of EC codes (really: forward error correction – FEC) – Linear block codes Cyclic codes Reed-Solomon codes – Convolutional codes – Turbo codes 6
7
Linear Block Codes Information is divided into blocks of length k r parity bits or check bits are added to each block – Total length: n = k + r Code rate: R = k/n = k/(k + r) Decoder looks for code word closest to received vector – Received vector = code vector + error vector Tradeoffs between – Efficiency – Reliability – Encoding/decoding complexity 7
8
Cyclic Codes It is a linear block code which uses a shift register to perform encoding and decoding The code word with n bits is expressed as c(x)=c 1 x n-1 +c 2 x n-2 ……+ c n where each c i is either a 1 or 0. c(x) = m(x) x n-k + c p (x) where c p (x) = remainder from dividing m(x) x n-k by generator g(x) if the received signal is c(x) + e(x) where e(x) is the error. To check if received signal is error free, the remainder from dividing c(x) + e(x) by g(x) is obtained(syndrome). If this is 0 then the received signal is considered error free else error pattern is detected from known error syndromes. 8
9
Cyclic Redundancy Check (CRC) Cyclic redundancy code (CRC) is an error-checking code. Xmitter appends an extra n-bit sequence to every frame – Called Frame Check Sequence (FCS) – FCS holds redundant information about the frame Helps receivers to detect/correct errors in received frames CRC is based on polynomial manipulations using modulo arithmetic – Blocks of input bits treated as coefficient sets for polynomials (called message polynomials) E.g., for message 11001, message polynomial is: 1 * x 4 + 1 * x 3 + 0 * x 2 + 0 * x 1 + 1 * x 0 – CRC also uses another polynomial - with constant coefficients (called the generator polynomials) – Polynomial manipulations using modulo arithmetic are applied to the 2 polynomials 9
10
Convolutional Codes Among most commonly used channel codes – E.g., in GSM and IS-95 Encoding of information stream rather than information blocks – Output (encoded bits) depends not only on current input bits but also on past data bits M - max. # of (past) stages (a.k.a. memory size ) affecting output – Easy implementation using shift register Assuming k inputs and n outputs Decoding most often based on the Viterbi Algorithm (Modified by LTL) 10
11
Turbo Codes Brief history of turbo codes: – First introduced by C. Berrou et al. only in 1993 – Considered as the most efficient FEC coding schemes Performance close to the (perfect) Shannon Limit at modest complexity! Turbo codes use known components – Including: simple convolutional or block codes, interleaver, soft-decision decoder Turbo codes proposed for – Low-power applications Such as deep-space and satellite communications, – Interference-limited applications Such as 3G cellular, PCS (personal communication services), ad hoc networks and sensornets 11
12
Turbo Codes: Encoder Convolutional Encoder 1 Interleaving Convolutional Encoder 2 Data Source X X Y Y1Y1 Y2Y2 (Y 1, Y2) X: Information Y i : Redundancy Information 12
13
Turbo Codes: Decoder X’ Convolutional Decoder 1 Convolutional Decoder 2 Interleaving Interleaver De-interleaving X Y1Y1 Y2Y2 X’: Decoded Information 13
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.