Sunteți pe pagina 1din 18

Coduri liniare

Elemente de teoria codurilor liniare

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Mesajele urmează calea: sursă—codificator—-decodificator—-receptor.


Un mesaj x1 x2 ...xk se codifică în y1 y2 ...yn . Datorită paraziţilor de pe
canalul de transmitere de la codificator la decodificator, la decodificator
ajunge un mesaj e y1 , e
y2 ...e
yn .
Dacă e yi = yi , (∀)i = 1, n, atunci transmisia s-a făcut corect.
Dacă însă e yi ̸= yi pentru un I, atunci există o eroare de transmisie. Dacă
e
yi este cuvânt cod, eroarea nu este detectabilă. Eventual se semnalează o
incoerenţă în mesaj şi se solicită retransmiterea mesajului. Dacă e yi nu
este cuvânt cod, eroarea este detectabilă.
Codurile liniare fac codificarea astfel încât erorile detectabile sunt
semnalate fără a face căutări în mulţimea cuvintelor-cod.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Definition
Numim codificare liniară un morfism liniar şi injectiv

φ : Zkp → Znp .

Imaginea acestui morfism se notează An,k şi se numeşte (n,k)-cod liniar.


Se ştie că imaginea unui morfism liniar este subspaţiu vectorial al
codomeniului său. Mai mult, injectivitatea lui φ face ca An,k să fie
izomorf cu domeniul Zkp prin φ. Avem deci
Propozitie
Un (n, k)-cod liniar este subspaţiu vectorial de dimensiune k în Znp .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Pentru orice morfism liniar se poate construi matricea sa în raport cu


baze din domeniu, respectiv codomeniu. Fie An,k = φ(Zkp ) un (n, k) cod
linar şi Gt ∈ Mn,k (Zp ) matricea morfismului liniar φ în raport cu bazele
canonice din Zkp , respectiv Znp . Matricea G, adică transpusa matricei este
exact matricea generatoare a codului liniar.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Exemple:
a) Fie morfismul liniar φ : Z22 → Z52 definit prin

φ(x1 , x2 ) = (x1 , x2 , 0, x1 , x1 + x2 ), (∀)(x1 , x2 ) ∈ Z22 .

Matricea
 morfismului
 liniar φ în raport cu bazele canonice este
1 0
 0 1 
 
Gt =   2
 0 0 . Avem Z2 = {00, 01, 10, 11},
 1 0 
1 1
A5,2 = φ(Z22 ) = {GX, x ∈ Z22 }, unde X este coloana componentelor lui
x. Matricea generatoare a codului este
 
1 0 0 1 1
G=
0 1 0 0 1

Rezultă codul A5,2 = {00000, 01001, 10011, 11010}, dat de codificarea

φ(00) = 00000, φ(01) = 01001, φ(10) = 10011, φ(11) = 11010.


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

b)Fie φ : Z33 → Z63 un (6, 3)-cod liniar cu matricea generatoare


 
1 1 0 0 0 0
G= 0 0 2 2 0 0 .
1 1 1 1 1 1

Această matrice este matricea lui φ în raport cu bazele canonice din


domeniul de definiţie şi din codomeniu. Matricea codificării în raport cu
baza {100, 020, 211} din domeniul de definiţie şi baza canonică din
codomeniu este  
1 1 0 0 0 0
G′ =  0 0 1 1 0 0  .
0 0 0 0 1 1
Codul generat de cele două matrici este acelaşi (evident), dar codificarea
diferă. De exemplu cu matricea G mesajul 010 se codifică în 002200, pe
când pin a doua matrice se codifică în 001100. Această a doua codificare
este mai convenabilă, permite o decodificare mai facilă, deoarece fiecare
simbol se repetă. Un astfel de cod se numeşte cod cu repetiţie.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Exerciţiu: Scrieţi matricea generatoare şi codul definit de morfismul


liniar φ : Z32 → Z52 definit prin

φ(x1 , x2 , x3 ) = (x1 +x2 , x2 +x3 , x1 +x3 , x1 , x1 +x2 +x3 ), (∀)(x1 , x2 , x3 ) ∈ Z32 .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Codurile liniare au la bază ideea de a ”lungi” mesajul de la k simboluri la


n, astfel încât cele n − k simboluri de pe noile poziţii, numite chiar poziţii
de control, să asigure redundanţa necesară refacerii mesajului de
informaţie iniţial, dacă apar eventuale perturbaţii pe canalul de
transmitere.
Cea mai convenabilă codificare constă în scrierea mesajului de informaţie
şi suplimentarea lui cu n − k simboluri de control, adică
 matricea
generatoare a codului să fie de forma G = Ik A , cu A o matrice de
tip (k, n − k).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Definition
Un cod φ(Zkp ) ⊂ Znp se numeşte sistematic dacă lasă neschimbate în
codificarea unui semnal poziţiile de informaţie ale semnalului, adică

φ(x) = (x, a(x)), (∀)x ∈ Zkp , a : Zkp → Zn−k


p .

Din liniaritatea aplicaţiei φ rezultă


Propozitie
Dacă codul φ(Zkp ) ⊂ Znp este sistematic, atunci aplicaţia a din definiţia de
mai sus este morfism liniar.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Un cod sistematic realizează acea codificare convenabilă, matricea unui


astfel de cod în raport cu bazele canonice având pe coloane
φ(ei ) = (ei , a(ei )), (∀)i = 1, k. Obţinem matricea generatoare a codului
G = Ik A , cu A ∈ Mk,n−k (Zp ) transpusa matricei morfismului liniar
a.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Fie An,k un cod liniar generat de matricea G ∈ Mk,n (Zp ). Cuvintele cod
sunt elementele mulţimii cod Gt Zkp , adică un cuvânt cod y ∈ An,k
corespunde prin φ unui vector x ∈ Zkp şi Y = Gt X, unde X, Y sunt
coloanele componentelor vectorilor x, y. Dacă {e1 , ..., ek } este baza din
Zkp , atunci φ(e1 ), ...φ(en ) este bază în An,k . Din definiţia matricei G
rezultă că vectorii bazei din An,k sunt chiar liniile matricei G.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

În spaţiul vectorial Znp dotat cu pseudoprodusul scalar canonic, fie A⊥


subspaţiul ortogonal subspaţiului An,k . Acest subspaţiu este de
dimensiune n − k şi conţine toţi vectorii ortogonali pe An,k , deci pentru
care produsul scalar cu elementele bazei este zero. Cum vectorii care
formează baza în An,k sunt liniile matricei generatoare, rezultă că A′ este
spaţiul soluţiilor sistemului G · U = 0, unde U este coloana componentelor
unui vector u ∈ Znp , arbitrar. Fie {f1 , f2 , ..., fn−k } ⊂ Znp baza în A′ .
Matricea H ∈ Mn−k,n (Zp care are pe coloane componentele vectorilor
f1 , ..., fn−k verifică G · Ht = 0. Evident, această matrice generează A′ ,
avem A′ = Ht · Zn−k p .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Definition
Se numeşte matrice de control a unui cod liniar matricea H cu
proprietatea că generează subspaţiul ortogonal codului dat.
În cazul codurilor liniare sistematice matricea de control se determină
foarte uşor:
Propozitie
Dacă An,k este un cod liniar sistematic cu matricea generatoare
G = Ik A , cu A ∈ Mk,n−k (Zp , atunci matricea de control este
H = −At In−k .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Din definiţia matricei de control rezultă că pentru orice cuvânt cod


y ∈ An,k avem H · Y = 0k,1 .
Mai mult, sistemul H · Y = 0 arată regula pe care o verifică componentele
unui cuvânt cod şi permite astfel decodificarea. Acest sistem se numeşte
sistemul de verificare a parităţii.
Definition
Fie y ∈ Znp , arbitrar. Vectorul z ∈ Zn−k
p cu coloana componentelor
Z = H · Y se numeşte sindromul vectorului y.
Din cele de mai sus, avem că dacă z = 0, atunci y este cuvânt cod, deci
transmisia este corectă sau eroarea, dacă există, este nedetectabilă.
Dacă însă z ̸= 0, atunci y nu este cuvânt cod, deci avem o eroare
detectabilă.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Exemplu:
Fie (5,
 3)-codul binar liniar
 sistematic dat prin matricea
1 0 0 1 0
G =  0 1 0 1 0 . Verificaţi dacă 11101 este cuvânt cod.
0 0 1 0 1
Codul este sistematic, matricea generatoate
 fiindde forma
 1 0
G = I3 A , cu A ∈ M3,2 (Z2 , A =  1 0 . Matricea de control
0 1
 
 1 1 0 1 0
este H = −A I2 =t
. Calculăm sindromul
0 0 1 0 1
vectorului dat şi obţinem 00, deci este cuvânt cod.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Sistemul de verificare a parităţii este



y1 + y2 + y4 = 0
y3 + y5 = 0

Exprimând din acest sistem y4 = y1 + y2 , respectiv y5 = y3 , (calculul s-a


făcut în Z2 , deci −1 = 1), putem considera că mesajul se află pe poziţiile
y1 y1 y3 şi a fost prelungit cu două simboluri de controly4 = y1 + y2 ,
y5 = y3 . Prin urmare orice cuvânt cod, cu această regulă de codificare,
are pe primele trei poziţii informaţia, adică mesajul sursă. Cuvântul cod
11101 se decodifică deci în 111.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

O altă opţiune de alegere a necunoscutelor principale din sistemul de


verificare a parităţii duce la o altă regulă de codificare/decodificare,
regulă care este cunoscută celor doi interlocutori. Astfel, dacă alegem
necunoscutele principale y1 , y5 , din sistemul de verificare a parităţii avem
y1 = y2 + y4 , y5 = y3 , deci mesajul iniţial se aflua pe poziţiile 2,3,4 ş y1 ,
y5 sunt simbolurile de control. În acest caz, mesajul 11101 se decodifică
110.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare
Coduri liniare

Exerciţiu: Fie codul liniar binar C(6, 3) dat prin matricea generatoare
 
0 1 1 1 1 1
G= 1 0 1 1 0 1 .
0 0 0 1 1 1

Determinaţi matricea de control şi sistemul de verificare a parităţii.


Scrieţi codul. Calculaţi sindromul vectorului y = 111001.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Elemente de teoria codurilor liniare

S-ar putea să vă placă și