Sunteți pe pagina 1din 12

Prelegerea 2

Coduri liniare
2.1 Matrice generatoare
Denit ia 2.1 Fie q un numar prim si n N

un numar natural nenul. Se numeste


cod liniar orice subspat iu liniar al lui Z
n
q
.
Un subspat iu k-dimensional al lui Z
n
q
se numeste (n, k)- cod liniar peste alfabetul
Z
q
.
Sa notam n general cu A
n,k
(A
n,k
Z
n
q
) un (n, k) - cod liniar. Elementele sale se
numesc cuvinte-cod.
Fie n, k N, k < n. O codicare este o aplicat ie injectiva : Z
k
q
Z
n
q
, iar
A
n,k
= (Z
k
q
). Elementele lui Z
k
q
se numesc mesaje de informat ie.
Deci, x Z
k
q
este un mesaj de informat ie scris cu caractere din alfabetul Z
q
.
Daca transmitem succesiunea x de semnale printr-un canal de comunicat ie, mesajul
este supus diverselor perturbari de canal care-l modica. Ideea teoriei codurilor
este urmatoarea: n loc de a transmite elementele lui Z
k
q
, sa lungim mesajul
informat ional scufundand (prin intermediul aplicat iei ) Z
k
q
ntr-un spat iu liniar
Z
n
q
(n > k) astfel nc at cele n k pozit ii noi - numite pozit ii de control - sa asigure
redondant a necesara refacerii mesajului de informat ie init ial.
Astfel, cu pret ul lungirii mesajului, se castiga protect ia fat a de (anumite tipuri
de) erori.
Observat ii:
Din denit ie rezulta ca un cod liniar de lungime n este un set A de cuvinte
(secvent e, siruri, vectori) de lungime n cu proprietat ile:
a, b A = a +b A;
a A, t Z
q
= ta A.
Orice cod - liniar cont ine cuvantul cod nul 0 = (0, 0, . . . , 0).
|Z
q
| = r = |A
n,k
| = r
k
A
n,k
ind un spat iu liniar k-dimensional, admite o baza formata din k vectori cu n
elemente. Fie
e
1
, e
2
, . . . , e
n
13
14 PRELEGEREA 2. CODURI LINIARE
o astfel de baza. Atunci orice cuvant cod v A
n,k
are forma
v =
k

i=1
u
i
e
i
unde (u
1
, u
2
, . . . , u
k
) Z
k
q
este unic determinat.
Cu alte cuvinte, k simboluri de informat ie u
1
, . . . , u
k
Z
q
determina n mod
unic un cuvant - cod v A
n,k
prin relat ia de sus, si reciproc. Operat ia de codicare
face aceasta asociere biunivoca:
u = (u
1
, . . . , u
k
) Z
k
q
v =
k

i=1
u
i
e
i
A
n,k
Fiecare vector - codntr-un cod liniar va avea deci k simboluri de informat ie; celelalte
n k simboluri se numesc simboluri de control.
Denit ia 2.2 Fie A
n,k
un cod liniar cu baza e
1
, . . . , e
k
. Matricea
G
n,k
=

e
1
e
2
. . .
e
k

se numeste matricea generatoare a codului.


Deci operat ia de codicare este denita prin matricea generatoare:
u Z
k
q
, (u) = uG.
Exemplul 2.1 Matricea
G =

1 0 0 1 1
0 1 0 0 1

genereaza un (5, 2)-cod liniar peste Z


2
. Rangul ei este 2 (primele doua coloane
formeaza matricea unitate), deci cele doua linii ale lui G sunt cuvinte - cod liniar
independente.
Mult imea mesajelor de de informat ie este Z
2
2
= {00, 01, 10, 11}.

Inmult ind ecare
mesaj cu matricea G se obt ine spat iul liniar al cuvintelor - cod
A
4,2
= {00000, 01001, 10011, 11010}.
Funct ia de codicare este:
00 00000, 01 01001, 10 10011, 11 11010.
Un cod liniar poate generat de mai multe baze posibile. Deci se pot construi
mai multe matrici generatoare pentru un (n, k)-cod liniar. Ele se pot transforma
una n alta prin operat iile liniare obisnuite, denite pentru liniile unei matrici. Prin
schimbarea matricii generatoare nu se schimb a spat iul liniar al cuvintelor - cod, ci
numai modalitatea de codicare (funct ia ). Cum prin termenul cod se nt elege de
obicei spat iul liniar A
n,k
, rezulta ca doua matrici diferite care se deduc una din alta
prin operat ii pe linii, reprezint a acelasi cod.
2.1. MATRICE GENERATOARE 15
Exemplul 2.2 Reluand Exemplul 2.1, prin adunarea liniei doi la prima linie se
obt ine matricea
G

1 1 0 1 0
0 1 0 0 1

Ea genereaza acelasi spat iu liniar A


5,2
, dar codicarea difera:
00 00000, 01 01001, 10 11010, 11 10011
Exemplul 2.3 Matricea
G =

1 1 0 0 0 0
0 0 2 2 0 0
1 1 1 1 1 1

genereaza un (6, 3)-cod liniar peste Z


3
. Aducand matricea la forma canonica, se
obt ine
G

1 1 0 0 0 0
0 0 1 1 0 0
0 0 0 0 1 1

Toate cele 3
3
= 27 cuvinte ale acestui cod au urmatoarea proprietate: ecare simbol
este scris de doua ori. Din acest motiv, codul este numit cod cu repetit ie.
Cea mai convenabil a regula de codicare constan scrierea simbolurilor de informat ie
si suplimentarea lor cu n k simboluri de control. Aceasta corespunde matricii
generatoare (unice)
G = (I|B)
unde I este matricea unitate de ordin k, iar B este o matrice cu k linii si n k
coloane.
Denit ia 2.3 Un cod liniar este numit sistematic daca admite o matrice genera-
toare de forma G = (I|B) unde I este matricea unitate.
Denit ia 2.4 Doua coduri liniare A si A

de aceeasi lungime n se numesc echiva-


lente daca S
n
astfel ncat
v
1
v
2
. . . v
n
A v
(1)
v
(2)
. . . v
(n)
A

(s-a notat cu S
n
mult imea permutarilor de n elemente).
Exemplul 2.4 Codul din Exemplul 2.1 este un cod sistematic. Din codicare se
observa ca mesajul de informat ie se aa n cuvantul - cod pe primele doua pozit ii.
Codul cu repetit ie din Exemplul 2.3 nu este sistematic. Totusi, folosind per-
mutarea (1, 4, 6, 2, 5, 3) (se permuta simbolurile doi cu patru si trei cu sase) se ajunge
la un cod sistematic generat de matricea
G

1 0 0 1 0 0
0 1 0 0 0 1
0 0 1 0 1 0

16 PRELEGEREA 2. CODURI LINIARE


Teorema 2.1 Orice cod liniar este echivalent cu un cod liniar sistematic.
Demonstrat ie: Matricea generatoare G a unui (n, k) - cod liniar A are rangul k; deci
ea are k coloane liniar independente.
1. Sa presupunem ca primele k coloane ale lui G sunt liniar independente. Deci
G = (X|Y ) unde Y este o matrice kk inversabil a. Exista atunci o succesiune
de operat ii de linii care transforma X n matricea unitate. Aceeasi succesiune
de operat ii efectuate acum pentru toata matricea G va conduce la matricea
G

= (I|Y

). Deoarece si G

este matrice generatoare pentru codul A, rezulta


ca acesta este sistematic.
2. Fie (p
1
, p
2
, . . . , p
n
) permutarea care aduce coloanele liniar independente ale
matricii G pe primele k pozit ii. Se obt ine n acest fel o noua matrice G

. Fie
A

codul liniar obt inut prin codicarea cu matricea generatoare G

. Atunci A
si A

sunt echivalente, iar A

este sistematic, conform cazului anterior. 2


2.2 Matrice de control
Denit ia 2.5 Fie A
n,k
un cod liniar generat de matricea G = G
k,n
. Se numeste
matrice de control o matrice H = H
nk,n
cu proprietatea GH
T
= 0.
Observat ii:
Din denit ie rezulta ca matricea de control H a unui cod liniar A are urma-
toarea proprietate:
v A vH
T
= 0
Lasam ca exercit iu demonstrarea acestei echivalent e.
Prin transpunere, relat ia de sus se poate scrie si HG
T
= 0. Aceasta nseamn a
ca si H este matricea generatoare a unui (n, nk) - cod liniar peste corpul Z
q
,
cod pentru care G este matrice de control. Cele doua coduri astfel denite se
numesc coduri duale. Cuvintele - cod din cele doua coduri duale sunt ortogo-
nale (produsul lor scalar este zero).

Intr-adev ar, daca A si B sunt doua coduri
duale generate de matricile G respectiv H, iar x A, y B sunt cuvinte -
cod arbitrare, exista u, v cu x = uG, y = vH.

In plus, xH
T
= 0, yG
T
= 0.
Atunci, xy
T
= uGy
T
= u(yG
T
)
T
= u0
T
= 0.
Exemplul 2.5 (7, 4) - codul liniar binar cu matricea generatoare
G =

1 0 0 0 0 1 1
0 1 0 0 1 0 1
0 0 1 0 1 1 0
0 0 0 1 1 1 1

are drept matrice de control


2.2. MATRICE DE CONTROL 17
H =

0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1

care la randul ei este matricea generatoare a unui (7, 3) - cod liniar binar.
Se verica imediat relat ia
GH
T
=

0 0 0
0 0 0
0 0 0
0 0 0

Un cod care coincide cu codul sau dual se numeste cod auto - dual.
Teorema 2.2 Un cod sistematic cu matricea generatoare G = (I|B) admite ca
matrice de control H = (B
T
|I).
Demonstrat ie: Cele doua matrici unitate din scrierea lui G si H sunt de ordin k
respectiv n k. Efectuand calculele, se obt ine:
GH
T
= (I|B)

= IB +BI = B +B = 0
2
Corolarul 2.1 Matricea de control a unui (n, k)-cod liniar are rangul n k.
Teorema de sus permite un algoritm de calcul extrem de simplu al matricii de control,
atunci cand se cunoaste matricea generatoare. Sa arat am aceasta pe un exemplu:
Exemplul 2.6 Plecand de la matricea generatoare construita n Exemplul 2.4, se
poate construi matricea de control (calculele se fac n Z
3
):
H

1 0 0 1 0 0
0 0 1 0 1 0
0 1 0 0 0 1

2 0 0 1 0 0
0 0 2 0 1 0
0 2 0 0 0 1

.
Aplicand acum permutarea inversa coloanelor lui H

, se ajunge la matricea de con-


trol a codului denit n Exemplul 2.3:
H =

2 1 0 0 0 0
0 0 0 0 1 2
0 0 1 2 0 0

Relat ia xH
T
= 0 pe care o veric a orice cuvant - cod x A
n,k
permite sa denim
un cod si sub forma unui sistem de ecuat ii. Astfel, A
n,k
este un cod peste Z
q
daca
si numai daca elementele sale sunt solut ii ale sistemului liniar xH
T
= 0.
Exemplul 2.7 Codul cu matricea de control H =

1 1 0 1 0
1 1 1 1 1

este denit ca mult imea solut iilor binare (x


1
, x
2
, x
3
, x
4
, x
5
) ale sistemului
x
1
+x
2
+x
4
= 0, x
1
+x
2
+x
3
+x
4
+x
5
= 0
18 PRELEGEREA 2. CODURI LINIARE
2.3 Sindrom
Fie codul liniar A
n,k
Z
n
q
peste Z
q
, cu matricea de control H si a Z
n
q
. Se numeste
sindrom al vectorului a vectorul z cu n k componente obt inut prin relat ia
z
T
= Ha
T
,
sau - echivalent - z = aH
T
.
Observat ie: z = 0 a A
n,k
.
Daca se transmite printr-un canal de comunicat ie un cuvant a A
n,k
pentru
care sindromul corespunzator veric a relat ia z = aH
T
= 0, nseamna ca s-a detectat
faptul ca n timpul transmisiei au aparut erori.
Teorema 2.3

In Z
2
, sindromul recept ionat este egal cu suma coloanelor din ma-
tricea de control corespunzatoare pozit iilor perturbate.
Demonstrat ie: Fie a = (a
1
, a
2
, . . . , a
n
) A
n,k
cuvantul-cod transmis. Fara a res-
trange generalitatea, sa presupunem ca au intervenit trei erori, pe pozit iile i, j, k,
ind recept ionat vectorul
a

= (a
1
, . . . , a
i1
, a

i
, a
i+1
, . . . , a
j1
, a

j
, a
j+1
, . . . , a
k1
, a

k
, a
k+1
, . . . , a
n
)
unde a

i
= a
i
, a

j
= a
j
, a

k
= a
k
. Avem
0 = aH
T
= a
1
(h
1
) +. . . +a
i
(h
i
) + . . . +a
j
(h
j
) + . . . +a
k
(h
k
) + . . . +a
n
(h
n
)
pentru ca a A
n,k
, iar (h
1
), . . . , (h
n
) sunt coloanele matricii H.
Avem, de asemenea
a

H
T
= a
1
(h
1
) +. . . +a

i
(h
i
) + . . . +a

j
(h
j
) + . . . +a

k
(h
k
) + . . . +a
n
(h
n
)
Prin adunarea acestor doua egalitat i se obt ine:
z

= a

H
T
= aH
T
+a

H
T
= (0) +. . . +(0) +(h
i
) +. . . +(h
j
) +. . . +(h
k
) +(0) +
. . . + (0) = (h
i
) + (h
j
) + (h
k
). 2
2.4 Pondere, distant a Hamming
Pentru orice cuvant x Z
n
q
, se numeste pondere num arul w(x) de componente
nenule. Evident, 0 w(x) n.
Pentru doua cuvinte x, y Z
n
q
, se numeste distant a Hamming ntre ele, numarul
d(x, y) = w(x y).
Ca o remarca, deoarece x y Z
n
q
, rezulta ca distant a Hamming dintre doua
cuvinte este ponderea unui cuvant din Z
n
q
.
Denit ia 2.6 Se numeste distant a (Hamming) a codului liniar A
n,k
Z
n
q
peste Z
q
cea mai mica distant a (Hamming) dintre elementele codului A
n,k
, adica
d = min
x,yA
n,k
,x=y
d(x, y)
2.5. DETECTARE SI CORECTARE DE ERORI 19
Folosind proprietatea anterioara si faptul ca 0 A
n,k
, rezulta ca
d = min
xA
n,k
,x=0
w(x).
Se poate verica imediat ca d este o distant a cu ajutorul careia Z
n
q
se poate structura
ca spat iu metric.
Teorema 2.4 Fie H matricea de control a unui cod liniar A
n,k
. Codul are distant a
minima d daca si numai daca orice combinat ie liniara de d 1 coloane ale lui H
este liniar independenta si exista cel put in o combinat ie liniara de d coloane liniar
dependente.
Demonstrat ie: Pentru orice cuvant a, cu w(a) = s, aH
T
este o combinat ie liniara
de s coloane ale lui H. Cum exista un cuvant - cod de pondere minima egala cu
distant a d a codului, rezulta ca avem cel put in o combinat ie de d coloane liniar
dependente ale lui H. O combinat ie de mai put in de d coloane liniar dependente ar
conduce la contradict ie. 2
Denit ia 2.7 Pentru r > 0 si x Z
n
q
, denim sfera de raza r si centru x ca
S
r
(x) = {y|d(x, y) r}
Teorema 2.5 Fie A
n,k
Z
n
q
un cod liniar peste Z
q
cu distant a Hamming d. Daca
r =

d 1
2

, atunci
x, y A
n,k
, x = y, S
r
(x) S
r
(y) = .
Demonstrat ie: Presupunem prin absurd ca exista z Z
n
q
, z S
r
(x) S
r
(y).
Atunci d(x, z) r, d(y, z) r deci, conform inegalitat ii triunghiului, d(x, y)
d(x, z) + d(y, z) 2r = 2

d1
2

< d, ceea ce contrazice armat ia ca d este distant a


codului A
n,k
. 2
Evident, n ecare astfel de sfera exista un singur cuvant - cod: cel aat n
centru.
Denit ia 2.8 Un cod liniar A
n,k
Z
n
q
de distant a d peste Z
q
este perfect daca
Z
n
q
=

xA
n,k
S
r
(x)
unde r =

d1
2

.
2.5 Detectare si corectare de erori
Fie A
n,k
Z
n
q
un cod liniar peste Z
q
, de distant a d si t =

d1
2

. Sa presupunem ca
s-a recept ionat cuvantul z Z
n
q
; va exista cel mult un cuvant x A
n,k
astfel ncat
z S
t
(x) (n cazul codurilor perfecte, acest cuvant exista totdeauna).

In cazul (ideal) cand z = x, cuvantul a fost transmis fara erori (sau cu erori
nedetectabile).
20 PRELEGEREA 2. CODURI LINIARE
Daca z = x, atunci mesajul a fost perturbat (si avem o detectare de erori);
n ipoteza ca numarul de erori aparute este minim si exista un x A
n,k
astfel ca
d(x, z) t, atunci z provine din cuvantul - cod x - si se va transforma n acesta
prin corectarea corespunzatoare a erorilor.

In celelalte cazuri, z sau nu se poate corecta, sau se corecteaza gresit, n alt


cuvant cod.
Aceasta ultima situat ie nu apare la codurile perfecte.
Metoda de detectare si corectare a erorilor descrisa mai sus se numeste decodi-
carea cea mai probabila. Pentru marea majoritate a codurilor liniare aceasta este
singura metoda utilizata.
Pentru orice cuvant e Z
n
q
formam mult imea
V
e
= e +A = {e +v|v A}
V
e
este mult imea cuvintelor w = e +v care pot recept ionate la transmiterea
cuvantului cod v, atunci cand a act ionat un vector - eroare e. e va numit eroare
- tip.

In particular, A = 0 +A = V
0
.
Propozit ia 2.1 Pentru orice a V
e
, V
a
= V
e
.
Demonstrat ie: Din a V
e
, rezulta ca exista x A cu a = e +x. Deoarece x+A = A
(evident, A ind subspat iu liniar), avem V
a
= a +A = e +x +A = e +A = V
e
. 2
Vom utiliza aceasta propozit ie pentru denirea unei tehnici de decodicare.
Daca vrem sa detectam o anumit a eroare - tip e care modica cuvintele din A
n cuvintele subspat iului V
e
, atunci vor mai usor de depistat cuvintele din V
e
cu
ponderea minima.
Pentru ecare V
e
se alege un cuvant numit reprezentantul lui V
e
; acesta este un
element cu cea mai mica pondere din V
e
.
Se construieste urmatorul tablou (numit tablou standard):
1. Pe prima linie se scriu cuvintele - cod, ncepand cu 0 (reprezentantul lui
A = V
0
);
2. Pe prima coloana se scriu reprezentant ii 0, e
1
, e
2
, . . .;
3. Pe linia cu reprezentantul e
i
, sub cuvantul cod x
j
se scrie cuvantul
e
i
+x
j
( mod q).
Exemplul 2.8 Fie matricea generatoare G =

1 0 0 1
0 1 1 1

peste Z
2
. Ea va cod-
ica Z
2
2
= {00, 01, 10, 11} n A
4,2
= {0000, 1001, 0111, 1110}.
Calculul mult imilor V
e
conduce la
V
0000
= V
1001
= V
0111
= V
1110
V
1000
= V
0001
= V
0110
= V
1111
V
0100
= V
1101
= V
0011
= V
1010
V
0010
= V
1011
= V
0101
= V
1100
2.5. DETECTARE SI CORECTARE DE ERORI 21
Alegem ca reprezentant i pe 0000, 1000 (se poate si 0001), 0100, 0010. Tabloul
standard va :
0000 1001 0111 1110
1000 0001 1111 0110
0100 1101 0011 1010
0010 1011 0101 1100
Pentru recept ie, acest tablou este ca un dict ionar care se utilizeaza astfel: cu-
vantul primit se decodica n cuvantul - cod din capul coloanei pe care se aa.
De exemplu, daca se recept ioneaza 1101, el se va decodica n 1001.
Evident, cuvintele de pe prima coloana se decodica n ele nsele (ele nu au fost
perturbate de nici o eroare).
Pentru orice cod liniar, un dict ionar complet de tipul celui de mai sus constituie cea
mai simpla metoda de decodicare.
Problema apare atunci candntr-o mult ime V
e
sunt mai multe cuvinte de pondere
minima. Atunci tabela va decodica corect numai eroarea - tip aleasa ca reprezen-
tant.
Astfel, revenind la Exemplul 2.8, cuvantul recept ionat 1111 se decodica n 0111
(considerand ca a fost alterat primul caracter).
Daca se ia ns a drept reprezentant pe linia a doua 0001 n loc de 1000, a doua
linie din tabloul standard este
0001 1000 0110 1111
Atunci, 1111 se decodican 1110 (considernd ultimul caracter ca ind cel alterat
de canalul de transmisie). Care este cuvantul - cod corect transmis ? Acest lucru nu
poate decis. Singurul lucru care poate facut este sa se aleaga drept reprezentant i
erorile - tip cele mai probabile.
Pentru un (n, k) - cod peste Z
q
, un dict ionar complet consta din toate cele q
n
cuvinte posibile, lucru destul de dicil deoarece n practica codurile sunt destul de
lungi (de exemplu n = 100, k = 80). De aceea este utilizata o alta maniera de lucru
care reduce mult marimea tabloului de lucru.
Fie H matricea de control a unui (n, k) - cod liniar A; putem considera (Corolarul
2.1) ca liniile lui H sunt vectori liniar independent i.
Teorema 2.6 Pentru orice e Z
n
q
, toate cuvintele din V
e
au acelasi sindrom.
Demonstrat ie: Fie v A arbitrar si w = e +v. Avem
wH
T
= (e +v)H
T
= eH
T
+vH
T
= eH
T
+0 = eH
T
.
Deci toate cuvintele din V
e
au sindromul egal cu sindromul lui e. 2
Invers, pentru ecare sindrom - deci pentru ecare cuvant s de lungime nk, se
poate determina un vector - eroare e avand sindromul s. Mai mult, s va ales astfel
ncat sa aiba pondere minima (conform decodicarii cele mai probabile). Pentru
22 PRELEGEREA 2. CODURI LINIARE
aceasta, se rezolva sistemul de ecuat ii liniare He
T
= s
T
, care are solut ie, deoarece
liniile lui H sunt liniar independente. Din mult imea solut iilor alegem una de pondere
minima, cu ajutorul careia construim mult imea V
e
a tuturor cuvintelor de sindrom
s.
Pe baza celor de mai sus, se poate folosi urmatoarea procedura de decodicare:
1. La recept ionarea unui cuvant w, se calculeaza sindromul s:
s
T
= Hw
T
.
2. Se aa eroarea - tip e cu sindromul s.
3. Se considera cuvantul - cod corect ca ind v = we.

In acest fel, nu mai este necesar sa se ret ina tot tabloul standard; este sucient
sa se stie reprezentant ii subspat iilor V
e
si sindromurile corespunzatoare.
Exemplul 2.9 Reluand codul denit n Exemplul 2.8, el are ca matrice de control
H =

0 1 1 0
1 1 0 1

Calculand sindromurile reprezentant ilor, se ajunge la tabloul:


Sindrom Reprezentant
00 0000
01 1000
10 0010
11 0100
care reprezinta o reducere cu 50% a datelor stocate.
La recept ionarea cuvantului 1101, i se calculeaza sindromul

0 1 1 0
1 1 0 1

1
1
0
1

1
1

Repezentantul sindromului 11 este 0100. Efectuand operat ia


1101 0100 = 1101 + 0100 = 1001
(n Z
2
scaderea este de fapt adunare) se ajunge la cuvantul transmis, anume 1001.
Exemplul 2.10 Sa consideram codul liniar peste Z
3
denit de matricea de control
H =

1 0 2 1 0
0 1 2 1 2

Sindromurile sunt cuvinte de lungime 2 peste Z


3
, deci n total noua cuvinte.
Lista sindromurilor si a reprezentant ilor este:
2.6. EXERCIT II 23
Sindrom Reprezentant
00 00000
10 10000
01 01000
22 00100
11 00010
02 00001
20 20000
12 10001
21 20002
De remarcat ca un tablou standard pentru acest cod are dimensiunea 9 27 si
cont ine 243 cuvinte; volumul de date s-a redus deci cu 92%.
Sa presupunem ca s-a trimis cuvantul cod 21122 si s-a recept ionat 11122.
Sindromul este

1 0 2 1 0
0 1 2 1 2

1
1
1
2
2

2
0

deci e = 20000; decodicarea este


v = we = 11122 20000 = 21122.
Decodicarea a fost corecta deoarece eroarea - tip aparut a a fost una din cele
selectate prin reprezentant i.
2.6 Exercit ii
2.1 Sa se construiasca coduri liniare care sa transforme cuvantul (a
1
, a
2
, . . . , a
n
)
Z
n
q
n:
1. (a
1
, a
1
, a
1
, a
2
, a
2
, a
2
, . . . , a
n
, a
n
, a
n
);
2. (a
1
, b
1
, a
2
, b
2
, . . . , a
n
, b
n
) unde b
1
= a
1
, b + 2 = a
1
+a
2
, b
n
= a
1
+. . . +a
n
;
3. (a
1
, 2a
n
, 3a
2
, 4a
n1
, . . .).
2.2 Un cod liniar peste Z
5
are urmatoarea matrice generatoare:
G =

1 2 3 1 2
2 2 4 1 0
1 1 2 2 1

Sa se ae matricea de control.
2.3 Aceeasi problema pentru Z
7
.
24 PRELEGEREA 2. CODURI LINIARE
2.4 Determinat i daca urmatorul cod liniar binar este sistematic sau nu:
G =

1 1 0 0 0 0
0 0 1 1 1 1
0 0 0 0 1 1

Daca nu, gasit i un cod sistematic echivalent.


2.5 Gasit i matricea generatoare a unui cod liniar binar care are matricea de control:
H =

1 0 1 1 0 0 0
1 1 1 0 1 0 0
1 1 0 0 0 1 0
0 0 1 0 0 0 1

2.6 Se da matricea de control


H =

1 1 0 1 0 1
1 1 0 0 1 0
1 0 1 1 0 0

a unui cod liniar binar.


Sa se decodice mesajele 110110, 010100.
2.7 Descriet i dualul (6, 3) - codului binar descris de ecuat iile:
x
1
= x
4
, x
2
= x
5
, x
3
= x
6
.
2.8 Fie A un cod liniar binar obt inut din toate sumele posibile ale cuvintelor
101011, 011101, 011010.
1. Aat i o matrice de control a codului.
2. Aat i un tablou standard si decodicat i 111011.
2.9 Demonstrat i ca codul liniar binar descris de ecuat iile
x
3
= x
1
+x
2
, x
4
= x
1
, x
5
= x
1
+x
2
corecteaza o eroare. Construit i tabloul standard.
2.10 Construit i o tabela de sindromuri de decodicare pentru:
1. Codul cu repetit ie de lungime 7;
2. Codul din Exercit iul 2.7;
3. Codul peste Z
3
cu matricea generatoare:
G =

1 0 0 2 2
0 1 0 0 1
0 0 1 1 0

2.11 Fie un cod liniar A


n,k
Z
n
q
si tabela de sindromuri de decodicare cores-
punzatoare. Denim o operat ie de decodicare : Z
n
q
A
n,k
cu proprietatea:
v A
n,k
, e reprezentant din tabela, (v +e) = v. ( corecteaza erorile - tip din
tabela de decodicare). Sa se arate ca atunci nu corecteaza nici o alta eroare - tip:
daca e nu este un reprezentant din tabela, atunci exista v A
n,k
cu (v +e) = v.
(Altfel spus, decodicarea cu sindromuri este optimala).