Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS 6910 – Pervasive Computing Spring 2007 Section 4 (Ch.4): Channel Coding and Error Control Prof. Leszek Lilien Department of Computer Science Western.

Similar presentations


Presentation on theme: "1 CS 6910 – Pervasive Computing Spring 2007 Section 4 (Ch.4): Channel Coding and Error Control Prof. Leszek Lilien Department of Computer Science Western."— Presentation transcript:

1 1 CS 6910 – Pervasive Computing Spring 2007 Section 4 (Ch.4): Channel Coding and Error Control Prof. Leszek Lilien Department of Computer Science Western Michigan University Slides based on publisher’s slides for 1 st and 2 nd edition of: Introduction to Wireless and Mobile Systems by Agrawal & Zeng © 2003, 2006, Dharma P. Agrawal and Qing-An Zeng. All rights reserved. Some original slides were modified by L. Lilien, who strived to make such modifications clearly visible. Some slides were added by L. Lilien, and are © 2006-2007 by Leszek T. Lilien. Requests to use L. Lilien’s slides for non-profit purposes will be gladly granted upon a written request.

2 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 2 Chapter 4 Channel Coding and Error Control (Modified by LTL)

3 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 3 Outline We skip some sections in this Chapter You have to use it on your own if needed (e.g., for your project) Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Interleaver Information Capacity Theorem Turbo Codes ARQ (Automatic Repeat Request) Techniques Stop-and-wait ARQ Go-back-N ARQ Selective-repeat ARQ

4 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 4 Why need channel coding for radio communication? Why need error control for radio communication? 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 xmitting power for forward channels (downlink ) Limited satellite energy resources => Need means to improve transmissions Channel coding and error control forare such means © 2007 by Leszek T. Lilien 4.1. Introduction

5 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 5 4.1. Introduction – cont. 1 => 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) See where channel coding/decoding is done (next slide) © 2007 by Leszek T. Lilien

6 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 6 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 4.1. Introduction – cont. 2

7 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 7 4.1. Introduction – cont. 3 CC includes error control Error control = at least error detection, preferably also error correction Error detection w/o error correction is insufficient Means transmission failure since requires for retransmission © 2007 by Leszek T. Lilien

8 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 8 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 (Modified by LTL)

9 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 9 4.2. 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

10 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 10 *** SKIP *** 4.3. Cyclic Codes (are Block 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.

11 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 11 4.4. 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

12 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 12 Most Common CRC Polynomials CodeGenerator polynomial g(x) Parity check bits CRC-121+x+x 2 +x 3 +x 11 +x 12 12 CRC-161+x 2 +x 15 +x 16 16 CRC-CCITT1+x 5 +x 12 +x 16 16 CRC-32| (see text) | 32 (used by DoD)| | (Modified by LTL)

13 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 13 4.5. 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)

14 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 14 4.6. Interleaver Interleaving is heavily used in wireless communication for protection against burst errors Recall: Burst error– a contiguous sequence of symbols, received over a data transmission channel, such that: (a) the first symbol and the last symbol are in error, and (b) there exists no contiguous subsequence of m correctly received symbols within the error burst The last symbol in a burst and the first symbol in the following burst are separated by m correct bits or more The length of a burst of errors in a frame is defined as the number of bits from the first error to the last, inclusive Block interleaver - most common interleaver Concept – next slide © 2007 by Leszek T. Lilien

15 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 15 Concept of Interleaver 1)Sender writes row-by- row into buffer 2)Read col-by-col from buffer onto link 1)Write col-by-col from link into buffer 2)Receiver reads row-by- row from buffer

16 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 16 How Interleaver Works – An Example [LTL] Interleaver disperses burst error into 4 discrete errors It is much easier to correct 4 discrete 1-bit errors, than to correct 1 continuous 4-bit burst error

17 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 17 4.7. 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

18 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 18 *** SKIP *** Information Capacity Theorem (Shannon Limit) The information capacity (or channel capacity) C of a continuous channel with bandwidth B Hertz can be perturbed by additive Gaussian white noise of power spectral density N 0 /2, provided bandwidth B satisfies where: P is the average transmitted power P = E b R b (for an ideal system, R b = C). E b is the transmitted energy per bit, R b is transmission rate.

19 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 19 *** SKIP *** Shannon Limit 0102030 E b /N 0 dB Region for which R b <C Region for which R b >C R b /B -1.6 Shannon Limit Capacity boundary R b =C 1 10 20 0.1

20 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 20 ***SKIP*** 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

21 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 21 ***SKIP*** Turbo Codes: Decoder X’ Convolutional Decoder 1 Convolutional Decoder 2 Interleaving Interleaver De-interleaving X Y1Y1 Y2Y2 X’: Decoded Information

22 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 22 4.8. Automatic Repeat Request (ARQ) Source STransmitterChannelReceiverDestination D Encoder Transmit Controller ModulationDemodulationDecoder Transmit Controller Acknowledge (ACK or NAK) [LTL] Sometimes CC can detect but can’t correct errors Must ask for retransmission Can use Automatic Repeat Request (ARQ) D sends (positive) acknowledgement ACK if received packets correct If D detects error it can’t correct, D sends negative acknowledge- ment NAK – this requests retransmission

23 Copyright © 2003, Dharma P. Agrawal and Qing-An Zeng. All rights reserved 23 The End of Section 4


Download ppt "1 CS 6910 – Pervasive Computing Spring 2007 Section 4 (Ch.4): Channel Coding and Error Control Prof. Leszek Lilien Department of Computer Science Western."

Similar presentations


Ads by Google