ALTE DOCUMENTE
|
|||||||||
Coduri grup
2.6.1 Principiul decodarii utilizand matricea de control
Procesul de detectie si corectie a erorilor presupune tratarea intr-un anumit mod a semnalului receptionat, astfel incat sa fie corectat efectul perturbatiilor din canalul de transmisie. Putem face considerand o multime Z, numita multimea corectorilor si care contine vectori m dimensionali, capabili sa corecteze sau sa detecteze erorile introduse in canal. Intre multimea cuvintelor receptionate 919f51j , W si multimea corectorilor Z se stabileste o aplicatie definita pe W cu valori in Z astfel incat pentru orice cuvant receptionat sa putem defini un corector Zi. Avand in vedere caracterul vectorial al campurilor W si Z in care vectorii pot fi reprezentati prin matrici, aplicatia va fi definita ca un produs matricial:
(1.) , unde
este
transpusa matricei
.
Matricea H poarta numele de matrice de control si este alcatuita din m linii si n coloane. Prin definitie:
Avand in vedere scopul introducerii
multimii Z, acela de a detecta si corecta erori de transmisie, convenim sa
construim in asa fel aceasta multime incat oricand operatia (1.) se efectueaza
asupra unui cuvant de cod sa se obtina acelasi corector
care are toate componentele nule.
(2.) Aceasta conditie va constitui si relatia de codare. Daca la receptia unui cuvant de cod
avem indeplinita relatia (2.)
este fara erori si daca
rezulta ca in
sunt erori. Relatia (1.) serveste deci la DETECTIA
ERORILOR.
(3.)
unde Ei este cuvantul eroare. Deci relatia (1.) poate conduce la localizarea erorilor care au afectat cuvantul de cod, daca se decodifica corectorul cu ajutorul relatiei (3.) obtinand cuvantul eroare.
2.6.2 Conditii impuse matricei de control pentru a detecta sau corecta erori
Stabilim conditia pe care trebuie sa o
satisfaca matricea de control H, pentru a detecta prezenta erorilor. In acest
scop presupunem H compusa din coloane: , iar pe Ei de forma:
, in care
s-au inclus t componente
cu valoare 1. Se constata ca
.
Deci pentru a detecta prezenta unui cuvant eroare cu t erori este suficient ca suma a t coloane oarecare din H sa fie nenula.
Stabilim conditia pe care trebuie sa o indeplineasca matricea H pentru a putea corecta cuvinte cu maxim t erori. In acest caz calculam corectorul Zi pentru doua cuvinte de eroare diferite cu t erori, si obtinem:
si
,
iar conditiile
de injectivitate impun ca: sau
, adica:
Cu alte cuvinte pentru ca matricea de control sa poata fi folosita la corectia a t erori, este necesar ca suma a oricaror 2t coloane din matrice sa fie diferita de zero. Din cele doua conditii de a corecta respectiv de a detecta erori, rezulta suplimentar ca o matrice de control capabila sa corecteze t erori, este capabila sa detecteze 2t erori. Denumim pondere a unui cuvant de cod, numarul componentelor sale diferite de zero. Fie doua cuvinte de cod vi si vj IV. Deoarece V are structura de grup rezulta ca vi+vjIV si este si el un cuvant de cod. Pe de alta parte vi + vj da un cuvant a carui pondere este egala cu distanta Hamming dintre vi si vj. Denumim distanta Hamming a unui cod, cea mai mica distanta Hamming dintre cuvintele codului. Se vede deci ca distanta Hamming a unui cod este egala cu ponderea cea mai mica a cuvintelor de cod exceptand cuvantul nul.
Daca distanta Hamming a codului este
2t+1, atunci exista un cuvant de cod vr, cu ponderea 2t+1. Pentru
acest cuvant: , ceea ce
inseamna ca suma a 2t+1 coloane este zero. Daca matricea H poate corecta t
erori rezulta ca suma a 2t coloane este diferita de zero si ca exista un cuvant
de cod pentru care suma a 2t+1 coloane este nula. Ceea ce inseamna ca un cod
capabil sa corecteze t erori are distanta Hamming cel putin 2t+1. Un cod capabil sa detecteze t
erori are distanta Hamming 2t+1.
2.6.3 Constructia matricei de control pentru a detecta un numar impar de erori
Ne propunem sa aflam structura unei matrice de control capabile sa detecteze 2t+1 erori. Fie:
in care consideram ca fiecare coloana se termina cu 1, ca atare relatia (1.) devine:
Aceasta suma de coloane va contine in ultima linie un numar impar de
"1"-uri a caror suma nu este zero ceea ce inseamna ca se satisface conditia
detectarii erorii (1.), indiferent de continutul coloanelor h1hn
din matricea H, acestea putand fi nule. Fie: . O asemenea
matrice are dimensiunea m=1, ceea ce inseamna ca in multimea Z a corectorilor
vor fi numai 2 elemente: corectorul Z=0 si Z=1. Primul va indica absenta
erorilor in numar impar iar al doilea Z=1 va indica prezenta erorilor in numar
impar. Acest procedeu de codare cu
implica existenta unui numar par de 1 in
cuvintele de cod
. Acest tip
de codare se numeste codare cu control de paritate.
2.6.4 Constructia matricii de control pentru a detecta doua erori
Am stabilit in paragraful precedent ca adaugarea unui simbol de control la cele n-1 simboluri de informatie poate verifica existenta unui numar impar de erori. Tot asa de bine putem spune ca verifica si existenta unui numar par de erori, in acest caz numarul de "1" -uri din cuvantul receptionat fiind par.
Admitem ca n-1 biti ai cuvantului
transmis sunt constituiti astfel incat sa poata corecta o eroare
satisfacandu-se conditia pentru cuvantul cu n-1 biti. Daca adaugam inca
un bit, cel de al n-lea, obtinem un cuvant de cod care corecteaza o eroare si
detecteaza 2 erori. In acest scop construim matricea
din matricea H' prin adaugarea unei coloane
nule si a unei linii compuse numai din 1. In acest caz conditia de codare
devine:
La receptie:
Se constata
ca la emisie:; reprezinta
conditia pentru un cuvant de cod cu n-1 simboluri.
La
receptie: ; reprezinta
corectorul acestui cuvant de cod. O eroare in cuvantul receptionat se va detecta si se va corecta prin
intermediul corectorului
.
Constatam
ca la emisie: ceea ce inseamna ca
face paritatea canalului de cod.
La
receptie: ; care poate sa fie 1 (numarul de erori este
impar), sau 0 (numarul de erori este par).
Avem situatia:
, e=0 nu sunt erori;
, e=1 este o eroare corectabila prin
, e=1 este o eroare in pozitia
, e=0 sunt detectate doua erori
|