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