Sunteți pe pagina 1din 6

Comentarii la codurile bloc

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

n = 4,

W1

k = 1, m = 3, 2n = 16 2k = 2

W3

2m = 8

W2

Consideram doi vectori de forma:


r a = [ a1 , , a i , , a n ] , a i GF(2) r b = [ b1 , , bi , , b n ] , bi GF(2)

Se numeste distanta Hamming


n r r D H a, b = a i bi = a1 b1 a n b n

i =1

Proprietatile distantei: 1) 2)
r r r r D a, b 0, a = b D(a , b) = 0 r r r r r r D ( a, c ) D a, b + D b, c

( ) ( )

r r r D 0, w = P(w) -ponderea vectorului w

r r r Fie w = a + b

r r r P ( w ) = D H (a, b)

Regula de decizie pentru decodare pe baza criteriului probabilitatii aposteriori maxime


r r r r P( | r) P( | r) r r r r rr r r r D ( ,r ) D(,r ) D(,r ) n D(,r ) P P( | r) P q r r r r r = D(,r ) n D(,r ) = P( | r) P q q r r r r r r r r P( | r) P( | r) D(, r) D(, r)
r r r r r Daca pentru ( ) avem D ( , r ) < D , r r provine din

( )

Regiuni de decizie:
uurr uurr r Wi = rW / D(vi ,r) < D v j ,r j i

( )

}
}

i = 1...Q = 2 k
uurr uurr r W0 = rW / i, j;i j a.i D(vi ,r) = D(v j ,r)

Wm Wn = W = W0 W1 W2 Wk = V F W0 F

a) rF r b) rWi r c) rW0
Posibilitatile de det. si cor. depind de distanta minima a codului. Pentru aceasta, regula de decizie Wi este bine sa fie cat mai bogata. a) La detectia a cel mult d erori oriunde s-ar afla este necesar ca r d r 1 r Dmin = d + 1 = Pmin v i r v j i b) La detectia si corectia a cel mult e erori Dmin = 2e + 1 = Pmin uu e r 1 uuu e uu r r r v i r v j i v i

Mecanismul de detectare si corectie a erorilor

r D 1 ()

r v r v

r Pr (v )

r r r v + r v

r H (r)

r s r v

r D(s)

r r v

+ r v

r v r v

r r v

+ r v

r r r = P ( v ) : V W r r s = Z = H(r): W r D(s) : Z W s m r s= M s1 r r r r s = H ( r ) = H(v + ) r r r r s =0 = H ( v + ) =0 = H(v) Ecuatia codarii pe baza de sindrom nul: r r r r r s | =0 = 0 => H ( v ) = 0
uu r r uu r r Wi = { r W | D vi , r < D v j , r , j i}

W = W0 W1 W2 Wk = 2k

Coduri bloc liniare


r r u r r r ' r = v' = v + = [ a1 , a '2 ,L, a 'n ] v = [ a1 , a 2 L , a n ] r r r H(r) = s = z : W Z r r = = [ 1 , 2 , , n ]

r r r r H ( v ) = H ( v + ) | =0= r = 0 s r y = L(x) : E F r r r r L a + b = L ( a ) + L b

y1 f1 ++ y n f n = L x1 e1 ++ x n e n = x1L ( e1 ) ++ x n L ( en ) y1 x1 = [L(e )...L(e )] [f1 f n ] 1 n yn xn

()

[ BF ][ y] = [L(e1 ) L ( en )][x]
L(e1 ) = L11 f1 ++ L1n f n L(e 2 ) = L 21 f1 ++ L 2n f n ... L(e n ) = L n1 f1 ++ L nn f n

L11 L1n f1 M M M M L n1 L nn f n

[ BF ][ y] = [L(e1 ) L ( en1 )][x] r r H(r) = s


' s m h11 h1m a1 r r M M z = s = = M h ij s1 h m1 h mm a 'm r rT r r H ( r ) = Hr = s = z r r HvT = 0

h ij

a1 r M = 0 c j = c j ( i1 ,, i k ) a n

j = 1, w c1 c m i1 i k

r r r r T r r r r r s = H r T = H ( v + ) = H (vT + T ) = H v T + H T = H T \ r = [ 1 , 2 , , n ]
' s m h11 h1m a1 1 = M h M M M i = h <i > ij s1 h m1 h mm a 'm n 1 n [1 n ]

r v = [a1 a n ] r = [1 n ] H = [h <1> , h < 2> , , h < n > ]

Marginea Hamming
= [1 ,, n ] , e=numarul de pozitii eronate
v = [a1 , , a n ], 0 < e n t = erori, 0 t e t e maximum e erori
t Cn = t erori oriunde s-ar afla

C
t =0 e t =0

t n

= numarul maxim de situatii eronate


e

Cnt = Cnt
s m s = M numarul desindromuri=>2m (intra si 0) s1
t 2 Cn marginirea Hamming m t =0 e

Caz particular
2m m 1 + k Erori singulare e = 1 2 1 + n = 1 + m + k k log 2Q
m

Relatii pentru coloanele matricei H pentru det si cor erorilor


e e r rT < jp > s = Hr = h = p =1

Corectia de erori r
a V r ur r ur u a + a = ra s a r bV r r ur ur uu b + b = rb s b
ur uu r sa s b

|
a b
b

Detectia a d erori

ur sa 0

Pd

a) d = 2e a corecta e erori oriunde s-ar afla b) d = 2e + 1 detectam daca are un nr impar de erori
r H vT = 0 a1 M =0 a n
r
r P V

( ) <i > h p = 0
p =1

Pt a determina d erori P ( V ) > d Pmin = d + 1 = s min Coduri bloc liniare sistematice


r r r v = c i = [ c1 c m i1 i k ] r r r r r r r r v = i A, i = i [ A, I k ] = [i1 , , i k ] = [ a1 a m ] = i1L G1 +i k L Gk = v = iG

Pt a corecta e erori P ( V ) > 2e Pmin = 2e + 1 = s min


r