Department of Electrical and Computer Engineering

Slides:



Advertisements
Similar presentations
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Advertisements

Cyclic Code.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Cellular Communications
Coding and Error Control
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
DIGITAL COMMUNICATION Coding
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 12 Introduction to Computer Networks.
Error detection and correction
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Error Control.
DIGITAL COMMUNICATION Coding
Error Detection and Correction
Error Detection and Reliable Transmission EECS 122: Lecture 24 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Channel Coding and Error Control
ECE 4371, Fall, 2014 Introduction to Telecommunication Engineering/Telecommunication Laboratory Zhu Han Department of Electrical and Computer Engineering.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
ECE 6332, Spring, 2014 Wireless Communication Zhu Han Department of Electrical and Computer Engineering Class 18 March. 26 th, 2014.
British Computer Society
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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
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.
Data Communications, Kwangwoon University10-1 Part 3 Data Link Layer Chapter 10 Error Detection and Correction Chapter 11 Data Link Control Chapter 12.
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
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
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
Basic Characteristics of Block Codes
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
EE 6331, Spring, 2009 Advanced Telecommunication Zhu Han Department of Electrical and Computer Engineering Class 20 Apr. 9 th, 2009.
Error Detection and Correction
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
ECE 4331, Fall, 2009 Zhu Han Department of Electrical and Computer Engineering Class 21 Nov.5 th, 2009.
Channel Coding Binit Mohanty Ketan Rajawat. Recap…  Information is transmitted through channels (eg. Wires, optical fibres and even air)  Channels are.
Computer Science Division
Error Detection and Correction
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction – Hamming Code
Error Detection and Correction
Elementary Coding Theory Including Hamming and Reed-Solomom Codes with Maple and MATLAB Richard Klima Appalachian State University Boone, North Carolina.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
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.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection.
V. Non-Binary Codes: Introduction to Reed Solomon Codes
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Error Detection and Correction
Communication Networks: Technology & Protocols
Chapter 6.
DIGITAL COMMUNICATION Coding
Cyclic Code.
Coding and Error Control
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Chapter 10 Error Detection and Correction
Presentation transcript:

Department of Electrical and Computer Engineering ECE 4371, Fall, 2014 Introduction to Telecommunication Engineering/Telecommunication Laboratory                                                             Zhu Han Department of Electrical and Computer Engineering Class 17 Oct. 29th, 2014

Outline Quick Review of last class Line Code Cyclic code 4117 Hamming code Cyclic code CRC BCH, RS 4117 S352 access, crowded Call me or go to W319 if you cannot enter USRP2 lab 1 Lab 2

ARQ Acknowledgments from receiver Positive: “okay” or “ACK” Negative: “please repeat that” or “NACK” Timeout by the sender (“stop and wait”) Don’t wait indefinitely without receiving some response … whether a positive or a negative acknowledgment Retransmission by the sender After receiving a “NACK” from the receiver After receiving no feedback from the receiver

Types of Error Correcting Codes Repetition Code Linear Block Code, e.g. Hamming Cyclic Code, e.g. CRC BCH and RS Code Convolutional Code Tradition, Viterbi Decoding Turbo Code LDPC Code Coded Modulation TCM BICM

Hamming Code H(n,k): k information bit length, n overall code length n=2^m-1, k=2^m-m-1: H(7,4), rate (4/7); H(15,11), rate (11/15); H(31,26), rate (26/31) H(7,4): Distance d=3, correction ability 1, detection ability 2. Remember that it is good to have larger distance and rate. Larger n means larger delay, but usually better code

Hamming Code Example H(7,4) Generator matrix G: first 4-by-4 identical matrix Message information vector p Transmission vector x Received vector r and error vector e Parity check matrix H

Error Correction If there is no error, syndrome vector z=zeros If there is one error at location 2 New syndrome vector z is which corresponds to the second column of H. Thus, an error has been detected in position 2, and can be corrected

Important Hamming Codes Hamming (7,4,3) -code. It has 16 codewords of length 7. It can be used to send 27 = 128 messages and can be used to correct 1 error. Golay (23,12,7) -code. It has 4 096 codewords. It can be used to transmit 8 3888 608 messages and can correct 3 errors. Quadratic residue (47,24,11) -code. It has 16 777 216 codewords and can be used to transmit 140 737 488 355 238 messages and correct 5 errors.

Another Example: Encoding To encode our message But why? we multiply this matrix You can verify that: Hamming[1 0 0 0]=[1 0 0 0 0 1 1] Hamming[0 1 0 0]=[0 1 0 0 1 0 1] Hamming[0 0 1 0]=[0 0 1 0 1 1 0] Hamming[0 0 0 1]=[0 0 0 1 1 1 1] By our message Where multiplication is the logical AND And addition is the logical XOR

Example: Add noise Code => [0 1 0 0 0 1 1] If our message is Our Multiplying yields Code = [0 1 1 0 0 1 1] Lets add an error, so Pick a digit to mutate Code => [0 1 0 0 0 1 1]

Example: Testing the message We receive the erroneous string: Code = [0 1 0 0 0 1 1] We test it: Decoder*CodeT =[0 1 1] And indeed it has an error The matrix used to decode is: To test if a code is valid: Does Decoder*CodeT =[0 0 0] Yes means its valid No means it has error/s

Example: Repairing the message To repair the code we find the collumn in the decoder matrix whose elements are the row results of the test vector We then change We trim our received code by 3 elements and we have our original message. [0 1 1 0 0 1 1] => [0 1 1 0] Decoder*codeT is [ 0 1 1] This is the third element of our code Our repaired code is [0 1 1 0 0 1 1]

Coding Gain Coding Rate R=k/n, k, no. of message symbol, n overall symbol Word SNR and bit SNR For a coding scheme, the coding gain at a given bit error probability is defined as the difference between the energy per information bit required by the coding scheme to achieve the given bit error probability and that by uncoded transmission.

Coding Gain Example

Encoder/Decoder of Linear Code Encoder: just xor gates Decoder: Syndrome

Reed–Muller code

Cyclic code Cyclic codes are of interest and importance because They posses rich algebraic structure that can be utilized in a variety of ways. They have extremely concise specifications. They can be efficiently implemented using simple shift register Many practically important codes are cyclic In practice, cyclic codes are often used for error detection (Cyclic redundancy check, CRC) Used for packet networks When an error is detected by the receiver, it requests retransmission ARQ

BASIC DEFINITION of Cyclic Code

FREQUENCY of CYCLIC CODES

EXAMPLE of a CYCLIC CODE

POLYNOMIALS over GF(q)

EXAMPLE

Cyclic Code Encoder

Cyclic Code Decoder Divider Similar structure as multiplier for encoder

Cyclic Redundancy Checks (CRC)

Example of CRC

Checking for errors

Capability of CRC An error E(X) is undetectable if it is divisible by G(x). The following can be detected. All single-bit errors if G(x) has more than one nonzero term All double-bit errors if G(x) has a factor with three terms Any odd number of errors, if P(x) contain a factor x+1 Any burst with length less or equal to n-k A fraction of error burst of length n-k+1; the fraction is 1-2^(-(-n-k-1)). A fraction of error burst of length greater than n-k+1; the fraction is 1-2^(-(n-k)). Powerful error detection; more computation complexity compared to Internet checksum

BCH Code Bose, Ray-Chaudhuri, Hocquenghem Most powerful cyclic code Multiple error correcting ability Ease of encoding and decoding Most powerful cyclic code For any positive integer m and t<2^(m-1), there exists a t-error correcting (n,k) code with n=2^m-1 and n-k<=mt. Industry standards (511, 493) BCH code in ITU-T. Rec. H.261 “video codec for audiovisual service at kbit/s” a video coding a standard used for video conferencing and video phone. (40, 32) BCH code in ATM (Asynchronous Transfer Mode)

BCH Performance

Reed-Solomon Codes An important subclass of non-binary BCH Wide range of applications Storage devices (tape, CD, DVD…) Wireless or mobile communication Satellite communication Digital television/Digital Video Broadcast(DVB) High-speed modems (ADSL, xDSL…)

1971: Mariner 9 Mariner 9 used a [32,6,16] Reed-Muller code to transmit its grey images of Mars. camera rate: 100,000 bits/second transmission speed: 16,000 bits/second

1979+: Voyagers I & II Voyagers I & II used a [24,12,8] Golay code to send its color images of Jupiter and Saturn. Voyager 2 traveled further to Uranus and Neptune. Because of the higher error rate it switched to the more robust Reed-Solomon code.

Modern Codes More recently Turbo codes were invented, which are used in 3G cell phones, (future) satellites, and in the Cassini- Huygens space probe [1997–]. Other modern codes: Fountain, Raptor, LT, online codes… Next, next class

Error Correcting Codes imperfectness of a given code as the difference between the code's required Eb/No to attain a given word error probability (Pw), and the minimum possible Eb/No required to attain the same Pw, as implied by the sphere-packing bound for codes with the same block size k and code rate r.