Blokiniai kodai
a0,a1…ak-1 – informacinis masyvas
Papildžius informacini masyvą kontroliniais kodais c0,c1…cn-1, gausim sisteminį blokinį kodą:
a0,a1…ak-1 c0,c1…cn-1
n – bendras simbolių kiekis
k – informacinių simbolių kiekis
r – kontrolinių simbolių kiekis
n-k=r
Vieni nuo sisteminiai kodai skiriasi kontrolinių simbolių sudarymo algoritmais.
Vieni iš plačiai paplitusių sisteminių kodų – tiesiniai sisteminiai kodai. Jų kontroliniai kodai išreiškiami informacinių kodų pirmo laipsnio laipsniniais polinomais.
• Tiesiniai sisteminiai dvejetainiai kodai išreiškiami:
Cv=x0*a0+x1*a1+…+xk*ak;
Cv=(nuo j=0 iki k-1)jv*aj; v=0…r-1
jv – dvejetainis koeficientas
Tarkime turime tiesinį kodą:
(5,3)
21=1 11=1 01=0
20=1 10=0 00=1
C1=a2+a1
C0=a2+a0
Kombinacijos nuo
000 C1=0 C0=0 00000
01 C1=1 C0=1 00111
010
…
111
• Matricinis sisteminių kodų sudarymas
Visas sisteminio kodo leidžiamas kombinacijas galima gauti turint pradines kombinacijas. Tos pradinės kombinacijos turi tenkinti sąlygas:
• Neturi būti nulinės kombinacijos pradinėse kombinacijose
• Kodinis atstumas tarp dviejų pradinių kombinacijų neturi būti mažesnis kaip dmin
• Kiekviena pradinė kombinacija turi turėti kaip dmin vienetų skaičių.
a11 a12 … a1k b11 b12 … b1r
a21 a22 … a2k b21 b22 … b2r
Pn,k= …………………………
ak1 ak2 … akk bk1 bk2 … bkr
Informacinis Patikras
Uk Hp
Pn,k= Uk *Hp
Patikros matricos sudarymo sąlygos:
• Vienetukų kiekis patikros matricoje turi būti ne mažesnis kaip dmin-1
• Suma patikros matricos dviejų eilučių turi būti ne mažesnė kaip dmin-2
Kontrolinių simbolių skaičiavimas tiesiniams kodams, naudojant patikros matricą:
Sudaroma transponuota patikros matrica:
b11 b21 … bk1
b12 b22 … bk2
Hp’= ……………
bk1 bk2 … bkr
Pozicijos Hp’ pirmoje eilutėje turinčios vienetukus, nustatomos informacinės skiltys, kurios turi dalyvauti formuojant kodinės informacijos kontrolinę skiltį.
Antros eilutės vienetukai nustatys formuojant antrąją kontrolinę skiltį.
Dekoduojant sisteminius kodus, pakartotinai taikoma tokia pati kontrolinių bitų taisyklė, kaip ir perduodant . Todėl priėmimo vietoje tarpusavyje lyginamos dvi kontrolinių bitų grupės. Viena iš jų tiesiogiai priimta kontrolinių bitų grupė, kita grupė nustatoma pakartotinai dekoduojant kodo žodį.
Jeigu perduotas kodo žodis nebuvo iškraipytas ir klaidingų ženklų nėra, tai pakartotinai nustatyti kontroliniai ženklai bus gauti tokie patys kaip nustatė siuntėjas.O visi sindromo ženklai bus lygus nuliui. Jeigu perduodant įvyko klaida, sindromo kode atsiras vienetų.
Jeigu kodo žodyje yra 1 arba 3 arba bet koks nelyginis vienetų skaičius, tik tada galima nustatyti, kad yra klaida, bet jos vietos nustatyti negalima.
Kodų tipo perteklumas:
kpert=r/n
Kodas su elementų padvigubinimu
Kiekvienam informaciniam simboliui įvedamas papildomas simbolis.
Papildymas:
1 papildomas 0 – 10
0 papildomas 1 – 01
Perteklumo koeficientas
kpert=0.5, nes gaunama dvigubai daugiau simbolių.
Kodas atitinka visas klaidas išskyrus tas, kai klaidos yra poriniuose elementuose.
Inversinis kodas
Jo sudarymo pagrindas pradinės kodinės kombinacijos metodas. Tais atvejais kada pradinė kombinacija turi lyginį vienetukų skaičių, antra kombinacija tiksliai atitinka pradinę. Jeigu nelyginę – pakartojimas vykdomas invertuotame pavidale.
kpert=0.5
Aptinka praktiškai visas kombinacijos klaidas. Nebus aptiktos, kai bus iškraipomi 2,4,6 ir t.t. elementų.
Cikliniai kodai
Jie priskiriami tiesinių sisteminių kodų klasei. Esminė jų ypatybė – cikliškai perstatant leistinojo žodžio simbolius, gaunamas kitas leistinasis kodo žodis.
Ciklinių kodų sudarymas
Kai pasirinktas konkretus generuojantysis polinomas (3 skilčių ir daugiau), tai ciklinį kodo žodį nusakantis polinomas sudaromas iš dviejų dalių.
M(x) – informacinę kodo žodžio dalį atitinkantis polinomas
R(x) – liekana [gaunama dalijant xn-k*M(x)/G(x)]