Documente Academic
Documente Profesional
Documente Cultură
CODURI LINIARE
Obiectivul lucrrii: Studierea codrii i decodrii codului liniar, corector de o eroare.
Sarcinile lucrrii:
de analizat modul de construire a codecului codului liniar;
de implementat i de simulat codecul codului liniar;
de estimat caracteristicile codecului.
1.1. Breviar teoretic
1.1.1. Proprietarea codului sistematic
Abilitatea codului de a detecta i corecta erori este condiionat de prezena simbolurilor
suplimentare (redundante). Coderul recepioneaz la intrare k simboluri informaionale binare, iar la
ieire genereaz n simboluri binare, numite combinaii sau cuvinte de cod n>k.
n codul sistematic simbolurile
determinate (n combinaia de cod) i n conformite cu sistemul formal prescris. Aceste coduri snt
uniforme.
n codurile liniare bloc valorile simbolurilor de control sunt combinaii liniare ale simbolurilor
informaionale.
Pentru codurile liniare n calitate de operaie liniar este folosit suma modulo 2.
Cuvintele de cod poart denumirea justificat de vector. Prin definiie, un vector v se numete
vector cod <=> face parte dintr-un subspaiu vectorial v al spaiului vectorial w al tuturor cuvintelor cu
n simboluri.
Greutatea (ponderea) vectorului cod este numrul elementelor nenule din combinaie.
1.1.2. Proprietatea codului grup
Distana minimal de cod dintre vectorii codului este egal cu greutatea minimal a vectorilor nenuli.
Forma general a unui cuvnt de cod liniar este urmtoarea:
v= <v1,v2, ,vn >
(1)
Cele k simboluri snt generate de sursa de informaie i snt numite simboluri informaionale, iar
restul de m simboluri snt redundante i servesc pentru detectarea i corectarea erorilor; ele se mai
numesc simboluri de control.
Un cod corector bloc este definit prin ansamblul (n,k,t), unde t este numrul de simboluri ce pot
fi corectate:
t=(n-k) div 2.
(2)
N
(a)
Si
(v)
Coder
(e)
(v)
Canal de
transmisiune
(a)
Decoder
(3)
2
Cu ajutorul unor transformrii elementare (respectiv schimbare ntre ele a dou linii sau a dou
coloane, adunarea elementelor unei linii cu elementele coresponztoare din alt linie) matricea G poat
fi adus la una dincele dou forme canonice echivalente:
a) matrice cu structura KR (matricea unitara Ik este plasata inaintea matricei arbitrare P)
1
0
G
...
0
1
...
0
...
...
...
...
0
0
...
1
pk 1 ... pkm
b) matrice cu structura RK (matricea unitara P este plasata inaintea matricei arbitrare Ik)
p11
p
G 21
...
pk 1
...
...
...
...
p1m 1 0
p2 m 0 1
...
... ...
pkm 0 0
...
...
...
...
0
0
PI k ,
...
unde: m=n-k -- simboluri de control, Ik - este matricea unitar i P - este o matricea arbitrar
construit conform anumitor reguli:
1) Greutatea vectorului cod >=3;
2) distana minim dintre vectori dmin>=2t+1=3.
Din aceste expresii rezult n mod evident c cei k vectori linie snt liniar independeni.
Structura cuvintului de cod este definit de: v=aG
1.1.4. Spaiul corectorilor
Pentru a stabili o modalitate de detecie sau corecie a erorilor se consider un spaiu m
dimensional (m=n-k ) care se numete spaiul de corecie z i care are zm elemente z Z numite
corectori.
Corectorii se reprezint prin matrice. n literatur corectorul se numete vector de control de
paritate sau sindrom.
Corectorii snt destinai s indice poziiile din cuvntul de cod n care s-au introdus erori. n
acest scop se stabilete o ceresponden univoc ntre mulimea tuturor cuvintelor recepionate
(respectiv spaiul W ) i mulimea corectorilor (respectiv spaiul Z). Aceast coresponden (aplicaie)
se poate stabili un operator astfel ca: (vi)=z ori : W ->Z, unde vi W i z Z.
Dac v=vi , adic dac transmisiunea s-a fcut fr erori, z trebuie s fie acelai pentru orce i,
indicnd astfel faptul c nu snt erori. Se alege n acst caz pentru z valoare 0 i ca urmare avem
urmtoarea relaie:
(vi)=0 ,
i=1,2k
(2)
Pentru a putea corecta erorile introduse n procesul de transmisiune este necesar ca petru fiecare
cuvnt eroare care poate fi generat de perturbaiile din canal se existe un singur corector diferit de zero.
1.1.5. Matricea de corecie (control).
Din cele menionate rezult c operatorul determin o transformare univoc de la spaiul
cuvintelor recepionate la spaiul corectorilor (transformare invers nu-i definit).
Cea mai simpl structur pentru operatorul se obine dac se consider o transformare liniar
univoc de la spaiul cuvintelor recepionate la spaiul corectorilor, definit de ecuaiile:
n
j 1
j 1
(3)
qk 1
...
...
...
...
q1m 1 0
q2 m 0 1
... ... ...
qkm 0 0
...
...
...
...
0
0
QI m
...
b) matrice cu structura KR (matricea unitara P este plasata inaintea matricei arbitrare Ik)
1
0
H=
...
... 0
q11
... 1 0 q 21
... ... ... ...
... 0
q k1
... q1m
... q 2 m
= [ImQ] ,
... ...
...
q km
unde k=n-m , din care se vede c cei m vectori linie snt liniar independeni, Im - este matricea unitar,
iar Q este transpusa matricei P.
Din cele precedente rezult, c un vector v este vector cod dac:
4
(4)
(5)
Aceast relaie stabilete legtura care trebuie s existe ntre simbolurile de informaie i cele de
control ntr-un cuvnt de cod pentru a-l distinge de cuvintele care n-au sens.
Dac matricea H indeplinete condiiile pentru detecia anumitor erori, atunci:
HvT 0
(6)
cnd erorile existente snt de tipul celor ce pot fi detectate. Dac: Ha T=0 , atunci nu snt erori de tipul
celor ce pot fi detectate, ns pot fi alte erori, care nu pot fi detectate.
Dac matricea H ndeplinete condiiile pentru corecia anumitor erori, atunci corectorii z=HvT
snt distinai cnd erorile existente snt de tipul celor ce pot fi corectate; pot exista ns erori
necorectabile care au aceiai corectori. Dac z=0, nu exist erori de tipul celor ce pot fi coretate, ns
pot fi alte tipuri de erori care nu pot fi corectate.
Dac ponderea sindromului =0, atunci combinaia recepionat se presupune fr erori, n caz
contrar eronat. Corectarea erorilor se efectueaz n conformitate cu valoarea sindromului
z,
(2)
(3)
2m m k 1.
(4)
(5)
sau
Gk n=Ik kPk m,
(6)
Gk n=Pk mIk k,
(7)
unde Ik k este matrice-unitate i Pk m este o matrice arbitrar construit conform anumitor reguli.
n acest caz matricea generatoare va avea forma: Gkxn=IkxkPkxm
G47
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
1
0
1
1
1
0
In liniile matricei trebuie sa fie nu mai putin de 3 uniti, distana minim dintre vectori
dmin>=2t+1=3
3. Pentru codul liniar n=7 structura cuvntului de cod este:
v=<v1 v2 v3 v4 v5 v6 v7>
Structura cuvintului de cod este definit de:
v a G
n urma codrii primim :
v1=a1; v2=a2; v3=a3; v4=a4
v 5 a2 a3 a4
v 6 a1 a3 a4 ,
v a a a ,
1
2
4
7
4. Generm valori aleatorii a i calculam cuvintul de cod:
a1=1;a2=1;a3=0;a4=0.
Determinm cuvintul de cod:
v1=1;
v2=1;
v3=0;
v4=0;
v5 1 0 0 1;
v6 1 0 0 1;
v7 1 1 0 0;
sau
Hm n= Qm kIm m
(8)
Hm n= Im mQm k
(9)
H 37
7.
0 1 1 1 1 0 0
1 0 1 1 0 1 0
1 1 0 1 0 0 1
z1 v2 v3 v4 v5 ;
z2 v1 v3 v4 v6 ;
z3 v1 v2 v4 v7 ;
Schema bloc circuitului de decodare este prezentat n figura 1.4, unde DC este un decodificator
ce implementeaz transformarea: HeT=Z.
9
Z2
1
0
1
1
0
1
0
Z3
1
1
0
1
0
0
1
e1
1
0
0
0
0
0
0
e2
0
1
0
0
0
0
0
e3
0
0
1
0
0
0
0
e4
0
0
0
1
0
0
0
e5
0
0
0
0
1
0
0
e6
0
0
0
0
0
1
0
e7
0
0
0
0
0
0
1
10
9. Asamblm
schema
decoderului
verificm
funcionarea
perturbaiilor(zgomotului): e7
ei
lipsa
10.
12
Aplicm valorile i simulm o eroare(n poziia b6), eroarea este corectat de codec la ieirea
cruia va fi generat combinaia identic cu ceea informaional.
1.3. Sarcina de lucru i coninutul referatului
Pentru codul liniar (n, k) de prezentat structura cuvntului de cod i de construit matricele de
control H i generatoare G. De obinut relaia de legtur dintre simbolurile de control i
informaionale.
De sintezat schemele bloc de codare i decodare a codului liniar. De asamblat i de depanat
codecul (coderul i decoderul) codului liniar n sistemul de simulare electronic. De prezentat
rezultatele i concluzia asupra executrii lucrrii.
13