0% found this document useful (0 votes)
73 views7 pages

Information and Coding Theory ECE533 - Lec-6 Cyclic Codes v4.0

Cyclic codes are a type of linear block code that have the additional property of being closed under cyclic shifts. In a cyclic code, if a codeword is cyclically shifted, the result is another valid codeword. Cyclic codes can be generated from a single polynomial g(x) such that all codewords c(x) are divisible by g(x). Encoding involves multiplying the information by g(x) and decoding uses the parity check polynomial h(x) to determine the syndrome and identify errors. CRC codes are a special type of cyclic code used for error detection in data transmission and storage.

Uploaded by

Nikesh Bajaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views7 pages

Information and Coding Theory ECE533 - Lec-6 Cyclic Codes v4.0

Cyclic codes are a type of linear block code that have the additional property of being closed under cyclic shifts. In a cyclic code, if a codeword is cyclically shifted, the result is another valid codeword. Cyclic codes can be generated from a single polynomial g(x) such that all codewords c(x) are divisible by g(x). Encoding involves multiplying the information by g(x) and decoding uses the parity check polynomial h(x) to determine the syndrome and identify errors. CRC codes are a special type of cyclic code used for error detection in data transmission and storage.

Uploaded by

Nikesh Bajaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

10/29/2013

Information Theory and Coding


ECE533

Linear Code
?
Cyclic Codes ?

ja
Nikesh Bajaj
[email protected]
Asst. Prof., ECE Dept.
Lovely Professional University 2 By Nikesh Bajaj


Cyclic Code
Cyclic Code


Linear and
cyclic shift
Ba Cyclic Code
Division Algorithm


P(x) = q(x)d(x) +r(x), d(x) =\ 0 deg(r) < deg(d)
Ex p(x) =x3 +x + 1 and d(x) = x2 +x+1
Ring Remainder Theorem
sh

Polynomial in GF(q) Congruent Modulo


Deg, monic, + , * mod
Exp GF(3)

3 By Nikesh Bajaj 4 By Nikesh Bajaj


ke

Question Cyclic Code


Ni

Ring : F[x] /f(x) : Set of poly.


Closure under
+ and *
For a(x) in Ring deg(a) < deg(f)
Addition and Multiplication table
F[x]/(x2 +x+1 ) and Field
F[x] /(x2 +1 ) Ring
Reducible/Irreducible and
Prime poly

5 By Nikesh Bajaj 6 By Nikesh Bajaj

1
10/29/2013

Theorems Theorems
f(x) has linear factor (x-a) iff f(a) =0 Cyclic Code
xn -1 = (x-1)(xn-1 + x + 1) (1) a(x) +b(x) C % Closure

j
Ring F[x]/f(x) is Field iff f(x) is prime poly. (2) a(x) C r(x) Rn a(x)r(x) C % Cyclicshift

ja
Example
Find factors of x3 -1 if GF(2) and GF(3)
Is f(x) = x3 + x +1 prime poly? GF(2) GF(3)
Cyclic shift of any poly.

7 By Nikesh Bajaj 8 By Nikesh Bajaj

Generating Poly Cyclic Code


Generator poly. g(x) s.t. in Ring Rn


c(x) Code (n,k) c(x) = i(x)g(x)
deg(g) = deg(i) = deg(c) =
Ba Matrix Representation
g(x) = g0 + g1x +g2x2 + grxr

g(x) is factor of xn -1
sh
Example: binary code for length 3
G=
Factor : x -1 = (x+1) (x + x +1)
3 2

g(x) = 1

= (x+1)
= (x+1) (x2+ x +1)
9 = x3 -1 By Nikesh Bajaj 10 By Nikesh Bajaj
ke

Encoding Example
exp: 4.13/4.14
Ni

RB

11 By Nikesh Bajaj 12 By Nikesh Bajaj

2
10/29/2013

Decoding Example
Parity check Poly h(x) s.t

ja j
c(x)h(x) =0
(c(x) +e(x))h(x) = e(x)h(x) =syndrome

13 By Nikesh Bajaj 14 By Nikesh Bajaj

Syndrome Decoding Ba
sh
15 By Nikesh Bajaj 16 By Nikesh Bajaj
ke

CRC-Cyclic Redundancy Check CRC-Generation


Cyclic codes are special linear block codes with one extra property. In a
D k bit msg block
Ni



cyclic code, if a codeword is cyclically shifted (rotated), the result is
another codeword T n bit frame to be transmitted
F n-k bit FCS
P Predetermined divisor (n-k+1) bits

T = 2n-k D + F

17 By Nikesh Bajaj 18 By Nikesh Bajaj

3
10/29/2013

Example
CRC- Encoding
D = 1010001101
P = 110101

j
T=? Or F=?

ja
19 By Nikesh Bajaj 20 By Nikesh Bajaj

CRC-polynomial Ba CRC-System
sh
21 By Nikesh Bajaj 22 By Nikesh Bajaj
ke

CRC-Standards CRC-Standards
Ni

23 By Nikesh Bajaj 24 By Nikesh Bajaj

4
10/29/2013

Circuit Implementation
Circuit Implementation (FIR/IIR) Ref: TODD K MOON
Multiplying
Multiplying circuit
Ex: x8+ x6+ x5+ x3+ 1

j
Dividing circuit
Ex: x8+ x6+ x5+ x3+ 1

ja
Dividing

25 By Nikesh Bajaj 26 By Nikesh Bajaj

Circuit Implementation
(Other approach) Ref: Ranjan Boss

Design circuit for Multiplication by


g(x)=x8+ x6+ x5+ x3+ 1
Ba Circuit Implementation
sh
27 By Nikesh Bajaj 28 By Nikesh Bajaj
ke

Circuit Implementation Circuit Implementation (Ref: Bose)


Design circuit for Dividing by Q: Design circuit to multiply any arbitary value ax2+bx+c
Ni



with (x2+x) in Field by Prime polynomial p(x)=x3+ x+1
g(x)=x8+ x6+ x5+ x3+ 1

29 By Nikesh Bajaj 30 By Nikesh Bajaj

5
10/29/2013

Circuit Implementation Other class of Cyclic code


Q: Design circuit to multiply any arbitrary value ax2+bx+c Burst Error Correction code
with (x2+x) in Field by Prime polynomial p(x)=x3+ x2+1 Fire Code

j
Perfect Code
Golay Code

ja
31 By Nikesh Bajaj 32 By Nikesh Bajaj

Fire Code


g(x) = (x2t-1 -1)p(x)

p(x) =prime polynomial over GF(q)


deg(p) = m >= t
Ref: Ranjan Bose

over GF(q)
Ba Golay Code
Perfect Code
Ref: Ranjan Bose
sh
p(x) does not divide (x2t-1 -1)
Block length = n such that g(x)| (xn -1) for smallest n
Correct all burst of length t or less
Exp: t = 3= m over GF(2) p(x) = x3 +x+1
g(x) = (x5 -1) p(x) =(x5 -1)(x3 +x+1) = x8 + x6 + x5 + x3 + x+1
deg (g) = n k = 8, Search n =35
Code(35,27)
33 By Nikesh Bajaj 34 By Nikesh Bajaj
ke

Sphere and # vector Sphere


A sphere of radius t (0<=t<=n) contains vectors
Ni

Example: # of vector of distance 2 from a vector of length


4 in GF(2)
Hamming Bound or Sphere Packing Bound
MV <= qn

35 By Nikesh Bajaj 36 By Nikesh Bajaj

6
10/29/2013

Ref: Ranjan Bose

Perfect Codes Golay Code


Perfect Code
Perfect Code is one which achieves the Hamming

Bound Binary code

j
MV = qn Ternary code

ja
37 By Nikesh Bajaj 38 By Nikesh Bajaj

Coding Gain Ba
sh
39 By Nikesh Bajaj
ke
Ni

You might also like