MTK449 Cebirsel Kodlama Teorisine Giriş - Final Sınavı Çözümleri 1 Soru 1. 010011100110000 sözcüğünü içeren 15–uzunluklu en küçük ikili devirli kodun bir eşlik denetim matrisini yazınız. [20 puan] Çözüm. Verilen sözcük polinom olarak u(x) = x + x4 + x5 + x6 + x9 + x10 şeklinde temsil edilir. Bu sözcüğü içeren bir devirli kodun üreteç polinomu g(x) ise o zaman g(x), u(x) polinomunu böler. Ayrıca g(x) | x15 −1 olduğunu da biliyoruz. Öyleyse g(x) | ebob(u(x), x15 −1) olur. g(x)’in derecesi büyüdükçe ürettiği devirli kodun küçüldüğünü biliyoruz. Dolayısıyla verilen sözcüğü içeren 15–uzunluklu en küçük ikili devirli kod ebob(u(x), x15 − 1) tarafından üretilir. Şimdi ebob(u(x), x15 − 1) polinomunu bulalım. Gerekli bölme işlemleri yapıldığıda aşağıdaki gibi bir Öklid algoritmasına ulaşılır x15 + 1 = (x10 + x9 + x6 + x5 + x4 + x)(x5 + x4 + x3 + x2 ) + x9 + x8 + x5 + x4 + x3 + 1 x10 + x9 + x6 + x5 + x4 + x = (x9 + x8 + x5 + x4 + x3 + 1)x olduğundan ebob(u(x), x15 − 1) = 1 + x3 + x4 + x5 + x8 + x9 olur. Alternatif olarak u(x) = x(1 + x3 + x4 + x5 + x8 + x9 ) = x(1 + x5 )(1 + x3 + x4 ) = x(1 + x)(1 + x + x2 + x3 + x4 )(1 + x3 + x4 ) | {z } u(x)’in bölenleri olduğundan ebob(u(x), x15 − 1) = 1 + x3 + x4 + x5 + x8 + x9 bulunur. Dolayısıyla verilen sözcüğü içeren en küçük ikili devirli kod 1 + x3 + x4 + x5 + x8 + x9 tarafından üretilen ikili devirli koddur. Bu kodun eşlik denetim polinomu x15 − 1 = 1 + x 3 + x4 + x5 + x6 3 4 5 8 9 1+x +x +x +x +x polinomunun tersi olan 1 + x + x2 + x3 + x6 polinomudur. Soru 2. C , g(x) = 1 + x4 + x6 + x7 + x8 tarafından üretilen 15–uzunluklu ikili devirli kod olsun. C ’nin bir optimal patlamalı–hata–düzeltici kod olduğu bilinmektedir. Buna göre w = 011100101011110 olarak alınan sözcüğü çözünüz. [25 puan] Çözüm. C , uzunluğu 15 ve boyutu 7 olan bir optimal patlamalı hata düzeltici kod olduğuna göre C , bir 15−7 = 4–patlamalı hata düzeltici koddur. Alınan sözcük 2 2 polinom olarak w(x) = x + x + x3 + x6 + x8 + x10 + x11 + x12 + x13 şeklinde yazılabilir. i ≥ 0 için xi w(x)’in sendromlarını si (x), bu sendromların sözcük karşılıklarını ise si ile gösterelim. Buna göre aşağıdaki tabloyu elde edebiliriz: i 0 1 2 3 4 5 6 7 si (x) x + x3 + x5 x2 + x4 + x6 x3 + x5 + x7 1 + x7 1 + x + x4 + x 6 + x7 1 + x + x2 + x4 + x5 + x6 x + x2 + x3 + x5 + x6 + x7 1 + x2 + x3 si 010101000000000 001010100000000 000101010000000 100000010000000 110010110000000 111011100000000 011101110000000 101100000000000 ← ← ← ← ← ← ← ← 5–uzunluklu 5–uzunluklu 5–uzunluklu 8–uzunluklu 8–uzunluklu 7–uzunluklu 5–uzunluklu 4–uzunluklu patlama patlama patlama patlama patlama patlama patlama patlama 2 MTK449 Cebirsel Kodlama Teorisine Giriş - Final Sınavı Çözümleri x15−7 s7 (x) = x8 (1 + x2 + x3 ) = x8 + x10 + x11 olduğundan hata polinomu e(x) = x8 + x10 +x11 olur. Böylece w(x) olarak alınan sözcük w(x)−e(x) = x+x2 +x3 +x6 +x12 +x13 olarak çözülür. Soru 3. C , 15–uzunluklu ve tasarlanmış uzaklığı 7 olan dar anlamlı BCH kodu olsun. (a) C ’nin üreteç polinomunun g(x) = 1 + x + x2 + x4 + x5 + x8 + x10 olduğunu gösteriniz. [10 puan] (b) w = 000101100100011 olarak alınan sözcüğü çözünüz. [30 puan] Çözüm. (a) 15–uzunluklu ve tasarlanmış uzaklığı 7 olan dar anlamlı BCH kodunun üreteç polinomu ekok(M (1) (x), M (2) (x), . . . , M (6) (x)) polinomudur. 2’nin 15 modülüne göre 1, 2, 3, 4, 5, 6 sayılarını içeren ç.e.b. kümeleri C1 = C2 = C4 = {1, 2, 4, 8} C3 = {3, 6, 9, 12} C5 = {5, 10} şeklinde olduğundan M (1) (x) = M (2) (x) = M (4) (x) = x4 + x + 1 M (3) (x) = x4 + x3 + x2 + x + 1 M (5) (x) = x2 + x + 1 minimal polinomları elde edilir. Buna göre bahsedilen BCH kodu, bu minimal polinomların en küçük ortak katı olan (x2 + x + 1)(x4 + x + 1)(x4 + x3 + x2 + x + 1) = x10 + x8 + x5 + x4 + x2 + x + 1 polinomu tarafından üretilir. (b) Alınan sözcüğü w(x) = 1 + x + x2 + x3 + x5 + x6 + x8 polinomu temsil eder. δ = 7 = 2t + 1 ise t = 3 olur. Buna göre ağırlığı ≤ 3 olacak şeklide bir e(x) hata sözcüğü bulmalıyız. w(x)’in sendromu (s0 , s1 , s2 , s3 , s4 , s5 ) denirse her 0 ≤ i ≤ 5 için si = w(αi+1 ) olacağından, Zech logaritma tablosunu da kullanarak, s0 = w(α) = |1 + α + α2 + α3 + α5 + α6 + α8 {z } | {z } | {z } α4 4 6 α6 9 α9 8 = α +α +α +α =0 | {z } | {z } α12 α12 MTK449 Cebirsel Kodlama Teorisine Giriş - Final Sınavı Çözümleri 3 2 s1 = w(α2 ) = 1 + α + α4 + α6 + α10 + α12 + α | {z } | {z } | {z } α10 10 7 = 1+α +α +α | {z } α7 13 α13 6 =1+α + α13 = 0 | {z } 1 α6 s2 = w(α3 ) = 1 + α3 + α6 + α9 + 1 + α3 + α9 = α6 4 s3 = w(α4 ) = 1 + α + α8 + α12 + α5 + α9 + α2 | {z } | {z } | {z } α5 5 14 = 1+α +α +α | {z } α14 11 α12 α11 12 =1+α + α11 = 0 | {z } 1 10 + 1 + α10 s4 = w(α5 ) = 1 + α5 + α10 +1+α = 1 + α5 + α10 = 0 s5 = w(α6 ) = 1 + α6 + α12 + α3 + 1 + α6 + α3 = α12 elde edilir. Buna göre w(x)’in sendromu (0, 0, α6 , 0, 0, α12 ) şeklinde bulunur. Bunu polinom formunda s(x) = α6 x2 + α12 x5 şeklinde yazabiliriz. Aşağıdaki klasik bölme işlemlerini derecesi t − 1 = 3 − 1 = 2’den küçük veya eşit bir kalan elde edene kadar yapalım: z6 z 6 + α9 z 3 α9 z 3 α12 z 5 + α6 z 2 α3 z 5 z α12 + α6 z 2 12 5 α z α9 z 3 α3 z 2 α6 z 2 Buna göre aşağıdakileri yazabiliriz: z 6 = (α3 z)s(z) + α9 z 3 s(z) = (α3 z 2 )(α9 z 3 ) + α6 z 2 Buna göre r0 (z) r1 (z) r2 (z) q1 (z) q2 (z) = = = = = z6 α9 z 3 α6 z 2 α3 z α3 z 2 denirse, der(rb (z)) ≤t − 1 = 3 − 1 = 2 olacak şekildeki en küçük b 2’dir. Buna göre y2 (z) polinomunu bulmalıyız. y−1 (z) = 0, y0 (z) = 1 olmak üzere yi (z) = yi−2 (z) − qi (z)yi−1 (z) 4 MTK449 Cebirsel Kodlama Teorisine Giriş - Final Sınavı Çözümleri olduğunu biliyoruz. O zaman y1 (z) = q1 (z) = α3 z y2 (z) = 1 + (α3 z 2 )(α3 z) = 1 + α6 z 3 bulunur. y2 (0) = 1 olduğundan σ(z) = y2 (z) = 1 + α6 z 3 olur. Öte yandan σ(z) = (1 + αi0 z)(1 + αi1 z)(1 + αi2 z) olması gerektiğini biliyoruz. σ(z)’nin kökleri α3 , α8 ve α13 olduğundan σ(z) = (1 + α2 z)(1 + α7 z)(1 + α12 z) bulunur. Buna göre hata polinomu e(x) = x2 + x7 + x12 olarak bulunur. Dolayısıyla alınan sözcük w(x) − e(x) = 1 + x + x3 + x5 + x6 + x7 + x8 + x12 , yani 110101111000100, şeklinde çözülür. Soru 4. 15–uzunluklu sadece iki adet kendi–dikgen ikili devirli kod vardır. Bu kodların üreteç polinomlarını belirleyiniz. [15 puan] Çözüm. C , 15–uzunluklu bir kendi–dikgen ikili devirli kod ve C ’nin üreteç polinomu g(x) olsun. g(x) | x15 − 1 dir. Ayrıca C ⊆ C ⊥ olduğundan C ’nin eşlik denetim matrisi h(x), yani (x15 − 1)/g(x) polinomunun tersi, g(x)’i böler. Bunun mümkün olduğu iki olası durum vardır: 1) g(x) = (x + 1)(x2 + x + 1)(x4 + x3 + 1)(x4 + x3 + x2 + x + 1). Bu durumda (x15 − 1)/g(x) = x4 + x + 1 polinomunun tersi x4 + x + 1 olacağından h(x) | g(x) olur. 2) g(x) = (x + 1)(x2 + x + 1)(x4 + x + 1)(x4 + x3 + x2 + x + 1). Bu durumda da (x15 − 1)/g(x) = x4 + x3 + 1 polinomunun tersi x4 + x3 + 1 olacağından yine h(x) | g(x) elde edilir.
© Copyright 2024 Paperzz