Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques

Similar documents
PART III. Data Link Layer MGH T MGH C I 204

(Refer Slide Time: 2:20)

Lecture 2 Error Detection & Correction. Types of Errors Detection Correction

4. Error correction and link control. Contents

LECTURE #34. Data Communication (CS601)

COMPUTER NETWORKS UNIT I. 1. What are the three criteria necessary for an effective and efficient networks?

Chapter 10 Error Detection and Correction. Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

CS254 Network Technologies. Lecture 2: Network Models & Error Detection and Correction. Dr Nikos Antonopoulos

Ch. 7 Error Detection and Correction

SRI RAMAKRISHNA INSTITUTE OF TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY COMPUTER NETWORKS UNIT - II DATA LINK LAYER

Error Correction and Detection using Cyclic Redundancy Check

CS321: Computer Networks Error Detection and Correction

MYcsvtu Notes DATA REPRESENTATION. Data Types. Complements. Fixed Point Representations. Floating Point Representations. Other Binary Codes

DATA LINK LAYER UNIT 7.

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

Chapter Six. Errors, Error Detection, and Error Control. Data Communications and Computer Networks: A Business User s Approach Seventh Edition

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

Design and Implementation of Hamming Code on FPGA using Verilog

UNIT-II 1. Discuss the issues in the data link layer. Answer:

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Lecture 6: Reliable Transmission. CSE 123: Computer Networks Alex Snoeren (guest lecture) Alex Sn

Data Link Layer. Srinidhi Varadarajan

Chapter 10 Error Detection and Correction 10.1

Data Link Networks. Hardware Building Blocks. Nodes & Links. CS565 Data Link Networks 1

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer

A High Performance CRC Checker for Ethernet Application

The data link layer has a number of specific functions it can carry out. These functions include. Figure 2-1. Relationship between packets and frames.

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 4. September 09 CMSC417 Set 4 1

Chapter 6 Digital Data Communications Techniques

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Telecom Systems Chae Y. Lee. Contents. Flow Control Error Detection/Correction Link Control (Error Control) Link Performance (Utility)

Design and Implementation of Hamming Code using VHDL & DSCH

High Level View. EE 122: Error detection and reliable transmission. Overview. Error Detection

Transmission SIGNALs

Inst: Chris Davison

CSE 123: Computer Networks

EE 122: Error detection and reliable transmission. Ion Stoica September 16, 2002

I. INTRODUCTION. each station (i.e., computer, telephone, etc.) directly connected to all other stations

CSE 123A Computer Networks

CMSC 2833 Lecture 18. Parity Add a bit to make the number of ones (1s) transmitted odd.

Data Link Layer (part 2)

A Novel Approach for Error Detection using Double Redundancy Check

COMPUTER NETWORKS UNIT-3

Some portions courtesy Robin Kravets and Steve Lumetta

Majority Logic Decoding Of Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Fault Tolerance & Reliability CDA Chapter 2 Additional Interesting Codes

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Lecture 5. Homework 2 posted, due September 15. Reminder: Homework 1 due today. Questions? Thursday, September 8 CS 475 Networks - Lecture 5 1

Review of Number Systems

3. Data Link Layer 3-2

Performance Optimization of HVD: An Error Detection and Correction Code

Link layer, LANs: outline. Chapter 5-1 Link Layer. Link layer: introduction. Link layer services

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due Thursday!

CSN Telecommunications. 5: Error Coding. Data, Audio, Video and Images Prof Bill Buchanan

FAULT TOLERANT SYSTEMS

2.4 Error Detection Bit errors in a frame will occur. How do we detect (and then. (or both) frames contains an error. This is inefficient (and not

Data link layer functions. 2 Computer Networks Data Communications. Framing (1) Framing (2) Parity Checking (1) Error Detection

TYPES OF ERRORS. Data can be corrupted during transmission. Some applications require that errors be detected and corrected.

Error Detection And Correction

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. Nov 1,

Communication Fundamentals in Computer Networks

Lecture 5: Data Link Layer Basics

Computer and Network Security

Link Layer: Error detection and correction

Error Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check.

Chapter 3. The Data Link Layer

Data Link Control. Surasak Sanguanpong Last updated: 11 July 2000

Implementing CRCCs. Introduction. in Altera Devices

Digital Fundamentals

CSE 461: Framing, Error Detection and Correction

Performance Evaluation & Design Methodologies for Automated CRC Checking for 32 bit address Using HDLC Block

Links. CS125 - mylinks 1 1/22/14

Introduction to Computer Networks. 03 Data Link Layer Introduction

Error Correcting Codes

CSEP 561 Error detection & correction. David Wetherall

The MAC Address Format

Basic Communication Concepts

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16

ISO/OSI Reference Model. Data Link Layer. 7. Application. 6. Presentation. 5. Session. 4. Transport. 3. Network. 2. Data Link. 1.

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 7

Design of Convolutional Codes for varying Constraint Lengths

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1

IMPLEMENTATION OF DATA ENCODING AND DECODING IN ARM BOARDS WITH QOS PARAMETERS

Point-to-Point Links. Outline Encoding Framing Error Detection Sliding Window Algorithm. Fall 2004 CS 691 1

Lecture / The Data Link Layer: Framing and Error Detection

CHAPTER 2 Data Representation in Computer Systems

Viterbi Algorithm for error detection and correction

Comparative Performance Analysis of Block and Convolution Codes

CHAPTER 2 Data Representation in Computer Systems

ELEC 691X/498X Broadcast Signal Transmission Winter 2018

Design and Implementation of Low Density Parity Check Codes

CS 4453 Computer Networks Winter

FORWARD ERROR CORRECTION CODING TECHNIQUES FOR RELIABLE COMMUNICATION SYSTEMS

)454 6 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU

Data Link Layer. Learning Objectives. Position of the data-link layer. MCA 207, Data Communication & Networking

INPUT TO (TM/TC) CHANNEL CODING GREEN BOOK(s) AS DISCUSSED AT THE MEETING IN CRYSTAL CITY, VA (USA) on 12 March Frame Error Control Field

ECE 333: Introduction to Communication Networks Fall Lecture 6: Data Link Layer II

Data Link Layer Overview

Introduction to Data Communications & Networking


Transcription:

International Journal of Pure and Applied Mathematical Sciences. ISSN 0972-9828 Volume 9, Number 2 (2016), pp. 183-190 Research India Publications http://www.ripublication.com Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques 1 Ajeet Kumar Singh and 1 Shefali Kapoor 1 Department of Mathematics, Lingaya s University, Faridabad, 121002, India. Email: Email:ajeetsingh325@gmail.com, shefalikapoor88@gmail.com Abstract The Objective of this paper is to demonstrate the application of Mathematical Algebraic Coding Techniques in quest of achieving Reliable Digital Data Communication Systems. Environmental interference and physical defects in any digital data communication system can cause random bit errors during data transmission. As the signal is transmitted through a communication system, the signal gets corrupted because of noise and distortion. In another words, the communication system may not be reliable due to the aforesaid reasons. Keywords: Algebraic coding techniques, Digital communication system, Communication channel, Error coding, Simple Parity Check, Two Dimensional Parity Check, Checksum, Cycle Redundancy Check. INTRODUCTION To achieve a reliable digital data communication system, there is a need for not only detecting the errors but also have a suitable mechanism that can correct the errors detected. In a digital communication system, the message signal to be transmitted is in digital form. The overall purpose of a digital communication system is to transmit the message or sequences of symbols coming out of a source to a destination point at as high a rate and accuracy as possible. Source and the destination point are physically separated in space and a communication channel connects the source to the destination point. For an overview of a digital communication system, we can have a look at a typical model of digital communication system, depicted below in figure 1.

184 Ajeet Kumar Singh and Shefali Kapoor Figure 1: Model of a Digital Communication System The communication channel accepts electrical (i.e. electromagnetic) signals and the output of the channel is usually a smeared or distorted version of the input due to the non-ideal nature of the Communication channel and the information-bearing signal being corrupted by unpredictable electrical signals (i.e. noise) from both man-made and natural causes. Thus, the smearing and the noise introduce errors in the information being transmitted. In this paper, we demonstrate how the techniques of Mathematical Algebraic Coding for detecting and correcting errors, are applied for ensuring that information transferred is error free & reliable. ERROR CODING Error coding uses mathematical formulas to encode data bits at the source into longer bit words for transmission. The Code word can then be decoded at the destination to retrieve the information. The extra bits in the code word provide redundancy that, according to the coding scheme, used will allow the destination to use the decoding process to determine if the communication medium introduced errors and in some cases correct them so that the data need not be retransmitted. Faster processors and better communications technology make more complex coding schemes, with better error detecting and correcting capabilities, possible for smaller embedded systems, allowing for more robust communications. However, trade-offs between bandwidth and coding overhead coding complexity and allowable coding delay between transmissions must be considered for each application.

Achieving Reliable Digital Data Communication through Mathematical 185 How Errors Are Recognised & Corrected? Even if we know what type of errors can occurs, we can t simply recognize them without analysis. We can do this simply by comparing this copy received with another copy of intended transmission. In this mechanism the source data block is sent twice. The receiver compares them with the help of a comparator and if those two blocks differ, a request for re- transmission is made. To achieve forward error correction, these sets of the same data block are sent and majority decision selects the correct block. Strategies for Dealing with Errors? These are two basic strategies for dealing with errors. One way is to include enough redundant information (extra bits are introduced into the data stream at the transmitter on a regular and logical basis) along with each block of data sent to enable the receiver to deduce what the transmitted character must have been. The other way is to include only enough redundancy to allow the receiver to deduce that error has occurred but not which error has occurred and receiver asks for a retransmission. The former strategy uses Error Correcting code and latter uses Error Detecting code. ERRORS DETECTING TECHNIQUES Basic approach used for error detection is the use of redundancy, where additional bits are added to facilitate detection and connection of error. Popular techniques of error detecting are as follows. Simple Parity Check Two Dimensional Parity Check Checksum Cycle Redundancy Check One Dimensional Parity Check or Simple Parity Checking: The most common and least expensive mechanism for error-detection is the simple parity check. In this technique, a redundant bit called parity bit, is appended to every data unit so that the number of in the unit (including the parity becomes even). Blocks of data from the source are subjected to a check bit or parity bit generator form, where a parity of 1 is added to the block if it contains an odd number of 1 ss is ( on bits) and 0 is added if it contains an even number of 1 s. At the receiving end the parity bit is computed from the received data bits and company with the received parity bit.

186 Ajeet Kumar Singh and Shefali Kapoor This scheme makes the total number of 1 s even, that is why it is called even parity checking. It is also possible to use odd parity checking, where the number of 1 s should be odd. Two Dimensional Parity Check: Performance can be improved by using two - dimensional parity check, which organizes the block of bits in the form of a table. Parity check bits are calculated for each row, which is equivalent to a simple parity check bit. Parity check bits are also calculated for all columns then both are sent along with the data. At the receiving end these are compared with the parity bits calculated on the received data. Two Dimension parity checking increases the likelihood of detecting burst errors. 2-D parity check of n bits can detect a burst error of n bits. A burst error of more than n bits is also detected by 2-D Parity check with a high probability. Checksum: In checksum error detection scheme, the data is decided into k segments each of m bits. In the sender s end, the segments are added using 1 s complement arithmetic to get the sum. The sum is complemented to get the checksum. The checksum segment is sent along with the data segments. At the receiver s end, all received segments are added using 1 s complement arithmetic to get the sum. The sum complemented. If the result is zero, the received data sis accepted, otherwise discarded. The checksum detects all errors involving an odd number of bits. It also detects most errors involving even number of bits. Cyclic Redundancy Checks (CRC): This cyclic Redundancy check is the most powerful and easy to implement technique. Unlike checksum scheme, which is based on addition, CRC is based on binary division. In CRC, a sequence of redundant bits, called cyclic redundancy check bits, are appended to the end of data unit so that the resulting data unit becomes exactly divisible by a second, predetermined binary number. At the destination, the incoming data unit is divided by the same number. If at this step there is no remainder, the data unit is assumed to be correct and is therefore accepted. A remainder indicates that the data unit has been damaged in transit and therefore must be rejected. The generalized technique can be explained as follows. If a k bit message is to be transmitted, the transmitter generates an r-bit sequence, known as Frame Check Sequence (FCS) so that the (k+r) bits are actually being transmitted. Now this r-bit FCS is generated by dividing the original number, appended by r zeros, by a predetermined number. This numbers, which is (r+1) bit in length, can also be considered as the coefficients of a polynomial, called Generator Polynomial. The remainder of this division process generates the r-bit FCS. On receiving the packet, the receiver divides the (k +r) bit frame by the same predetermined number and if it produces no remainder, it can be assumed that no error has occurred during the transmission.

Achieving Reliable Digital Data Communication through Mathematical 187 The transmitter can generate the CRC by using a feedback shift register circuit. The same circuit can also be used at the receiving end to check whether any error has occurred. All the values can be expressed as polynomial of a dummy variable X. For example, for P = 11001 the corresponding polynomial is X 4 + X 3 +1. A polynomial is selected to have at least the following properties: It should not be divisible by X. It should not be divisible by (X+1) The first condition guarantees that all burst errors of a length equal to the degree of polynomial are detected. The second condition guarantees that all burst errors affecting an odd number of bits are detected. C RC process can be expressed as: X n M (X) / P (X) = Q (X) +R (X) / P (X) Commonly used divisor polynomials are: CRC 16 = X 16 +X 15 +X 2 +1 CRC CCITT= X 16 +X 12 +X 5 +1 CRC- 32 = X 32 +X 26 +X 23 +1 X 22 +X 16 +X 12 + X 11 +X 10 +X 8 + X 7 +X 5 +X 4 + X 2 +1 Performance of CRC: CRC is a very effective error detection technique. If the divisor is chosen according to the previously mentioned rules, its performance can be summarized as follows. CRC can detect all single bit errors CRC on detect all double bit errors CRC can detect all burst errors of less than the degree of the polynomial. CRC detect most of the larger burst errors with a high probability. How Is Error Correction Handled? Backward Error Correction: o One is when an error is discovered the receiver can have the sender retransmit the entire data unit. o This is known as backward error correction. Forward Error Correction: In the other receiver can use an errors correcting code, which automatically corrects certain errors this is known as forward error correction. In theory, it is possible to correct any number of errors atomically. Errors correcting codes are more sophisticated than error detecting codes and require more redundant bits. The number of bits required to correct multiple-bit or

188 Ajeet Kumar Singh and Shefali Kapoor burst error is so high that in most of the cases it is inefficient to do so. For this reason, most error correction is limited to one, two or at the most three-bit errors. Understanding Error Correction: Concept of error correction can be easily understood by examining the simplest case of single - bit errors. As we have already seen that a single-bit error can be detected by addition of a parity bit (VRC) with the data which needed to be sent. A single additional bit can detect error, but it is not sufficient enough to correct that error too. For correcting an error one has to know the exact position of error, i.e. exactly which bit is in error (to locate the invalid bits). For example to correct a single bit error in an ASCII character, the error correction must determine which one of the seven bit is in error. To this, we have to add some additional redundant bits. To calculate the numbers of redundant bits (r) required to correct d data bits, let us find out the relationship between the two, so we have (d+r) as the total number of bets, which are to be transmitted, then r must be able to indicate at least (d+r+1) different values. Of these, one value means error and remaining (d+r) values indicates error location of error in each of (d+r) locations. So, (d+r+1) states must be distinguishable by r bits and r bits can indicates 2 r states. Hence, 2 r must be greater than (d+r +1) i.e. 2 r d+r+1 The value of r must be determined by putting in the value of d in the relation. For example, if d is 7, then the smallest value of r that satisfies the above relation is 4. So the total bits, which are to be transmitted is 11 bits (d+r = 7+4=11). Use of Hamming Code For Error Correction: We can manipulate the bits to discover which bit is in error. A technique developed by R.W. Hamming provides a practical solution. The solution or coding scheme he developed is commonly known as Hamming Code. Hamming Code can be applied to data units of any length and uses the relationship between the data bits and redundant bits. Basic approach for error detection by using Hamming Code is as follows: To each group of m information bits k parity are added to form (m+k) bit code. Location of each of the (m+k) digits is assigned a decimal value. The k parity bits are placed in positions 1,2,.2 k-1 positions, k parity checks are performed on selected digits of each code word. At the receiving end the parity bits are recalculated. The decimal value of the k parity bits provides the bit- position in error, if any.

Achieving Reliable Digital Data Communication through Mathematical 189 CONCLUSION From the foregoing, we can conclude that the application of techniques of Mathematical Algebraic Coding is indispensable for achieving Reliability in all forms of digital data communication like satellite and deep space communications, network communication, cellular telephonic networks, to name a few. Thus, we have demonstrated the critical role played by the various techniques of Mathematical Algebraic Coding Theory in the quest for achieving Reliable Digital Data Communication. REFERENCES [1] Y. Akwaiwa and Y.Nagata, Highly efficient digital mobile communications with a linear modulation method, IEEE journal on selected areas in communication, Vol. SAC-5, pp.890-895, 1987. [2] R.W Chang, Synthesis of band-limited orthogonal signals for multichannel data transmission, Bell system Tech.J., vol.45, pp. 1775-1796, 1996. [3] R.C. Bose and D.K. Ray Chaudhari, On a class of error correcting binary group codes, Information and control, vol.3, pp. 68-79, 1960. [4] J.Adamek, Foundations of Coding (New York: Wiley, 1991). [5] N. Abramson, Information Theory and Coding (New York: McGraw-Hill, 1963). [6] J.B.Anderson and S.Mohan, Source and Channel Coding: An Algorithm Approach (Boston, Mass: Kluwer Academic,1991). [7] J.B. Anderson, Digital Transmission Engineering (Piscataway, N.J.: IEEE Press,1999). [8] R.B.Ash, Information Theory (New York: Wiley, 1965). [9] E.R. Berlekamp, Algebraic Coding Theory (New York: McGraw-Hill, 1968). [10] R.E.Blahut, Digital Transmissions of Information (Reading, Mass.: Addison- Wesley,1990). [11] Y.Akaiwa, Introduction to Digital Mobile Communication.(New York: Wiley, 1997). [12] G.D.Forney, M.V.Eyuboglu, Combined equalization and coding using precoding, IEEE Communications Magazine, Vol.29, no. 12, pp.25-34, 1991. [13] J.P.Costas, Poisson, Shannon and the radio amateur, Proceedings of the IRE, Vol.47, pp.2058-2068, 1959. [14] V.K. Bharagava, Forward error correction schemes for digital communications, IEEE Communications Magazine, vol.21, no.1, pp. 11-19, 1983. [15] C.E.Shannon, A mathematical theory of communication, Bell System Tech.J., vol.27, pp.379-423, 623-656,1948.

190 Ajeet Kumar Singh and Shefali Kapoor [16] M.J.E Golay, Note on digital coding, Proceedings of the IRE, vol.37, p.657, 1949 [17] D.J.C Mackay, Good error-correcting codes based on very sparse matrices, IEEE Transactions on Information Theory, vol. 45, pp. 399-431, 1999. [18] I.M Jacobs, Practical applications of coding, IEEE Transactions on Information Theory, vol. IT-20, pp.305-310, 1974. [19] T.A.Welch, A technique of high performance data compression, Computer, vol.17, no.6, pp.8-19, 1984. [20] B. Sklar, A primer on turbo code concepts, IEEE Communications Magazine, vol.35, pp. 94-102, December 1997.