279 views

Uploaded by nqdinh

ERROR DETECTING, PARITY CHECK, VERTICAL AND HORIZONAL PARITY, CRC.

save

You are on page 1of 4

Nguyen Quoc Dinh

October 14, 2009

How do some error detection codes, namely, Horizontal and Vertical Party (HVP), and Cyclic Redundancy

Check (CRC) work. Which factors make CRC is widely used than HVP.

**1 Horizontal and Vertical Parity algorithm
**

The motivation of HVP algorithm comes from a single parity check bit.

A single parity check bit is the bit that is insert in to the end of a frame that make this frame contains

odd or even number of 1’s; this bit is called odd parity bit or even parity bit, respectively.

Horizontal and Vertical Parity algorithm dose not insert only 1 but many bits. Let’s consider a MxN

bits, we divide this frame into a matrix MxN, then plug-in a single parity check bit to each row and column

as Fig. 1.

Figure 1: Horizontal and vertical parity bits

Receiver of this frame will check the parity bit of each single column and row, if satisfying the old or

even rule, this frame, after reject the added parity bits, will be accepted as a desired frame.

**Probability of undetected error
**

Assume that each bit is independent, and gets its error probability error is q.

1

Figure 2: An undetected error case of HVP algorithm

This could be easy to find out that the Horizontal and Parity algorithm could accept a fault frame if

those are the even errors that make rectangular configuration, as Fig. 2.

Therefore, the probability of undetected error:

f oor(N/2) f loor(M/2)

X X N M 2i+2j

p= q (1 − q)N −2i)(M −2j) , (1)

i=1 j=1

2i 2j

in which, N is the number of row and M is number of column, 2*i and 2*j is the total number of error bits

on rows and columns respectively.

**2 Cyclic Redundancy Check
**

Although the HVP scheme may sometimes be decent, in practice, polynomial code method is widely used,

which is also known as CRC.

This algorithm treats all bit streams as binary polynomials; for example, 101011 has 6 bits and thus

represents a six-term polynomial x5 + x3 + x1 + x0 .

We define:

**- M the original frame to be transmitted, before adding the Frame Check Sequence (FCS). It is k bits
**

long.

- F the resulting FCS. It is n bits long.

- T the transmitted frame, the cascading of M and F. It is k + n bit long.

- P the predefined CRC Polynomial. It is n+1 bits.

**When getting the original frame (M), transmitter produce the FCS F. Then F would be connected in
**

T

series after the original frame M, makes T. The purpose of this process is that the FCS leads reminder of P

equals to 0 [1].

2

n

As [1], we get F = remainder( MPx ).

Receiver, after obtain frame T, follows 2 processes of the CRC scheme to check if this frame would be

accepted:

1. Divide it by P.

2. Check the reminder. If not zero then there is an error in the frame.

**As proved in [1], a polynomial code with n + 1 check bits will detect all burst errors of length ≤ n. In
**

case the burst length > n, the CRC could or could not detect error depend on certain generator polynomial

and kinds of error.

**The most commonly used generator polynomials [2]
**

CRC-12 1 + x + x2 + x3 + x11 + x12

CRC-16 1 + x2 + x15 + x16

CRC-CCITT 1 + x5 + x12 + x16

CRC-32 1 + x + x2 + x4 + x5 + x7 + x8 + x10 + x11 + x12 + x16 + x22 + x23 + x26 + x32

Example 1

Encode process, for transmitter.

In this example we will consider the standard CRC-12, i.e. we use the polynomial G(x) = 1 + x + x2 +

x3 + x11 + x12 for encoding. To encode the word 110110, we start by forming its corresponding polynomial

M (x) = x + x2 + x4 + x5 .

Since the degree of G(x) is n + 1 = 13, we have x12 M (x) = x12 (x + x2 + x4 + x5 ) = x13 + x14 + x16 + x17 .

Dividing this polynomial by G(x), x12 M (x) = (x2 + x5 )G(x) + (x2 + x3 + x4 + x6 + x7 + x8 ), thus the

remainder is F (x) = x2 + x3 + x4 + x6 + x7 + x8 .

Finally we get T (x) = x12 M (x) + F (x) = x2 + x3 + x4 + x6 + x7 + x8 + x13 + x14 + x16 + x17 , which gives

us the codeword 110110000111011100.

Example 2

Decode process, for receiver.

Suppose that we are using CRC-12 and that the words 111001111010110101 and 100000001001010101

have been received. These words correspond to the polynomials M1 (x) = 1 + x + x2 + x5 + x6 + x7 + x8 +

x10 + x12 + x13 + x15 + x17 and M2 (x) = 1 + x8 + x11 + x13 + x15 + x17 , respectively.

Dividing by G(x) = 1+x+x2 +x3 +x11 +x12 yields M1 (x) = (x+x4 +x5 )G(x)+(1+x3 +x5 +x6 +x7 +x10 )

and M2 (x) = (1 + x + x4 + x5 )G(x).

From this we see that M1 (x) is not divisible G(x), but M2 (x) is. Thus the first received word is not a

codeword but the second one is.

3

Advantage of CRC

The CRC method has its own advantages that make it is widely employed.

The relationship between the bits and the polynomials provide us some mathematical leverage that will

make it possible to prove facts about the sorts of errors. Therefore, error bound could be calculated.

While the computation of parity bits through polynomial division may seem rather complicated, im-

plement algorithm for computing CRC bits and/or verifying the correctness of the CRC associated with a

received message is very simple [3].

References

[1] Andrew S. Tanenbaum. Computer Networks. Prentice Hall, fourth edition, August 2002.

[2] http://en.wikipedia.org/wiki/Cyclic_redundancy_check.

[3] http://www3.rad.com/networks/1994/err_con/crc_how.htm.

4

- internship-alcatelUploaded byEnosnt Chaudhry
- Ubiquitous Computing and Communication Journal_203Uploaded byUsman Tariq
- AQA-COMP1-W-MS-JUN10Uploaded byArsalan Fotovat
- ASTM E1381-95Uploaded byAngelPenumbras
- A Painless Guide to CRC Error Detection AlgorithmsUploaded byva3ttn
- NETWORKING FUNDAMENTALSUploaded byVipul Garg
- RAID ConceptUploaded byAppalaraju Nandavarapu
- Codec 12 Protocol Description Ver 0.5Uploaded byanshul
- Temp Scanner-Modbus DetailsUploaded byGorakhnath Dagade
- uart1.pdfUploaded byAhmad Adel
- SIS List of Messages Error Codes v 8 0Uploaded byКари Иосифа
- Binary Decimal and HexadecimalUploaded byThiva
- MicroESystems Mercury3000Si Dual Axis Averager DataSheetUploaded byElectromate
- IEEE 802Uploaded bypriankush
- code_yes_noUploaded byasdf2222asdf
- ANT ASI4517R1 1862 DatasheetUploaded byTomás Villalba Lopez
- Delegate Registration Form - New DelhiUploaded byAnkit Yadav
- Schematic Iphone 4G.pdfUploaded byAdrian Arce
- Registration form IV FICAIJ.docxUploaded byExpresión Ixoye
- simple random samplingUploaded bySunilkumar Biswal
- 802.11Uploaded bycajaro
- Flexi WCDMA Mounting Manual (RUS)Uploaded byf3k4u2u6ol8z0d74aue
- NSN common commandUploaded byGaurav Mishra
- Reserch Paper VasUploaded byaarodoll
- Keyboard - c: Programa en C USB PIC18FUploaded byLuis Gonzales
- Huawei U2000 Commands.xlsUploaded byAmjad Hussain
- ErrataUploaded byzizo2xo
- Accessibility KPIs(07192012 0629)Uploaded byAli Ali
- Airtel PostpaidUploaded byBhupendra Varshney
- osiUploaded byMohammed Tahaakil

- Voice Recognition SystemUploaded bynqdinh
- Getting Started With Android Development for Embedded SystemsUploaded bynqdinh
- Experimental Performance Evaluation of Cryptographic Algorithm on SensorUploaded bynqdinh
- Kalman Filter for Sensor Signal ProcessingUploaded bynqdinh
- how to read a paperUploaded bynqdinh
- LED Reference Design CookbookUploaded bynqdinh
- 이광휘 창원대학교 컴퓨터공학과 Khlee@Changwon.ac.KrUploaded bynqdinh
- I2C GuidesUploaded bynqdinh
- Lab Exercices ModelerUploaded bynqdinh
- The Listings PackageUploaded bynqdinh
- GS Hoang Tuy - Giao Duc - Xin Cho Toi Noi ThangUploaded bynqdinh
- Data Network Repor 20090929Uploaded bynqdinh
- Raphael LaTeXUploaded bynqdinh
- Shark Attacks and the Poisson ApproximationUploaded bynqdinh
- Implementing a Voice Recognition System Based on DSP TMS320C2812Uploaded bynqdinh
- AVR200 Assembly NotesUploaded bynqdinh
- IntroToBibTeXUploaded bynqdinh
- 200v1 Schematic MonoUploaded bynqdinh
- Dimensions of 256V0_PCBUploaded bynqdinh
- 212v0_PCB_SchUploaded bynqdinh
- Port Allocation 256Uploaded bynqdinh
- 25_wpanUploaded bynqdinh
- 125 Cau Hoi Phong Van Tieng AnhUploaded bynqdinh
- Tap_1-Ly Thuyet Chung Ve Mo Phong Mang-Vntelecom.orgUploaded bynqdinh
- JED AVR256 With Atmel At Mega 2560 CPUUploaded bynqdinh
- 200v1 Schematic ColourUploaded bynqdinh
- Bits of 200v1_PCBUploaded bynqdinh
- AVR200 Project Single Board ComputerUploaded bynqdinh
- 210v0_PCB_SchUploaded bynqdinh

- CCNA 1 – Mod02-ancho de bandaUploaded byChayanne Rusber Huaranca Hualpa
- Ospf Neighbor States Explained With ExampleUploaded byMark Brown
- 23041-340Uploaded bysantanamero
- Sockets y EjerciciosUploaded byElias Alistac Flores
- TCPDUMP Quick ReferenceUploaded bybashwork
- Synchronous Digital Hierarchy_SDHUploaded bychuzlink2003
- Underdstanding SBCUploaded byvikaschandrakar
- Sample CLI Commands to Use for Triage on McData Sphereon and IntrepidUploaded byrejnan
- ActualTests - Exam 642-321 - Cisco Optical SDH Exam (24 Pages) - EnglishUploaded byAman Singh
- 4448Uploaded bySunil Pillai
- l 0947075Uploaded byInternational Organization of Scientific Research (IOSR)
- Firewall Best Practices to Block RansomwareUploaded byUsman Ghani
- practicas 1.3.4 , 1.4.4 y 1.4.5Uploaded byjohanna
- tr_101290v010201pUploaded byAndreas_HB
- EE 471-CS471-CS573 Computer Networks-Zartash AfzalUploaded bySahrish Jaleel Shaikh
- 3Com 4210 CLI GuideUploaded byamara
- Production TechnologyUploaded byLize-Marie Geldenhuys
- TSHOOT 8Uploaded bytestingcracks
- T-REC-G.8260-201508-I!!PDF-EUploaded bygcarreong
- LTE and Comparison With HSPAUploaded byfrancisco
- HX VNO OverviewUploaded byMas Sarwar
- SP_Web_QIG_TEW-652BRP(2.01)_061809Uploaded bydferlema
- Proxy Transparente + NAT en FreeBSDUploaded byaalejosd
- Installation Guide at-8000Uploaded byPepe Popo
- Pensum St ItUploaded byFernando Toro
- How to Site2site With Safe@ FortinetUploaded bySocial Club
- Acceso al Medio.pptxUploaded bypolcalapucha
- Redes Locais Industriais 30hUploaded byAbi Kuiy
- DHCPUploaded byMajid Mehmood Syed
- Proyecto WirelessUploaded byYOSOYCVV