Error Detection and Correction

Similar documents
Lecture 3 Data Link Layer - Digital Data Communication Techniques

DIGITAL DATA COMMUNICATION TECHNIQUES

Error Detection and Correction

Physical-Layer Services and Systems

Chapter 10 Error Detection and Correction 10.1

Data and Computer Communications

Datacommunication I. Layers of the OSI-model. Lecture 3. signal encoding, error detection/correction

Lecture 6: Reliable Transmission"

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 9: Error Control Coding

Introduction to Coding Theory

Revision of Lecture Eleven

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

The idea of similarity is through the Hamming

BSc (Hons) Computer Science with Network Security, BEng (Hons) Electronic Engineering. Cohorts: BCNS/17A/FT & BEE/16B/FT

Wireless Communications

16.36 Communication Systems Engineering

Error Protection: Detection and Correction

Digital Communication Systems ECS 452

Intuitive Guide to Principles of Communications By Charan Langton Coding Concepts and Block Coding

Digital Data Communication Techniques

6. FUNDAMENTALS OF CHANNEL CODER

Error Detection and Correction: Parity Check Code; Bounds Based on Hamming Distance

Computer Networks. Week 03 Founda(on Communica(on Concepts. College of Information Science and Engineering Ritsumeikan University

King Fahd University of Petroleum & Minerals Computer Engineering Dept

CSC344 Wireless and Mobile Computing. Department of Computer Science COMSATS Institute of Information Technology

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

Channel Coding/Decoding. Hamming Method

Basics of Error Correcting Codes

SYNTHESIS OF CYCLIC ENCODER AND DECODER FOR HIGH SPEED NETWORKS

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1

Exercises to Chapter 2 solutions

Part 3 of the book is devoted to the data link layer and the services provided by this layer.

Volume 2, Issue 9, September 2014 International Journal of Advance Research in Computer Science and Management Studies

Error-Correcting Codes

2018/11/1 Thursday. YU Xiangyu

Detecting and Correcting Bit Errors. COS 463: Wireless Networks Lecture 8 Kyle Jamieson

Department of Computer Science and Engineering. CSE 3213: Communication Networks (Fall 2015) Instructor: N. Vlajic Date: Dec 13, 2015

Computer Science 1001.py. Lecture 25 : Intro to Error Correction and Detection Codes

Outline. EECS 122, Lecture 6. Error Control Overview Where are Codes Used? Error Control Overview. Error Control Strategies ARQ versus FEC

Digital Television Lecture 5

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

CS601 Data Communication Solved Objective For Midterm Exam Preparation

Synchronization of Hamming Codes

Spread Spectrum. Chapter 18. FHSS Frequency Hopping Spread Spectrum DSSS Direct Sequence Spread Spectrum DSSS using CDMA Code Division Multiple Access

The ternary alphabet is used by alternate mark inversion modulation; successive ones in data are represented by alternating ±1.

CS601-Data Communication Latest Solved Mcqs from Midterm Papers

BSc (Hons) Computer Science with Network Security BEng (Hons) Electronic Engineering

Digital to Digital Encoding

EE521 Analog and Digital Communications

High-Rate Non-Binary Product Codes

Gates and Circuits 1

Digital Transmission using SECC Spring 2010 Lecture #7. (n,k,d) Systematic Block Codes. How many parity bits to use?

Layering and Controlling Errors

Error Correction with Hamming Codes

MATHEMATICS IN COMMUNICATIONS: INTRODUCTION TO CODING. A Public Lecture to the Uganda Mathematics Society

This Figure here illustrates the operation for a 2-input OR gate for all four possible input combinations.

Performance of Reed-Solomon Codes in AWGN Channel

Implementation of Reed-Solomon RS(255,239) Code

Lab/Project Error Control Coding using LDPC Codes and HARQ

EXPERIMENT 1: Amplitude Shift Keying (ASK)

Channel Coding RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

Hardware Implementation of BCH Error-Correcting Codes on a FPGA

and coding (a.k.a. communication theory) Signals and functions Elementary operation of communication: send signal on

QUIZ : oversubscription

OSI Reference Model. Application Layer. Presentation Layer. Session Layer. Chapter 4: Application Protocols. Transport Layer.

A Novel Approach for Error Detection Using Additive Redundancy Check

Intro to coding and convolutional codes

NETWORKS FOR EMBEDDED SYSTEMS. (Data Communications and Applications to Automotive)

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

ROM/UDF CPU I/O I/O I/O RAM

Performance of Combined Error Correction and Error Detection for very Short Block Length Codes

IMPERIAL COLLEGE of SCIENCE, TECHNOLOGY and MEDICINE, DEPARTMENT of ELECTRICAL and ELECTRONIC ENGINEERING.

Design High speed Reed Solomon Decoder on FPGA

Link State Routing. Brad Karp UCL Computer Science. CS 3035/GZ01 3 rd December 2013

APPLICATION BULLETIN. SERIAL BACKGROUNDER (Serial 101) AB23-1. ICS ICS ELECTRONICS division of Systems West Inc. INTRODUCTION CHAPTER 2 - DATA FORMAT

Residual Channel Coding in Low-Power WSNs Using Minimum Hamming Distance Decoder

Introduction (concepts and definitions)

The throughput analysis of different IR-HARQ schemes based on fountain codes

DATA COMMUNICATION (CS601) FINAL TERM MEGA FILE

Hamming Codes and Decoding Methods

Laboratory Manual CS (P) Digital Systems Lab

LOGIC DIAGRAM: HALF ADDER TRUTH TABLE: A B CARRY SUM. 2012/ODD/III/ECE/DE/LM Page No. 1

4th Grade Mathematics Mathematics CC

Chapter 10 Error Detection and Correction

RADIO SYSTEMS ETIN15. Channel Coding. Ove Edfors, Department of Electrical and Information Technology

)454 6 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU

Outline. Communications Engineering 1

Error Patterns in Belief Propagation Decoding of Polar Codes and Their Mitigation Methods

Block code Encoder. In some applications, message bits come in serially rather than in large blocks. WY Tam - EIE POLYU

Number system: the system used to count discrete units is called number. Decimal system: the number system that contains 10 distinguished

Forward Error Correction for experimental wireless ftp radio link over analog FM

Logic diagram: a graphical representation of a circuit

Introduction to Error Control Coding

Chapter 1 Coding for Reliable Digital Transmission and Storage

Page 1. Outline. Basic Idea. Hamming Distance. Hamming Distance Visual: HD=2

Lec 19 Error and Loss Control I: FEC

SRV ENGINEERING COLLEGE SEMBODAI RUKMANI VARATHARAJAN ENGINEERING COLLEGE SEMBODAI

BSc (Hons) Computer Science with Network Security. Examinations for Semester 1

Study of Undetected Error Probability of BCH codes for MTTFPA analysis

Medium Access Control. Wireless Networks: Guevara Noubir. Slides adapted from Mobile Communications by J. Schiller

Transcription:

Error Detection and Correction - 03.03.2006 Hari Krishna Vemuri 1 Debapriya Chatterjee 2 1 03CS1016 {hvemuri@iitkgp.ac.in} 2 03CS1017 { dpcathell@gmail.com } I. CRC continued.. A. Mathematics behind constructing a CRC checksum generating/checking circuit...digital logic The CRC process can be represented by and indeed implemented as a dividing circuit consisting of XOR gates and a shift register for P (X) = n k i=0 A ix i with A 0 = A n k = 1 The circuit is implemented as follows... 1. The register contains n-k bits equal to the length of the FCS 2. There are upto n-k XOR gates 3. The presence or absence of a gate corresponds to the presence or absence of a term in the divisor polynomial,p (X),excluding the terms 1 and X n k The architecture of a CRC circuit is best explained by first considering an example which is illustrated in figure 2 In this example we use Fig. 1. General circuit for CRC checksum generation or checking: means XOR means AND

Fig. 2. Case study circuit for CRC checksum generation or checking: means XOR Data D=1010001101 D(X) = X 9 + X 7 + X 3 + X 2 + 1 Divisor P=110101 P (X) = X 5 + X 4 + X 2 + 1 Figure 2(a) shows the shift register implementation. The process begins with the shift register cleared (all zeros). The message,or dividend, is then entered,one bit at a time,starting with the most significant bit. Figure 2(b) shows the step by step operation as the input is applied one bit a time.each row of the table shows the value that is currently stored in the five shift register elements.in addition the row shows the values that appear at the outputs of the three XOR circuits.finally the row shows the value of the next input bit,which is available for the operation of the next step. Note that the XOR operation affects C 4,C 2 and C 0 on the next shift This is identical to the binary long division shown in figure 3.The process continues for all the bits in the message. To produce the proper output two switches are used. The input data is fed with both switches in A position.as a result,for the first 10 steps the input bits are fed into the shift register and also used as output bits. After the last data bit is processed, the shift register contains the remainder (FCS) (shown shaded). As soon as the last data bit is provided to the shift register both switches go to B position. This has two effects: (1) all the XOR gates become simple pass throughs; no bits are changed (2)as the shifting process continues the 5 CRC bits are output. At the receiver same logic is used. As each bit of M arrives, it is inserted into the shift register. If there have been no errors, the shift register should contain the bit pattern for R at the conclusion of M. The transmitted bits of R now begin to arrive, and the effect is to zero out the register. B. Advantages of CRC 1. Designer specification Think of the parity bit checking where we did not have any designer specific choice,but here we have 2

Fig. 3. The circuit actually simulates this division..give it a thought you can understand the advantage of vast mathematical knowledge of analysis and also Linear algebra based synthesis tools so that given a certain error domain and error detection scheme we can arrive at an appropriate CRC code customized for the purpose in hand. 2. Already proved features CRC has some mathematically established features which makes it ideal for use in cases with moderate error rates, to list a few of them... (a) All single bit errors are detectable if P (X) has more than one nonzero term (b) All double bit errors are detectable as long as P(X) has a factor with 3 terms C. Examples of CRC in use Three of the very popular CRC codes in use.. CRC-12 P (X) = X 12 + X 11 + X 3 + X 2 + X + 1 CRC-16 P (X) = X 16 + X 15 + X 2 + 1 CRC-32 P (X) = X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 II. Error correction codes A. Error correction basics In a general error correcting model the four possiblities are 1. No error 2. Error detected and corrected 3. Error detected but not corrected 4. Error undetected 3

Fig. 4. Error correction process Fig. 5. 2 k valid codes in n bit codeword sphere and their hamming distance relations Error correction is preferred in cases where retransmission of packets is best avoided. B. Hamming codes Block codes are examples of error correction codes, all of them are based on the idea of Hamming distance. To begin, We define Hamming distance d(v 1, v 2 ) between two n bit binary sequences v 1 and v 2 as the number of bits where v 1 and v 2 disagree. The philosophy behind hamming codes is that given a k bit data vector v d we use a mapping f to map it to the n bit domain to be specific a n bit code vector v c with n > k, v c = f(v d ), i.e 2 k valid codewords are possible among all possible 2 n code words. Now for a code consisting of the codewords w 1, w 2,..., w s,where s = 2 k the minimum hamming distance d min is defined as d min = min i j d(w i, w j ) which can also be interpreted as the distance between two valid codes in the codeword sphere of n dimensional space, this visualization quickly helps us to understand that... 4

Fig. 6. Point to point topology and Multi point topology Fig. 7. Data Communications Interfacing 1. upto t = d min 1 bits of error can be detected 2. upto t = d min 1 2 bits of error can be corrected III. Line configurations A. Topology 1. Point to point : Impractical after certain level of comlexity 2. Multipoint : Like polling B. Duplexity 1. Full duplex : Frequency difference in wireless, twisted wire in wired 2. Half duplex : can cause confusion IV. Interfacing 1. DTE : Data Transmission Equipment 2. DCE : Data Circuit-terminating Equipment 1. Mechanical : Male-Female connection 2. Electrical : Same code, Same voltage levels,same duration of signals 3. Functional : Data signal / Control signal 5

4. Procedural : Asynchronous ( Request to send, Request to clear ) 6