Implementation and Performance Analysis of Two Error Detection and Correction Techniques: CRC and Hamming Code

Implementation and Performance Analysis of Two Error Detection and Correction Techniques: CRC and Hamming Code

Swati Chaturvedi (California State University, Fresno, CA, USA), Sukrut Pasumarthi (California State University, Fresno, CA, USA) and Nan Wang (California State University, Fresno, CA, USA)
DOI: 10.4018/IJITN.2018010103

Abstract

In computer communication and telecommunication applications, error detection and correction techniques must be employed to ensure a reliable data transmission from the source to the destination. Two of the most prevailing techniques, Cyclic Redundancy Check (CRC) detection and Hamming code correction, are implemented and analyzed. The CRC method picks up prominence because it joins three focal points: extraordinary blunder identification capacities, minimal overhead, and simplicity of usage. Moreover, both the CRC and Hamming code are binary linear codes. However, one significant difference is that Hamming code only works on data of some fixed size (depending on the Hamming code used), whereas CRC is a convolution code that works on data of any size. In this paper, the authors will show how CRC helps in removing errors by passing three distorted signals and using CRC to receive the signal error free in the MATLAB environment.
Article Preview

Several existing error detection and correction schemes are discussed as follows.

2.1. Parity Bit Codes

Parity bit codes are very simple schemes that can be used to detect single or odd numbers (i.e., three, five, etc.) of errors in the output. An even number of flipped bits will make the parity bit appear correct.

2.2. Hamming Codes

Hamming codes are a set of error-correction codes that detect and correct bit errors that happen while moving or storing computer data. The most widely recognized types of error detection codes utilized as a part of RAM depend on the codes contrived by R. W. Hamming. In the Hamming code, k equality bits are added to an n-bit information word, framing another expression of nk bits. The bit positions are numbered in arrangement from 1 to nk. Those positions numbered with powers of two are saved for the equality bits. The rest of the bits are the information bits. The code can be utilized with expressions of any length (Ma, Yu, Zhang, & Cheng, 2015).

The basic Hamming code can detect and correct an error on just a single bit. When multiple bit errors are detected, they are erroneously corrected as single bit errors. By adding another parity bit to the coded word, the Hamming code can be used to correct a single error and detect double errors.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 11: 4 Issues (2019): 1 Released, 3 Forthcoming
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing