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

Slides:



Advertisements
Similar presentations
1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
Advertisements

Data and Computer Communications
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
Reliability & Channel Coding
Error Detection and Correction
Chapter 6 Errors, Error Detection, and Error Control.
Cellular Communications
Transmission Errors Error Detection and Correction
Error Detection and Correction
Coding and Error Control
Error Detection and Correction
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 12 Introduction to Computer Networks.
Transmission Errors1 Error Detection and Correction.
Chapter 11 Error-Control CodingChapter 11 : Lecture edition by K.Heikkinen.
Chapter 2 : Direct Link Networks (Continued). So far... Modulation and Encoding Link layer protocols Error Detection -- Parity Check.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Error Control.
Chapter 6 Errors, Error Detection, and Error Control
DIGITAL COMMUNICATION Coding
1 CS 6910 – Pervasive Computing Spring 2007 Section 2 (Ch.2): Probability, Statistics, and Traffic Theories Prof. Leszek Lilien Department of Computer.
Transmission Errors Error Detection and Correction
Coding and Error Control
Channel Coding and Error Control
Channel Coding Part 1: Block Coding
Copyright © 2003, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 4 Channel Coding.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
Data Link Layer - 1 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
Data and Computer Communications
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 14.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Data Link Layer: Error Detection and Correction
Chapter 3 Digital Transmission Fundamentals Line Coding Error Detection and Correction.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Lecture 3-2: Coding and Error Control (Cont.) ECE
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, October 2011.
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
Data Communications & Computer Networks, Second Edition1 Chapter 6 Errors, Error Detection, and Error Control.
Chapter 6: Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Third Edition.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
TI Cellular Mobile Communication Systems Lecture 4 Engr. Shahryar Saleem Assistant Professor Department of Telecom Engineering University of Engineering.
Computer Science Division
Wireless Communication Network Lab. Chapter 4 Channel Coding and Error Control Chih-Cheng Tseng1EE of NIU Prof. Chih-Cheng Tseng
CSCI 465 D ata Communications and Networks Lecture 9 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Error Detection and Correction – Hamming Code
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
1/30/ :20 PM1 Chapter 6 ─ Digital Data Communication Techniques CSE 3213 Fall 2011.
Transmission Errors Error Detection and Correction.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
Coding and Error Control
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
CSE 5345 – Fundamentals of Wireless Networks
Communication Networks: Technology & Protocols
Advanced Computer Networks
Digital data communication (Error control)
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, August 2010.
Chapter 6.
Chapter 3 Digital Transmission Fundamentals
Transmission Errors Error Detection and Correction
Error Detection Neil Tang 9/26/2008
Coding and Error Control
Transmission Errors Error Detection and Correction
Presentation transcript:

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 © by Leszek T. Lilien. Requests to use L. Lilien’s slides for non-profit purposes will be gladly granted upon a written request.

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

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

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

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

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

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

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)

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

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.

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

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 CRC-161+x 2 +x 15 +x CRC-CCITT1+x 5 +x 12 +x CRC-32| (see text) | 32 (used by DoD)| | (Modified by LTL)

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

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

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

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

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

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.

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

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

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

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

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