Cyclic Codes

May 29, 2018 | Author: amit mahajan | Category: Polynomial, Code, Error Detection And Correction, Discrete Mathematics, Applied Mathematics
Share Embed Donate


Short Description

Download Cyclic Codes...

Description

CYCLIC CODES

By :Er. Amit Mahajan

CYCLIC



CODES

Definition:

 An (n (n, k) linear code C  C is is called a cyclic code if every cyclic shift of a code  vector in C  C is is also a code vector  Codewords can be represented as polynomials of degree n. For a cyclic code all codewords are multiple of some polynomial g( X ) modulo X  modulo X n+1 such that g( X ) divides X  divides X n+1. g( X ) is called the generator polynomial. 



Examples:

Hamming codes, Golay Codes, BCH codes, RS codes  BCH codes were independently discovered by Hocquenghem (1959) and  by Bose and Chaudhuri (1960)  Reed-Solomon codes (non-binary BCH codes) were w ere independently  introduced by Reed-Solomon 

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 

registers. • Many practically important codes are cyclic.

Notations k = Number of binary digits in i n the message before encoding n = Number of binary digits in the encoded message n – k = r = number of check bits n





Basic properties of Cyclic codes: 

Let C be a binary (n,k) linear cyclic code Within the set of code polynomials in C, there is a unique monic 1.   polynomial g ( X ) with minimal degree is) called the generator  r  < n. g ( X   polynomials. g ( X )

2.

Every code polynomial

3.

The generator polynomial

4.

U( X  ) = m( X )g ( X )  X  n

=

 g 0+  g 1 X  + ... +  g r  X 



in C, can be expressed uniquely as

U( X )

is a factor of 

g( X )

+1

The orthogonality of  G and H in polynomial form is expressed as

g ( X  )h( X  ) =  X 

n

+1

. This means h( X  )

is also a factor of   X 

n

+1

Polynomial Representation of Binary Information

It

is convenient to think of binary digits as coefficients of a polynomial in the dummy   variable X. Polynomial is written low-order-to-highorder. Polynomials are treated according to the laws of ordinary algebra with an exception addition is to be done modulo two.

Types of Cyclic Codes There are two types of Cyclic Codes on basis of  Encoding:  Non-Systematic Encoding: Information bits are not packed together in the codeword. These are rarely used. c(x)= i(x) g(x)  Systematic Encoding: Information bits are packed together in the codeword. c(x)= i(x) xn-k  + r(x)

Systematic Encoding 8



Systematic encoding algorithm for an (n,k) Cyclic code: 1.

Multiply the message polynomial i ( X ) by  X  n

2.

Divide the result of Step 1 by the generator polynomial g( X ) . Let r ( X  ) be the remainder.

3.

 

r ( X  ) Add

C ( X  )

n to  X 

− k 

i ( x )

− k 

to form the codeword

Implementation

The

hardware to implement this algorithm is a shift register and a collection of modulo two adders.

The

number of shift register positions is equal to the degree of the divisor, G(X), and the dividend is shifted through high order first and left to right.

Circuit for encoding systematic cyclic codes

x

We noticed earlier that cyclic codes can be generated by using shift registers whose feedback coefficients are determined directly by the generating  polynomial

Example

Decoding cyclic codes 

(p) must be a multiple of  G(p), otherwise Every valid, received code word R (p) an error has occurred. (Assume that the probability of noise to convert code words to other code words is very small.)



Therefore dividing the R (p)/  (p)/ G(p) and considering the remainder as a syndrome can reveal if an error has happened and sometimes also to reveal in which bit (depending on code strength)



Division is accomplished by a shift registers



The error syndrome of q=n-k  q=n-k bits bits is therefore

S( p )

=

mod [ R ( p ) / G ( p) ]

Decoding cyclic codes: error correction

Decoding circuit for (7,4) code syndrome computation

S( p )

=

mod [ R ( p ) / G ( p) ]

x

To start with, the switch is at “0” position

x

Then shift register is stepped until all the received code bits have entered the register 

x

k = 3 ): This results is a 3-bit syndrome (n ( n - k =

that is then left to the register  x

Then the switch is turned to the position “1” that drives the syndrome out of the register 

Decoding

 Encoder and Decoder 

 Advantages of Cyclic codes  Simplified

encoding.  Easy syndrome calculation S(p) = rem{Y(p)/G(p)}  Ingenious error correcting decoding methods have been devised for  specific cyclic codes. They eliminate the storage needed for table t able lookup.  Cyclic Redundancy Codes Codes (CRC), a class of cyclic codes, has ability to detect burst errors of length ‘q’, all single bit errors, any odd number of  errors if (p+1) is a factor of G(p), Double errors if G(p) has at least three 1’s.  Cyclic

codes for error detection provides high efficiency and the ease of  implementation.

 It

provides standardization like CRC-8 and CRC-32

Some block codes that can be realized by cyclic codes 

(n,1) Repetition codes . High coding gain (minimum distance always n1), but very low rate: 1/n 1/n



(n,k) Hamming codes. Minimum distance always 3. Thus can detect 2 errors and correct one error. n=2m-1, k = n - m,



Maximum-length codes. For every integer there exists a maximum length code (n,k  (n,k ) with n = 2k - 1,d min = 2k-1 .



BCH-codes. For every integer there exist a code with n = 2m-1, t is the error correction capability and where t is



(n,k ) Reed-Solomon (RS) codes . Works with k symbols that consists of  m bits that are encoded to yield code words of n of n symbols.

 Nowadays

BCH and RS are very popular due to large d min , large number  of codes, and easy generation



Code selection criteria: number of codes, correlation properties, code gain, code rate, error correction/detection properties

Reference:

1. 2. 3. 4. 5.

Communication Systems by R.P Singh , S.D Sapre Information Theory , Coding and Cryptography by Ranjan Bose http://www.cs.nmsu.edu/~pfeiffer/ http://web.syr.edu/~rrosenque/ecc/cyclic.htm http://www.microconsultants.com/tips/crc/crc.txt

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF