Kodlama teorisi ilk olarak 1940 lı yılların sonlarına doğru bazı mühendislik problemleri ile bağlantılı olarak ortaya çıkmıştır. Bu konu cebirdeki matematik kavramları kullanılarak geliştirilmiş ve “ Cebirsel Kodlama Teorisi ” adını almıştır.
Hata düzeltici kodlar teorisi ise bilgi transferi yada depolanması esnasında orijinal bilgiye yapılan ekleri optimize ve iletilen bilgide meydana gelebilecek hataları düzeltme gibi konularla ilgilenir. Örneğin; bir mesajı bir kanal boyunca hızlı ve
güvenilir bir şekilde iletmek isteyelim kanal bir telefon hattı, yüksek frekanslı bir radyo bağlantısı olabilir. Ekipman eksikliği, insan hatası yada yıldırım sebebiyle bilginin iletimi esnasında hata oluşabilir. Bu hatalardan mesajı korumak için fazladan veri eklenir. Dijital bir haberleşme sistemi aşağıdaki şekilde gösterilir.
İletişimde amaç, kaynaktan gönderilen mesajı doğruluğu yüksek bir olasılıkla iletmektir. Mesajı göndermek için alfabe olarak adlandırılan sonlu kümeler kullanılır. Bu küme genellikle sonlu bir halka veya cisim olarak alınır. İletilecek mesaj,
oluşabilecek hatalardan korunmak üzere şifrelenir. Şifrelenen mesaj, kodun elemanları olan kod sözcükleridir. Kod sözcükleri kanala gönderilir. Bazı terimleri değişmiş yani hata olmuş olabilir. Decoder hata olup olmadığını kontrol eder, hata varsa düzeltir ve orijinal mesaj elde edilip alıcıya gönderilir.
Bir kodun minimum uzaklığı ne kadar büyük olursa o kod o kadar hata düzelteceğinden, minimum uzaklıkları büyük kodların elde edilmesi önemlidir.
Araştırmacıların kodlar üzerine yapmış oldukları çalışmaların bir kısmı sonlu cismi üzerinde yeni kodlar elde edilmesi ve bunlara karşılık gelen cebirsel kodun
oluşturulması ile ilgilidir. Belirli halkalar üzerinde tanımlı kodlar kullanılarak da cisimler üzerinde kodlar elde edilebilir.
q IF
4
Ζ
k
p Ζ
üzerinde tanımlı uzunluğundaki bir lineer negacyclic kodun Gray
dönüşümü altındaki görüntüsünün üzerinde tanımlı cyclic bir kod olduğu Wolfman tarafından 1999 da yaptığı bir çalışmayla gösterilmiştir. Daha sonra bu
çalışma üzerindeki kodlara genelleştirilmiştir. _ n 2 IF 2 2 uIF
IF + halkası üzerinde cyclic, (1+ )u −
2
IF IF
constacyclic kodların Gray dönüşümü altındaki görüntüleri J. Fa Qian, L. Zhang, S. Zhu tarafından 2006 yılında
belirlenmiştir. Bu çalışma ve halkalarına
aynı grup tarafından genelleştirilmiştir.
2 2 2 uIF u IF + + m p p p +uIF +...+u IF
2008 yılında M.V. Amarra ve F. R. Nemenzo tarafından halkası üzerinde tanımlı _ uzunluğundaki
k
k p
p uIF IF +
n (1− )u −constacyclic kodun Gray dönüşümü altındaki görüntüsünün, uzunluğunda mertebesi olan üzerinde tanımlı bir quasi-cyclic kod olduğu gösterilmiştir.
_ n pk pk−1 k p IF 2 ≥ m − ) n pkm
olmak üzere halkaları üzerindeki
constacyclic kodun Gray dönüşümü altındaki görüntüsünün, cismi üzerinde uzunluğunda mertebesi olan quasi-cyclic kod olduğu
k k k p m p p uIF u IF IF + +...+ 1 − m k p − 1 ( um k p IF _
P. Udomkavanich , S. Jitman tarafından 2009 da gösterilmiştir.
Böylece, belirli halkalar ve bu halkaları belirlerken kullanılan Galois cisimleri arasında uygun dönüşümlerin tanımlanması yoluyla, belirli halkalardaki kodlarla bu cisimlerdeki kodlar arasındaki ilişkiler belirlenmiştir.
ÖN BİLGİLER
1.1 Kod Tanımı ve Özellikleri
1.1.1 Tanım : Alfabe olarak adlandırılan Fq ={λ1,λ2,...,λq} sonlu kümesinden alınan elemanların oluşturduğu sonlu dizilerin kümesine q -ary kod denir.
} ,... 1 , ) ,..., , {( ) (F n a1 a2 an aiFq i n
q = = olmak üzere (F )q n in elemanlarına
sözcük denir. n in herhangi bir C alt kümesine n_uzunluğunda bir q F ) ( q -ary kod ve kodunun elemanlarına da C kod sözcüğü denir. 1.1.2 Tanım : Her ,a=(a1,a2,...,an) b=(b1,b2,...,bn)∈ n q F ) ( için ve arasındaki a b Hamming uzaklığı d(a,b)= { i ai ≠bi } şeklinde tanımlanır ve
d: n q F ) ( × n q F ) ( →IN∪{0} (a,b)ad(a,b) biçiminde tanımlanan dönüşüm n q F b a i )∀ , ∈( ) için d(a,b)≥0 ,d(a,b)=0 ⇔ a=b n q F b a ii ) ∀ , ∈( ) için d(a,b)=d(b,a) n q F b a iii ) ∀ , ∈( ) için d(a,b)≤d(a,c)+d(c,b) özelliklerini sağlar ve bir metriktir.
1.1.3 Tanım : Bir kodunun C minimum uzaklığı } , , ) y , ( min{ ) (C d x x y x y C d = ≠ ∈ biçiminde tanımlanır.
Uzunluğu n , eleman sayısı ve minimum uzaklığı olan bir koduna koddur denir. Burada kodunun parametreleridir.
m m, , d C _ ) , , (n m d n d C
C , (n,m,d)_kod olsun. Bu parametreler arasında aşağıdaki ilişkiler vardır; m
i ) yeteri kadar büyükse kod fazla sayıda mesajı şifreler. d
ii ) büyükse kod daha fazla hata düzeltir. m
iii ) büyüdükçe küçülür. d n
iv ) küçüldükçe mesaj daha hızlı iletilir.
Kodu belirleyen üç parametreden ikisi belli iken diğerinin alabileceği en iyi değeri belirlemek önemlidir.
1.1.4 Tanım : C bir ary , kod olsun. Verilen ve değerleri için
’nin alabileceği en büyük değer ile gösterilir. Buna − q (n,m,d)_ (n Aq n d C m , d) kodunun sınırı denir.
1.1.1 Örnek : C1 ={(0,0),(0,1),(1,0),(1,1)} bir (2,4,1)_koddur.
C2 ={(0,0,0,0,0),(0,1,1,0,1),(1,0,1,1,0),(1,1,0,1,1)} bir (5,4,3)_koddur.
1.1.1 Teorem : her n≥1 için n q n d q A i) ( , )= ( (ii) Aq(n,n)=q dir. (Roman , 1992) 7 , 10 ≤ ≤ d
n için A2(n,d) değerleri aşağıda verilmiştir. (Slaone , 1977)
n d =3 d=5 d =7 5 4 2 - 6 8 2 - 7 16 2 2 8 20 4 2 9 40 6 2 10 72-79 12 2
1.1.2 Teorem : Bir 2-ary kod için d tek olmak üzere bir _ kodunun var olması için gerek ve yeter koşul bir
) , , (n m d ) 1 , , 1
(n+ m d+ _ kodunun var olmasıdır. ( Hill , 1986 )
1.1.1 Sonuç : d tek sayı ise A2(n+1,d +1)= A2(n,d) çift sayı ise d A2(n,d)= A2(n−1,d−1) dir. ( Hill , 1986 )
1.1.2 Örnek : A2(5,3)= 4 olduğuna göre yukarıdaki sonuçtan A2(6,4)= 4 tür. (6,4,4) _ kodu aşağıdaki gibi (5,4,3) _ kodundan elde edilen C ,(5,4,3)_ kodu
)} 1 , 1 , 0 , 1 , 1 ( ), 0 , 1 , 1 , 0 , 1 ( ), 1 , 0 , 1 , 1 , 0 ( ), 0 , 0 , 0 , 0 , 0 {( = C , 0 , 1 , 1 ( ), 1 , 0 , 1 , 1 , 0 , 1 ( ), 1 , 1 , 0 , 1 , 1 , 0 ( ), 0 , 0 , 0 , 0 , 0 , 0 {( = D idi , (6,4,4)_ kodu olur. D )} 0 , 1 , 1
1.1.3 Teorem : C, d minumum uzaklığa sahip bir kod olsun. )
(i d ≥ k+1 ise kodu herhangi bir kod sözcüğündeki C k tane hatayı tespit eder. )
(ii d ≥ t2 +1 ise kodu herhangi bir kod sözcüğündeki tane hatayı düzeltir. C t ( Hill , 1986 )
1.1.2 Sonuç: minimum uzaklığa sahip olan bir C kodu herhangi bir kod sözcüğünde tane hatayı tespit etmekte yada
d 1 − d ⎢⎣⎢ − ⎥⎦⎥ 2 1 d
tane hatayı düzeltmekte kullanılır. ( Ling , 2004 )
1.1.5 Tanım : C , D -ary kodlar olsun. q )
(i kodu C ‘nin kodsözcüklerinde aynı yerdeki elemanlara aynı permütasyon uygulanarak elde edilsin.
D
)
(ii D kodu ‘nin kodsözcüklerinde iki bileşenin yer değiştirmesi ile elde edilsin. C koşullarından en az biri sağlanıyorsa kodu ,D C koduna denktir denir.
1.1.3 Örnek : C ={(0,0,1,1),(0,1,2,1),(1,2,2,0),(1,0,2,1)} 3-ary kodu için ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = 1 0 2 2 1 0
σ permütasyonu için C kodunun 3.konumundaki sembollere uygulanırsa, } ) 1 , 1 , 0 , 1 ( , ) 0 , 1 , 2 , 1 ( , ) 1 , 1 , 1 , 0 ( , ) 1 , 0 , 0 , 0 ( { 1 = C olur.
Daha sonra 1. konumdakilerle 4. konumdakiler yer değiştirildiğinde } ) 1 , 1 , 0 , 1 ( , ) 1 , 1 , 2 , 0 ( , ) 0 , 1 , 1 , 1 ( , ) 0 , 0 , 0 , 1 ( { 2 =
C kodu elde edilir. Buradan C kodu koduna
denktir.
2
C
1.1.4 Teorem : Bir - ary q (n,m,2t+1)_kod
n t q q t n q n n m ≤ ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + + − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ) 1 ( . ... ) 1 ( . 1 0 . eşitsizliğini sağlar. (Lemmermeyer , 2005)
1.1.6 Tanım : Bir - ary q (n,m,2t+1)_kod için n t q q t n q n n m = ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + + − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ ) 1 ( . ... ) 1 ( . 1 0
. ise bu koda mükemmel kod denir.
LİNEER KODLAR , ŞİFRELEME VE ŞİFRE ÇÖZÜMÜ
2.1 Lineer Kodlar
s p
q= , p asal , s∈Ζ+ olmak üzere GF(q)=IFq , q elemanlı Galois cismi için f ,Ζp[x] de dereceden asal bir polinom olmak üzere s.
) f ( ] [x p Ζ
IFq ≅ dir. Özel olarak p asal sayısı için GF(p)= IFp ≅ Ζp dir.
2.1.1 Tanım : R bir halka olmak üzere R ,n R üzerinde bir modüldür. R nin her alt n modülüne R üzerinde bir n_uzunluğunda lineer kod denir.
n q
IF , üzerinde bir vektör uzayıdır. Benzer şekilde nin her alt uzayına üzerinde uzunluğunda bir lineer kod
q IF _ n n q IF q IF denir.
2.1.1 Örnek : kümesi ‘nin bir alt uzayı olduğu
için kodu üzerinde 2_uzunluğunda bir lineer koddur.
{
(0,0),(0,1),(1,0),(1,1) = C}
2 2 IF 2 IF 2.1.2 Örnek : C ={(0,0,0,0),(0,1,1,2),(0,2,2,1),(1,0,1,1),(1,1,2,0),(1,2,0,2), 4 3 } ) 0 , 1 , 2 , 2 ( , ) 1 , 0 , 1 , 2 ( , ) 2 , 2 , 0 , 2 ( ⊆IFkümesi ‘nin bir alt uzayıdır. Dolayısıyla C üzerinde 4_uzunluğunda bir lineer koddur. 4 3 IF IF3 2.1.2 Tanım : n de q IF x=(x1,x2,...,xn), y=(y1,y2,...,yn) elemanları verilsin. x ve nin farklı bileşenlerinin sayısı olarak y
{
i x y i n}
y)
x, = i≠ i , =1,2,...,
d( biçiminde tanımlanan fonksiyonuna
Hamming uzaklığı
d denir.
C IFq üzerinde n_uzunluğunda bir lineer kod ise } , , ) , ( min{ d ) (C x y x y C
d = x≠ y ∈ ‘ye kodunun minimum uzaklığıC denir.
2.1.3 Tanım : vektör uzayının boyutlu bir alt uzayı ise ’ye bir
kod adı verilir. Eğer kodunun minimum uzaklığı ile gösterilirse bir lineer koddur denir.
n q IF C , _ ] , d k _ k C _ ] , [ kn C C d(C)=d , [n
2.1.4 Tanım : n vektör uzayının herhangi bir q
IF x=(x1,x2,...,xn) elemanının
ağırlığı w(x)= { i xi≠0,i=1,2,...,n , xi∈IFq} şeklinde tanımlanır. q
IF
C üzerinde bir lineer kod ise w(C)=min{ w(x) x≠0, x∈C } ye C kodunun ağırlığı denir.
2.1.1 Önerme : Her n için
q IF y
x, ∈ d(x,y)=w(x−y) dir. (Roman , 1992)
2.1.1 Teorem : C IFq üzerinde bir n_uzunluğunda lineer kod ise d(C)=w(C) dir.
Kanıt : x=(x1,x2,...,xn), y =(y1,y2,...,yn)∈C olmak üzere
d(C)=min{d(x,y) x≠ y ,x,y∈C } olduğundan C y x ∈ ∃ ⇒ , için d(C)=d(x,y)=w(x−y) ≥min{ w(x) xi≠0, x∈C }=w(C) bulunur. ) ( ) (C wC d ≥ ∴ dir. } , 0 ) ( min{ ) (C w x x x C w = i≠ ∈ olduğundan
bir x∈C için w(C)=w(x) bulunur. C x∈ ∃ ∴ için ≥ = − = = ( ) ) (C w x w w(x 0) d(x,0) min{d(x,y) x≠ y ,x,y∈C }=d(C) olduğu görülür. ) ( ) (C d C w ≥ ∴ dir.
) ( ) (C d C w = ∴ olur.
Yukarıdaki teoremden elemanlı lineer bir C kodunun minimum uzaklığını belirlemek için m ) 1 − m .( . 2 1 2⎟⎟⎠= ⎞ ⎜⎜ ⎝ ⎛ m m
tane kıyaslama yapmak yerine tane kod sözcüğünün ağırlığına bakmak yeterli olacaktır sonucu elde edilir.
1 − m
2.1.5 Tanım : C lineer bir kod olsun. ‘nin tabanındaki tane elemanı kullanarak elde edilen tipindeki matrise C kodunun üretici matrisi
_ ] , [n k C k n k× denir ve G ile gösterilir. 2.1.3 Örnek : IF2üzerindeki } ) 0 , 1 , 1 ( , ) 1 , 0 , 1 ( , ) 1 , 1 , 0 ( , ) 0 , 0 , 0 ( { =
C kodunun bir tabanı
} ) 1 , 0 , 1 ( , ) 1 , 1 , 0 ( { = S 2 IF
olduğu için matrisi C nin üretici matrisidir. C kodu üzerinde [ koddur.
3 2 1 0 1 1 1 0 × ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = G _ ] 2 , 2 , 3 2.1.4 Örnek : , üzerinde
uzunluğunda bir ary kod olsun. Bu kodun bir tabanı
n q IF q q q C ={(0,0,...,0),(1,1,...,1),...,( −1, −1,..., −1)}⊆ _ q {(1,1,..., q IF ) 1 _ n S = } n G ×
olduğundan , üretici matrisi C =[11 ... 1]1 olan bir [n,1,n]_koddur.
2.1.6 Tanım : n olmak üzere
q n n v v v v IF u u u u=( 1, 2,..., ), =( 1, 2,..., )∈ n q q n q IF IF IF × ⎯⎯ →⎯⎯ ⋅ : (u,v)au.v=u1.v1+...+un.vn
biçiminde tanımlanan dönüşüme bir iç çarpım denir. u.v=0 ise u ve birbirine v diktir denir.
2.1.7 Tanım : C bir q_ary kod olsun. [ kn, ]_ } , 0 . {v IF u v u C C n q = ∀ ∈ ∈ =
⊥ kümesine C ‘nin duali denir.
2.1.2 Teorem : C bir [ kn, ]_kod ve ,
n k n k k k n n g g g g g g g g g G × ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ... . . . ... ... 2 1 2 22 21 1 12 11
C kodunun üretici matrisi olsun. Bir n olsun. q n IF v v v v=( 1, 2,..., )∈ ⊥ ∈C
v olması için gerekli ve yeterli koşul olmasıdır. k k n n n G v v v1 2 ... ]1× . Τ × =[0 0 ... 0 ]1× [ Kanıt : n için q n IF v v v v= ∈ ∀ ⇒: ( 1, 2,..., ) ⊥ ∈ C
v olsun. Bu durumda her u∈ için C v.u=0 dır. ve olsun. n k n k k k n n g g g g g g g g g G × ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ... . . . ... ... 2 1 2 22 21 1 12 11 k n kn n n k k g g g g g g g g g G × Τ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⇒ ... . . . ... ... 2 1 2 22 12 1 21 11 dır. C
G , ’nin üretici matrisi olduğundan , ) ..., , , ( , ) ..., , , ( 11 12 1 2 21 22 2 1 g g g n u g g g n u = = ... ,uk =(gk1,gk2,...,gkn)∈C dir. 0 .u1 = v ,v.u2 =0,…,v.uk =0 olduğundan
= × Τ ×n n k n G v v v ... ] . [ 1 2 1 [v1v2 ... vn]1×n . k n kn n n k g g g g g g × ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ... . . . ... 2 1 2 22 12 =[v.u1 v.u2 ... v.uk]1×k =[0 0 ... 0]1×k olur. : ⇐ n q n IF v v v v=( 1, 2,..., )∈ olmak üzere k k n n n G v v v1 2 ... ]1× . Τ × =[ 00 ... 0]1×
[ iken v∈ C⊥ olduğunu gösterelim.
k k n n n G v v v1 2 ... ]1× . Τ × =[ 00 ... 0]1× [ olduğundan . ] ... [v1v2 vn 1×n k n kn n n k k g g g g g g g g g × ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ... . . . ... ... 2 1 2 22 12 1 21 11 k × =[0 0 .... 0]1 dir. ⎪ ⎪ ⎪ ⎪ ⎩ ⎪⎪ ⎪ ⎪ ⎨ ⎧ = + + + = + + + = + + + ⇒ 0 . ... . . . . . , 0 . ... . . , 0 . ... . . 2 2 1 1 2 22 2 21 1 1 12 2 11 1 kn n k k n n n n g v g v g v g v g v g v g v g v g v (1)
dır. G , C kodunun üretici matrisi olduğundan heru∈ için C +
+
= 1.(g11,g12,...,g1n) 2.(g21,g22,...,g2n)
u λ λ ...+λk.(gk1,gk2,...,gkn) olacak
biçimde λ1,λ2,...,λk ∈IFq vardır.
Eşitliğin her iki tarafı v ile çarpıldığında
+ +
=( .( , ,..., ) .( , ,..., ) .v 1 g11 g12 g1n 2 g21 g22 g2n
=((λ1.g11,λ1.g12,...,λ1.g1n)+.(λ2.g21,λ2.g22,...,λ2.g2n)+...+ (λk.gk1,λk.gk2,...,λk.gkn)).(v1,v2,...,vn) ,..., . ... . . , . ... . . (λ1 g11+λ2 g21 + +λk gk1 λ1 g12 +λ2 g22 + +λk gk2 = λ1.g1n +λ2.g2n +...+λk.gkn).(v1,v2,...,vn) + + + + + + + + + =(λ1.g11 λ2.g21 ... λk.gk1).v1 (λ1.g12 λ2.g22 ... λk.gk2).v2 ... (λ1.g1n+λ2.g2n +...+λk.gkn).vn =λ1.(v1.g11+v2.g12+...+vn.g1n)+λ2.(v1.g21 +v2.g22 +...+vn.g2n)+...+ λk.(v1.gk1+v2.gk2 +...+vn.gkn) (1) kullanılarak =λ1.0+λ2.0+...+λk.0= 0 bulunur. ∴ v∈ C⊥ dir.
2.1.2 Önerme : üzerinde bir lineer kod ise de üzerinde bir
lineer koddur.( Hill , 1986 ) , C _ q IF [ kn, ]_ C⊥ q IF ] , [n n−k
Not : C bir [ kn, ]_ kod olmak üzere (C⊥)⊥ =C dir.
2.1.5 Örnek : üzerinde bir lineer
kod olsun. C kodunun üretici matrisi dir. } ) 0 , 1 , 1 ( , ) 1 , 0 , 1 ( , ) 1 , 1 , 0 ( , ) 0 , 0 , 0 ( { = C ⎢ ⎣ ⎡ = G 2 IF 0 1 _ ] 2 , 3 [ 3 2 1 1 0 1 × ⎥ ⎦ ⎤ Her v=(v1,v2,v3)∈C⊥ ise 2 1 2 3 3 1 3 2 1 [0 0 ] 1 0 1 1 0 1 . ] [ × × × = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ v v v olacağından
0 ,
0 2 3
2
1+v = v +v =
v bulunur. Buradan v1 =v2 =v3 olur.
} ) 1 , 1 , 1 ( , ) 0 , 0 , 0 ( { =
∴ C⊥ üzerinde lineer koddur.
2
IF [3,1]_
2.1.8 Tanım : C bir [ kn, ]_ kod ise C⊥ ‘nin üretici matrisine parity-check matrisi denir ve H ile gösterilir. H , (n− )k ×n tipinde koşulunu sağlayan bir matristir.
0 .HΤ = G
Bir C lineer [ kn, ]_kodunun parity-check matrisi H ise
[
...]
. [0] } ) ,..., , ( { ( ) 1( ) 1 2 1 2 1 n n n n k n k n q n IF x x x H x x x x C = = ∈ × Τ × − = × −biçiminde ifade edilir.
2.1.6 Örnek : üzerindeki bir kodunun parity-check matrisi şeklinde ise lineer kodu
2 IF 2 1 1 ⎥ ⎦ ⎤ C 4 1 0 0 1 1 1 × ⎢ ⎣ ⎡ = H C
[
]
. [0 0] } ) , ( { = 1 2 4 ∈ = x x x C ,x3,x IF24 x1 x2 x3 x4 1×4 HΤ4×2 = 1×2 biçiminde belirlenir.[
x1 x2 x3 x4]
.HΤ =[ 00 ][
]
[ 00 ] 1 0 1 0 0 1 0 1 . 4 3 2 1 = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⇒ x x x x 0 , 0 3 4 2 1+ = + = ⇒ x x x x dır. Buradan 4 2 } ) 0 , 0 , 1 , 1 ( , ) 1 , 1 , 0 , 0 ( , ) 1 , 1 , 1 , 1 ( , ) 0 , 0 , 0 , 0 ( { IF C = ⊆ olduğu görülür. Bu örnekte olduğundan görüleceğinden ⊥ = C C H parity-check matrisi C kodu için aynı zamanda bir üretici matristir.2.1.7 Örnek : üzerindeki bir kodunun parity-check matrisi biçiminde ise lineer C kodu
2 IF 3 C 1 ] 1 1 1 [ × = H
[
]
. [0] } ) , , ( { 31 11 3 1 3 2 1 3 2 3 2 1 ∈ × Τ × = × = = x x x x IF x x x H C biçiminde belirlenir.[
x1 x2 x3]
.HΤ =[ 0][
]
[0] 1 1 1 . 3 2 1 = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⇒ x x x 0 3 2 1+ + = ⇒ x x x dır. Buradan 3 2 } ) 0 , 1 , 1 ( , ) 1 , 1 , 0 ( , ) 1 , 0 , 1 ( , ) 0 , 0 , 0 ( { IF C = ⊆ olur.2.2 Lineer Kodlarda Şifreleme
.2.1 Tanım : üzerinde üretici matrisli bir kod olsun. ‘nin tane
2 C, u q IF nda G ta _ ] , [ kn ekte k C qk elemanı bulund ğu n C, q ne farklı mesajı iletmk ullanılabilir. Mesajlar
k q
IF kümesinin q tane elemanıyla tanımlanır. Her k k q k IF u u u u=( 1, 2,..., )∈ olsun. ıdaki
Aşağ φ ve ϕ fonksiyonları yardımıyla mesaja eleman
aşağıdaki biçimde frelenir ;
karşılık gelen u∈ k q IF ı şi ) ( : k 1n q q M IF IF ⎯⎯⎯⎯→ × φ G u u u u u u u u =( 1, 2,..., k)aφ( )=[ 1 2 ... k]. . ] ... [u1u2 uk = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ n k k k n n g g g g g g g g ... . . . ... ... 2 1 2 22 21 1 12 11 g ] ... [x1x2 xn = ve M : ϕ 1×n(IFq)⎯⎯⎯⎯→C ) ,..., , ( ]) ... ([ ] ... [x1x2 xn aϕ x1x2 xn = x1 x2 xn nksiyonları yardımıyla ψ =ϕoφ
fo biçiminde tanımlanan fonksiyona da şifreleme
fonksiyonu adı verilir.
2.2.1 Örnek : bir 2-ary [7,4]_kod ve kodunun bir tabanı
ise kodunun üretici C 1 , 0 , 1 0 0 0 1 C 0 , 1 i } ) 1 , 1 , 0 , 1 , 0 , 0 , 0 ( ), , 1 , 0 , 1 , 0 , 0 ( , ) 1 , 1 , 1 , 0 , 0 , 1 , 0 ( ), , 0 , 0 , 0 , 1 ( { = S matrisi 7 4 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 × ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = G biçim ndedir. C
erilsi
( ) (u
Bir mesaja karşılık getirilen vektörü v n.
Bu elemanı 4 2 4 3 2 1, , , ) (u u u u IF u= ∈ u ) )(u oφ ϕ ψ = )) ( ( uφ ϕ = ) ] [ ( u1 u2 u3 u4 u1+u2 +u3 u2 +u3 +u4 u1 +u2 +u4 =ϕ =(u1,u2,u3,u4,u1+u2 +u3 ,u2 +u3+u4, u1 +u2 +u4) olarak şifrelenir. Özel olarak ;
Mesaja karşılık şifreleme sonucunda en vektör
getiril şifreleme bulunan kod sözcüğü
u =(0,0,0,0) ←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ ψ(0,0,0,0)=(0,0,0,0,0,0,0) u =(1,0,0,0) ←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ ψ(1,0,0,0)=(1,0,0,0,1,0,1) ) 0 , 0 , 1 , 0 , 1 , 1 , 1 ( ) 0 , 1 , 1 , 1 ( ) 0 , 1 , 1 , 1 ( ←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ = = ψ u biçiminde şifrelendiği görülür.
2.3 Lineer Kodlarda Dekodlama
.3.1 Tanım : kod sözcüğünün bir kanal boyunca iletildiğini ve
şeklinde alıcıya ulaştığını varsayalım .
2 Bir )x=(x1,x2,...,xn ) ,..., , (y1 y2 yn y= e= y−x=(e1,e2,...,en) y vektöründen x şeklinde tanımlanan vektöre hata vektörü denir. Şifre çözücü kod
nün meydana geldi ine karar ver elidir. Bu bölümde iki dekodlama yöntemi anlatılacaktır. Bunlardan biri 1960 yılında
ştirilen bir dekodlama yöntemidir. Lineer kodlarda uzunluğu büyük olan kodlar için de sendrom dekodlaması geliştirilmiştir.
i
(Lagrange)
bir kod olsun. Bu durumda;
er için
sözcüğünün iletildiğini yada ehata vektörü ğ m
Slepian tarafından lineer kodlar için geli
2.3.1 Teorem : C,IF üzerinde birq [ kn, ]_kod olmak üzere, her n q IF b
a, ∈ iç n a
~
b (mod C) ⇔ a−b∈C şeklinde tanımlanan ~ bir denklik bağıntısıdır. ( Hill ,1986 ) 2.3.2 Teorem : , C IF üzerindeq [ kn, ]_ ) H (i n q IFa∈ a∈u+C olacak biçimde en az bir u+C∈ IFqn C vardır. için n q F a+C =qk ) (ii Her a∈I dır.
ki denklik sınıfı ya ayrıktır yada çakışıktır. ( Hill ,1986 )
2.3.1 Örnek : tici matri olan bir 2-ary [4,2] _ kod
olsun. Bu kod biçimindedir.
Bu koduna göre elemanlarının
ınıfları ; ) (iii İ C , üre si G =⎢⎡ 1 0 1 1 ⎤ 4 2 1 0 1 0 ⎥⎦ × ⎣ } ) 0 , 1 , 1 , 1 ( , ) 1 , 0 , 1 , 0 ( , ) 1 , 1 , 0 , 1 ( , ) 0 , 0 , 0 , 0 ( { = C C 4 2 ) 0 , 1 , 0 , 0 ( , ) 0 , 0 , 1 , 0 ( , ) 0 , 0 , 0 , 1 ( , ) 0 , 0 , 0 , 0 ( ∈IF denklik s
) 0 , 0 , 0 , 0 ( + C ={(0,0,0,0),(1,0,1,1),(0,1,0,1),(1,1,1,0)} } ) 0 , 1 , 1 , 0 ( , ) 1 , 0 , 1 , 1 ( , ) 1 , 1 , 0 , 0 ( , ) 0 , 0 , , 0 0) {(1,0 , 0 , 1 ( + C = ( { ) 0 , 0 , 1 , 0 ( + C = 0,1,0,0),(1,1,1,1),(0,0,0,1),(1,0,1,0)} } ) 0 , 0 , 1 , 1 ( , ) 1 , 1 , 1 , 0 ( , ) 1 , 0 , 0 , 1 ( , ) 0 , 1 , 0 , 0 ( { ) 0 , 1 , 0 , 0 + C = dır. olduğu için ( C + ∈(0,1,0,0) ) 1 , 0 , 0 , 0 ( (0,0,0,1)+C C denklik sınıfı (0,1,0,0)+C sınıfıyla çakışır. Benzer şekilde (0,1,1,1)+C =(0,0,1,0)+ dir. Denklik s ilcileri olarak ağırlığı en küçük olan kod sözcükleri göz önüne alınır.
2.3.2 Tanım : Bir denklik sınıfının içinde en küçük ağ ığa sahip olan vektöre denklik sınıfının lideri
ınıfının tems
ırl
denir. Eğer en küçük ağırlığa sahip birden fazla eleman varsa herhangi iri denklik sınıfının lideri olarak seçilir. Örneğin ; (0,1,0,1)+C
b denklik sınıfının lideri
olarak (0,0,0,1) veya (0 ilir.
olmak üzere ’nin tüm elemanları yazılır.
.adım : Tabl nun b sahip vektörü
eçilir ’ nin elemanları ( ,0’ın altına ,1,0,0) alınab
Slepian’ın dekodlama metodu
C bir [ kn, ]_kod olmak üzere, n q
IF ’nin tüm elemanları kullanılarak qn−ktane satır q tane sütundan oluşan aşağıdaki tabloyu oluşturalım ; k
I.adım : Birinci satıra 0 vektörü en başta C
II o irinci satırında olmayan minimum ağırlığa a1
.a1+C a1 a1 +x (x∈C)elemanlar ilgili ını x s
III.adım : Tablonun birinci ve ikinci satırında olmayan minimum ağırl a sahip bi Eleman ir ve a2 +C’ nin elemanları (II. şekilde) üçüncü sat yazılır.
ığ r
ı seçil adımda oluğu ır olarak
V.adım : Bu şekilde tüm sınıflar listeleninceye kadar devam edilir. u tabloya Slepian ‘ın standart tablosu
2
a
I
B denir.
Bir vektörünün bir kodu yardımıyla şifrelenerek alıcıya vektörü
Tablo
C [ kn, ]_ y
x
olarak ulaştığını düşünelim. Öncelikle C koduna bağlı olarak Slepian ‘ın standart tablosu oluşturulur. da y vektörü bulunur. y vektörünün bulunduğu sütunun ilk satırındaki vektör aranan x vektörüdür. e hata vektörü olmak üzere x= y−e ilişkisi
ardır.
2.3.2 Örnek : 2.3.1 Örnek için kodu yardımıyla şifrelenmiş ve alıcıya aşmı
v
Bu yöntem Slepian ‘ın dekodlama yöntemi olarak adlandırılır.
4 2
IF C⊆
ul ş sözcük y =(1,1,1,1) olsun. Bunun hangi sözcükten şifrelendiğini belirleyelim. Öncelikle C koduna bağlı olarak Slepian ‘ın standart tablosu oluşturulur.
Sınıf Liderleri
(0,0,0,0) (1,0,1,1) (0,1,0,1) (1,1,1,0) (1,0,0,0) (0,0,1,1) (1,1,0,1) (0,1,1,0) (0,1,0,0) (1,1,1,1) (0,0,0,1) (1,0,1,0) (0,0,1,0) (1,0,0,1 ) (0,1,1,1) (1,1,0,0)
Bu tabloya göre alınan )y=(1,1,1,1 vektörü x= (1,0,1,1) kod sözcüğü olarak ekodlanmış olur. Burada hata vektörü e=(0,1,0,0) dır.
mesaja karşılı k an şi esaja karşılı elen vektör
alın fresi çözülen m
g kod sözcüğü kanal vektör sözcük gelen vektör (0,1) (0,1,0,1) (0,1,0,1) ( (0,1,0,1)
(0,1) (0,1,0,1) (0,1,0,1
0,0,0,1) (0,1)
) (0,1,0,0) (0,0,0,0) a
a=(0,0)≠(0,1) olduğundan şifre çözülemez.
Burada kod sözcüğünün ilk üç bileşenin herhangi bir yerinde hata meydana
Sendrom dekodlaması
3.3 Tanım : üzerinde bir kod ve kodunun parity-check
atrisi olsun.
olmak üzere şeklinde den ye tanımlanan bir dönüşüm verilsin. nin sendromu
gelmişse tek bir hata düzeltecektir. Eğer 4. bileşende hata meydana gelirse hata düzeltilemeyecektir. 2. C , IFq [n,k,d]_ H ,C m ) ( : n 1n k q q M IF IF w ⎯⎯⎯⎯→ × − ) ( 1 2 1 2 1, ,..., ) ( ) [ ... ] . (y y yn w y y y yn n HTn n k y = a = × × − ) ( 1 2 1 ... ] [b b bn−k ×n−k = ve ı n k q q k n IF IF M w : 1×( − )( )⎯⎯⎯⎯→ − ) ( 1 2 1 ... ] [b b bn−k ×n−k wı([b b2 ...bn k]) (b1,b2,...,bn k) − − = a 1 ı w w s= o n q IF n k q IF −
Not : )(i , 11 h h ,..., ), ( , , ., ),..., ( , ,..., ) ( 12 1 2 21 22 2 ( )1 ( )2 ( ) 1 hn h h h h n hn k hn k hn k hn kn h = = .. − = − − − ve pa ck ma H ⎢ ⎢ .
rity-che trisi olmak üzere
şeklinde de ifade edilir.
dir.
2.3.1 Önerme : ve aynı denklik sınıfına ait iki vektör olması için gerek ve yeter ır.
Kanıt : ve aynı denklik sınıfına ait iki vektör olsun. Bu durumda n k n n k n k n k n n n h h h h h h h h × − − − − ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ) ( ) ( 2 ) ( 1 ) ( 2 1 12 11 .... . . ... ... h ⎥ ⎢ ⎢ 21 22 ) , ... , , (yh yh2 yhn−k ) (y 1 s = ) (ii s(y)=0 ⇔ y∈C u v koşul )s(u)=s(v olmasıd u v u+C =v+C dir. C v C u+ = + ⇔ u+c1 =v+c2 , ∃c1,c2∈C
⇔ u−v=c2 −c1 , ∃c1,c2 ∈C ⇔ u−v∈C ⇔ s(u−v)=0 0 ) ) ( , ... , ) ( , ) (( − 1 − 2 − = ⇔ u v h u v h u v hn−k ⇔(uh1 −vh1,uh2 −vh2,...,uhn−k −vhn−k)=0 ⇔(uh1,uh2,...,uhn−k)−(vh1,vh2,...,vhn−k)=0 ) , ... , , ( ) , ... , , (uh1 uh2 uhn−k = vh1 vh2 vhn−k ⇔ ) ( ) (u s v s = ⇔
2.3.2 Önerme : Denklik sınıflar le sendromlar arasında bire bir karşılık vardır. ı i ( Hill ,1986 )
2.3.3 Örnek : C , IF2 üzerinde tanımlı bir kod olsun. kodunun üretici matrsi C veriliyor. Bu durumda parity-check matrisi
olur.
}
kodu için Slepian’ın standart tablosu_ ] 2 , 4 [ 4 2 1 0 1 0 1 1 × ⎥ ⎦ ⎤ 1 0 1 1 0 1 0 1 ⎥ ⎦ ⎤ ⎢ ⎡ = 0 1 ⎢ ⎡ = G ⎣ H 4 2× ⎣
{
(0,0,0,0), = C (1,0,1,1),(0,1,0,1),(1,1,1,0) (0,0,0,0) (1,0,1,1) (0,1,0,1) (1,1,1,0) (1,0,0,0) (0,0,1,1) ,(11,0,1) (0,1,1,0) (0,1,0,0) (1,1,1,1) (0,0,0,1) (1,0,1,0) (0,0,1,0) (1,0,0,1) (0,1,1,1) (1,1,0,0) biçimindedir.u tabloda tüm vektörlerin sendromları
B ) 0 , )( )) 0 , 0 , 0 , wı w o =( 0,0,0 0 (( s =wı(w(0,0,0,0)) =wı([00 00].HT) ) 0 1 1 0 1 1 ]. 0 0 0 0 ([ ⎥ ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎢ ⎡ ı w = 1 0 ⎦ ⎣ ]) 0 0 ([ ı w = =(0,0), ) 0 , 0 ( ) 0 , 1 , 1 , 1 ( ) 1 , 0 , 1 , 0 ( ) 1 , 1 , 0 , 1 ( ) 0 , 0 , 0 , 0 ( =s =s =s = s , ) 1 , 1 ( ) 0 , 1 , 1 , 0 ( ) 1 0 , 1 , 1 ( ) 1 , 1 , 0 , 0 ( , ) 0 , 0 , 0 , 1 ( = s s =s =s = , ) 1 , 0 ( ) 0 , 1 , 0 , 1 ( ) 1 , 0 , 0 , 0 ( ) 1 , 1 , 1 , 1 ( = s = = s ) 0 , 0 , 1 , 0 ( = s s , ) 0 , 1 ( ) 0 , 0 , 1 , 1 ( ) 1 , 1 , 1 , 0 ( ) 1 , 0 , 0 , 1 ( ) 0 , 1 , 0 , 0 ( =s =s =s = s dir.
standart tablo çözümü için bilgisayar programı kullanıldığında sadece iki sütuna ihtiyaç duyulur. Bilgisayara tüm tablo verilerini girmek yerine sınıf liderlerini ve bunlara ait sendromları girmemiz yeterli olacaktır. Bu tabloya sendrom arama tablosu
Eğer
Bir adı verilir.
vektörünün bir C [ kn, ]_kod yardım yla şifrelenerek alıcıya y
x ı vektörü
olarak ulaştığını düşünelim. Dekodlama için;
I. Adım : Denklik sınıfı liderlerinin sendromları hesaplanır.
I. Adım : Alınan
I y vektörü için hesaplanır.
II. Adım : alınır. Sendrom arama tablosunda nin bulunduğu satırda
) ( y s
I z =s( y) z
z karşılık gelen denklik sınıfı lideri f(z) vektörü belirlenir.
IV. Adım : Aranan kod sözcüğü )y− f(z olur.
2.3.4 Örnek : 2.3.3 Örnek için kodu yardımıyla şifrelenmiş ve alıcıya ulaşmı
rını hesaplayıp sendrom arama tablosunu oluştur ım. 4 2 IF C⊆
ş sözcük y =(1,1,1,1) olsun. Bunun hangi sözcükten şifrelendiğini belirleyelim. Öncelikle denklik sınıfı liderlerinin sendromla
al
Sendrom arama tablosu : denklik sınıfı sendrom z liderleri (f z) ⎯→ 0 , 0 ( )⎯ (0,0,0,0) (1,1)⎯⎯→ (1,0,0,0) (0,1)⎯⎯→ (0,1,0, 0) (1,0)⎯⎯→ (0,0,1,0)
Daha sonra alınan )y=(1,1,1,1 vektö nün sendromunu hesaplayalım. rü arama tablosunda s((1,1,1,1))=(wı w)(1,1,1,1) o =wı(w(1,1,1,1)) =wı([1111].HT) ) 1 0 0 1 1 0 1 ]. 1 1 1 1 ([ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ =wı 1 ]) 1 0 ([ ı w = =(0,1) ) 1 , 0 ( ) (y = s
Sendrom ‘ e karşılık gelen denklik sınıfı lideri
(0,1,0,0) dir. Buradan bulunan kod sözcüğü (1,1,1,1)-(0,1,0,0)=(1,0,1,1) olur.
ısına bağlı olarak Slepian’ın dekodlama yöntemi ya da sendrom dekodlama yöntemi kullanılır. Kod sözcüğünün uzunluğu küçük ise Slepian ‘ın standart
ılarak dekodlama yapm uygundur. Kod sözcüğünün uzunluğu büyük ise Sendrom dekodlaması kullanmak daha uygundur.
= ) (z f Kodun yap tablosu kullan ak
2.4 Cyclic Kodlar
.4.1 Tanım : C, n ‘in bir alt kümesi olsun. Eğer her q
IF c=(c0,c1,...,cn−1)∈C
2
iken (cn−1,c0,...,cn−2)∈C oluyorsa kümesine cyclic kümeC denir.
lineer kod olmak üzere cyclic bir küme ise ’ ye cyclic kodC C C denir.
.4.1 Örnek :
,
,
ve eleri cyclic küm men lineer kod
üzerinde , 2 3 2 1 {(0,0,0),(1,0,1),(0,1,1),(1,1,0)} IF C = ⊆ 4 3 } ) 0 , 2 , 1 , 1 ( , ) 1 , 0 , 2 , 1 ( , ) ⊆IF 2 {(0,1,1,2),(2,0,1,1 C = 5 2 3 {(1,1,1,1,1)} IF C = ⊆ kodları veriliyor. 1
C cyclic bir koddur. C2 C3 küm e olmalarına rağ olmadıkları için cyclic kod değildir.
2.4.1 Teorem : IFq
[ ]
> − < ⎯→ ⎯ 1 : n q n q x x IF IF π lineer dönüşümü verilsiesinin cyclic kod olması için gerekli ve yeterli koşul > − < + + + + = = − − − ) ( ) ... 1 ,..., , ( 1 1 1 0 1 1 0 n n n n a a a x a x x a a a a aπ n. n IF C⊆ q alt küm ) (C π ⊆
[ ]
< − > 1 n q x x IF‘ nin bir ideali olmasıdır. Ling , 2004 )
2.4.2 Örnek :
üzerinde cyclic kodunu ele alalım. Bu durumda
3 2 } ) 0 , 1 , 1 ( , ) 1 , 1 , 0 ( , ) 1 , 0 , 1 ( , ) 0 , 0 , 0 ( { IF C = ⊆ 2 IF
[ ]
> − < ⎯→ ⎯ 1 :IF23 IF2 x x3 π olduğu için ⊆ + + + ={0,1 ,1 , } ) (C x x2 x x2 π[ ]
< − > 1 3 2 x xIF idealdir. π(C) aynı zamanda
ir esas idealdir. π(C) =<1+x> dir. Gerçektende b ) 1 ( . ) 1 ( 0 ) 1 ( . +x = = +x +x+x2 0 ) ( . ) 1 ( 1 ) 1 ( . +x = +x= +x x+x2 1 ) 1 ( . ) 1 ( 2 2= +x +x ) 1 ( . x x x x + = + . 2 x (1+x)=1+x2=(1+x).(1+x)
[ ]
. 2 } 2 x a IF a i∈ . { 1 0 1 2 3 2 a a x x x IF = + + > − < ={0,1,1+x,1+x2,x,x2,1+x+x2,x+x2} } 1 1 ( { 1+ >= + 2 < 3 − > < x x x ).f(x) f(x)∈IF [x] 2.4.3 Örnek :[ ]
< − > 1 4 2 x x IF ⊆ + + + + + ={0,1 x2, x2,1 x x2 x3} I x idealinekarşılık gelen cyclic kod π(C)=I sağlayan kodu ir. 2.4.2 Tanım : C } ) 1 , 1 , 1 ( , ) 1 , 0 , 1 , 0 ( , ) 0 , 1 , 0 , 1 ( , ) 0 , 0 , 0 , 0 ( { ,1 d R bir halka, R ∈
λ ,C⊆Rn lineer kod olmak üzere ν : Rn ⎯⎯→ Rn ) ,..., , . ( ) ,..., , ( ) ,..., , (c0 c1 cn−1 aν c0 c1 cn−1 = λcn−1 c0 cn−2
zel olarak olması durumunda
Ö λ =−1
C C
v( )= oluyorsa C koduna R üzerinde bir negacyclic kod denir.
Önerme : lineer kod olsun. ’nin bir cyclic kod olması için gerekli ve
eterli koşul C⊆Rn C : σ C 2.4.1 C ⎯→ ⎯ y (c0,c1,...,cn−1)aσ(c0,c1,...,cn−1)=(cn−1,c0,...,cn−2) biçiminde tanımlanan dönüşümün bir otomorfizma olmasıdır.
anıt: ⇒ : C ,n_ uzunluğunda bir cyclic kod olsun.
K C → C⎯⎯ : σ ) ,..., , ( ) ,..., , ( ) − − − ,..., , (c0 c1 cn 1 aσ c0 c1 cn−1 = cn 1 c0 cn 2 σ ‘nın 1-1 olduğu terelim. c c c n nu gös C d d d n ∈ ∀( 0, 1,..., −1),( 0, 1,..., −1) için σ(c0,c1,...,cn−1)=σ(d0,d1,...,dn−1) olsun. ,..., , (c0 c1 cn−1)=σ(d0,d1,...,dn−1) ( −1, 0,..., −2) ( −1, ,..., −2) σ ⇒ cn c cn = dn d0 dn 1 1 1 0 1 0 = , = ,..., − = − ⇒ c d c d cn dn ⇒ (c0,c1,...,cn−1)= (d0,d1,...,dn−1) olur. ∴ σ 1-1 dir.
σ ‘ nın örten olduğunu gösterelim. alalım C b b b n ∈ ∀( 0, 1,..., −1) b0 =cn−1, 1 = 0,...,bn−1=cn−2 ) 1 − n c b alınırsa ,..., 1 b b , ( ) ,..., , (c0 c1 cn−1 = b0
σ sağlayan ∃(c0,c1,...,cn−1)∈C bulunmuş olur. ∴ σ örten dir.
σ ‘nın homomorfizma olduğunu gösterelim. C d d d c c c n n ∈ ∀ ) ) ( ) ,..., , ( ( 0 1 −1 −1 − − ),( , ,..., ) ,..., , ( 0 1 1 0 1 1 için ) ,..., , ( 0 0 1 1 ,..., , 1 1 1 0 = + + − + − + n n d d c c c d σ c d c d cn dn σ =cn−1 +dn−1,c0 +d0,c1+d1,...,cn−2 +dn−2) ) ,..., , , ( ) ,..., , , ( −1 0 1 −2 + −1 0 1 −2 = cn c c cn dn d d dn =σ(c0,c1,...,cn−1)+σ(d0,d1,...,dn−1) sağlanır. yrıca ∀a∈R , ∀(c0,c1,...,cn−1)∈C için A = = − − )) ( . , . ,..., . ) ,..., , .( (a c0 c1 cn 1 σ ac0 ac1 acn 1 σ (a.cn−1,a.c0,a.c1,...,a.cn−2) = a.(cn−1,c0,c1,...,cn−2) =a.σ(c0,c1,...,cn−1) dır. σ
∴ bir homomorfizmadır. ∴σ bir otomorfizmadır.
:
⇐ (c0,c1,...,cn 1− )∈Ciken σ(c0,c1,...,cn−1)=(cn−1,c0,...,cn−2)∈C olduğundan
lineer kod olsun. ’nin bir Cbir cyclic kod olur.
2.4.2 Önerme : C⊆Rn C λ cyclic kod olması için gerekli −
ve yeterli koşul C C⎯⎯→ : ν ) ,..., , . ( ) ,..., , ( ) ,..., , (c0 c1 cn−1 aν c0 c1 cn−1 = λcn−1 c0 cn−2 biçiminde tanımlanan dönüşümün bir otomorfizma olmasıdır.
BELİRLİ HALKALAR ÜZERİNDEKİ KODLAR
Bu kısımda ve
halkaları üzerindeki cyclic , constacyclic , quasi-cyclic kodlar ve ilişkileri incelenecektir.
.1
Halkası üzerindeki kodlar
k k p p uIF IF + k k k k pk m p p p p uIF u IF u IF u IF IF + + 2 + 3 +...+
3
IFpk +uIFpk asal , k∈IN olsun. p[ ]
{
}
k p > 0 1 0 1 2 k p a ua u a a IF u u IF ∈ > < + + = < 2 , halkası için olması durumunda ; 0 2= u{
a0+ua1+0. ,a1∈IFpk , b∈IFpk[u]}
={a0 +ua1} 0 0 1 0 ua b a a + +< > = olacağından[ ]
= > <u2 u IF k{
}
k p IF a a a u a0+ 1} 0, 1∈ { = bulunur ve p k k p p uIF IF R = +{
a0+ua1 a0,a1∈IFpk}
de bir halkadır. durum[ ]
> < ⎯ ⎯ → ⎯ + 2 : u u IF IF u f pk Bu da IF k k p p a0+ua1a f(a0+ua1)={a0+ua 1} k k p p uIF IF + :=[ ]
< u2> u IFpk dönüşümü bir izomorfizmadır. Bu durumda3.1.1 Önerme : ⎯⎯→
[ ]
< − > 1 :Rn R x xn π dönüşümü verilsin. > − < + + + + = − − −1) ( ) 0 1 ... 1 1 1 n n n n aπ c c c x c x x c=(c0,c1,...,c )(i C ⊆ R ‘ nin bir cyclic kod olman sı için gerekli ve yeterli koşul π(C)’nin
[ ]
> 1 x
R
− ının bir ideali olmasıdır. C
<xn halkas )
(ii ⊆ R ‘ nin bir n (1− )u −constacyclic kod olması için gerekli ve yeterli oşul π(C)’nin
[ ]
> − −(1 u) < x xn halkasının bir ideali olmasıdır.
cyclic bir kod olsun. R k Kanıt ( i ) : C R C n , : ≠ ⊆ ⇒ φ
[ ]
> − < ⊆ 1 n x x R } ) ,..., , ( 1 ... { ) ( 1 0 1 1 1 1 0 a x a x x a a a C a C n n n n +< − > ∈ + + + − − − = π kümesinin[ ]
> −1 n xR halkasının bir ideali olduğunu gösterelim. nda bir lineer kod olduğundan
< x uzunluğu C _n (0,0,...,0)∈C olduğundan olur. ) 0 ,..., )=<xn −1>∈π(C 0 , 0 ( π ∴ π(C)≠∅ dir. ,
’nin lineer kod oldu
olduğu görülür. ) ( 1 ... 1 1 1 0 a x a x x C a a n n n +< − >∈π + + + = ∀ − − ) ( 1 ... 1 1 1 0 b x b x x C b n n n +< − >∈π + + + = − − için ) i ( b ∀ C ğu kullanılarak ) 1 ... ( ) 1 ... ( 1 1 1 0 1 1 1 0 + + + +< − > − + + + +< − > = − − − − − n n n n n n x x b b x b x x a x a a b a ) ( 1 ) ( ... ) ( ) ( 1 1 1 1 1 0 0 b a b x a b x x C a b a n n n n − +< − >∈π + + − + − = − − − −
) ∀ (ii ... 1 1 ( ), 1 1 0 a x a x x C a a n n n +< − >∈π + + + = − − ∈ > − < + + + + = ∀ − − 1 ... 1 1 1 0 n n n x x f x f f f
[ ]
< − > 1 n x x R için‘nin cyclic kod olduğunu kullanarak;
C . f a ( ... 1 ).( ... 1 1 ) 1 1 0 1 1 1 0 + + + +< − > + + + +< − > = − − − − n n n n n n x x f f x f x x a x a a > − < + + + + + + + = − − − − ).( ... ) 1 ... ( 1 1 1 0 1 1 1 0 n n n n n x f f x f x x a x a a + + + + + + + + = − − − − ). ( ... ) ... ... .( 1 1 1 0 1 1 1 1 0 0 a a x an xn f x a a x an xn f > − < + + + + − − − −1 n 1( 0 1 ... n 1 n 1) n 1 n x a a x a x x f + + + + + + + + = − − − − − ). ( .... ) ... ... .( 1 2 0 1 1 1 1 1 0 0 a a x an xn f an a x an xn f > − < + + + + + − − − − ( ... 0 1) 1 2 1 2 1 1 n n n n n a a x a x a x x f ∈π(C) olduğu görülür.
[ ]
> − < xn 1 x R , ) (C π∴ halkasının bir idealidir.
: ⇐ π(C) ,
[ ]
> − <xn 1 xR ’in ideali olsun.
⊆ ) (C π
[ ]
> − < xn 1 x R ⇒ C ≠∅ ,C ⊆ Rn , ) (C ≠∅ olur. ∴π d c∀ , ∈C , ∀α,β∈R için αc+βd∈C old unu gösterelim.
) uğ ⇒ ∈C d c, π(c),π(d)∈π(C ) ( ) ( ) (c βπ d π C π α + ∈ ⇒ , ∀α,β∈R için = + ⇒απ (c) βπ(d) π(αc+βd)∈π(C) ⇒ αc+βd∈C ∴C lineer koddur.
alalım C c c c n ∈ ∀( 0, 1,..., −1) , ) (C π
[ ]
> − < xn 1 xR ’in ideali olduğundan
[ ]
− > , ) ( 1 ... 1 1 1 0 c x c x x C c n n n +< − >∈π + + − − + +< − >∈ < 1 1 n n x x R x x için dir. ) 1 ... )( 1 1 1 1 0 + + + +< − > > − − − n n n n c c x c x x (x+ x< ) ( 1 ... 1 2 0x c x x C n n n +< − >∈π + + − − 1 c cn + = − C c c c n ∈ ⇒ (cn−1, 0, 1,..., −2) ∴C bir cyclic koddur.undan sonraki kısımda önce p=2 ,k =1
B durumunda çalışılacaktır.
h
üzerinde (
2
2 uIF
IF +
alkası
1+u)-constacyclic kodlar ,
cyclic
i ilişki
3.1.1 Tanım : halkası üzerinde uzunluğunda bir kod olsun.
kod sözcüğünün Lee ağırlı ı
kodlar ve aralarındak
C, R=IF2 +uIF2 _n C c c c c=( 0, 1,..., n−1)∈ ğ , wL(0)=0 ) ( i L c biçim , ,olmak üzere, i anır.
in 1 ) 1 ( = L w nde tanıml 1 ) 1 ( + u = wL , wL(u)=2
∑
− = = 1 0 ) ( n i L c w w Her c,d ∈Rn iç d (c,d) w (c d) LL = − biçinde tanımlanan fonksiyonuna ee uzaklı
L d L ğı denir. Bir C⊆Rn kodunun minimum Lee uzaklığı,
C c c w C
dL( ))= min{ L( ) ∈ \{0}} biçiminde tanımlanır.
3.1.2 Tanım : C⊆IF2n lineer kod olsun. σ : IF n IF2n 2 2 2 ⎯⎯ →⎯ ) ,..., , ( ) ,..., , ( ) ,..., , (a0 a1 a2n−1 aσ a0 a1 a2n−1 = a2n−1 a0 a2n−2