kode siklik tipe kode siklik enkoder siklik Pembahasan Pendahuluan Unused Section Space 1 enkoder siklik Unused Section Space 2 tipe kode siklik kode siklik
Kode Siklik Stenley Timex – 08110210005 Firdaus Kurniawan - 08110210003
Kode Siklik Pendahuluan Enkoder untuk kode siklik Beberapa tipe kode siklik
Pendahuluan Kode siklik (cyclic codes) merupakan sub-kelas dari kode linier yang memenuhi sifat pergeseran siklik sebagai berikut: bila C = [cn-1cn-2...c1c0] adalah code word dari sebuah kode siklik, maka [cn-2cn-3...c0cn-1] yang diperoleh dari pergeseran elemen-elemen C secara siklik akan merupakan code word pula. Jadi, semua pergeseran siklik dari C adalah code word. Yang dimaksud dengan pergeseran siklik adalah pergeseran elemen-elemen code word satu posisi ke kanan atau ke kiri secara melingkar, artinya elemen pada posisi terakhir akan dipindah ke posisi terawal.
Untuk mudahnya, pada pembahasan mengenai kode siklik biasanya sebuah code word C = [cn-1cn-2...c1c0] dinyatakan dalam bentuk polinomial dengan derajat ≤ n – 1, yang didefinisikan sebagai: C(p)=cn-1pn-1+ cn-2pn-2+...+c1p+c0
Untuk kode biner, koefisien polinomial hanya dapat berupa 0 atau 1 Untuk kode biner, koefisien polinomial hanya dapat berupa 0 atau 1. Misalkan dibentuk polinomial pC(p)=cn-1pn+ cn-2pn-1+...+c1p2+c0p
maka polinomial tersebut tidak dapat merepresentasikan sebuah code word, karena pangkat dari persamaan tersebut dapat sama dengan n, yaitu ketika cn-1=1. Hal ini, tidak memenuhi persyaratan yang telah disebutkan di atas yaitu pangkat atau derajat polinomial maksimal bernilai n – 1. Namun demikian bila pC(p) dibagi dengan pn+1, akan diperoleh 𝑝𝐶(𝑝) 𝑝 𝑛+1 = 𝑐 𝑛−1 + 𝐶 1 𝑝 𝑝 𝑛+1
Di mana 𝐶 1 𝑝 = 𝑐 𝑛−2 𝑝 𝑛−1 + 𝑐 𝑛−3 𝑝 𝑛−2 +…+ 𝑐 0 𝑝+ 𝑐 𝑛−1
Perhatikan bahwa polinomial C1(p) merepresentasikan code word C1 = [cn-2 cn-3 ... c0cn-1] yang merupakan code word C yang setiap elemennya digeser satu posisi secara siklik. Mengingat C1(p) adalah sisa dari pembagian pC(p) dengan pn+1, dikatakan bahwa C1(p) = pC(p) mod (pn+1)
Dengan cara yang sama, bila C(p) merepresentasikan sebuah code word dalam kode siklik maka piC(p) mod (pn+1) adalah juga sebuah code word dalam kode siklik tersebut. Dengan demikian dapat dinyatakan bahwa piC(p) =Q(p) (pn+1) + Ci(p) di mana polinomial sisa Ci(p) merepresentasikan code word dari kode siklik tersebut dan Q(p) adalah pembaginya.
Kode siklik dapat dibentuk menggunakan polinomial generator g(p) dengan derajat n-k. Polinomial generator dari kode siklik (n,k) adalah faktor dari pn +1 dan mempunyai bentuk umum g(p)=pn-k + gn-k-1 pn-k-1 + ... + g1p + 1
dapat pula didefinisikan polinomial informasi X(p) sebagai X(p) = xk-1pk-1 + xk-2pk-2 + ... + x1p + x0 [xk-1 xk-2 x1 x0] merepresentasikan k bit informasi. Hasil perkalian X(p) g(p) adalah polinomial dengan derajat kurang dari atau sama dengan n – 1, yang dapat merepresentasikan sebuah code word. Perhatikan bahwa ada 2k polinomial { Xi(p)}, sehingga terdapat 2k code word yang dapat dibentuk dari suatu g(p) tertentu.
Bila misalnya code word tersebut dilambangkan dengan Cm(p) = Xm(p) g(p), m=1,2,...,2k Maka pergeseran siklik dari sembarang code word C(p) yang dihasilkan dari persamaan di atas akan menghasilkan code word baru.
Dapat disimpulkan bahwa code word yang memiliki sifat siklik dapat dibentuk dengan mengalikan polinomial informasi 2k dengan polinomial unik g(p) yang disebut polinomial generator dari kode siklik (n,k). Dimana polinomial generator tersebut dapat membagi pn+1 dan memiliki derajat n-k.
Enkoder untuk kode siklik Operasi pengkodean untuk membangkitkan kode siklik dapat dilakukan menggunakan shift register umpan balik linier berbasis penggunaan polinomial generator atau polinomial paritas. Untuk penggunaan g(p), telah diketahui bahwa pembangkitan kode siklik terdiri atas 3 langkah, salah satunya adalah pembagian pn-k X(p) dengan g(p).
Pembagian polinomial A(p) = pn-k X(p) yang berderajat n – 1 dengan polinomial g(p) yang berbentuk g(p) = gn-kpn-k + gn-k-1pn-k-1 + ... + g1p + g0 dapat direalisasikan dengan perangkat keras shift-register umpan balik (n-k) tingkat, seperti diilustrasikan dalam gambar di bawah:
Pada awalnya, isi shift-register adalah nol Pada awalnya, isi shift-register adalah nol. Koefisien-koefisien A(p) diumpankan ke shift-register satu bit demi satu bit, dimulai dengan koefisien berpangkat tertinggi, yaitu an-1 diikuti oleh an-2 , dan seterusnya. Setelah pergeseran ke-k, keluaran tak-nol pertama dari pembagi adalah q1 = gn-kan. Keluaran-keluaran berikutnya adalah seperti tampak pada gambar di atas.
Setiap koefisien keluaran dari pembagi, harus dikurangi dengan polinomial g(p) yang dikalikan dengan koefisien tersebut. Pengurangan ini dilakukan menggunakan bagian umpan-balik dari shift-register. Dengan demikian, umpan-balik shift-register pada gambar di atas melakukan proses pembagian dari dua buah polinomial.
Beberapa tipe kode siklik Kode Hamming siklik Kode golay Kode bose-chaudhuri-hocquenghem(BCH)
Kode Hamming siklik Kelas kode siklik meliputi kode Hamming, yang memiliki panjang blok n = 2m-1 dan memiliki bit paritas sebanyak n-k = m, dimana m adalah sembarangan bilangan bulat positif.
Kode golay Kode golay linier seperti dibahas sebelumnya dapat dibangkitkan sebagai kode siklik menggunakan polinomial generator code-word ini akan memiliki jarak minimum dmin = 7
Kode bose-chaudhuri-hocquenghem(BCH) Kode ini memiliki kelas kode siklik dengan alfabet biner maupun non-biner. Kode BCH biner dapat dibentuk dengan parameter yang diberikan oleh: n=2m-1 n-k ≤ mt dmin = 2t + 1 di mana m(m ≥ 3) dan t adalah bilangan bulat positif. Polinomial generator untuk kode BCH dapat dibentuk dari faktor p2m-1+1.