Papercoding

Page 1

Coding Theory 12 Mei 2013

BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) Hirwanto1 , Aliyah2 , Qoriatun Maryamah3 , Yoseph Wastu Winayaka4 Intisari BCH codes merupakan salah satu kelas yang sangat penting dari cyclic code yang mulai dikembangkan pada tahun 1960 oleh R.C. Bose dan D.Ray-Chaudhuri kemudian dilanjutkan oleh A. Hocquenghem sehingga biasa disebut BCH codes (Bose-ChaudhuriHocquenghem codes) merupakan generalisasi dari Hamming code untuk mengoreksi suatu kesalahan ganda( multiple error correction). BCH codes didefinisikan oleh kelipatan persekutuan terkecil ( f1 (x), f2 (x), ..., ft (x)) suku banyak yang diberikan. Kata Kunci finite field,minimal polynomial, bch codes 1 09/283098/PA/12442 2 08/269540/PA/11962 3 08/269914/PA/12125 4 10/297651/PA/13044

Daftar Isi Pendahuluan

2

1 Dasar Teori 1.1 Finite Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Ring Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Minimal Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Cyclotomic Coset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2 3 3 5

2 Pembahasan 6 2.1 Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Parameter dari BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Decoding BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3

Kesimpulan

13

Daftar Pustaka

14

Pendahuluan Didalam paper ini kita akan memberikan penjelasan tentang BCH codes. BCH codes merupakan kelas yang sangat penting dari cyclic code dalam mengoreksi suatu kesalahan yang dikontruksikan menggunakan lapangan hingga dan dikembangkan pada tahun 1960 oleh R.C. Bose dan D. Ray-Chaudhuri selanjutnya oleh A. Hocquenghem. Kode ini dinamakan


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 2/14

BCH-codes diambil dari nama mereka yaitu Bose-Chaudhuri-Hocquenghem. Secara definisi, BCH-codes didefinisikan menggunakan kelipatan persekutuan terkecil(least common multiple) dari suku banyak yang berikan yaitu lcm{a(x), b(x), . . .}. Secara khusus, cyclic code(kode siklik) didapat dari generator polynomialnya. Bagaimanapun, umumnya kita kesulitan dalam mendapatkan informasi pada jarak minimum(minimum distance) cyclic code dari generator polynomialnya, meskipun kita dapat melengkapi hasilnya. Dengan kata lain, kita perlu memilih beberapa generator khusus polynomialnya sehingga kita bisa mendapatkan informasi dengan algoritma yang lebih sederhana dan lebih efisien. Kita selanjutnya akan mendiskusikan salah satu generator khusus yang kita pilih yaitu BCH-codes, dan juga bagaimana kita membentuk algoritma untuk BCH- codes. Untuk generator khusus yang lain seperti Reed Solomon[1], Quadratic-Residus Code[1].

1. Dasar Teori Pada bagian ini akan dijelaskan beberapa hal yang mendasar seperti lapangan hingga(finite field), gelanggang suku banyak(ring polynomial), suku banyak minimal(minimal polynomial), dan cyclotomic coset. 1.1 Finite Field Di bagian ini akan diberikan tentang penjelasan finite field. Field dengan | F |< ∞ disebut lapangan hingga(finite field) dan F∗ sebagai himpunan F \ {0}. Teorema 1.1.1. Zn adalah lapangan hingga jika hanya jika n bilangan prima. Definisi 1.1.2. Misalkan F lapangan. Karakteristik F adalah bilangan bulat positif terkecil m dengan demikian bahwa m

∑ 1 = 1+1+...+1 = 0

i=1

dimana 1 ∈ F. Jika m tidak ada maka karakteristiknya 0. Dibawah ini akan diberikan definisi dari elemen primitif. Selanjutnya yang dimaksud dengan GF(q) adalah Galois Field atau Lapangan Galois dengan q elemen. Catatan bahwa q harus mempunyai bentuk pn dengan p dan n bilangan prima. Sedangkan lapangan Z p secara sama didefinisikan sebagai GF(p). Lemma 1.1.3. Jika α, β ∈ F mempunyai karakteristik p, maka (α + β ) p = α p + β p Definisi 1.1.4. Anggota α ∈ F lapangan hingga dikatakan generator F∗ atau elemen primitif jika {α i : i ≥ 0} = F∗ Lemma 1.1.5. Untuk setiap anggota tak nol α ∈ GF(q), α q−1 = 1. Selanjutnya, α ∈ GF(qm ) jika hanya jika α q = α.


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 3/14

Contoh 1.1.6. Diberikan GF(9) yang dikontruksikan menggunakan polynomial yang irreducible f (x) = x2 + 1 ∈ Z3 [x]. Carilah elemen primitif. Kita akan mencoba bahwa α = x + 1 merupakan elemen primitif maka (1 + x)0 = 1 (1 + x)4 = 2 1 (1 + x) = 1 + x (1 + x)5 = 2 + 2x (1 + x)2 = 2x (1 + x)6 = x (1 + x)3 = 1 + 2x (1 + x)7 = 2 + x Jadi α = 1 + x merupakan elemen primitif untuk GF(9) 1.2 Ring Polynomial Di bagian ini akan dijelaskan seputar tentang pengertian dari ring polynomial. Definisi 1.2.1. Misalkan F merupakan lapangan. Himpunan n

F[x] = { ∑ ai xi : ai ∈ F, n ≥ 0} i=0

disebut sebagai ring polynomial atas F. Teorema 1.2.2. Misalkan f (x) suku banyak atas F dengan derajat(degree) ≥ 1. Maka F[x]/( f (x)) bersama dengan operasi penjumlahan dan perkalian berbentuk gelanggang. Lebih jauh, F[x]/( f (x)) adalah lapangan jika dan hanya jika irreducible. Lemma 1.2.3. Untuk setiap elemen β dari finite field F dengan q elemen, kita mempunyai βq = β 1.3 Minimal Polynomial Dibawah ini akan dijelaskan tentang pengertian suku banyak minimal dan disertai contoh untuk memperjelas yang akan kita gunakan pada bagian pembahasan. Definisi 1.3.1. Misalkan F lapangan dengan karakteristik p dan misalkan α ∈ F∗ . Suku banyak minimal α terhadap GF(p) merupakan suku banyak monic m(x) derajat terkecil di GF(p)[x] dengan demikian m(α) = 0. Teorema 1.3.2. Suku banyak minimal anggota α tunggal. Bukti : Andaikan F = GF(q) dan F mempunyai karakteristik p. Mengikuti Lemma 1.1.5 bahwa α memenuhi suku banyak xq−1 − 1 ∈ GF(p)[x]. Ketika terdapat suatu suku banyak GF(p)[x] dengan α akarnya maka ada salah satu dari akarnya dengan derajat terkecil. Ini mengatakan bahwa ada suku banyak minimal yaitu m(x). Andaikan ada dua suku banyak monic m1 (x) dan m2 (x) dengan derajat terkecil mempunyai akar α. Dengan menggunakan algoritma pembagian suku banyak didapat m1 (x) = l(x)m2 (x) + r(x) dimana deg r(x) < deg m2 (x) atau r(x) = 0 Ketika m1 (α) = 0 dan m2 (α) = 0, kita mempunyai r(α) = 0, tetapi karena m2 (x) mempunyai derajat terkecil maka r(x) = 0, sehingga m2 (x) membagi m1 (x). Dengan cara yang sama, m1 (x) membagi m2 (x) dan ketika keduanya merupakan suku banyak monic, maka m1 (x) = m2 (x) sehingga terbukti α tunggal.


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 4/14

Teorema 1.3.3. Untuk α ∈ F ∗ , suku banyak minimal α, maka m(α)(x) adalah suku banyak yang irreducible. Definisi 1.3.4. Untuk α ∈ F, misalkan t bilangan bulat positif terkecil dengan demikian t α p = α, maka himpunan konjugat dari α(terhadap GF(p)) adalah 2

3

t−1

C(α) = {α, α p , α p , α p , . . . , α p

}

i

C(α) = C(α p ), ∀i ∈ F lapangan dengan karakteristik p Lemma 1.3.5. Misalkan F lapangan hingga dengan karakteristik p, misalkan α ∈ F ∗ , dan C(α) himpunan konjugat α terhadap GF(q), maka m(x) =

(x − β )

β ∈C(α)

Bukti : Misalkan m(x) = ∑ti=0 mi xi dengan koefisien mi ∈ F, kita catatan bahwa m(x) p = ∏β ∈C(α) (xβ ) p = ∏β ∈C(α) (x p − β p ) p = ∏β ∈C(α) (x − β ) = m(x p ) = ∑ti=1 xip Dengan mengikuti Lemma 1.1.3 didapat bahwa {β : β ∈ C(α)} = {β p : β ∈ C(α)} Dilain pihak, kita dapatkan bahwa t

t

i=1

i=1

m(x) p = ∑ (mi xi ) p = ∑ mip xip Jadi, mi = mip dan dengan menggunakan Lemma 1.1.5 sehingga terbukti bahwa mi ∈ GF(p), 0 ≤ i ≤ t. Teorema 1.3.6. Untuk α ∈ F, suku banyak minimal α diberikan oleh mα (x) =

(x − β )

β ∈C(α)

Contoh 1.3.7. Kontruksikan lapangan F = GF(23 ). Hal pertama yang diperlukan adalah suku banyak pangkat tiga atas Z2 . Misalkan kita mengambil f (x) = x3 + x + 1 dan anggota-anggota F adalah {0, 1, x, x + 1, x + x2 , x2 , 1 + x2 , 1 + x + x2 }. Ketika x3 + x + 1 = 0 mod f (x), maka kita mempunyai x3 ≡ −x − 1 = x + 1(mod( f (x))), dan 1 = −1 ∈ Z2 . Selanjutnya kita tuliskan anggota lapangan dengan a0 + a1 x + a2 x2 , maka didapatkan 0 = (000) x2 = (001) 1 = (100) 1 + x2 = (101) 2 x = (010) x+x = (011) 2 1 + x = (110) 1 + x + x = (111)


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 5/14

Jika kita mengambil α, maka dengan mudah kita dapatkan bahwa α merupakan generator F. Andaikan kita mengambil β = (101) dan kita akan dicari mβ (x) dan dengan menggunakan Teorema didapat mβ (y) =

(y − β )(y − β 2 )(y − β 4 )

δ ∈C(β )

dan ketika β 8 = β dan kita akan menghitung (y − β )(y − β 2 )(y − β 3 )= y3 + (β + β 2 + β 4 )y2 + (β β 2 + β β 4 + β 2 β 4 )y + β β 2 β 4 Dengan menggunakan representasi setiap anggota tak nol sebagai akar dari generator α, dengan mengambil α = x, kita dapatkan α 0 = (100) α 4 = (011) α 1 = (010) α 5 = (111) 2 α = (001) α 6 = (101) α 3 = (110) α 7 = (100) Ketika β = α 6 , maka β 2 = α 12 = α 5 = dan β 4 = α 24 = α 3 , diperoleh β +β2 +β4 = α6 + α5 + α3 = (101) + (111) + (110) = 100 2 4 2 4 ββ +ββ +β β = β3 +β5 +β6 = α 18 + α 30 + α 36 = α4 + α2 + α = 0 2 4 ββ β = β7 = α 42 = 1 Jadi, didapat suku banyak minimal β 2 dan β 4 yaitu mβ (y) = y3 + y2 + 1 Sedangkan suku banyak minimal α juga merupakan suku banyak minimal α 2 dan α 4 yaitu mα (y) = y3 + y + 1 Darimana dapat dicari sendiri. 1.4 Cyclotomic Coset Dibawah ini akan diberikan definisi dan contoh dari Cyclotomic coset. Definisi 1.4.1. Diberikan q dan n bilangan bulat i, 0 ≤ i ≤ n − 1, cyclotomic coset (q modulo n) memuat i didefinisikan oleh Ci = {i, iq, iq2 , . . . , iqn−1 } dimana anggota-anggota himpunan modulo n, dan s bilangan bulat terkecil dengan demikian iqs ≡ i(modn). C = {Ci : 0 ≤ i ≤ n − 1} disebut himpunan cyclotomic coset q modulo n Untuk penjelasan lebih lanjut dapat dilihat di [2]


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 6/14

Contoh 1.4.2. Untuk n = 9 dan q = 2, didapat C1 = [1, 2, 4, 8, 7, 5] = C2 = C4 = C8 = C7 = C5 C3 = [3, 6] = C6 C0 = [0] Teorema 1.4.3. Misalkan f (x) = xn − 1 suku banyak atas GF(q). Banyaknya faktor irreducible dari f (x) adalah sama dengan banyak cyclotomic coset q modulo n.

2. Pembahasan 2.1 Pengantar Suku banyak monic g(x) ∈ GF(q)[x] dikatakan sebagai split didalam perluasan field GF(qm ) dari GF(q) jika g(x) bisa difaktorkan sebagai hasil kali suku banyak linear di GF(qm ), kita bisa menuliskannya ; g(x) = (x − α1 )(x − α2 ) . . . (x − αn ) dimana αi ∈ GF(qm ) dan GF(qm ) disebut sebagai splitting field dari g(x). Secara umum, dapat didefinisikan bahwa splitting field dari g(x) ∈ GF(qm ) sebagai lapangan terkecil GF(qm ), dengan kata lain lapangan terkecil yang memuat semua akar -akar dari g(x). Splitting field g(x) bisa didapatkan dari derajat faktor irreducible atas GF(q). Catatan bahwa g(x) boleh irreducible atas GF(q), tetapi selalu faktor- faktornya sebagai hasil kali suku banyak linear yang berbeda di splitting field. Untuk contoh, g(x) = x2 + x + 1 adalah merupakan irreducible atas GF(2) dan tidak mempunyai akar di GF(2), tetapi atas GF(4), g(x) = (x + α)(x + α 2 ) dan mempunyai akar-akarnya adalah α dan α 2 , dimana GF(4) = {0, 1, α, α 2 } dengan α2 + α + 1 = 0 Contoh 2.1.1. Diberikan suku banyak dibawah ini g(x) = 1 + x3 + x5 + x6 + x8 + x9 + x10 atas GF(2), dapat dicek bahwa g(x) tidak mempunyai akar di GF(2), ataupun GF(22 ), GF(23 ), dan GF(24 ), tetapi menggunakan GF(25 ) didapat akar -akar α dari h(x) = 1 + x2 + x5 yaitu α, α 3 , dan anggota konjugatnya adalah α, α 2 , α 4 , α 8 , α 16

dan

α 3 , α 6 , α 12 , α 24 , α 17

adalah merupakan akar -akar dari g(x), dan semua akar dari g(x) di GF(25 ) Contoh 2.1.2. Diberikan suku banyak dibawah ini : g(x) = 2 + 2x + x4 + 2x5 + x6 + x7 atas GF(3) dan hanya memiliki satu akar dengan yaitu 1, dan tidak ada akar dari persamaan tersebut di GF(32 ), sedangkan dengan mengggunakan GF(33 ) didapat akar α dari h(x) = 1 + 2x2 + x3 yaitu; 1, α 2 , α 6 , α 18 , α 4 , α 12 , α 10 Akar -akar diatas merupakan akar α dari g(x).


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 7/14

2.2 BCH Codes Kita akan mendefinisikan kelipatan persekutuan terkecil lcm( f (x), f (x)) suku banyak tak nol f (x), f (x) ∈ Fq [x] menjadi suku banyak monic dengan derajat terkecil yang merupakan perkalian dari f1 (x) dan f2 (x). Definisi 2.2.1. Misalkan kita mempunyai sebanyak t suku banyak f1 (x), f2 (x), . . . , ft (x) ∈ F[x], maka kelipatan persekutuan terkecil dari f1 (x), f2 (x), . . . , ft (x) adalah suku banyak monic dengan derajat terkecil dan merupakan perkalian dari semua suku banyak f1 (x), f2 (x), . . . , ft (x). Selanjutnya, dinotasikan sebagai lcm( f1 (x), f2 (x), . . . , ft (x)). Jika f1 (x), f2 (x), ..., ft (x) ∈ Fq [x] dapat difaktorisasi menjadi f1 (x) = a1 .p1 (x)e1,1 . . . pn (x)e1,n f2 (x) = a2 .p1 (x)e2,1 . . . pn (x)e2,n .. .. . . ft (x) = at .p1 (x)et,1 . . . pn (x)et,n dimana pi (x) merupakan suku banyak monic yang irreducible atas Fq maka lcm( f1 (x), f2 (x), ..., ft (x)) = p1 (x)max{e1,1 ,...,et,1 } ...pn (x)max{e1,n ,...,et,n } Contoh 2.2.2. Diberikan polinomial biner, f1 (x) = (1 + x)2 (1 + x + x4 )3 f2 (x) = (1 + x)(1 + x + x2 )2 f3 (x) = x2 (1 + x + x4 ) sehingga, lcm( f1 (x), f2 (x), f3 (x)) = x2 (1 + x)2 (1 + x + x2 )2 (1 + x + x4 )3 Lemma 2.2.3. Diberikan f1 (x), f2 (x), . . ., ft (x) suku banyak atas Fq . Jika f (x) habis dibagi oleh semua suku banyak fi (x), ∀i = 1, 2, . . . ,t maka f (x) habis dibagi oleh lcm( f1 (x), f2 (x), . . . , ft (x)) Bukti : Ambil g(x) = lcm( f1 (x), f2 (x), . . . , ft (x)). Menggunakan algoritma pembagian maka ada dua suku banyak u(x) dan r(x) atas Fq dengan demikian deg(r(x)) < deg(g(x)) dan f (x) = u(x)g(x) + r(x). Jadi, r(x) = f (x) − u(x)g(x), dan selanjutnya r(x) juga habis dibagi oleh semua fi (x). Ketika g(x) mempunyai derajat terkecil,dengan jelas bahwa r(x) = 0. Contoh 2.2.4. Suku banyak f (x) = x15 − 1 ∈ F2 [x] dibagi oleh f1 (x) = 1 + x + x2 ∈ F2 [x] habis dibagi oleh f1 (x) = 1 + x + x2 ∈ F2 [x], f2 (x) = 1 + x + x4 ∈ F2 [x], dan f3 (x) = (1 + x + x2 )(1 + x3 + x4 ) ∈ F2 [x]. Maka f (x) habis dibagi oleh lcm( f1 (x), f2 (x), f3 (x)) = (1 + x + x2 )(1 + x + x4 )(1 + x3 + x4 ). Dibawah ini akan dijelaskan tentang definisi BCH Codes. Definisi 2.2.5. Misalkan α elemen primitif dari Fqm dan dinotasikan oleh M i (x) merupakan polynomial minimal dari α i terhadap Fq . Sebuah primitif BCH code atas Fq dengan panjang n = qm − 1 didesain dengan distance δ adalah q-ary cyclic code yang dibangun oleh g(x) :=lcm(M (a) (x), M (a+1) (x), . . . , M (a+δ −2) (x)) untuk suatu bilangan bulat a. Lebih jauh, code ini disebut sebagai narrow sense jika a = 1. Contoh 2.2.6. Misalkan α elemen primitif dari F2m , maka narrow sense binary BCH code didesain dengan distance 2 adalah cyclic code yang dibangun oleh M (1) (x).


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 8/14

Contoh 2.2.7. Misalkan α ∈ F8 akar -akar dari 1 + x + x3 merupakan elemen primitif dari F8 . Polynomial M (1) (x) dan M (2) (x) keduanya sama dengan 1 + x + x3 . Selanjutnya, narrow sense binary BCH code dengan panjang 7 dibangun oleh lcm(M (1) (x), M (2) (x)) = 1 + x + x3 adalah [7, 4]−code. Dengan fakta bahwa [7, 4, 3]−Hamming code. Contoh 2.2.8. Misalkan β merupakan akar dari 1 + x + x2 ∈ F2 [x], maka F4 = F2 [β ]. Misalkan α menjadi akar dari β + x + x2 ∈ F4 [x]. Maka α elemen primitif dari F16 . Diberikan narrow-sense 4−ary BCH code dengan panjang 15 didesain dengan distance 4, maka generator polynomialnya adalah g(x) = lcm(M (1) (x), M (2) (x), M (3) (x)) = 1 + β x + β x2 + x3 + x4 + β 2 x5 + x6 . 2.3 Parameter dari BCH Codes Diketahui bahwa panjang dari BCH code adalah qm − 1. Selanjutnya akan dicari dimensi dari BCH code terlebih dahulu. Teorema 2.3.1. Diketahui panjang dari BCH code adalah qm − 1. (i) Dimensi dari q − ary BCH code dengan panjang qm − 1 yang dibangun oleh g(x) := lcm(M (α) (x), M (α+1) (x), ..., M (α+δ −2) (x) tidak tergantung dari pemilihan elemen primitif α (ii) q − ary BCH code dengan panjang qm − 1 yang didesain dengan distance δ memiliki dimensi setidaknya qm − 1 − m(δ − 1) Akan diberikan contoh dari Teorema 2.3.1 di atas dan dapat dilihat dibawah ini. Contoh 2.3.2. (i) Diberikan cyclotomic cosets 2 modulo 15 dibawah ini : C2 = {1, 2, 4, 8} C3 = {3, 6, 12, 9}. Maka dimensi dari binary BCH Codes dengan panjang 15 dan didesign dengan distance 3 yang dibangun oleh g(x) :=lcm(M (2) , M (3) (x)) adalah 15− | C2 ∪C3 |= 15 − 8 = 7 (ii) Cyclotomic cosets dari 3 modulo 26 yaitu, C1 = C3 = {1, 3, 9} C2 = {2, 6, 18} C4 = {4, 10, 12} Kemudian dimensi dari ternary BCH codes dengan panjang 26 dan didesain dengan distance 5 yang dibangun oleh g(x) := lcm(M (1) (x), M (2) (x), M (3) (x), M (4) (x)) adalah 26 − |C1 ∪C2 ∪C3 ∪C4 | = 26 − 9 = 17 Proposisi 2.3.3. Narrow-sense q-ary BCH code dengan panjang qm − 1 dan didesain dengan distance δ mempunyai dimensi qm −1−m(δ −1) jika q 6= 2 dan gcd(qm −1, e) = 1 untuk semua 1 ≤ e ≤ δ − 1. Proposisi 2.3.4. Narrow sense binary BCH code dengan panjang n = 2m − 1 dan didesain dengan distance δ = 2t + 1 mempunyai dimensi sedikitnya n − m(δ − 1)/2.


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 9/14

Bukti : Sebagaimana cyclotomic cosets Ci dan C2 i adalah sama, maka dimensi k memenuhi m

k = 2 − 1− | = 2m − 1− |

2t [ i=1 t [

Ci | C2i−1 |

i=1 t

≤ 2m − 1 − ∑ | C2i−1 | i=t

≤ 2m − 1 − tm = 2m − 1 − m(δ − 1)/2

Contoh 2.3.5. Narrow sense binary BCH code dengan panjang 63 didesain dengan distance δ = 5 mempunyai dimensi 51 = 63 − 6(5 − 1)/2. Bagiamanapun, narrow sense binary BCH code dengan panjang 31 didesain dengan distance δ = 11 mempunyai dimensi 11 yang lebih besar daripada 31 − 5(11 − 2)/2. Selanjutnya, kita akan mempelajari minimum distance BCH codes. Lemma 2.3.6. Misalkan C q-ary cyclic code dengan panjang n dan generator polynomial g(x). Andaikan α1 , . . . , αr akar -akar dari g(x) dan polynomial g(x) tidak mempunyai akar ganda. Maka elemen c(x) ∈ Fq [x]/(xn − 1) adalah codeword C jika hanya jika c(αi ) = 0, untuk setiap i = 1, . . . , r. Bukti : Jika c(x) codeword C, maka ada polynomial f (x) dengan demikian c(x) = g(x) f (x). Jadi kita mempunyai c(αi ) = g(αi ) f (αi ) = 0 untuk semua i = 1, . . . , r. Secara konvers, jika c(αi ) = 0 untuk i = 1, . . . , r maka c(x) habis dibagi oleh g(x) ketika g(x) tidak mempunyai akar ganda. Ini mengartikan bahwa c(x) adalah codeword C.

Contoh 2.3.7. Diberikan binary [7, 4]−Hamming code dengan generator polynomial g(x) = 1 + +x + x3 . Semua elemen dari F8 \{0, 1} adalah akar-akar c(x) = 1 + x + x2 + x3 + x4 + x5 + x6 = (x7 − 1)/(x − 1), semua akar dari g(x) adalah akar-akar c(x). Jadi, 1111111 adalah codeword. Dibawah ini teorema yang akan menjelaskan tentang ’designed distance’ Teorema 2.3.8. BCH code didesain dengan distance(designed distance) δ mempunyai minimum distance sedikitnya δ . Bukti : Misalkan α merupakan elemen primitif dari Fqm dan misalkan C adalah BCH code yang dibangun oleh g(x) :=lcm(M (a) (x), M (a+1) (x), . . . , M (a+δ −2) (x)). Dengan jelas bahwa elemen α a , . . . , α a+δ −2 adalah akar-akarnya g(x).


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 10/14

Andaikan bahwa minimum distance d dari C lebih kecil daripada δ . Maka ada codeword tak nol c(x) = c0 +c1 x +· · ·+cn−1 xn−1 dengan demikian wt(c(x)) = d < δ . Menggunakan Lemma 2.3.6, kita mempunyai c(α i ) = 0 untuk semua i = a, . . . , a + δ − 2;    1 αa (α a )2 ... (α a )n−1 c0 1 α a+1   (α a+1 )2 . . . (α a+1 )n−1     c1  1 α a+2   (α a+2 )2 . . . (α a+2 )n−1  (2.1)    c2  = 0.  ..   .. .. .. ..  .  .  . . ... . a+δ −2 a+δ −2 2 a+δ −2 n−1 cn−1 1 α (α ) . . . (α ) Asumsikan bahwa c(x) adalah R = {i1 , . . . , id }, c j 6= 0 jika hanya jika j ∈ R. Maka persamaan (2.1) menjadi    (α a )i1 (α a )i2 (α a )i3 ... (α a )id ci1 a+1 i a+1 i a+1 i  (α a+1 )i1   2 3 d (α ) (α ) . . . (α )  ci2    a+2 i a+2 i  (α a+2 )i1   (α ) 2 (α ) 3 . . . (α a+2 )id  (2.2)   ci3  = 0.   ..   .. .. .. .. ..   .  . . . . . (α a+δ −2 )i1 (α a+δ −2 )i2 (α a+δ −2 )i3 . . . (α a+δ −2 )id

cid

Ketika d ≤ δ − 1, kita mendapatkan sistem persamaan dibawah ini dengan memilih persamaan d yang pertama sistem persamaan diatas sehingga didapatkan :    (α a )i1 (α a )i2 (α a )i3 ... (α a )id ci1 a+1 )i2 a+1 )i3 a+1 )id     (α a+1 )i1 (α (α . . . (α   ci2  a+2 i a+2 i a+2 i  (α a+2 )i1   2 3 d (α ) (α ) . . . (α )  (2.3)   ci3  = 0.    ..  .. .. .. ..     . . . . ... . cid (α a+d−1 )i1 (α a+d−1 )i2 (α a+d−1 )i3 . . . (α a+d−1 )id Determinan D koefisien matriks persamaan diatas adalah sama dengan  1 1 1 ... 1 i i  α i1 3 2 α ... α id α  d 2 i  (α 2 )i2 (α 2 )i3 . . . (α 2 )id D = ∏ (α a )i j det  (α ) 1  . . .. .. j=1 .. ..  . ... .

(α d−1 )i1 (α d−1 )i2 (α d−1 )i3 . . . (α d−1 )id

      

(2.4)

d

=

∏ (α a)i j ∏(α ik − α il ) 6= 0. j=1

k>l

Dengan mengkombinasikan persamaan (2.3) dan (2.4), kita mendapatkan (ci1 , . . . , cid ) = 0 sehingga kontradiksi. Jadi terbukti. Contoh 2.3.9. Misalkan α akar dari 1 + x + x3 ∈ F2 [x], dan misalkan C binary BCH code dengan panjang 7 didesain dengan distance 4 yang dibangun oleh g(x) = lcm(M (0) (x), M (1) (x), M (2) (x)) = 1 + x2 + x3 + x4 Maka d(C) ≤ wt(g(x)) = 4. Disisi lain dengan menggunakan teorema 2.3.8 didapat d(C) ≥ 4. Jadi, d(C) = 4.


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 11/14

2.4 Decoding BCH Codes Pada bagian akan diberikan algoritma dalam decoding BCH code yang dibagi menjadi 3 yaitu : (i) Menghitung syndrome (ii) Menemukan error locator polynomial (iii) Menemukan semua akar dari error locator polynomial Untuk menyederhanakannya, kita hanya akan mendiskusikan decoding narrow sense binary BCH codes. Misalkan C narrow sense binary BCH codes dengan panjang n = 2m − 1 dan design distance δ = 2t + 1 yang dibangun oleh g(x) := lcm(M (1) (x), M (2) (x), . . . , M (δ −1) (x)), dimana M (i) (x) adalah polynomial minimal dari α i terhadap F2 untuk elemen primitif α ∈ F2m . Ambil 

1 1   H = 1  .. . 1

α α2 α3 .. .

(α)2 (α 2 )2 (α 3 )2 .. .

α δ −1

(α δ −1 )2

... ... ...

(α)n−1 (α 2 )n−1 (α 3 )n−1 .. .

... . . . (α δ −1 )n−1

     

(2.5)

Maka bisa ditunjukkan bahwa word c ∈ Fn2 adalah codeword C jika hanya jika cH T = 0. Selanjutnya, kita bisa mendefinisikan sindrome SH (w) dari w ∈ Fn2 terhadap H adalah wH T . Andaikan bahwa w(x) = w0 + w1 x + . . . + wn−1 xn−1 word yang diterima dengan error polynomial e(x) memenuhi wt(e(x)) ≤ t. Ambil c(x) = w(x) − e(x) maka c(x) adalah codeword. Tahap 1. Menghitung Sindrome Sindrome w(x) adalah (s0 , s1 , . . . , sδ −2 ) := (w0 , w1 , . . . , wn−1 )H T sehingga si = w(α i+1 ) = e(α i+1 ) untuk setiap i = 0, 1, . . . , δ − 2, ketika α i+1 adalah akar-akar dari g(x). Asumsikan bahwa error diambil di posisi i0 , i1 , . . . , il−1 dengan l ≤ t didapat e(x) = xi0 + xi1 + · · · + xil−1

(2.6)

Maka kita mendapatkan sistem persamaan α i0 (α i0 )2

+ +

α i1 (α i1 )2

+ + .. .

··· ···

+ +

α il−1 (α il−1 )2

= = .. .

s0 s1

= = .. .

w(α), w(α 2 ),

(α i0 )δ −1

+

(α i1 )δ −1

+

···

+

(α il−1 )δ −1

=

sδ −2

=

w(α δ −1 ). (2.7)

sebarang metode diatas untuk menyelesaikan sistem persamaan diatas merupakan algoritma decoding untuk BCH codes.


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 12/14

Tahap 2. Menemukan error locator polynomial Untuk e(x) = xi0 + xi1 + · · · + xil−1 , didefinisikan error locator polynomial oleh l−1

σ (z) := ∏ (1 − α i j z). j=0

Ini dapat ditemukan bahwa posisi error i j sejauh semua akar-akar σ (z) yang diketahui. Untuk tahap ini, kita harus menentukan error locator polynomial σ (z). −2 Teorema 2.4.1. Andaikan polynomial sindrome s(z) = ∑δj=0 s j z j adalah bukan polynomial nol. Maka terdapat polynomial tak nol r(z) ∈ F2m [z] dengan demikian deg(r(z)) ≤ t − 1, gcd(r(z), σ (z)) = 1 dan

r(z) ≡ s(z)σ (z) (mod zδ −1 )

(2.8)

Lebih jauh, untuk sebarang pasangan (u(z), v(z)) polynomial tak nol atas F2m memenuhi deg(u(z)) ≤ t − 1, deg(v(z)) ≤ t dan u(z) ≡ s(z)v(z) (mod zδ −1 )

(2.9)

Kita mempunyai σ (z) = β v(z), r(z) = β u(z),

(2.10)

untuk elemen tak nol β ∈ F2m . Bukti : (Ketunggalan). Kalikan persamaan (2.8) dengan v(z) dan persaman (2.9) dengan σ (z) memberikan hasil v(z)r(z) ≡ σ (z)u(z) (mod zδ −1 )

(2.11)

Sebagaimana deg(v(z)r(z)) ≤ 2t − 1 = δ − 2 dan deg(σ (z)u(z)) ≤ 2t − 1 = δ − 2 dengan mengikuti persamaan (2.11) bahwa v(z)r(z) = σ (z)u(z). Menggunakan syarat bahwa gcd(r(z), σ (z)) = 1 dan semua polynomial tak nol, kita mendapatkan σ (z) = β v(z) dan r(z) = β u(z) untuk elemen tak nol β ∈ F2m . (Eksistensi). Ambil l−1

αij ij j=1 (1 − α z)

r(z) = σ (z) ∑


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 13/14

Maka r(z) = σ (z)

l−1

αi j

∑ (1 − α i j z)

j=0 l−1

= =

j=0

∑ (α i j z)k k=0

l−1

δ −2

∑ α i j ∑ (α i j z)k

j=0

=

∑ αij

k=0

δ −2

l−1

k=0

j=0

!

∑ ∑ (α i j )k+1

zk

δ −2

=

∑ w(α k+1)zk

k=0

= s(z) (mod zδ −1 ). dengan r(1/α i j ) 6= 0 untuk setiap j, kita tahu bahwa gcd(r(z), σ (z)) = 1 sehingga terbukti. Dari teorema 2.4.1 diatas, kita menemukan bahwa untuk mencari error locator polynomial σ (z) perlu menyelesaikan kongruensi polynomial persamaan (2.8). Ini bisa diselesaikan menggunakan algoritma Euclidean. Tahap 3. Menemukan akar -akar error locator polynomial Untuk melakukannya, kita bisa mencari semua kemungkinan akar -akar dengan menggunakan σ (z) di α i , untuk semua i = 1, 2, . . . . . Setelah semua akar -akarnya α i1 , . . . , α il dari σ (z) ditemukan, kita mendapatkan error polynomial persamaan (2.6) Contoh 2.4.2. Misalkan α akar dari g(x) = 1 + x + x3 ∈ F2 [x]. Maka Hamming code yang dibangun oleh g(x) =lcm(M (1) (x), M (2) (x)) mempunyai design distance δ = 3. Andaikan bahwa w(x) = 1 + x + x2 + x3 word yang diterima. (i) Menghitung sindrome : (s0 , s1 ) = (w(α), w(α 2 )) = (α 2 , α 4 ) (ii) Menemukan error locator polynomial : Selesaikan kongruensi polynomial r(z) ≡ s(z)σ (z) (mod z2 ) dengan deg(r(z)) = 0 dan deg(σ (z)) ≤ 1, dan s(z) = α 2 + α 4 z. Kita mempunyai σ (z) = 1 + α 2 z dan r(z) = α 2 . Selanjutnya didapat error di tempat ketiga. Jadi, kita bisa memperbaiki(decode) w(x) ke w(x) − x2 = 1 + x + x3 = 1101000.

3. Kesimpulan BCH Code merupakan generalisasi dari Hamming code dan didefinisikan dari kelipatan persekutuaan terkecil dari suku banyak monic dengan derajat terkecil atau lcm( f1 (x), f2 (x), . . . , ft (x))


BCH Codes (Bose -Chaudhuri- Hocquenghem Codes) — 14/14

Didalam pembahasan paper ini hanya dibahas BCH code sebagai suku banyak dan untuk pembahasan selanjutnya tentang BCH code sebagai Hamming codes dapat dilihat di [3] halaman 214. Adapun penerapan dari BCH codes sendiri adalah sistem komunikasi via satelit, pemutar CD(compact disk), DVD, disk drivers, dan barcode dua dimensi.

Daftar Pustaka [1]

[2]

[3]

S. Ling and Chaoping Xing. Coding Theory A First Course. Cambridge University Press, New York., 2004. S. A. Vanstone. and P. C. van Oorschot. An Introduction to Error Correcting Codes with Applications. Kluwer Academic Publishers,Dordrecht., 1989. Oliver Pretzer. Error-Correction Codes and Finite Finite Fields. Clarendon Press,New York., 1992.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.