Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

6 Problems on Creating BCH Codes - Assignment | MATH 350, Assignments of Mathematics

Material Type: Assignment; Professor: Clark; Class: Sp Top: Probability; Subject: Mathematics; University: Hollins University; Term: Spring 2009;

Typology: Assignments

Pre 2010

Uploaded on 08/19/2009

koofers-user-dx3
koofers-user-dx3 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Math 350: Applied Algebra: Codes & Ciphers Spring 2009
Creating BCH (multiple-error-correcting) codes
Theorem 6: Let q(x) be an irreducible polynomial of degree n over GF(p) and let q(x)
also be a primitive polynomial for GF(pn). (i.e. all elements of GF(pn) can be written as
powers of α = root of q(x).) Let α = a primitive element of GF(pn) (so q(α) = 0. ) Let
mi(x) = the minimal polynomials for αi, i = 1, 2, 3, . . . 2t consecutive powers of α.
Let g(x) = lcm{m1(x), m2(x), m3(x), … m2t(x)} be a polynomial of degree r. Let A(x)
={plaintext polynomials of degree pn – r – 2}.
Then C = the code generated by g(x) = {a(x)*g(x) | a(x) ϵ A(x)} = the BCH code of
designed distance 2t+1. This code will have minimum distance d* ≥ 2t + 1, so C will
correct at least t errors.
q:= x-> x^4 + x + 1;
:= qxx
4
x1
> m3:=(x-a^3)*(x-a^6)*(x-a^9)*(x-a^12);
:= m3 ( )x a
3
( )x a
6
( )x a
9
( )x a
12
> m3:= rem(m3,q(a),a) mod 2;
:= m3   x
4
x
3
x
2
x1
Expand (x*(x+1)*(x^2+x+1)*(x^4+x+1)*(x^4+x^3+1)*(x^4+x^3+x^2+x+1)) mod 2;
x x
16
> Factor (x^64+x) mod 2;
( )  x
6
x
5
x
2
x1 ( )x
6
x1 ( )  x
6
x
4
x
3
x1 ( )  x
6
x
4
x
2
x1
( ) x
6
x
5
1 ( )   x
6
x
5
x
3
x
2
1x( )  x
6
x
5
x
4
x1 ( ) x
3
x
2
1
( )   x
6
x
5
x
4
x
2
1 ( ) x
6
x
3
1 ( )x
3
x1 ( )x
2
x1 ( )x1
q:= x-> x^6 + x + 1:
> m3:=(x-a^3)*(x-a^6)*(x-a^12)*(x-a^24)*(x-a^48)*(x-a^33):
> m3:= rem(m3,q(a),a) mod 2;
:= m3   1x x
4
x
2
x
6
> m5:=(x-a^5)*(x-a^10)*(x-a^20)*(x-a^40)*(x-a^17)*(x-a^34):
> m5:= rem(m5,q(a),a) mod 2;
:= m5   1x
6
x
2
x x
5
> m7:=(x-a^7)*(x-a^14)*(x-a^28)*(x-a^56)*(x-a^49)*(x-a^35):
> m7:= rem(m7,q(a),a) mod 2;
:= m7  1x
6
x
3
> g:=Expand(q(x)*m3*m5*m7) mod 2;
:= g              1x x
2
x
4
x
6
x
5
x
10
x
8
x
13
x
9
x
16
x
17
x
19
x
22
x
20
x
24
x
23
Page 1
pf2

Partial preview of the text

Download 6 Problems on Creating BCH Codes - Assignment | MATH 350 and more Assignments Mathematics in PDF only on Docsity!

Math 350: Applied Algebra: Codes & Ciphers Spring 2009

Creating BCH (multiple-error-correcting) codes

Theorem 6: Let q(x) be an irreducible polynomial of degree n over GF(p) and let q(x) also be a primitive polynomial for GF(pn). (i.e. all elements of GF(pn) can be written as powers of α = root of q(x).) Let α = a primitive element of GF(pn) (so q(α) = 0. ) Let mi(x) = the minimal polynomials for αi, i = 1, 2, 3,... 2t consecutive powers of α. Let g(x) = lcm{m1(x), m 2 (x), m 3 (x), … m2t(x)} be a polynomial of degree r. Let A(x) ={plaintext polynomials of degree ≤ pn^ – r – 2}. Then C = the code generated by g(x) = {a(x)g(x) | a(x) ϵ A(x)} = the BCH code of designed distance 2t+1. This code will have minimum distance d ≥ 2t + 1, so C will correct at least t errors. q:= x-> x^4 + x + 1; q := x  x^4 ^ x  1

m3:=(x-a^3)(x-a^6)(x-a^9)(x-a^12);* m3 :=( x  a^3 )( x  a^6 )( x  a^9 )( x  a^12 ) m3:= rem(m3,q(a),a) mod 2; m3 := x^4 ^ x 3 ^ x^2 ^ x  1 Expand (x(x+1)(x^2+x+1)(x^4+x+1)(x^4+x^3+1)(x^4+x^3+x^2+x+1)) mod 2;* x  x^16 Factor (x^64+x) mod 2; ( x^6 ^ x^5 ^ x 2 ^ x  1 )( x^6 ^ x  1 )( x^6 ^ x^4 ^ x 3 ^ x  1 )( x^6 ^ x^4 ^ x 2 ^ x  1 ) ( x^6 ^ x 5 ^1 )( x^6 ^ x 5 ^ x 3 ^ x^2 ^1 ) x ( x^6  x 5 ^ x 4 ^ x  1 )( x^3 ^ x^2 ^1 ) ( x^6 ^ x 5 ^ x^4 ^ x 2 ^1 )( x^6 ^ x^3 ^1 )( x^3 ^ x  1 )( x^2 ^ x  1 )( x  1 ) q:= x-> x^6 + x + 1: m3:=(x-a^3)(x-a^6)(x-a^12)(x-a^24)(x-a^48)(x-a^33):* m3:= rem(m3,q(a),a) mod 2; m3 := 1  x  x 4 ^ x^2 ^ x^6 m5:=(x-a^5)(x-a^10)(x-a^20)(x-a^40)(x-a^17)(x-a^34):* m5:= rem(m5,q(a),a) mod 2; m5 := 1  x 6 ^ x^2 ^ x  x^5 m7:=(x-a^7)(x-a^14)(x-a^28)(x-a^56)(x-a^49)(x-a^35):* m7:= rem(m7,q(a),a) mod 2; m7 := 1  x 6 ^ x^3 g:=Expand(q(x)m3m5m7) mod 2;* g := 1  x  x^2 ^ x 4 ^ x^6 ^ x^5 ^ x^10 ^ x^8 ^ x 13 ^ x^9 ^ x 16 ^ x^17 ^ x^19 ^ x 22 ^ x^20 ^ x 24 ^ x^23 Page 1

Math 350: Applied Algebra: Codes & Ciphers Spring 2009

Homework #9: Due April 28, 2009

  1. Determine the minimal polynomial for each non-zero element of GF(8). Element(s) Minimal polynomial
  2. Determine the minimal polynomial for each non-zero element of GF(32). Element(s) Minimal polynomial
  3. Let C be a triple-error correcting BCH code of length 31. a) Find a generator polynomial g(x ) for C. b) Determine k and the number of codewords in this code. c) Does k depend upon the irreducible polynomial q(x) that you use to generate GF(32)? Explain.
  4. Let C be a BCH code of length 31 that corrects at least 4 errors. a) Find a generator polynomial g(x ) for C. b) Determine k and the number of codewords in this code. c) How many errors will this code correct? (Choose the ‘simplest’ irreducible polynomial for q(x).)
  5. Let C be a BCH code of length 127 that corrects at least 4 errors. a) Find a generator polynomial g(x) for C. b) Determine k and the number of codewords in this code. c) Will this code correct more than 4 errors? d) What is the information rate r of this code?
  6. Consider a BCH code of length 127 with information rate r = k/n, where .6 < r < .65. a) What is the generator polynomial g(x ) for this code? b) What is k? c) How many errors will this code correct? d) What are the minimal polynomials used to find g(x)? Page 2