Documente Academic
Documente Profesional
Documente Cultură
Coduri ciclice
20.1. Coduri polinomiale
Prezentarea codului (n,k) sub forma consecutivităţii
U=U0, U1, …Un-1 şi formarea lui cu ajutorul sistemului de
ecuaţii de verificare sau a matricei generatoare nu reprezintă
singura posibilitate de codare. Un mod comod şi larg
răspândit de prezentare a acestei combinaţii este forma
polinomială, unde elementele U0, U1, …Un-1 reprezintă
coeficienţi ai unui polinom X:
U(X) = U0 + U1X + U2 X2 + ... + Un −1Xn −1 (20.1)
Acest mod de prezentare a codului permite substituirea
operaţiilor asupra combinaţiei de simboluri cu operaţii asupra
polinomului. Asupra polinomului U(X) pot fi efectuate
următoarele operaţii:
a) sumarea a 2 polinoame – corespunde operaţiei suma
modulo 2 a coeficienţilor cu acelaşi grad pentru X.
Exemplu:
X3 + X2 + 1
(20.2)
+ X+1
X3 + X2 + X
b) Produsul a 2 polinoame se calculează conform
regulilor de înmulţire a funcţiilor cu putere, însă coeficienţii de
acelaşi grad obţinuţi se adună după suma modulo 2.
Exemplu:
X3 + X2 + 1
x X+1 (20.3)
X + X +1
3 2
+
X4 + X3 + X
X4 + X2 + X + 1
c) Împărţirea a 2 polinoame se face conform regulilor de
împărţire a funcţiilor cu putere, însă operaţia de scădere este
înlocuită cu operaţia suma modulo 2.
Exemplu:
X4 + X2 + X + 1 X + 1
X4 + X3 X3 + X2 + 1
X3 + X2 + X + 1 (20.4)
X3 + X2
X+1
X+1
0 rest
20.2 Codarea cu ajutorul codului ciclic
23 = 4 + 3 + 1, deci alegem r = 3 şi n = 4 + 3 = 7 .
b) Secvenţa informaţională m = mk −1 , mk − 2 ,..., m0 se
înlocuieşte cu polinomul echivalent:
m(x) = mk −1xk −1 + ... + m1x + m0 .(20.9)
Exemplu: Polinomul echivalent informaţional este
m(x ) = x 3 + x + 1
a. Se calculează produsul:
A(x ) = m(x )xr . (20.10)
Exemplu:
( )
A(x ) = m(x )x r = x 3 + x + 1 x 3 = x 6 + x 4 + x 3
d) În funcţie de valoarea lui r, din tabelul 20.1 se
selectează polinomul generator g r (x ) .
Tabelul 20.1. Tabelul polinoamelor generatoare
r g r (x )
1 x+1
2 x2 + x + 1
3 x3 + x2 + 1; x3 + x + 1
4 x4 + x 3 + 1 ; x4 + x + 1 ; x4 + x3 + x2 + x + 1
x5 + x 2 + 1 ; x5 + x 3 + 1 ; x5 + x4 + x 3 + x2 + 1 ;
5
x5 + x4 + x3 + x + 1 ;
x6 + x + 1 ; x6 + x3 + 1 ; x6 + x5 + 1; x6 + x4 + x2 + x + 1 ;
6
x + x + x + x+1
6 4 3
Exemplu:
Deoarece r=3 alegem polinomul generator
g 3 (x) = x3 + x2 + 1 .
e) Se divizează polinomul A(x) la polinomul generator
ales g r (x ) şi se determină restul de divizare R(x).
Exemplu:
x6 + x4 + x 3 x 3 + x2 + 1
x6 + x5 + x 3 x 3 + x2
x5 + x4
x5 + x4 + x2
x 2 = R( x)
f) Se determină polinomul combinaţiei de cod U(x)
conform relaţiei:
U(x ) = A(x ) + R(x ) (20.11)
Exemplu:
U(x ) = A(x ) + R (x ) = x 6 + x 4 + x 3 + x 2
g) Se determină combinaţia de cod U corespunzător
polinomului U(x).
Exemplu:
U = (1011100) , dintre care primele 4 poziţii sunt
ocupate de simbolurile informaţionale m, iar ultimele 3 sunt
poziţii de control.