Documente Academic
Documente Profesional
Documente Cultură
Informaia
Dicionar:
- aposteriori (a posteriori) -locuiune latin: din ceea ce urmeaz, dup experien, pornind de la datele ei;
- apriori (a priori) - locuiune latin: din ceea ce precede, anterior experienei;
- binar -1.care este constituit din dou elemente; 2.a crui baz este numrul 2;
- bit/bii -1. Unitate de msur a informaiei; 2.simbol binar;
- discret -care este alctuit din elemente distincte; care variaz n salturi; cuantificat; discontinuu;
- echiprobabil(e) -de egal probabilitate;
- informaie -necesarul/rezultatul cunoaterii;
- probabilitate -1.nsuirea de a fi probabil; 2.msur (funcie) definit pe un cmp de evenimente, p : [0,1].
Definiii:
- surs de informaie (sau experiment probabilistic) = un mecanism (un experiment) prin care se selecteaz un mesaj
(un eveniment) dintre n posibile dup o lege arbitrar (sau cel puin necunoscut);
- mesaj (eveniment) = realizarea produs n urma efecturii experimentului;
- 1 bit = cantitatea de informaie furnizat de o surs de informaie binar, fr memorie, echiprobabil, printr-un mesaj
al ei;
- eveniment elementar = un eveniment ce nu poate fi definit ca o reuniune de dou evenimente distincte ntre ele i de
primul.
Breviar teoretic:
1. Probabilitate
Determinarea experimental a probabilitii de realizare a unui mesaj (eveniment) A se face dup
relaia:
2. Probabilitate condiionat
Determinarea experimental a probabilitii de realizare a evenimentului (mesajului) B atunci cnd
s-a realizat evenimentul (mesajul) A se face dup relaia:
3. Formula fundamental a probabilitilor evenimentelor elementare
Dac Ai, i = 1n sunt evenimentele elementare ale unui experiment probabilistic (mesajele unei
surse de informaie) atunci:
n
p(A ) = 1
(1.3)
i =1
(1.5)
i =1
6. Evenimente independente
Setul de evenimente Ai, i I, sunt independente dac i numai dac pentru J I
p A i = p(A i )
iJ
iJ
(1.6)
(1.7)
p(A, B) = p(A B) = p(A ) p(B)
i utiliznd relaia (1.4)
p(A ) = p(A/B)
(1.8)
p(B) = p(B/A )
7. Informaia
Cantitatea de informaie necesar ridicrii nedeterminrii asupra evenimentului A este egal cu cea
furnizat de realizarea evenimentului A i egal cu :
1
(1.9)
[bii]
i(A ) = log 2
p(A )
1.1 Zece mingi sunt puse n trei cutii C1, C2, C3. Care este probabilitatea ca n C1
s fie 3 mingi?
Rezolvare:
Fiecare minge poate fi aezat n oricare din cele trei cutii; astfel c fiecare minge tripleaz numrul
de variante de aezare a mingilor n cutii. Aadar numrul de variante de aezare a mingilor n cutii
este:
N = 333 ..... 3 = 310 = 59.049
(1.1.1)
(1.1.2)
unde C103 reprezint numrul de moduri de alegere a 3 mingi din 10 posibile (considernd mingile
distincte); iar 27 reprezint numrul de posibiliti de aezare a apte mingi n dou cutii, C2 i C3.
Probabilitatea cerut este:
P3C1 =
3
C10
27
26%
310
(1.1.3)
1.2. Trei trgtori trag simultan asupra aceleiai inte. Probabilitatea ca fiecare
trgtor s nimereasc inta este p1 = 0,4; p2 = 0,5; p3 = 0,7. Notnd cu A
evenimentul ca inta s fie lovit, B evenimentul ca inta s fie lovit exact o dat
s se afle:
a) p(A);
b) p(B);
c) dac cele dou evenimente A i B sunt independente.
2
Rezolvare:
a) Calculnd probabilitatea evenimentului contrar lui A:
( )
p A = (1 p1 ) (1 p 2 )(1 p 3 ) = 9%
(1.2.1)
rezult c:
( )
p(A ) = 1 p A = 91%
(1.2.2)
b) Avem c:
(
+ p(A
) (
) = p (1 p
p(B) = p A 1 A 2 A 3 + p A 1 A 2 A 3 +
)(1 p 3 ) +
+ (1 p1 )p 2 (1 p 3 ) + (1 p1 )(1 p 2 )p 3 = 36%
1
A2 A3
(1.2.3)
(1.2.4)
p(A/B) = 100%
(1.2.5)
dar cum:
1.3. Fie dou urne, U1 (ce conine 2 bile albe i 3 bile negre) i U2 (ce conine o
bil alb i 5 bile negre). Se extrage o bil din U1 i se introduce n U2, apoi se
extrage o bil din U2. Care este probabilitatea ca bila transferat s fi fost alb
dac bila extras din U2 este: a) alb; b) neagr?
Rezolvare:
Fie evenimentele A bila transferat este alb; B bila extras din U2 este alb;
a) Pentru a calcula p(A/B) aplicm formula lui Bayes:
p(A ) p(B/A ) = p(B) p(A/B)
(1.3.1)
( )
2
3
i p A =
5
5
( )
(1.3.2)
(1.3.3)
( ) ( )
2 2 3 1 1
+ =
5 7 5 7 5
(1.3.4)
Astfel:
2 2
p(A ) p(B/A ) 5 7 4
p(A/B) =
=
=
1
p(B)
7
5
b) n mod analog
(1.3.5)
5
; p B = p(A ) p B/A + p A p B/ A =
7
(1.3.6)
2 5 3 6 4
= + =
5 7 5 7 5
2 5
p(A ) p B/A
5
7 = 5 = 2,5 < p(A/B)
p A/ B =
=
(1.3.7)
4
14
7
pB
5
Se observ, cum era de ateptat, c este mai probabil s se fi transferat o bil alb dac din a
doua urn a fost extras o bil alb.
( )
()
p B/A =
( ) ( ) ( )
( )
()
( )
m
m+n
( )
pA =
n
m+n
(1.4.1)
iar
p(B/A ) =
m 1
m + n 1
( )
p B/ A =
m
m + n 1
(1.4.2)
c) Pentru calcului lui p(B) se utilizeaz formula probabilitii totale, relaia (1.5). Rezult c:
m 1
m
m
n
=
m + n 1 m + n m + n 1 m + n
m(m + n 1)
m
=
=
(m + n )(n + m 1) m + n
p(B) =
(1.4.3)
1.5. Un tetraedru regulat are feele colorate, una n rou, una n galben, una n
verde, iar cea de-a treia conine pe toate trei culorile. Se las s cad tetraedrul
pe una din fee. Fie evenimentele:
R - faa pe care a czut tetraedrul conine rou; G - faa pe care a czut
tetraedrul conine galben; V - faa pe care a czut tetraedrul conine verde.
a) ct este probabilitatea evenimentului rou, p(R)?
b) ct este probabilitatea condiionat p(R/G)?
c) sunt evenimentele R, G i V independente?
Rezolvare:
a) Probabilitatea evenimentului rou este:
1
2
(1.5.2)
(1.5.3)
1
2
1
4
(1.5.4)
1
p(G R V ) =
4
Cum ultima relaie din (1.5.3) nu este verificat evenimentele R, G i V nu sunt independente.
(1.6.1)
(1.6.2)
Din cele dou relaii rezult c cele dou evenimente pot fi independente, fiind incompatibile, doar
dac unul este de probabilitate nul. Altfel spus, dou evenimente de probabiliti nenule pot fi
independente doar dac sunt compatibile.
1.7. O imagine alb negru se compune din 1024 x 256 pixeli. Fiecare pixel poate
avea un nivel de gri dintre 64 posibile. Aflai informaia furnizat de: a) un
pixel; b) ntreaga imagine.
Rezolvare:
a) Considernd egal probabile nivelele de gri, conform definiiei informaiei unui eveniment:
i(pixel ) = log 2 p(nivel gri ) = log 2
1
= 6 bii
64
(1.7.1)
(1.7.2)
1.8. a) Care este numrul de ntrebri minime necesare pentru a afla un numr
necunoscut Nx cuprins ntre 1 i 1000? ntrebrile pot fi de genul :
Numrul Nx este mai mare dect Np (nominalizat)?
b) Ct este primul prag Np1 i ct este informaia coninut de rspunsul la
ntrebarea:
Numrul Nx este mai mare dect 348?
Rezolvare:
a) Informaia necesar pentru a afla numrul Nx necunoscut este:
i N = log 2
1
1
= log 2
= log 2 1000 bii
p( N x )
1/1000
(1.8.1)
( )
i N P = p A N p log 2
1
1
+ p A N p log 2
p A Np
p A Np
( ) ( )
( )
(1.8.2)
unde ANp este evenimentul prin care numrul Nx este mai mare dect pragul Np. Evident:
( ) ( )
(1.8.3)
p A Np + p A Np = 1
i putem scrie:
( )
( )
(1.8.4)
1
1
+ (1 x )log 2
cu x [0,1]
x
1 x
(1.8.5)
x = p A Np = 1 p A Np
de unde
i N p = i(x ) = xlog 2
1
2
(1.8.6)
i m = 1 bit
i corespunde unui prag:
(1.8.8)
N pm = 499
Aadar, dac pragul este ales la jumtatea intervalului n care se cunoate c se afl Nx
informaia obinut prin rspunsul la ntrebare (n cazul cel mai defavorabil) este maxim i egal
cu 1 bit.
Cert, numrul minim de ntrebri este:
p(A ) =
1000 348
= 0,652 i p A = 0,348
1000
( )
(1.8.10)
de unde:
i(348) = 0,652 log 2
1000
1000
+ 0,348 log 2
= 0,932 bii
652
348
(1.8.11)
Rezultatul cuprins n relaia (1.8.11) arat c dac pragurile nu vor fi alese la jumtate exist
posibilitatea s nu fie suficiente 10 ntrebri !
1.9. Cte cntriri sunt minim necesare pentru a preciza o moned fals din 12
i dac moneda este mai grea sau mai uoar? Moneda fals difer prin greutate
iar cntririle se fac pe o balan cu talere.
Rezolvare:
Informaia necesar pentru a soluiona problema este:
i nec = log 2 12 + log 2 2 = log 2 24 bii
(1.9.1)
unde log212 este informaia necesar pentru a afla moneda din 12, iar log22 este informaia necesar
pentru a afla dac moneda este mai grea sau mai uoar.
Informaia maxim furnizat de o cntrire este:
i cm = log 2 3 bii
(1.9.2)
i se atinge dac cele trei variante rezultat al unei cntriri cu balana(A-balana se nclin spre
dreapta, B-balana se nclin spre stnga, C-balana nu se nclin) sunt egal probabile:
(1.9.3)
(1.9.4)
cu soluia:
nmin = 3
(1.9.5)
Obs: - relaia (1.9.2) este valabil doar dac cele trei variante rezultat ale cntririi sunt egal
probabile. Astfel dac cele 12 monezi se noteaz cu M1, M2, ....., M12 prima cntrire const n a
compara pe M1+ M2+ M3+ M4 cu M5+ M6+ M7+ M8. O posibil rezolvare a problemei poate fi:
A1 moneda fals este - mai uoar i este M1, M2, M3, sau M4.
- mai grea i este M5, M6, M7, sau M8.
B1 moneda fals este - mai grea i este M1, M2, M3, sau M4.
-mai uoar i este M5, M6, M7, sau M8.
C1 moneda fals este mai grea sau mai uoar i este M9, M10, M11, sau M12.
8
Dac rezultatul primei cntriri este A1, indicele 1 semnific prima cntrire, A rezultatul ei,
atunci se compar M1+ M2+ M5 cu M3+ M4+ M6
- dac la a doua cntrire rezult A2 atunci fie M1 sau M2 e mai uoar fie M6 e mai grea i
se compar n continuare M1 cu M2;
- dac la a doua cntrire rezult B2 atunci fie M3 sau M4 e mai uoar fie M5 e mai grea i
se compar n continuare M3 cu M4;
- iar dac la a doua cntrire rezult C2 atunci fie M7 e mai grea fie M8; se compar M7 cu
M8.n mod analog pentru B1 i C1.
Obs: - relaia (1.9.4) indic c problema ar putea fi rezolvat i pentru 13 monezi n locul celor 12:
log 2 26 log 2 27 = log 2 3 n cu n = 3
n realitate problema cu 13 monezi nu poate fi complet soluionat din 13 cntriri pentru
c nu se poate asigura echiprobabilitatea rezultatelor.
Obs: informaia obinut la a doua cntrire este mai puin dect cea presupus, log23 bii.
(1.11.1)
unde Ux poate lua valori ntre 0 i Umax = 12,8 V; q este cuanta conversiei, q =
50mV; [y] semnific partea ntreag a lui y.
a) Ct informaie furnizeaz la ieirea sa CAN-ul prin fiecare numr generat i
ct informaie se pierde ?
b) Dac CAN-ul folosete pentru conversie, n mai muli pai succesivi, un
comparator, s se stabileasc ct informaie furnizeaz comparatorul la un pas
i ci pai sunt necesari pentru efectuarea conversiei ?
c) Care sunt tensiunile de prag ale comparatoarelor utilizate, Upi, n conversia
tensiunii Ux = 7,43 V, n cazul n care conversia se face ntr-un numr minim de
pai ?
Rspuns:
a) i = 8 bii; n mod ideal Ux conine + informaie.
n realitate msurarea unei tensiuni Ux este limitat (ca i precizie) fie de rezoluia aparatelor fie de
nivelul zgomotului.
b) ic = 1 bit; 8 pai;
c) Up1 = 6,4 V; Up2 = 9,6 V; Up3 = 8 V; Up4 = 7,2 V; Up5 = 7,6 V; Up6 = 7,4 V; Up7 = 7,5 V; Up8 =
7,45 V.
U max U min
= 256 = 2 8
q
(1.12.1)
(1.12.2)
(1.12.3)
Pentru c un comparator alege o variant din dou posibile, informaia furnizat de el este:
i c = log 2
1
= 1 bit
2
(1.12.4)
(1.12.5)
Rezolvare:
Informaia cerut se calculeaz cu formula:
i = log2 n (bii)
(1.13.1)
Se consider c transmiterea (implicit eronarea) unui bit este independent de a celorlali. Aadar,
pentru un bit eronat i1 = 3 bii; pentru doi bii eronai i 2 = log 2 C 82 4,8 bii.
(1.14.1)
(1.14.2)
n relaia (1.14.2) s-au adugat 2 bii de informaie necesari aflrii valorii adevrate pentru
dou simboluri ternare eronate.
1.15. La o transmisie binar informaia util este transmis prin cuvinte de n=8
bii printr-un canal cu rata erorii p=10-3. Ct informaie, n medie pe un
cuvnt, este necesar pentru a face:
a) detecie de o eroare pe cuvnt?
b) detecie de una sau dou erori pe cuvnt?
Rezolvare:
a) Probabilitatea ca un cuvnt s fie eronat ntr-o poziie este:
p1 = C1n p (1 p )
n 1
= 8 10 3 0,993 = 7,944 10 3
(1.15.1)
(1.15.2)
11
Aadar din b cuvinte transmise a sunt detectate cu eroare. Pentru a detecta un astfel de cuvnt este
necesar informaia:
(1.15.3)
i 1d = log 2 p1
b-a cuvinte din cele b sunt considerate neeronate, pentru un astfel de cuvnt fiind necesar
informaia:
i 1n = log 2 (1 p1 )
(1.15.4)
(1.15.5)
i1 =
(1.15.6)
b) i n acest caz informaia cerut are aceeai form cu (1.15.6) doar c difer p1:
i 2 = p 2 log 2 p 2 (1 p1 ) log 2 (1 p 2 )
(1.15.7)
unde p2 este probabilitatea ca un cuvnt s fie eronat ntr-o poziie sau n dou poziii:
p 2 = C1n p (1 p )
n 1
+ C 2n p 2 (1 p )
n 2
= 7,972 10 3
(1.15.8)
(1.15.9)
Obs: Detecia prezenei erorilor presupune a decide ntre dou variante: exist sau nu exist erori
n cuvntul n cauz. Informaia furnizat de o astfel de decizie (una din dou posibile) este, n
medie, subunitar, nct problema deteciei din punct de vedere strict al informaiei este solvabil
cu 1 bit (de informaie) pe cuvnt, indiferent de p sau n.
12
Definiii:
- Surs de informaie text = sursa de informaie, de regul considerat fr memorie, avnd drept simboluri caracterele
distincte din textul dat (opional se pot include semne de punctuaie, pauzele dintre cuvinte, cifrele, etc)..
Probabilitile diferitelor simboluri vor fi ponderile lor n text.
- Extensia unei surse = fiind dat o SDFM, S cu N simboluri, se definete extensia de ordin n a sursei, notat Sn, sursa
avnd un numr de Nn simboluri obinute din toate combinaiile posibile de mesaje compuse din n simboluri
ale sursei S.
- Surs cu memorie (Markov) de m pai = sursa de informaie cu N simboluri pentru care emisia celui de-al m+1-lea
simbol depinde de cele m simboluri anterior emise.
- Starea sursei Markov de m pai = setul ultimelor m simboluri emise. Dac sursa poate emite M simboluri i este cu
memorie de m pai atunci admite Mm stri.
- Probabilitate de trecere p(Sj/Si) = probabilitatea ca sursa Markov s treac n starea Sj = skm-1 skm-2 ..... sk0 (prin
emiterea simbolului sk0), dac se afl n starea Si = skm-2 skm-1 ..... sk1.
- Matricea de tranziie,T = o matrice ptrat de ordin Mm ce conine toate probabilitile de trecere;
- Graful sursei cu memorie = graful ale crui noduri reprezint strile sursei, iar coardele (sgeile) ce leag nodurile
probabilitile de trecere.
- Surs Markov staionar = probabilitile de trecere n n pai converg ctre limite independente de starea iniial
cnd n .
- Stare de staionaritate (a unei surse Markov staionare) = un vector, P* de dimensiune M ce conine
probabilitile
p *j , j = 1, M ce verific sistemul:
P * T = P *
M
(2.1)
*
p j = 1
j=1
*
Probabilitatea p j reprezint ansa ca sursa Markov, dup n pai cu n s se gseasc n starea Sj.
Notaii:
S surs de informaie;
N numrul de simboluri;
Si, i = 1
N simbolurile sursei;
pi, i = 1
N probabilitile de emisie a simbolurilor Si;
Sm extensia de ordin m a sursei SDFM, S;
Sj, j = 1
Nm strile sursei cu memorie, S;
T matricea de tranziie;
ppm pri per milion (1ppm=10-6).
Abrevieri:
SDFM Surs Discret Fr Memorie.
13
Breviar teoretic:
1. Mrimi ce caracterizeaz sursa de informaie:
--entropia SDFM:
N
1
H (S) = p i log 2
pi
i =1
--entropia sursei cu memorie:
N N
1
H(S) = p *j p(Si /S j )log 2
p(Si /S j )
j=1 i =1
-entropia maxim:
H max (S) = log 2 N
--eficiena:
s = H(S)/H max (S)
--redundana:
R(S) = Hmax(S) H(S)
--redundana relativ:
s = R (S)/H max (S)
2. Formul pentru schimbarea bazei logaritmului:
lnx
log 2 x =
ln2
3. Condiia de existen a strii de staionaritate pentru surs cu memorie:
n0 astfel nct Tn0 s fie o matrice regulat (are toate elementele strict pozitive)
(2.2.a)
(2.2.b)
(2.3)
(2.4)
(2.5)
(2.6)
(2.7)
(2.1.1)
H max = log 2 N
= 1
H(S)
H max
(2.1.2)
H max =
(2.1.3)
i:
N = 2 H max = 40
(2.1.4)
14
S = 1 1 1 1 1
8 2 16 4 16
Se cere s se calculeze:
a) informaia medie pe simbol, H(s);
b) valoarea maxim a entropiei sursei Hmax;
c) eficiena sursei s;
d) redundana sursei R;
e) redundana relativ .
Rezolvare:
a) Informaia medie pe simbol sau entropia sursei H(S) se calculeaz cu formula:
N
1
p(s i )
(2.2.1)
(2.2.2)
(2.2.3)
H (S)
= 80,71%
H max
(2.2.4)
d) Redundana sursei R este diferena dintre entropia maxim i entropia sursei date:
R = Hmax - H(S) = 0,448 bii/simbol
(2.2.5)
(2.2.6)
15
S= 2 2 1 4 5 1 4 1 1 3 4 1 1 5 1
36 36 36 36 36 36 36 36 36 36 36 36 36 36 36
(2.3.1)
1
p(s i )
i =1
N
N
k
k
36 N k i
= i log 2
= log 2 36 i log 2 k i
k i i =1 36
i =1 36
i =1 36
(2.3.2)
H(S) = log 2 36
1
( 4 + 3 log 2 3 + 24 + 10 log 2 5) =
36
= 3,6137 bii/simbol
= 2 + 2 log 2 3
(2.3.3)
(2.3.4)
16
(2.3.5)
2 4 1
= 1,715 10 4
36 36 36
(2.3.6)
S = 10 20 30 5 2 8 25
a) S = 2 1 2 4 2 3 1 2 5 3 2 1 4 2 1 1 7 1
44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
b) H(S) = log 2 44
1
(6 2 + 6 log 2 3 + 16 + 5 log 2 5 + 7 log 2 7) = 3,896 bii/simbol
44
17
s =
3,896
= 93,44%
log 2 18
c) p (MAR ) =
4
= 47 ppm
44 3
Rezolvare:
a) Probabilitile cerute sunt:
2
7
1
p(S3 /S 2 ) = 1 p(S 4 /S 2 ) =
2
3
p(S3 /S 4 ) = 1 p(S 4 /S 4 ) =
5
1
p(S 2 /S 3 ) = 1 p(S1 /S3 ) =
4
p(S 2 /S1 ) = 1 p(S1 /S1 ) =
(2.6.1)
b) Deoarece sursa are memorie de doi pai, din mesajul transmis 00110 sunt relevani, pentru
definirea strii actuale, doar ultimii doi bii transmii 10. Aadar starea actual este S3. Din S3
ansele ca sursa s emit 1 i, ca atare, s treac n starea S2 sunt de 25% (p(S2/S3)). Prin
generarea nc a unui 1 sursa va trece din starea S2 n starea S4. Probabilitatea acestei tranziii este
de 50%. Concluzionnd probabilitatea ce nsoeteacest traseu S3 S2 S4 este:
1 1 1
p(S3 S 2 S 4 ) = = = 12,5%
(2.6.2)
4 2 8
c) Matricea de tranziie este:
18
3
7
p(S1 /S1 ) p(S 2 /S1 ) p(S3 /S1 ) p(S 4 /S1 )
p(S /S ) p(S /S ) p(S /S ) p(S /S ) 0
1
2
2
2
3
2
4
2
T=
=
p(S1 /S 3 ) p(S 2 /S3 ) p(S3 /S 3 ) p(S 4 /S3 )
3
p(S1 /S 4 ) p(S 2 /S 4 ) p(S3 /S 4 ) p(S 4 /S 4 ) 4
4
0
7
1
0
2
1
0
4
3
0
5
1
2
(2.6.3)
P * = p1* p *2 p *3 p *4
(2.6.4)
cu P * ndeplinind condiia:
P*T = P*
(2.6.5)
p1* p *2 p *3 p *4
3
4
4
7
-1
1
2
1
4
-1
3
5
1
2
=0
0
2
-1
5
0
(2.6.6)
Sistemul de ecuaii dat de (2.6.6) este compatibil nedeterminat fapt ce necesit nc o relaie ntre
probabilitile p *i , relaie care este:
[p
*
1
+ p *2 + p *3 + p *4 = 1
(2.6.7)
(2.6.8)
19
(2.6.9)
unde Si, cu i = 14, sunt cele 4 stri posibile ale sursei iar aj, cu j = 01, sunt mesajele posibil a fi
emise din fiecare stare.
Pentru uurina calculului entropiei, elementele cerute de suma dubl din (2.6.9) sunt date n
tabelul urmtor :
Si
aj
S1 = 00
0
1
0
1
0
1
0
1
S2 = 01
S3 = 10
S4 = 11
p(Si ) = p *i
63
199
48
199
48
199
40
199
p(a j /S i )
3/7
4/7
1/2
1/2
3/4
1/4
3/5
2/5
Tabelul 2.1
H M (S) =
1
5
(2.6.11)
Rspuns:
p(S1 S1 S1 S1 ) + p(S1 S 2 S3 S1 ) =
3
3 1 2
4
= + = 24,37%
7 7 3 5
20
(2.8.1)
2
7
3
4
(2.8.2)
p *0 p1* T = p *0
*
p 0 + p1* = 1
p1*
(2.8.3)
Rezult:
* 7
p 0 = 15
p * = 8
1 15
(2.8.4)
unde S0 = 0; S1 = 1; a0 = 0; a1 = 1
21
(2.8.5)
p(S 0 ) = p *0 =
7
15
p(S1 ) = p1* =
8
15
H M (S) =
(2.8.6)
S= 7
15
S2
15
(2.8.7)
iar entropia:
H(S) =
7
15 8
15
log 2 + log 2
= 0,9968 bii/simbol
15
7 15
8
(2.8.8)
Comparnd cele dou entropii gsite HM(S) i H(S) se observ c ultima este mai mare.
Rspuns:
22
a)
1
2
0
T=
2
1
2
0 0 0 0 0 0
1 3
0 0 0 0
4 4
2 3
0 0
0 0
5 5
1 1
0 0 0 0
2 2
0 0 0 0 0 0
3 2
0 0 0 0
5 5
3 4
0 0
0 0
7 7
3 4
0 0 0 0
7 7
0
0
0
1
3
0
0
0
c) p(S 2 S3 S6 S3 ) =
9
= 9%
100
Se cere:
a) valoarea lui x;
b) entropia i eficiena sursei S;
c) tabloul sursei de informaie S2(extensia de ordin a lui S);
d) entropia i eficiena sursei S2.
Rezolvare:
a) Deoarece:
N
= 1 rezult x = 0,3
(2.10.1)
i =1
b)
H(S) = p i log 2
i =1
1
= 1,846 bii/simbol entropia
pi
23
(2.10.2)
s =
H (S)
H(S)
=
= 92,32% eficiena
H max log 2 N
(2.10.3)
b) Extensia unei surse S se obine asociind cte dou mesaje ale sursei S. Astfel:
ab ac ad ba bb bc bd ca cb cc cd da db dc dd
aa
S = 4 8
2 6 8 16 4 12 2 4 1
3 6 12 3 9
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
2
(2.10.4)
H(S 2 ) = 2 H(S) = 3,692 l bii/simbol
c)
S =
2
( )
( )
H S2
2 H(S)
=
= S
2
H max S
log 2 N 2
(2.10.5)
(2.10.6)
Obs: Entropia extensiei de ordinul doi a sursei S este dublul entropiei sursei date, eficiena
pstrndu-se. Prin generalizare se poate arta c:
H(S m ) = m H(S)
Sm = S
(2.10.7)
Rspuns:
a)
p(S1 /S 2 ) =
1
5
p(S 2 /S 3 ) =
1
2
p(S 3 /S1 ) =
1
3
24
b)
c)
p1* =
12
49
p *2 =
Starea
actual
S1
S2
S3
25
49
p *3 =
12
49
Starea
viitoare
S1
S2
S3
S1
S2
S3
S1
S2
S3
Probabilitatea
strii staionare
12/49
25/49
12/49
Probabilitatea de
trecere
1/3
1/3
1/3
1/5
3/5
1/5
1/4
2/4
1/4
Tabelul 2.2
d)
+ + =1
R = 1,25 bii/simbol
25
= 25%
Definiii:
- codare = procesul de atribuire a unor succesiuni (secvene) de simboluri elementare mesajelor (simbolurilor) unei
surse de informaie;
- alfabetul codrii = totalitatea simbolurilor elementare cu ajutorul crora se pot construi succesiunile (secvenele);
- cuvnt de cod = o secven (succesiune) atribuit prin procesul de codare a unui mesaj al sursei de informaie;
- cod = totalitatea cuvintelor de cod;
- cod - binar = alfabetul este binar: {0, 1};
- bloc = cuvintele au aceeai lungime;
- unic decodabil = fiecrei succesiuni de cuvinte de cod i corespunde o unic succesiune de simboluri a sursei;
- instantaneu = nici un cuvnt de cod nu este prefixul altui cuvnt;
- graful de codare (graful codului) = un arbore ce crete, dintr-un punct iniial (numit surs), prin m ramuri la fiecare
nod (m - numrul de simboluri elementare din alfabet) i are la finele oricrei ramuri (numit frunz) cte
un simbol (mesaj al sursei). Fiecare din cele m ramuri ce pleac dintr-un nod este notat cu unul dintre
simbolurile elementare ale afabetului codului. Secvena obinut prin asocierea simbolurilor elementare ataate
unei ci, ce pleac de la surs i ajunge la o frunz, este cuvntul de cod ce codeaz simbolul (mesajul) sursei
ataat acelei frunze;
- eficiena codrii = raportul ntre lungimea medie minim a cuvintelor unui cod ce ar putea coda sursa dat i
lungimea medie a cuvintelor codului dat;
- compresia = procedeul de recodare a unei surse cu scopul de a obine o eficien superioar primului cod;
- factor de compresie = raportul eficienelor codurilor, comprimat i iniial.
Notaii:
L - lungimea medie a cuvintelor codului;
c - eficiena codrii;
F - factor de compresie.
Abrevieri:
LZ -77 - algoritmul de compresie Lempel -Ziv '77.
Breviar teoretic:
1. Teorema I-a a lui Shannon: pentru orice surs de informaie S, printr-o codare pe grupe
de n simboluri, poate fi fcut o codare absolut optimal dac n;
2. Lungimea medie a cuvintelor codului:
N
L = pili
(3.1)
i =1
26
(3.2)
0 , 25
0 ,2
0 ,15
C II
10
100
110
C III
00
01
01
001
10
000
11
Sv1=1101100110
Sv2=1011001000
Sv3=0001001011
110
101
0001
(3.1.1)
b) Decodnd secvena Sv1 prin I gsim cel puin dou variante de decodare:
abacdab, dacdd, abacabab, etc...
fapt ce nu se poate ntmpla cu Sv2 i Sv3 prin CII, respectiv CIII.
c) Conform formulei de definiie, entropia sursei este:
N
H(S) = pi log 2
i =1
1
= 1,9 bii/simbol
pi
(3.1.2)
(3.1.3)
H(S)
= 95%
H max
(3.1.4)
27
L = pili
(3.1.5)
i =1
iar:
(3.1.6)
L3=2 bii/simbol
(3.1.7)
c3 = s = 95%.
(3.1.8)
Obs.: - Dei CIII are lungimi ale cuvintelor de cod mai mici dect CI i CII, totui acestea "codeaz
mai eficient" sursa dat, deoarece atribuie cuvnt de cod scurt (lungime 1) simbolului cel mai
frecvent (a).
- Codurile CII i CIII sunt coduri unic decodabile prin faptul c decodarea unei secvene codate
decurge ntr-un unic fel. n plus sunt i coduri instantanee. Un exemplu de cod unic decodabil, dar
nu i instantaneu, este:
CIV
a
b
c
d
1
10
100
000
28
(3.2.1)
i, ca atare:
s=100%
(3.2.2)
b) Pentru a putea atribui N secvene binare, de lungime m, celor N mesaje ale sursei este necesar ca
s existe cel puin N secvene distincte. Cum numrul de secvene binare de lungime m este 2m
rezult c 2m N, unde N este numrul de simboluri al sursei, N=20. n plus, conform cerinelor
problemei vom alege pe cel mai mic m ce verific inegalitatea, astfel nct:
2m 1 < N < 2m
(3.2.3)
(3.2.4)
20
L = p i li = p i m = m
i =1
(3.2.5)
i =1
H(S) log 2 20
=
= 86,44%
L
5
(3.2.5)
0, 2
0, 25
0,15
0,4
0,25
0,2
0,15
0
10
111
110
0,4 0
0,35 11
0,25 10
Figura 3.1.
29
0,6 1
0,4 0
L1 = pi li = 1,95 bii/simbol
(3.3.1)
i =1
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
Algoritmul de codare Huffman static pentru sursa S2 este artat n figura urmtoare:
aa
ac
ca
ab
ba
cc
ad
da
bc
cb
bb
cd
dc
bd
db
dd
111
16
16
010
10
10
001
10
10
1101
8
8
1100
8
8
1001
6,25
6,25
1000
6
6
0111
6
6
0001
5
5,25
0000
5
5
10111
4
5
10110 3,75
4
10101 3,75
3,75
10100
3
3,75 10101
01101
3 01101
3 10100
01100 2,25 01100
16
10
10
8
8
6,75
6,25
6
6
5,25
5
5
4 10111
3,75 10110
16
10
10
8
8
7,75
6,75
6,25
6
6
5,25
5 0001
5 0000
16
10
10
10
8
8
7,75
6,75
6,25
6
6 0111
5,25 0110
16
11,25
10
10
10
8
8
7,75
6,75
6,25 1001
6 1000
16
16
16
20
21,25
26,75
32
41,25
58,75 1
12,25
14,5
16
16
20
21,25 26,75
32 11 41,25 0
11,25
12,25
14,5
16
16
20
21,25 01 26,75 10
10
11,25
12,25 14,5
16
16 111 20 00
10
10
11,25 12,25
14,5 101 16 110
10
10
10
11,25 011 12,25 100
8
10
10 001 10 010
8
8 1101 10 000
7,75 1011
8 1100
6,75 1010
Figura 3.2.
n desfurarea algoritmului probabilitile sunt nmulite cu 100 pentru uurina scrierii. Lungimea
medie a cuvintelor codului obinut este:
30
3
(16 + 10 + 10) + 4 (8 + 8 + 6,25 + 6 + 6 + 5 + 5)
100
100
5
+
(4 + 3,75 + 3,75 + 3 + 3 + 2,25) =
100
108 + 177 + 98,75
...... =
= 3,8375 bii/simbol
100
L2 =
(3.3.2)
Cunoscnd c entropia extensiei de ordin 2 este dublul entropiei sursei date (vezi problema 2.10)
gsim c:
H(S)=1,9bii/simbol
( )
(3.3.3)
De unde:
c1 =
H(S)
= 97,63%
L1
(3.3.4)
( )
H S2
H(S) 2L1
2L
=
= c1 1 = 99,22%
L2
L1 L 2
L2
Cum 2L1>L2 c1 > c2
c 2 =
(3.3.5)
32
E
3
32
F
1
32
I
7
32
M
2
32
N
2
32
O
2
32
b)
A
E
F
I
M
N
000
1111
11100
01
0011
0010
0
R
S
T
_
.
1001
110
111011
101
1000
111010
c)
c = 98,925%
F=1,185
31
R
4
32
S
1
32
T
4
32
_
2
32
.
1
32
d)
0
0
A
1
1
0
N
1
M
0
0
T
O
1
0
0
R
00
1
F
0
.
50
log 2 50 = 98,67%
286
32
I N S T V
A C E
S= 4 1 2 2 2 1 1 2
15 15 15 15 15 15 15 15
(3.8.1)
000
001
010
011
100
101
110
111
(3.8.2)
p(0 E ) = pi
i =1
m 0i
m
(3.8.3)
(3.8.4)
33
(3.8.5)
1
0
S' =
26 / 45 19 / 45
(3.8.6)
iar entropia:
()
H S' =
26
45 19
45
log 2
+ log 2
= 0,9825 bii/simbol
45
26 45
19
(3.8.6)
5 6
9 10
a
a
a a
a
a a a b c
b
a a a b c b
a
a a a b c b a a
b
Rezultatul comprimrii este 00a82b00c71a43c...
11
a
b
a
a
c
12
b
c
a
b
c
S L
0
0
8
2
0
0
7
1
4
3
A
a
b
c
a
c
S L
0
0
0
0
7
3
7
2
6
4
A
c
b
c
b
0
c
b
b
c
5 6
c
c
b
c
7
c
c
c
8
c
b
c
b
9 10
c
b
c
b
c
c
c
c
11
12
c
b
b
c
c
34
1.Arbore iniial:
2. S-a codat "a":
1
3
simbol
codul:
mesaj: a
0
1
mesaj: --
0
a
1
0
cuvnt
de cod
0
1
- x: numr de ordine;
- p: pondere (numr de apariii ale respectivului simbol);
- y: simbolul.
Frunza goal, notat cu "0", este de pondere 0.
- pentru ramur: - spre stnga codare cu zero;
- spre dreapta codare (atribuire) cu unu.
3.S-a codat "aa"
mesaj: a1
codul: 0
0
a
1
3 2
0
1 0
2 2
5 4
0
3 1
0
4 3
3 3
0
1 0
a
6.S-a codat "aaabc"
mesaj: a110b00c
codul: 0
000
a
1
b
01
a
c
001
2 1
3 1
0
1
35
01
5 2
0
2 3
7 5
1
0
6 3
1
4 1
1
0
2 1
3 2
6 3 a
1
4 1
5 3
0
1 0
7 6
7 6
5 3
Schimb
ntre
3 1
2 2
10
1
4 2
6 3
nodurile
2 i 4
2 1
7 7
5 3
0
3 1
0
1 0
6 4
1
4 2
1
0
2 1
Obs.: la pasul 7 s-a produs un schimb ntre nodurile 2 i 4 deoarece ponderea primului era mai
mare (2 > 1), conform regulii care spune c un nod cu numr de ordine mai mic i pondere mai
mare dect un altul va face schimb de poziie n arbore cu acesta din urm.
(3.10.1)
(3.10.2)
36
F=
L1
1,7
L2
(3.10.3)
a
b
a
c
c
a
a
a
c
b
b
5 6
a
c
d
a
c
a
a
7
a
a
b
b
8
a
c
b
d
a
9 10
a
a
a
c
a
c
c
a
a
b
d
a
11
c
a
a
b
a
b
12
a
c
b
d
d
c
S L
0
0
8
1
7
3
6
3
3
2
5
3
b)
(3.11.1)
1.
3
0
2.
1
1
1 0 0 2 1 a
3
0
1 0 0 2 2 a
37
A
a
c
b
d
a
c
3.
3 1
4 2 a
1 0 0 2 1 c
(4. 5. 6.) 7.
mesaj codat "aacacab"
mesaj transmis "a10c101100b"
cod 0
00
a
1
b
001
c
01
7 7
0
7 3 a8 4
0
5 1 b 6 2
0
1 0
4 1
9 11
0
7 6
0
1 0
7 5 a 8 6
6 3
4 2
6 3 c
1
3 1
1
2 1
5 3
3 1
8 5
5 3
0
4 2
1
0 0 12 1 d
38
(12.) 13.
mesaj codat: "aacacabcabd"
mesaj transmis: "a10c101100b011001000d"
cod: 0
1100
a
0
b
111
c
10
d
1101
9 13
0
7 6 a 8 7
0
5 3 c 6 4
0
3 1
4 3
1 0 0 2 1 d
7 8 a 8 10
0
5 4 b 6 6
0
3 2
0
4 4
1 0 0 2 2 d
39
(3.11.2)
c) Pentru a putea coda mesajul transmis prin algoritmul Huffman static definim sursa:
b c d
a
S= 8 4 4 2
18 18 18 18
asupra creia putem aplica algoritmul:
a
b
c
d
8
4
4
2
0
10
111
110
8
6
4
0
11
10
10 1
8 0
(3.11.3)
d) Dac mesajul iniial este codat bloc pe 8 bii lungimea secvenei binare codate este:
L0=188=144 bii
(3.11.4)
F1 =
F2
F3
(3.11.5)
40
Canale
Definiii:
1. - transferul informaiei ntre cmpul de intrare X, cel de ieire Y i canal C:
Informaia ce o adaug
canalul, n medie,
fiecrui simbol binar
Cmp
intrare
X
H(X)
H(Y/X)
I(X,Y)
H(Y)
CANAL
Informaia, n medie, ce
intr n canal printr-un
simbol binar
H(X/Y)
Informaia ce o pierde
n canal, n medie, un
simbol binar
Cmp
ieire
Y
Informaia ce iese,
n medie, din canal
printr-un simbol
binar
Informaia ce
traverseaz
canalul, n medie,
cu un simbol binar
Notaii:
Canale
p(xi, yj) - probabilitatea de a se fi emis xi i a se recepiona yj;
P(X/Y) =[ p(xi/yj)]22;
p(xi/yj) - probabilitatea (aposteriorii) de a se fi emis xi cnd s-a recepionat yj;
- raport semnal-zgomot.
Abrevieri:
Breviar teoretic:
1. Relaii ntre matrici
0
p(0 )
P(X, Y ) = E
P(Y / X ) =
p(1E )
0
p(0 R ) = +
p(1R ) = +
1
p(0 )
P(X / Y ) = P(X, Y ) R
0
2. Entropii condiionate
(4.3)
1 1
i = 0 j= 0
1 1
- transinformaia
1
(4.2)
1
p(1R )
i = 0 j= 0
I(X, Y ) =
(4.1)
p xi , y j
1
;
j / xi
1
;
i / yj
5
B (canal real)
4
m max = 1 +
4. Redundana i eficiena canalului
R C = C I(X, Y ) - redundana absolut
I(X, Y )
- redundana relativ
c = 1
C
I(X, Y )
c =
- eficiena
C
42
(4.5)
(4.4)
(4.6)
(4.7)
(4.8)
(4.9)
(4.10)
(4.11)
(4.12)
(4.13)
Canale
S00(t)= -3V
S01(t)= -1V
S10(t)= 1V
S11(t)= 3V
t
[0,TM]
t
[0,TM]
t
[0,TM]
t
[0,TM]
cu TM=250
s
(4.1.2)
Se cere:
a) S se calculeze entropia i eficiena sursei X; (H(X), X)
d) Debitul de momente; ( M )
e) Ce debit de informaie (n bii/sec) corespunde n acest caz unui Baud? (1Bd)
f) S se reprezinte grafic semnalul S(t): suport al informaiei i0.
Rezolvare:
a) Probabilitile de emisie (generare) a mesjelor binare 0 i 1 fiind egale:
p(0)=p(1)=1/2
(4.1.3)
(4.1.4)
b) Prin definiie:
H (X )
x
X=
(4.1.5)
unde x este timpul n care se transmite (genereaz) un simbol binar de ctre sursa X. tiind c dou
simboluri (un dibit) au o durat de transmitere, respectiv genereare (n timp real), de TM=250s
rezult pentru x valoarea:
x =
1
TM = 125s
2
(4.1.6)
i ca atare:
X=
1 bit/simbol
= 8 kbiti/sec
125 s
(4.1.7)
43
Canale
c) Conform definiiei:
D=log2m=2 bii
(4.1.8)
unde m=4 reprezint numrul de nivele de tensiune corespunztoare dibiilor (relaia (4.1.2)).
d) Debitul de momente M este numrul de semnale elementare (S00, S01, S10 sau S11) pe unitatea de
timp:
M=
1
1
=
= 4000 Bd
TM 250 10 6
(4.1.9)
e) Cum debitul de informaie este X = 8000 bii/sec, corespunde la viteza de modulaie (debitul de
S10S01S01S01S11S00S01S11S00S10S01S10
care formeaz semnalul:
[V]
S[t]
3
2
1
0
-1
-2
-3
10
11 12
S[t]
+1
0
10
12
14
-1
44
t/5s
t/TM
Canale
S+(t)= +1V
S0t)= 0V
S-(t)= -1V
t
[0,TM]
t
[0,TM]
t
[0,TM]
(4.2.1)
1
= 105 simbol ternar / sec = 105 Baud
TM
b) D=log23=1,585 (bii)
a) M =
c)
p(S+ ) = p + = p(1) p(1) =
1
2
1
p(S ) =
4
p(S0 ) =
DS =
1
;
4
1
1
H(S)
= 105 biti/sec < D M = 1,585 105 bii/sec
TM
d)
Semnal
binar
ternar
cuaternar
X [bii / sec]
1/TM
1,585/TM
2/TM
D - cantitatea maxim de informaie ce se poate nmagazina ntr-un semnal elementar de durat TM;
45
Canale
(4.3.1)
001
010
011
100
101
110
111
L=3 bii/simbol
(4.3.2)
H(S)
= 93,58%
L
(4.3.3)
c) Cmpul de la intrarea n canal conine dou simboluri binare ce pot fi emise n canal cu
probabilitile:
7
k
1 7
9
3
p(0E ) = p(Si ) 0i = k 0i =
=
3
21 i =1
21 7
i =1
7
k
1 7
12 4
p(1E ) = p(Si ) 1i = k1i =
=
3
21 i =1
21 7
i =1
46
(4.3.4)
Canale
Astfel, tabloul sursei binare (secundare) ce emite n canal este:
1E
0
X = E
3/ 7 4 / 7
(4.3.5)
i are entropia:
H(X ) =
3
7 4
7
log 2 + log 2 = 0,9852281 bii/simbol
7
3 7
4
(4.3.6)
Obs.: n fapt, sursa secundar X este cu memorie. Pentru a argumenta acest lucru, este suficient s
considerm sursa X fr memorie i s calculm probabilitatea de a emite A:
36 1
p(A ) = p(001E ) = p(0 E ) p(0 E ) p(1E ) =
49 7
care difer de p(A)=1/7, dat de echiprobabilitatea sursei primare.
d) Canalul fiind binar simetric i cunoscnd rata erorii p=0,1 matricea de tranziie are forma:
p(0 / 0 ) p(1R / 0E ) 0E
P(Y / X ) = R E
=
p(0R / 1E ) p(1R / 1E ) 1E
0 R 1R
p 0E
1 p
p 1 p = 1
0 R 1R
0,9 0,1
0,1 0,9 (4.3.7)
Eroarea medie este "informaia" medie, pe simbol binar, ce sosete la recepie i nu provine de la
emisie ci din canal:
H(Y / X ) =
1 1
i = 0 j= 0
1
j / xi
(4.3.8)
unde: - p(yj/xi) = probabilitatea ca la recepie s soseasc yj dac la emisie a fost transmis xi;
probabilitile de genul p(yj/xi) sunt coninute n matricea P(Y/X) dat de relaia (7).
- p(xi , yj ) = probabilitatea de a se emite xi i a se recepiona yj;
Aceste probabiliti formeaz o matrice de forma P(X,Y) i se calculeaz cu ajutorul relaiei lui
Bayes:
p(xi , yj )=p(xi) p(yj/xi)
i,j=0,
(4.3.9)
sau:
0
p(x )
P(X, Y ) = 0
P(Y / X )
p(x1 )
0
-
(4.3.10)
xi , yj cu i,j=0, 1 sunt notaiile alternative pentru 0E, 1E respectiv 0R, 1R folosite pentru a scrie
relaiile compact:
x 0 = 0E
x1 = 1E
0R = y0
1R = y1
(4.3.11)
Obs.: Dei att cmpul de la intrare ct i cmpul de la ieire conin aceleai dou simboluri
binare 0 i 1, sunt necesare notaii distincte pentru a putea fi distinse n diferitele relaii
matematice.
47
Canale
nlocuind rezultatele din (4.3.4) i (4.3.7) n (4.3.10) gsim c:
2,7
P(X, Y ) = 7
0,4
0,3
7
3,6
(4.3.12)
Dispunem acum de toate probabilitile cerute de (4.3.8) pentru a putea calcula eroarea medie:
2,7
0,3
0,4
3,6
log 2 0,9
log 2 0,1
log 2 0,1
log 2 0,9 =
7
7
7
7
= 0,9 log 2 0,9 0,1log 2 0,1 = 0,4689955 biti/simbol binar
H(Y / X ) =
(4.3.13)
(4.3.14)
sau compact:
[p(0 r )
3,1 3,9
p(1R )] = [1 1] P(X, Y ) =
7
7
(4.3.15)
0R 1R
Y = 3,1 3,9
7
7
(4.3.16
i are entropia:
3,1
7 3,9
7
3,1
3,9
log 2
+
log 2
= log 2 7 log 2 3,1
log 2 3,9
7
3,1 7
3,9
7
7
(4.3.17)
=0,990577bii/simbol binar
H(Y ) =
f) Echivocaia, notat H(X/Y), este cantitatea medie de informaie pe un simbol binar ce este
pierdut de acesta (simbolul binar) n canal:
H(X / Y ) =
i = 0 j= 0
1
i / yj
(4.3.18)
0
p(1E / 0 R ) p(1E / 1R )
48
0
=
1
p(1R )
Canale
2,7
= 7
0,4
0,3 7
0 27 1
7 3,1
= 31 31
3,6
7 4 12
0
7
3,9 31 13
(4.3.19)
H(X / Y ) =
(4.3.20)
(4.3.21)
(4.3.22)
C = 1 + p log 2 p + (1 p ) log2 (1 p )
(4.3.23)
C=0,531004bii/simbol
(4.3.24)
Obs.: - capacitatea canalului, conform definiiei, este maximul transinformaiei. Rezultatul (4.3.24)
se poate regsi fcnd n (4.3.21) H(Y)=1.
h) Probabilitatea de a se fi emis "DAC" atunci cnd s-a recepionat "RAC" este identic cu
probabilitatea de a se fi emis secvena binar "011 001 010" atunci cnd s-a recepiopnat "111 001
010":
p(DACE / RACR ) = p(011001010 E / 111001010R ) =
= p(0E / 0R )4 p(0 E / 1R ) p(1E / 1R )4 =
4
27 1 12
= 3,2%
31 13 13
49
(4.3.25)
Canale
Obs.: - n ultima relaie, (4.3.25), s-a fcut presupunerea c transmisia unui simbol binar este
independent de a celorlalte.
0
P(Y / X ) = E
1E
0 R 1R
0,9 0,1
0,2 0,8
b)
A
E
F
I
M
N
O
R
S
T
U
_
c)
d)
e)
3/32
2/32
1/32
8/32
2/32
3/32
2/32
3/32
2/32
3/32
1/32
2/32
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
p(METEOR E ) =
2 23 2 23
6
= 1,34 10 7
32
p(TEN R / TEO E ) = p(1001 0001 0101R / 1001 0001 1001E ) =
= p(0R / 0E )6 p(0 R / 1E ) p(1R / 0 E ) p(1R / 1E )4 = 0,96 0,2 0,1 0,84 = 0,435%
9
7
p(0E ) =
p(1E ) =
,
16
16
Canale
0 R 1R
P(X, Y ) =
p(0 R ) =
0E
1E
9,5
16
8,1
16
1,4
16
0,9
16
5,6
16
p(1R ) =
6,5
16
0 R 1R
P(X / Y ) =
0E
1E
81
95
14
95
9
65
56
65
81 9 14 56
= = 0,63 103
95 65 95 65
f)
g)
h)
4.5. Sursa text ANTENA RECEPTOARE codat binar bloc (ordonare alfabetic
+CBN) se cupleaz la un canal de transmisiune binar avnd matricea de
tranziie:
0,9 0,1
P=
0,2 0,8
51
Canale
Rezolvare:
a) Tabloul sursei primare S este:
AE
S = 3
16
CE
1
16
EE
4
16
NE
2
16
OE
1
16
PE
1
16
RE
2
16
TE
2
16
(4.5.1)
000
001
010
011
O
P
R
T
100
101
110
111
(4.5.2)
13
24
p(1E ) =
11
24
4.5.3)
(4.5.4)
(4.5.5)
unde:
Folosind relaiile de forma (4.5.4) i (4.5.5) se calculeaz probabilitile de recepionare pentru toate
cele 8 simboluri. Aceste calcule sunt indicate n tabelul de mai jos:
Probabilitate
simbol 16
Simbol
A
93
92 2
9 22
928
3355
1485
9 2 1
982
921
9 12
918
9 82
2 12
2 2 1
218
218
22 8
288
3515
92 8
981
2 2 1
982
22 8
92 8
921
92 2
921
23
9 2 1
9 22
928
9 22
92 2
921
9 2 1
912
912
982
8 22
1485
9 12
981
82 2
1075
9 12
2 12
821
981
9 82
821
821
2 12
981
92 8
981
981
2 2 1
821
9 82
82 2
1845
13
8 12
8 12
82 1
8 12
82 1
82 1
83
1395
16.000
1845
Canale
C
E
N
O
P
R
T
A
3515 1845 1485 1075 1845 1395 (4.5.6)
S' = 3.355 1485
3
3
= 0,7 10 3
16
5,3558
16
= 1,3 10 3
117 88
3
p(CAPE / CAPR ) = p(001000101E / 001000101R ) =
= 235 10
139
101
P(X, Y ) = 24
2,2
24
13,9
p(0 R ) =
24
117
P(X / Y ) = 139
22
139
1,3
24
8,8
24
p(1R ) =
10,1
24
13
101
88
101
Obs.: Calculul probabilitilor p(0R) i p(1R) se poate face i cu relaii de forma (4.3.4), rezultnd
aceleai valori.
4.6. Care este durata transmiterii unei imagini alb-negru format din N=106
pixeli printr-un canal:
a) telefonic cu banda cuprins ntre 300-3400 Hz;
b) video cu banda 12 MHz;
c) optic (fibr optic) cu banda de 1 GHz;
Intensitatea fiecrui pixel se cuantizeaz pe 128 nivele, iar raportul semnalzgomotul se consider cel minim necesar.
Rezolvare:
53
Canale
Informaia coninut ntr-o imagine, necesar a fi transmis, este:
Iim = N i pixel = 106 log 2 128 = 7 106 bii/imagine
(4.6.1)
(4.6.2)
(4.6.3)
Dac transmisiile s-ar face la aceste capaciti (debite de informaie) rezult timpii de transmisie:
I
t T = im = 161,3 sec
CT
I
t V = im = 41,7 ms
CV
I
t O = im = 0,5 ms
CO
(4.6.4)
4.7. La ce raport semnal-zgomot minim s-ar putea transmite, n cele trei cazuri
din problema anterioar, imaginile cu viteza necesar de 25 imagini/sec?
Rezolvare:
Capacitatea cerut fiecrui canal este:
C=
Iimag
imag
(4.7.1)
175 106
3,1 103
= 169355 dB
54
C
B
(4.7.2)
Canale
V
dB
3
175 106
12 106
= 43,75 dB
Rspuns:
RZ
AMI
HDB3
NRZ
Component medie: NRZ - 11/25 A RZ - 11/50 A
AMI - O
HDB3 - 1/50 A
55
Canale
4.10. Care va fi semnalul de linie (L) dac la intrarea cifratorului din figur:
C3
C2
C1
+
i
+
se aduce semnalul:
i=11101000000110000111...
1
Starea iniial a RDR este S0 = 0 .
0
Rspuns: 01010001011010101001.
56
i =1
j =1
p(xi,yj)log2p(yj/ xi);
_______
2). raportul semnal-zgomot: =y(t)2/u(t)2;
3). rata erorii (BER).
a). doar 1).; b). 1). i 3).; *c). 2) i 3).; d). toate trei; e). 1). i 2)..
57
N -numrul de simboluri;
i(si) -informaia furnizat de
simbolul si;
p(si)-probabilitatea de emisie a
lui si;
58
N
-numrul de simboluri;
p(si) -probabilitatea de
emisie a lui si;
5.15 O surs de informaie are entropia numeric egal cu 3,7 iar redundana sursei este 5,3%. Sursa are
un numr de simboluri egale cu:
a). 13; *b). 15; c). 16; d). 9; e). 4.
5.16 Semnalele utilizate pentru transportul informaiei numerice sunt compuse din suite de semnale
elementare n timp, numite momente. Numrul de momente transmise n unitatea de timp este:
1). debitul de momente;
2). viteza de modulaie;
3). viteza telegrafic.
Rspunsurile corecte sunt:
a). 1); b). 2); c). 3); d). nici unul; *e). toate trei.
5.17 Precizai rspunsul fals. Debitul de informaie al unei surse de informaie este:
*a). msurat n bii/simbol;
b). msurat n bii/secund;
c). cantitatea medie de informaie generat de surs n unitatea de timp;
d). egal cu debitul de decizie, dac sursa este echiprobabil;
e). mai mic dect capacitatea canalului, la transmisiile n timp real.
5.18 Pentru un canal de transmisie discret, X={xi}i=1..n si Y={yj}j=1..m reprezint cmpurile de la
intrarea, respectiv ieirea din canal. Matricea de trecere P este o matrice avnd dimensiunile nxm i
conine probabiliti de forma:
a). p(xi)p(yj);
b). p(xi, yj);
c). p(xi/yj);
*d). p(yj/xi,);
e). nici un rspuns nu e corect.
59
60
S=
0,2
0,25
0,4
e) C = B log 2 1 + 2 ;
5.27 Fie S o surs discret cu memorie avnd graful din figura 1:
S0 = 00
3/7
3/4
1/2
S1 = 01
S2 = 10
S3 = 11
2/5
Figura.1
Sursa are memorie de:
a) un pas, deoarece orice tranziie se face ntre starea actual i starea viitoare;
b) doi pai, deoarece orice tranziie se face ntre dou stri;
*c) doi pai, deoarece fiecare stare este numit prin doi pai;
d) doi pai, deoarece din fiecare stare pleac dou ramuri;
e) patru pai, deoarece sunt patru stri.
5.28 Fie S o surs discret cu memorie avnd graful din figura 1. Ce anse sunt ca sursa S s emit un
zero dac secvena emis pn n prezent a fost: 10011?
a) 25%; b) 30%; c) 40%; d) 50%; *e) 60%;
61
5.29 Sursa discret cu memorie, S, al crei graf este prezentat n figura 1, se gsete n stare S2. Care
este probabilitatea ca dup emisia a trei simboluri sursa s se gseasc n starea S1?
a) 3,125%;
b) 42,86%;
c) 18,37%;
*d) 21,5%;
e) 46%;
5.30 Fie Sn extensia sursei discrete i fr memorie, S. Entropia sursei Sn, notat H(Sn), se calculeaz
funcie de entropia sursei S, notat H(S), dup relaia:
*a) H(Sn)=nH(S);
b) H(Sn)=(H(S))n;
c) H(Sn)=H(S);
d) H(Sn)=H(S)log2n;
e) nici o variant nu este corect.
5.31 Eficiena unei surse discrete fr memorie, avnd 20 simboluri echiprobabile, ce s-a codat cu un
cod binar bloc, este:
1
a) log 2 20;
5
*b) 100%;
c) 5 / log 2 20;
d) 4 / log 2 20;
e) nici o variant nu este corect.
5.32 O SFDM avnd 20 simboluri echiprobabile se codeaz binar bloc. Eficiena codrii este:
1
*a) log 2 20;
5
b) 100%;
c) 5 / log 2 20;
d) 4 / log 2 20;
e) nici o variant nu este corect.
5.33 Teorema de existen a codurilor instantanee se exprim prin inegalitatea:
M
mni
i =1
62
mni
i =1
63
64
5.49 Sursa de informaie text TEORIA TRANSMITERII INFORMATIEI se codeaz binar bloc.
Lungimea medie a cuvintelor codului este:
a) 3,1 bii/secund;
b) 2,15 bii/secund;
c) 4 bii/secund;
d) 10 bii/secund;
*e) nici o variant nu este corect.
5.50 Sursa de informaie text TEORIA TRANSMITERII INFORMATIEI se codeaz cu un cod de
eficien maxim posibil (codare simbol cu simbol ). Lungimea medie a cuvintelor codului este:
*a) 3,1 bii/simbol;
b) 2,15 bii/simbol;
c) 4 bii/simbol;
d) 10 bii/simbol;
e) nici o variant nu este corect.
65
(1.1)
n aceast accepiune, semnalul eroare (eroarea) poate fi identificat() prin noiunea de perturbaie sau
zgomot, a crui cauz este, indubitabil, canalul de transmisie.
secven eroare are n principal aceeai semnificaie cu cea a semnalului eroare, numai c se refer la
transmisiile numerice (de regul binare), unde mesajele elmentare purttoare de informaie sunt n numr
finit.
Exist ns o deosebore major ntre eroarea ca i semnal eroare i eroarea ca i secven eroare.
Anume, n cazul transmisiilor numerice canalul (numeric) include terminalele de linie (de la emisie i
recepie) care fac conversia numeric-analogic (modulatorul de la emisie) i analog-numeric
(demodulatorul de linie de la recepie). Aceast conversie analog nnumeric trebuie s in seama de
valorile numerice finite (pentru canalul binar dou) pe care le poate lua secvena numeric reconstruit.
Astfel, eroarea n accepiunea de secven eroare, mbrac forma ei ( de secven numeric) doar la
recepie, n procesul de restaurare a secvenei numerice transmise; pot exista situaii n care exist
perturbaie nsumat (de canal) semnalului transmis, implicit exist semnal eroare nenul, dar secvena
numeric reconstruit coincide cu cea eis, adic secvena eroare este nul.
Cu alte cuvinte, putem afirma c secvena eroare se nate prin procesul de reconstrucie a
secvenei transmise i are drept cauze zgomotul din canal cumulat cu o reconstrucie deficitar.
eroare de bit/cuvnt poriunea din secvena eroare (un bit sau un cuvnt) diferit de zero.
Definiii
-bit de control bit, redundant d.p.d.v. al mesajului transmis, adugat (prin procesul de codare pentru protecie) secvenei
transmise cu scopul de a crea legturi ntre biii transmii, legturi ce vor fi verificate la recepie.
-bit de informaie bit din componena mesajului dorit a fi transmis.
-distan Hamming ntre dou secvene binare v1 i v2 de aceeai lungime numrul de neconcordane (deosebiri la nivel
de bit) ntre cele dou secvene. Se noteaz cu d(v1, v2) i se poate calcula cu formula:
N
d(v1 , v 2 ) = ( v1j + v 2j )
(1.2)
j =1
Abrevieri
MAP Maximum APosteriori.
Breviar teoretic
1.Criteriul de decizie MAP. Decodorul hotrte (alege) drept cuvnt emis acel cuvnt
emisibil (posibil a fi emis) vMAP pentru care probabilitatea p(vMAP/r) este maxim peste toate cuvintele
emisibile; r fiind cuvntul recepionat:
vMAP = cuvntul decodat dac p(vMAP/r) p(v/r) v cuvnt emisibil
(1.3)
2. Criteriul de decizie dup distana Hamming minim. Decodorul hotrte (alege) drept
cuvnt emis acel cuvnt vd pentru care distana d(vd, r) este minim peste toate cuvintele emisibile;
r fiind cuvntul recepionat:
vd = cuvntul decodat dac d(vd/r) d(v/r) v cuvnt emisibil
(1.4)
3.Relaii ntre distana de cod d i ec respectiv ed (numrul de erori corectabile/detectabile)
pentru un cod oarecare:
d ed + ec
(1.5)
i n plus:
ed ed max d + 1
ec ec max (d + 1)/2
(1.6)
(1.1.1)
Informaia i0 este transmis prin cei k bii de control adugai la emisie. Deoarece printr-un simbol
binar se poate transmite (n cazul cel mai favorabil) un bit de informaie putem scrie formal:
i0 = k
(1.1.2)
(1.1.3)
2
(1.1.4)
Obs.: Relaia (1.1.1) calculeaz informaia necesar pentru a preciza poziia unui bit eronat din n
posibile (poziii). Deoarece n majoritatea cazurilor cuvntul recepionat sosete neeronat, pe lng
log 2n informaie mai este necesar n plus o cantitate de informaie pentru a preciza corectitudinea
recepiei. Aceast informaie este mult subunitar (deoarece probabilitatea ca un cuvnt s soseasc
neeronat este mare) fapt ce nu justific adugarea a nc unui bit de informaie doar pentru acest caz.
Putem soluiona problema asimilnd situaia recepie corect cu eronarea fictiv a unui al n+1 lea
bit, necuprins n cei n recepionai. n acest caz informaia necesar este gsit cu relaia:
k log 2 (m + k + 1)
(1.1.5)
n2
(1.1.6)
n2
3 C 2 2 C1 C1
k2 + k 2 m 4,75 10 5
Cn
4 Cn 4
(1.1.7)
1.2. Distana Hamming minim ntre cuvintele unui cod binar bloc protector este d
= 8.
a) Cte erori poate corecta respectivul cod? (ec0)
b) Cte erori poate detecta respectivul cod? (ed0)
c) Dac se dorete a se face simultan i corecie i detecie de erori cum pot fi alese
ec (numrul de erori corectabile) i ed (numrul de erori detectabile)?
Rezolvare:
a) Relaia ntre d i ec0 (numrul de erori corectabile, atunci cnd se face numai corecie de erori) este:
d 2 e c0 + 1
(1.2.1)
(1.2.2)
e d e d0
(1.2.3)
Soluiile inecuaiilor (1.2.3) sunt prezentate n figura 1.a) ca i puncte n planul (ed, ec). Evident c orice
cod va fi utilizat la maximum, astfel nct, practic sunt interesante doar punctele figurate n figura 1. b).
Avnd n vedere acestea relaiile (1.2.3) se pot rescrie astfel:
d e c + e d + 1, e d > e c
ec
(1.2.4)
ec
ed
0
ed
0
a)
b)
Figura 1.1.
S= 8 4 4 2 8 1 1 4
32 32 32 32 32 32 32 32
0R
1R
1/8
7/8
1/12 11/12
(1.3.1)
p(rR /v E ) = p(rRi /v Ei )
(1.3.2)
i =1
Cunoscnd i probabilitaile de emisie ale simbolurilor sursei date vom putea calcula p(vE/rR) cu relaia
lui Bayes:
p(v E /rR ) =
1
p(v E ) p(rR /v E )
p(rR )
(1.3.3)
Rezult aadar:
p(aE/rR) = 32,71110-5p(r)
p(bE/rR) = 1,08810-5p(r)
p(cE/rR) = 1,08810-5p(r)
p(dE/rR) = 3,98910-5p(r)
p(eE/rR) = 167,53610-5p(r)
p(fE/rR) = 153,57510-5p(r)
p(gE/rR) = 0,002610-5p(r)
p(hE/rR) = 83,76810-5p(r)
(1.3.4)
Din relaiile (1.3.4) se observ c mesajul cu cea mai mare probabilitate aposteriori este e.
b) Criteriul de decizie dup distana Hamming minim alege drept cuvnt emis pe cel ce are, fa de r,
cea mai mic distan. Distanele Hamming ntre cuvintele emise i cel recepionat sunt:
d(a,r) = 3
d(b,r) = 4
d(c,r) = 4
d(d,r) = 3
d(e,r) = 2
d(f,r) = 1
d(g,r) = 5
d(h,r) = 2
(1.3.5)
p(rR /e E ) p(1R /0 E )
1/8
1 12
=
=
= <1
p(rR /f E ) p(1R /1E ) 11/12 8 11
(1.3.6)
=
>1
p(f E /rR ) p(f E ) p(rR /f E ) 11
(1.3.7)
la o valoare:
H(S) = p i log 2
i =1
1
1 8
= log 2 32 k i log 2 k i
pi
32 i =1
1
(2 8 log 2 8 + 3 4 log 2 4 + 2 log 2 2)
32
= 2,6875 bii/simbol
= 5
H(S) 2,6875
=
= 89,58%
H max
3
b) Eficiena codului respectiv eficiena codrii sunt:
s =
(1.4.1)
(1.4.2)
H max 3
= = 50%
n
6
H(S) 2,6875
c =
=
= 44,79%
n
6
c0 =
(1.4.3)
c =
n
vT
(1.4.4)
(raportul ntre numrul de bii dintr-un cuvnt i viteza de transmitere a unui bit).
tiind c, n medie, printr-un cuvnt se transmite H(S) informaie avem c:
D=
H(S)
H(S)
v T = c v T = 0,896 Mbii/secund
n
(1.4.5)
d) Un cod liniar este acela pentru care suma oricror dou cuvinte de cod este tot un cuvnt de cod.
Vom calcula aadar toate sumele posibile a oricror dou cuvinte de cod:
a
b
c
d
e
f
g
h
a
a
b
c
d
e
f
g
h
b
b
a
d
c
f
e
h
g
c
c
d
a
b
g
h
e
f
d
d
c
b
a
h
g
f
e
e
e
f
g
h
a
b
c
d
f
f
e
h
g
b
a
d
c
g
g
h
e
f
c
d
a
b
h
h
g
f
e
d
c
b
a
Tabelul 1.2
a
b
c
d
e
f
g
h
a
0
3
3
4
3
4
4
3
b
3
0
4
3
4
3
3
4
c
3
4
0
3
4
3
3
4
d
4
3
3
0
3
4
4
3
e
3
4
4
3
0
3
3
4
f
4
3
3
4
3
0
4
3
g
4
3
3
4
3
4
0
3
h
3
4
4
3
4
3
3
0
Tabelul 1.3
(1.4.6)
Definiii
-cod iterat cod protector, bloc, ale crui cuvinte sunt matrici de bii i care execut dou codri distincte, pe orizontal
i pe vertical, n vederea nsumrii puterii de detecie/corecie a celor dou codri.
Abrevieri
-cod M/N (sau M din N) cod bloc ale crui cuvinte au ponderea constant, M, i lungimea N.
Notaii
-D=d1xd2 distana de cod a unui cod iterat, obinut ca produs a distanelor codurilor utilizate pe orizontal i pe
vertical. (Nu exist regula d1 orizontal i d2 vertical.)
Breviar teoretic
1. Ponderea unei secvene binare v = vn vn-1 ... v1 este:
n
w(v) = v j
(2.1)
j=1
(2.1.1)
c = i1 + i2 + ... + ik
(2.1.2)
Pentru a arta linearitatea codului este necesar a arta c dac v1 i v2 sunt dou cuvinte de cod
atunci i v1 + v2 este un cuvnt de cod.
Fie:
v1 = i 11i 12 .... i1k c1
(2.1.3)
v 2 = i 21i 22 .... i 2k c 2
dou cuvinte ale codului cu paritate. Cuvntul sum este:
v = v1 + v2 = i1 i2 ..... ik c
= i11 + i21 i12 + i22 ... i1k + i2k c1 + c2
(2.1.4)
Dar
k
j=1
j=1
j=1
j=1
c = c1 + c 2 = i1j + i 2j = (i1j + i 2j ) = i j
(2.1.5)
(2.1.6)
Obs.: Un cuvnt de pondere minim se obine punnd un bit din cei de informaie egal cu 1, iar
ceilali egali cu 0. Atunci conform cu (2.1.2), c = 1, iar w = 2 (ponderea).
(2.1.7)
c) Proiectarea codului cu paritate presupune alegerea adecvat a lui k. Decizie fals se obine la
recepie dac n cuvntul recepionat exist cel puin dou erori, i n plus s fie n numr par:
Pf = Pf2 + Pf4 + Pf6 + ....
(2.1.8)
n z
(2.1.9)
unde n = k + 1
n 2
= C 2k +1 p 2 (1 p )
k -1
deoarece ceilali termeni din (2.1.7) sunt cu cel puin 4 ordine de mrime mai mici.
Aadar restricia impus asupra lui k se reduce la:
10
(2.1.10)
C 2k +1 p 2 (1 p )
k -1
2 10 -3
(2.1.11)
cu soluia kmax = 6.
Rezult pentru acest caz:
5
Pf C 72 p 2 (1 p )
1,997 10 -3
c = 85,7%
(2.1.12)
Obs.: Pf4 are valoarea aproximativ: 0,3410-6 fapt care justific aproximarea fcut.
CP =
4x5
= 66,67%
5x6
(2.2.1)
b) Eficiena ntregii codri va ine seama de cantitatea real de informaie purtat de un pachet codat
i anume de 4 ori H(S) (printr-un pachet se transmite informaie de la 4 simboluri ale sursei):
C =
4 H (s ) 4log 2 30
=
= 65,43%
56
30
(2.2.2)
c) Fiind un cod liniar (vezi problema 2.1) codul cu paritate ncruciat are distana de cod egal cu
ponderea cuvntului (pachetului) de pondere minim. Acesta se obine considernd n pachetul de
informaie un singur bit egal cu 1. Datorit paritii pe orizontal i pe vertical, prin codare se mai
adaug cte un 1 la finele liniei respectiv coloanei ce conine 1. n plus, ultima linie i ultima
coloan conin cte un 1, astfel c, trebuie refcut paritatea i la acestea.
11
.
.
.
. . . . .1
.
.
.
. . . .
d) Avnd distana de cod 4, codul cu paritate ncruciat este capabil de a corecta o eroare (ec0 = 1)
sau de a detecta 3 (ed0 = 3) sau de a corecta o eroare i de a detecta dou (ec = 1, ed = 2).
Decodarea presupune verificarea paritii pe linie i pe coloan. Defectele de paritate
semnaleaz prezena erorii (erorilor). Dac este o singur eroare aceasta va genera defecte de
paritate pe o singur linie i pe o singur coloan.
Verificnd pachetul indicat n enunul problemei se observ defecte de paritate pe linia a
doua i coloana a patra. Corectm aadar bitul situat la intersecia celor dou i selectm biii de
informaie. Pachetul decodat este aadar:
I= 1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
1
1
1
1
0
(2.2.3)
e) Capacitatea de corecie, Cc, pentru codul cu paritate ncruciat este dat de raportul ntre
numrul de pachete eronate ntr-o singur poziie i numrul de pachete eronate:
Cc =
56
30
j
30
30
2,8 10 8
2 1
(2.2.4)
30
j=1
Dac se face doar detecie de erori, se va decide fals atunci cnd erorile sunt n numr
multiplu de patru i cte patru sunt dispuse astfel nct formeaz un dreptunghi n pachetul codat,
aa cum s-a figurat mai jos:
.
.
.
.
. . x . . x . .
.
.
.
.
. . x . . x . .
.
.
Dac notm cu N4, N8,..... N28 variantele posibile de cte 4 erori, 8 erori, ... 28 erori ordonate cte 4
n dreptunghi avem c:
12
30 4
Pf = N 4 p 4 (1 p )
30 28
+ N 28 p 28 (1 p )
308
+ N 8 p 8 (1 p )
30 4
N 4 p 4 (1 p )
+ ..... +
= C 52 C 62 p 4 (1 p )
26
(2.2.5)
Cu p = 10-2 rezult
Pf = 1,155 ppm
(2.2.6)
Rspuns:
a) AER
CAP
b)
P1 PNT
0
1
1
0
1
1
1
1
1
0
1
0
P2 =
1
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
P3 =
0
0000
0101
1100
1001
REN
1100
0101
0110
1111
0011
0000
1010
1001
RAC
1100
0000
0010
1110
P2 ERO
1
1
0
0
0
1
1
0
0
0
1
13
Rezolvare:
a) Codul cu pondere constant, sau codul M din N, este un cod bloc pentru care toate cuvintele au
aceeai lungime N i aceeai pondere M. Numrul de astfel de secvene binare ce se pot construi
este C M
N . Pentru a putea coda sursa avnd tabloul:
A C E N O P R T
3 1
4 2 1 1
2 2
16 16 16 16 16 16 16 16
este necesar ca C M
N 8 . Condiia de eficien maxim impune ca N s fie minim necesar. Din
triunghiul lui Pascal al combinrilor rezult c N = 5 i M = 2 sau N = 5 i M = 3. (Ambele variante
ofer aceeai eficien.)
1
2
1
1
1
1
1
1
2
3
4
5
3
6
10
4
10
(2.4.1)
(2.4.2)
unde log 2 C MN reprezint entropia maxim a unei surse ce poate fi codat la limit cu acest cod;iar
H(S) = 2,828 bii/ simbol este entropia sursei date.
c) Demonstrarea neliniaritii se rezum la a arta c exist dou cuvinte de cod M din N ce sumate
nu constituie un alt cuvnt de cod. Este uor de verificat c, pentru codul 2 din 5 v1 = 11000 i v2 =
00110 sunt cuvinte de cod dar suma lor w = 11110 nu este;
d) Fie w un cuvnt de cod 2 din 5. Pentru a obine un alt cuvnt de cod, u, modificndu-l pe v
putem, fie s modificm un 1 din cei M i atunci va trebui modificat i un 0 din cei N M pentru a
reface numrul de 1 uri, fie viceversa, s modificm un 0, apoi un 1. Astfel numrul minim de
modificri necesare este 2 care este i distana de cod.
Dac d = 2 rezult c ec = 0 i ed = 1;
e) Capacitatea de detecie este:
unde
2N 1 CM
31 9
N 1
Cd =
=
= 71%
N
31
2 1
2 N 1 = 31 - numrul de cuvinte eronate total
CM
N 1 = 9 - numrul de cuvinte eronate nedetectabile
14
(2.4.3)
Obs.: Relaia (2.4.3) furnizeaz capacitatea de detecie ca i un parametru al codului 2 din 5 (sau 3
din 5) fr a ine seama de numrul de simboluri a sursei ce o codeaz. Dac s-ar ine cont de
aceasta atunci capacitatea de detecie ar avea valoarea:
Cd =
2 N 1 (8 1)
= 77 ,4%
2N 1
(2.4.4)
(2.4.5)
Obs.: Relaiile (2.4.3), (2.4.4) i (2.4.5) sunt valabile pentru ambele coduri 2 din 5 sau 3 din
5.
2.5. tiind c V = 11000000 este un cuvnt de cod al unui cod M/N s se gseasc
un alt cod M din N capabil s codeze aceeai surs ca i primul ns de eficien
mai bun.
Rspuns:
Codurile 3 din 7 sau 4 din 7.
e)
8
28 1 2 4 1
=
3,14%;
C
=
= 94%
d
28 1
28 1
4
4
Pf = C 24 p 4 (1 p ) + C 44 p 8 + C14 p 4 (1 p ) +
d) C c =
+ C 34 p 4 (1 p ) 1,3 10 -7
f) V1 = 10101010; V1 = 11100001
g) i = 0111
16
Coduri grup
Definiii:
- cod grup = un cod pentru care mulimea cuvintelor de cod formeaz un grup fa de operaie de adunare. Cuvintele
de cod au nelesul de vectori (matrici linie) iar operaia de adunare este nsumarea vectorilor (sum modulo
doi). Aceast operaie fiind comutativ grupul este (dac exist) i abelian.
Notaii:
Abrevieri:
R-M - (cod) Reed-Muller
Breviar teoretic:
1 Condiii impuse asupra matricii de control H,
H = [h1 h 2 K h n ]
(3.1)
a unui cod grup, pentru ca acesta codul s:
a) corecteze ec erori - suma oricror 2ec, sau mai puine, coloane din H s fie nenul.
9
h k, j 0
(3.2)
j =1
b) detecteze ed erori - suma oricror ed, sau mai puine, coloane din H s fie nenul.
9
h k, j 0
s {1, 2,K e d }
i k j {1, 2,K n}
(3.3)
j =1
2 Codarea codului grup, nseamn aflarea celor k bii de control din cuvntul de cod
(cunoscndu-i pe cei m de informaie). Acesta presupune rezolvarea unui sistem de k ecuaii care se
scriu compact (matricial) sub dou forme:
a) - implicit HvT=0
(3.4)
b) - explicit v=iG
(3.5)
3 Algoritmul decodrii codului grup:
a)corector de erori:
- se calculeaz corectorul Z, dup relaia:
Z=HwT
(3.6)
- se identific poziiile eronate (cuvntul eroare ):
=(Z)
(3.7)
i se execut corecia.
17
Coduri grup
Obs.: - "ecuaia" (3.7), funcie de codul concret, poate s fie o relaie matematic sau o
coresponden dat prin tabel;
- corespondena "Z " este o funcie nesurjectiv (ntre mulimea corectorilor posibili 2k i
cea a cuvintelor eroare posibile2n -1) astfel c, pentru a putea defini funcia invers (3.7) se au n
vedere doar 2k -1 cuvinte eroare (bineneles cele mai probabile, adic cele cu pondere mai mic).
Aceast observaie este valabil pentu orice cod bloc protector i poate fi generalizat i pentru
cele nebloc.
- se selecteaz biii de informaie.
b) detector de erori:
- se calculeaz corectorul Z cu relaia (3.6);
- dac Z este nul se selecteaz biii de informaie iar dac Z0 se cere retransmisia
cuvntului recepionat, ignorndu-l pe acesta.
v = a 1a 2 a 3a 4 c 5 c 6 c 7
i matricea de control:
1 1 1 0 1 0 0
H = 1 0 1 1 0 1 0
0 1 1 1 0 0 1
(3.1.2)
d=w(v1)=3
(3.1.3)
Obs.: Rezultatul era de ateptat deoarece s-a gsit la punctul a) c ec=1 de unde d 2 1 + 1 = 3 .
(3.1.4)
18
Coduri grup
gsim urmtoarele relaii de calcul pentru biii de control:
C 5 =a 1+ a 2 + a 3
C 6 = a 1+ a 3 + a 4
C 7 =a 2 + a 3 + a 4
(3.1.5)
1000000
0100000
0010000
0001000
0000100
0000010
0000001
Zw = H w
1
= 1
0
(3.1.7)
(3.1.8)
(3.1.9)
19
Coduri grup
iv = 0 0 1 1
(3.1.10)
e) n figurile de mai jos sunt prezentate dou scheme posibile pentru codor i decodor:
a1
a2
a3
a4
Convertor
Serie
Paralel
+
V
C6
C7
C5
a4
a3
a2
a1
Figura 3.2.
+
+
a4
a3
a2
C
P/S
a1
+
C7
'
C6
'
C5
'
a4
'
a3
'
a2
'
a1
'
z1
+
+ z2
z3
+
Figura 3.3.
v = a1a 2 a 3a 4 c 5 c 6 c 7 c 8
20
Coduri grup
i matricea de control:
1
1
1
H=
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
(3.2.2)
a)
b)
i = a1a 2
00
01
10
11
v = a1a 2 c 3 c 4 c 5 c 6 c 7 c 8
0 0 0 0 0 0 0 0
0 1 0 0 1 1 1 1
1 0 1 1 1 1 0 0
1 1 1 1 0 0 1 1
Tabelul 3.4.
m=3
m=6
ec=1
ec=2
4
57,14% Pf I C 72 p 2 (1 p )5 = 19,97 10 4 = 1997ppm 100 Pf II
7
2
II = = 25% Pf II C83 64 C18 C 82 p 3 (1 p )5 + C 84 p 4 (1 p )4 = 19,7 ppm
8
I =
[ (
)]
unde: C83 64 C80 C18 C82 - combinaiile de trei erori posibile - (numrul de corectori C 80 (cuvnt corect recepionat) - C18 (combinaiile de cuvinte cu 1 eroare) - C82 (combinaiile de
cuvinte cu dou erori))
Obs.: S-a considerat c se vor corecta i o parte din combinaiile de trei erori.
Coduri grup
(1 cuvnt =8 bii)
Obs.: n calculul marginii superioare a lui BERCII s-a inut cont de faptul c ntr-un cuvnt nu pot
aprea mai mult de dou erori pe informaie (sunt doar doi bii de informaie).
d)
z1 = 1 + 3
z 2 = 1 + 4
z 3 = 1 + 2 + 5
z 4 = 1 + 2 + 6
z5 = 2 + 7
z 8 = 2 + 8
Nr.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ZT
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
3
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
5
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
6
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
7
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
0
22
0
0
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
Val.
zecimal
1
2
4
8
16
32
15
60
3
5
9
17
33
14
61
6
10
18
34
13
62
12
20
36
11
56
24
40
7
Coduri grup
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
52
48
31
44
47
28
51
19
21
22
23
25
26
27
29
30
35
37
38
39
41
42
43
45
46
49
50
53
54
55
57
58
59
63
Tabelul 3.5.
3.3. Pentru codul grup Hamming corector de o eroare avnd parametrii n=7,
m=4 s se afle:
a) structura cuvntului de cod;
b) matricea de control, H;
c) cuvntul de cod corespunztor secvenei de informaie i=1010; (v)
d) s se decodeze w=1001001;
e) care va fi decizia decodorului asupra unui cuvnt recepionat dac se tie c
acesta a suferit eronri n poziiile 3 i 4.
23
Coduri grup
Rezolvare:
a) Dac se noteaz cu ij biii de informaie i cu cj biii de control din componena unui cuvnt de
cod Hamming, atunci stuctura acestuia este:
(3.3.1)
v = c1c 2 i 3 c 4 i 5 i 6 i 7 c 8i 9 i10 K i n
Cum n=7 (numrul de bii dintr-un cuvnt) rezult n cazul dat:
(3.3.2)
v = c1c 2 i 3 c 4 i 5i 6 i 7
b) Matricea de control H, n cazul codului Hamming are proprietatea c orice coloan reprezint
transpunerea zecimal-binar pe m bii a numrului ei de ordine:
0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1
1 0 1 0 1 0 1
(3.3.3)
(3.3.4)
de unde rezult urmtoarele relaii de calcul a biilor de control din cei de informaie:
c4 = i5 + i6 + i7
c2 = i3 + i 6 + i 7
c1 = i 3 + i 5 + i 7
(3.3.5)
c4 = 1
c2 = 0
c1 = 1
i:
v=1011010
(3.3.6)
d) Codul Hamming discutat fiind corector de o eroare, la decodare se face presupunerea c nu exist
mai mult de o eroare n cuvntul recepionat.
Obs.: Bineneles c aceast presupunere poate s fie adevrat (n majoritatea cazurilor de eroare,
deoarece o eroare este mai probabil dect mai multe) sau poate s fie fals (caz n care decodorul
greete).
24
Coduri grup
z = Hw
z 4
= z 2
z1
(3.3.7)
w=v+
(3.3.8)
unde:
w - cuvntul recepionat;
v - cuvntul emis;
=v+w - cuvntul eroare.
Dac z0 se accept c nu sunt erori (fapt ce s-ar putea s fie fals, ns n acest caz exist mai mult
de o eroare). Dac z difer de zero atunci se presupune c n w exist o eroare (adic are pondere
unu). Din (3.3.7) i (3.3.8) rezult c:
z = H (v + )T = H T = h r
(3.3.9)
unde r este poziia erorii (poziia unului din ). Dar hr reprezint transpunerea zecimal-binar a lui r,
astfel c putem, prin operaia invers de decodificare binar-zecimal a lui hr s-l aflm pe r:
r=4z4+2z2+z1
(3.3.10)
(3.3.11)
i w = i 3i 5 i 6 i 7 = 0001
e) Dac = 0011000 (erori pe poziiile 3 i 4) atunci, conform cu (3.3.9), z = [1 1 1]T iar r=7
ceea ce nseamn c decodorul hotrete c bitul 7 este cel eronat (dei acesta este corect).
Coduri grup
a)
b)
c)
d)
e)
f)
F
I M N O R
S
T
A E
3
1
7
2
2
2
4
1
4
S= 3
29 29 29 29 29 29 29 29 29 29
H(S)=3,0948 bii/simbol S = 93,13 %
H(S)
m=4; CB =
= 77,37 %
k
n=7 k=3
V = c1c 2 i 3c 4 i 5i 6 i 7
m
H (S)
H = = 57,14 %
T =
= 44,21 %
n
n
Codul bloc: A - 0000
N - 0101
E - 0001
O - 0110
F - 0010
R - 0111
I - 0011
S - 1000
M - 0100
T - 1001
i(MAR)=0100 0000 0111
V(MAR)=100110000000000001111
W1 = 0101110
Z1T = 101
j1 = 5
i W1 = 0010 F
W2 = 1000110
ZT2 = 010
j2 = 2
i W2 = 0110 O
W3 = 0001110
Z3T = 111
j3 = 7
i W3 = 0111 R
26
Coduri grup
V = c1c 2i 3c 4 i 5i 6
(3.5.1)
n=m+k=6
(3.5.2)
(3.5.3)
(3.5.4)
(3.5.5)
z = Hw
4 + 5 + 6 z 4
= 2 + 3 + 6 = z 2
1 + 3 + 5 z1
(3.5.6)
i, n cazul unei singure erori, reprezint transpunerea n binar a numrului de ordine al bitului
eronat din w, astfel nct poziia erorii se afl prin transpunerea binar-zecimal a lui z:
j=4z4+2z2+z1
(3.5.7)
27
Coduri grup
n cazul de fa, ns, numrul corectorilor (23=8) depete cu 2 numrul cuvintelor eroare cu o
eroare (ase), astfel c este disponibil un corector pentru a corecta o combinaie de 2 erori (un
corector, i anume zT0=000, semnaleaz corectitudinea recepiei).
Obs.: Preul acestui avantaj (de a corecta i o combinaie de dou erori) este renunarea la
algoritmul simplu de codare prin decodificare binar-zecimal!
n tabelul 3.7 se prezint o variant de coresponden ntre cuvintele eroare corectabile i corectori.
Alte variante similare se pot construi nlocuind cuvntul eroare din ultima linie cu unul dintre
cuvintele: 100001 sau 001100.
Z - corector
- cuvnt eroare
000000
000
100000
001
010000
010
001000
011
000100
100
000010
101
000001
110
010010
111
Tabel 3.7.
d) Din Tabelul 3.6 rezult pentru mesajul "trei" secvena:
v(trei)= 001011 101101 100110 110011=2ED9B3H
(3.5.8)
w2
w3
w4
z T2 = 000
z 3T = 000
z T4 = 111
(3.5.9)
(3.5.10)
4 = 010010
Coduri grup
v1 = 1 + w 1 = 101101
v 2 = 2 + w 2 = 100110
v 3 = 3 + w 3 = 010101
v 4 = 4 + w 4 = 100110
(3.5.11)
(3.5.13)
v = iG
(3.5.15)
(3.5.16)
Zecimal
/
Binar
i6
i5
c4
29
i3
c2
c1
Coduri grup
+
+
i6
i5
i3
i
6
c
4
i
3
c
2
Binar
/
Zeci
-mal
a
c
e
i
n
r
s
t
c1
z4
z2
z
1
Figura 3.8.
b)
H = 0 0 1 1 0 0 1 1 0
0 1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1 1
c 8 = i 9 + i10 + i11
c4 = i5 + i6 + i7
c 2 = i 3 + i 6 + i 7 + i10 + i11
c1 = i 3 + i 5 + i 7 + i 9 + i11
c 0 = c1 + c 2 + i 3 + c 4 + i 6 + i 7 + c 8
30
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
Coduri grup
c)
0
1
z w 1 = 0 eroare pe poziia a 5-a
1
1
i w 1 = 1011111
0
1
z w 2 = 1 erori n numr necorectabil
1
0
0
0
z w 3 = 0 eroare pe prima poziie
0
1
i w 31 = 1011110
m=4=
Cit
(3.7.1)
i=0
e c = 1 = 2 t r 1 1
(3.7.2)
Din ecuaia (3.7.2) gsim c t-r=2. Ecuaia (3.7.1) se soluioneaz prin ncercri succesive cu 0<r<t.
Soluia va fi aadar:
t=3
r=1
(3.7.3)
Coduri grup
n=2t=8
(3.7.4)
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
(3.7.5)
c) Cu notaiile:
i = [i 0 i 3 i 2 i1 ]
(3.7.6)
v = [a1 a 2 a 3 a 4 a 5 a 6 a 7 a 8
(3.7.7)
v=iG
(3.7.8)
a 5 = i0 + i3
a 6 = i 0 + i1 + i 3
a 7 = i0 + i 2 + i3
a 8 = i 0 + i1 + i 2 + i 3
(3.7.9)
(3.7.10)
d) Decodarea codului Reed-Muller este o decodare cu logic majoritar. Pentru fiecare simbol
recepionat din iW vom scrie cel puin 2ec +1=3 ecuaii:
i1 = a1 + a 2
i 2 = a1 + a 3
i 3 = a1 + a 5
i = a + a
i = a + a
i = a + a
1
2
3
3
4
2
4
2
6
(3.7.11)
i1 = a 5 + a 6
i 2 = a 5 + a 7
i 3 = a 3 + a 7
i1 = a 7 + a 8
i 2 = a 6 + a 8
i 3 = a 4 + a 8
i 0 = a1
i = a + i
0
2
1
i 0 = a 3 + i 2
i 0 = a 4 + i1 + i 2
i0 = a 5 + i3
i 0 = a 6 + i1 + i 3
i 0 = a 7 + i 2 + i3
i 0 = a 8 + i1 + i 2 + i 3
a 3'
32
a '4
(3.7.12)
a 5'
a '6
a '7
a 8'
(3.7.13)
Coduri grup
- pentru i1 valorile
a1' + a '2 = 1
de unde i1=1
(3.7.14)
de unde i2=1
(3.7.15)
de unde i3=0
(3.7.16)
de unde i0=0
(3.7.17)
a 3' + a '4 = 1
a 5' + a '6 = 1
a '7 + a 8' = 0
- pentru i2 valorile
a1' + a 3' = 1
a '2 + a '4 = 1
a 5' + a '7 = 1
a '6 + a 8' = 0
- pentru i3 valorile
a1' + a 5' = 0
a '2 + a '6 = 0
a 3' + a '7 = 0
a '4 + a 8' = 1
- pentru i0 valoril
a1' = 0
a '2
a 3'
a '4
a 5'
a '6
a '7
a 8'
+ i1 = 0
+ i2 = 0
+ i1 + i 2 = 0
+ i3 = 0
+ i1 + i 3 = 0
+ i 2 + i3 = 0
+ i1 + i 2 + i 3 = 1
Aadar secvena de informaie decodat este iW=0011.
3.8. Pentru codul grup Reed-Muller avnd parametrii t=4, r=2, s se afle:
a) numrul de cuvinte de cod; (N)
b) distana de cod, numrul de erori corectabile i detectabile; (d, ec, ed)
c) matricea generatoare; (G)
d) eficiena codului; (
c)
e) cuvntul de cod corespunztor secvenei de informaie i=binar(38910); (v)
f) informaia obinut prin decodarea cuvntului recepionat w unde
w=binar(10.00010).
Rezolvare:
a) Numrul de simboluri din cuvntul de informaie, k, se afl cu formula:
33
Coduri grup
r
k=
C it = C 04 + C14 + C 24 = 11
(3.8.1)
i=0
(3.8.2)
(3.8.3)
ec =1 ed =3
(3.8.4)
n=2t=16
(3.8.5)
de unde:
c) tiind:
0
0
G = 0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
1
0
1
0
0
1 l 0
1 l 4
1 l 3
1 l 2
1 l1
1 l 43
1 l 42
1 l 41
1 l 32
1 l 31
1 l 21
(3.8.6)
m 11
=
= 68,75 %
n 16
(3.8.7)
34
Coduri grup
e) Cunoscnd secvena de informaie:
i=binar(38910)=00110000101
(3.8.8)
(3.8.9)
(3.8.10)
a9 = i0 +i4
a13 = i0 +i3 +i4 +i43
a10 = i0 +i1 +i4 +i41
a14 = i0 +i1 +i3 +i4 +i31+i41+i43
a11 = i0 +i2 +i4 +i42
a15 = i0 +i2 +i3 +i4 +i32 +i42 +i43
a12 = i0 +i1 +i2 +i4 +i21+i41+i42 a16 = i0 +i1 +i2 +i3 +i4 +i21+i31+i32 +i41+i42 +i43
Din aceste relaii de codare se pot scrie, n vederea decodrii cu logic majoritar, cte patru relaii
pentru biii din seciunea a III-a, 8 pentru seciunea a II-a i 16 pentru i0:
i 21 = a 1 + a 2 + a 3 + a 4
= a5 + a 6 + a 7 + a8
i 32 = a 1 + a 3 + a 5 + a 7
= a 2 + a 4 + a 6 + a8
i 31 = a 1 + a 2 + a 5 + a 6
= a3 + a 4 + a7 + a8
= a 9 + a10 + a 11 + a12
= a 13 + a 14 + a15 + a 16
= a 9 + a 10 + a 13 + a14
= a 11 + a12 + a 15 + a16
= a 9 + a11 + a 13 + a 15
= a 10 + a12 + a 14 + a16
i 41 = a 1 + a 2 + a 9 + a 10
= a 3 + a 4 + a 11 + a12
i 42 = a 1 + a 3 + a 9 + a 11
= a 2 + a 4 + a10 + a 12
i 43 = a1 + a 5 + a 9 + a13
= a 2 + a 6 + a 10 + a14
= a 5 + a 6 + a 13 + a 14
= a 7 + a 8 + a 15 + a 16
= a 5 + a 7 + a 13 + a 15
= a 6 + a 8 + a14 + a 16
= a 3 + a 7 + a11 + a 15
= a 4 + a 8 + a14 + a 16
i1 = a1 + a 2
i 2 = a1 + a 3
= a 3 + a 4 + i 21
= a 5 + a 6 + i 31
= a 2 + a 4 + i 21
= a 5 + a 7 + i 32
= a 7 + a 8 + i 31 + i 21
= a 6 + a 8 + i 21 + i 32
= a 9 + a10 + i 41
= a 11 + a 12 + i 21 + i 41
= a 9 + a11 + i 42
= a 10 + a12 + i 21 + i 42
= a 13 + a 14 + i 41 + i 31
= a 13 + a 15 + i 32 + i 42
= a 15 + a 16 + i 41 + i 31 + i 21
= a 14 + a16 + i 21 + i 32 + i 41 + i 42
35
(3.8.11)
Coduri grup
i 4 = a1 + a 9
= a 2 + a 10 + i 41
= a 3 + a 11 + i 42
i 3 = a1 + a 5
= a 2 + a 6 + i 31
= a 3 + a 7 + i 32
= a 4 + a 8 + i 31 + i 32
= a 9 + a13 + i 43
= a 4 + a 12 + i 41 + i 42
= a 5 + a 13 + i 43
= a 10 + a14 + i 31 + i 43
= a 11 + a15 + i 32 + i 43
= a 6 + a14 + i 41 + i 43
= a 7 + a 15 + i 42 + i 43
= a 12 + a16 + i 31 + i 32 + i 43
= a 8 + a 9 + i 41 + i 42 + i 43
Dac w=0010011100010000 rezult pentru biii de informaie, din seciunea a III-a, valorile:
i 21 = {1, 1, 1, 0}
i 31 = {1, 1, 0, 1}
i 32 = {0, 0, 0, 1}
i 41 = {0, 0, 1, 0}
i 42 = {1, 1, 1, 0}
i 43 = {0, 1, 0, 0}
i 21 = 1
i 31 = 1
i 32 = 0
i 41 = 0
i 42 = 1
i 43 = 0
(3.8.12)
i1 = 0
i2 = 1
i3 = 0
i4 = 0
(3.8.13)
i0 = 0
(3.8.14)
(3.8.15)
Coduri grup
Rspuns:
a)
b)
t=4, r=1;
1
0
G = 0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
c)
i1 = a1 + a 2
= a3 + a4
i 2 = a1 + a 3
= a2 + a4
i 3 = a1 + a 5
= a2 + a6
i1 = a 1 + a 9
= a 2 + a 10
= a5 + a6
= a5 + a7
= a3 + a7
= a 3 + a 11
= a 7 + a8
= a 9 + a10
= a6 + a8
= a 9 + a 11
= a 4 + a8
= a 9 + a 13
= a 4 + a 12
= a 5 + a13
= a 11 + a 12
= a10 + a 12
= a10 + a 14
= a 6 + a 14
= a 13 + a 14
= a13 + a15
= a11 + a15
= a 15 + a 16
= a14 + a 16
= a12 + a 16
= a 7 + a 15
= a 8 + a 16
= a 5 + i3
= a9 + i4
= a 13 + i 3 + i 4
= a 2 + i1
= a3 + i2
= a 6 + i1 + i 3
= a 7 + i 2 + i3
= a 10 + i1 + i 4
= a 11 + i 2 + i 4
= a 14 + i1 + i 3 + i 4
= a 15 + i 2 + i 3 + i 4
= a 4 + i1 + i 2
= a 8 + i1 + i 2 + i 3
= a 12 + i1 + i 2 + i 4
= a 16 + i1 + i 2 + i 3 + i 4
i 0 = a1
d)
v=[1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0]=binar(3855010)
w=0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0
i1 = {1, 0, 0, 1, 1, 1, 1, 0}
i1 = 1
i 2 = {1, 0, 1, 0, 1, 1, 1, 0}
i2 = 1
i 3 = {0, 1, 0, 1, 0, 0, 0, 1}
i3 = 0
i 4 = {1, 1, 1, 0, 1, 0, 1, 0}
i4 = 1
i 0 = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
i0 = 0
i w = [01011] cu v w = [0110 0110 10011001] = v w + w = [0001 0100 0000 0001]
37
Coduri grup
m1=5
k1=4
m2=4
k2=1
Structura cuvntului de cod Hamming n acest caz este:
v O = c1c 2 i 3 c 4 i 5i 6 i 7 c 8 i 9
(3.10.1)
cO =
45
= 44,44 %
59
(3.10.2)
La aezarea pe vertical a cuvintelor codului bloc corespunde structura blocului iterat codat:
m1=4
k1=3
m2=5
k2=1
Iar pentru cuvntul de cod Hamming:
v H = c1c 2 i 3 c 4 i 5i 6 i 7
(3.10.3)
(3.10.4)
38
Coduri grup
0
(u1u 2 u 3 u 4 ) = 1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
(3.10.5)
Pentru codare iterat vom construi cuvintele de cod Hamming considernd biii din prima coloan
drept i3 din relaia (3.10.3), a doua coloan va da pe i5, a treia pe i6 iar a patra pe i7. Ulterior se
adaug o linie de paritate pe vertical. Pachetul obinut este:
c1
0
0
0
v=
1
0
c2
0
1
0
1
1
1
i3
1
0
1
1
1
0
c4 i5 i6 i7
1
1
0
1
1
0
0
0
1
1
1
1
0
1
1
1
0
1
1
0
0
1
0
(3.10.6)
c) Codul iterat construit avnd distana D=6 este capabil s corecteze ec=2 erori sau s detecteze
ed=5.
La decodare se construiesc, pentru fiecare linie (ce este un cuvnt de cod Hamming)
corectorul corespunztor, iar pe coloan se verific paritatea.
n cazul deteciei de erori, dac exist corectori zi0 sau defecte de paritate pe vertical atunci s-a
depistat prezena erorilor.
n cazul coreciei unei erori, aceasta se gsete la intersecia coloanei cu defect de paritate i
liniei cu z0.
Dac exist dou erori atunci se pot ivi 3 situaii distincte prezentate sugestiv n figurile de
mai jos:
c=1 c=1
I
z0
zi=[r]
zj= zi
cr=0
II
zi=[r]
zj= [t]
cr=1 ct=1
III
Coduri grup
0
0
w =
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
1
0
0
(3.10.7)
40
Definiii
-cod ciclic cod pentru care orice permutare ciclic a unui cuvnt de cod este, de asemenea, cuvnt de cod ;
Notaii
m, k, n numrul de bii de informaie, control, respectiv total dintr-un cuvnt de cod ;
v, w, cuvintele de cod (emis), recepionat, respectiv eroare;
i(x) polinomul de informaie;
v(x), w(x), (x) polinoamele ataate cuvintelor de cod (emis), recepionat, respectiv eroare;
g(x) polinomul generator ;
T matricea caracteristic ;
Cj celul de ntrziere ;
Abrevieri
RDR Registru de Deplasare cu Reacie ;
v
Ck
gk = 1
Ck-1
gk-1
C2
gk-2
C1
g1
g0 = 1
+
y
Figura 4.1. Registru de deplasare cu reacie.
Notnd cu Ckt, Ck-1t ... C1t strile (semnalul de la ieirea) celulelor circuitului RDR la momentul t, gsim strile viitoare
(momentul t + 1) cu formula:
St+1 = TSt + vtU
(4.1)
unde at este bitul de la intrare la momentul t, iar
0 L
0
0
0 1
t
t
1
+
C1
C 1
0
0
0
0 0 1 L
t
t +1
0
L
L
L
L
L
L
C
C
(4.2)
S t +1 = 2 ; S t = 2 ; T =
;U=
M
M
M
0 0
0 L
1
0
t
t +1
0 0
0 L
0
1
1 k x 1
C k
C k
g 0 g 1 g 2 L g k - 2 g k -1
Breviar teoretic
1. Relaia dintre parametrii cocului ciclic corector de o eroare :
n = m + k = 2k 1
(4.3)
2. Cuvintele (de cod sau nu) sunt reprezentate, n teoria codurilor ciclice, sub form de
clase de resturi de polinoame modulo xn + 1, cu coeficienii n cmpul binar:
v(x) = vn-1xn-1 + vn-2xn-2 + ... + v1x +v0
(4.4)
3. Proprietatea definitorie a cuvintelor de cod ciclic este aceea c sunt multiplii unui
polinom g (x), de grad k, numit generator al codului:
v(x) = q(x)g(x)
(4.5)
4. Polinomul generator:
g(x) = gkxk + gk-1xk-1 + .... + g1x + g0
(4.6)
41
a T U = 0
j
(4.11)
j= 0
Obs. Relaia de codare (4.9) conduce la un cod nesistematic. Aceast relaie se poate implementa
prin circuite de nmulire.
Relaiile de codare (4.10) i (4.11) sunt echivalente. Implementarea acestora se face prin
circuite ce conin RDR (figura 4.1)
6. Decodarea codului ciclic cuprinde verificarea corectitudinii cuvntului recepionat:
w(x) = wn-1xn-1 + wn-2xn-2 + ... + w1x +w0
(4.12)
i corectarea sau detectarea erorilor, dup destinaia codului.
Verificarea presupune calculul restului mpririi lui w(x) la g(x). Dac restul este 0 se
decide: cuvnt corect recepionat. Dac nu, atunci se decide: cuvnt eronat.(Prima decizie poate fi
fals, a doua nu!) Pentru codurile detectoare decodarea ia sfrit aici. Pentru codurile corectoare
analiza restului permite determinarea poziiei erorilor. Acest lucru presupune existena unei
corespondene biunivoce ntre resturile posibile i cuvintele eroare corectabile de ctre codul dat.
Dac codul este corector de o eroare, atunci decodarea decurge astfel:
1- se calculeaz corectorul zn cu formula:
n -1
z=
n -1
w T U = T U
j
j= 0
(4.13)
j= 0
4.1. Artai c orice permutare ciclic a unui cuvnt de cod ciclic este de
asemenea un cuvnt de cod.
42
Rezolvare:
Problema se rezum la a arta c dac:
v(x) = an-1xn-1 + an-2xn-2 + ... + a1x +a0
(4.1.1)
(4.1.2)
(4.1.3)
(4.1.4)
(4.1.5)
Demonstraia este complet, deoarece orice permutare a lui v(x) se poate obine printr-o
succesiune de permutri la stnga cu un bit.
(4.2.1)
(4.2.2)
i v0 i va sunt divizibile cu g(x), deci cuvinte de cod. Dar va se poate obine din v0 modificnd
(eronnd) poziia a + 1. Ca atare, fiind emis v0, exist posibilitatea de a nu putea depista nici mcar
o eroare n v0. Adic codul nu e capabil de a detecta (cu att mai mult de a corecta) prezena
erorilor. Contradicie!
Dac va(x) = xa ar fi cuvnt de cod atunci i:
v1(x) = 1
(4.2.3)
43
ar fi cuvnt de cod (ca i permutare a lui va). Pe de alt parte v1 se divide cu g(x) deci g(x) = 1,
adic de forma xa. Contradicie!
b) Presupunem:
g(x) = xa + xb
(4.2.4)
(4.2.5)
(4.2.6)
Atunci:
Astfel, emind cuvntul de cod v(x) = xa + xb (divizibil cu g(x)) i recepionnd va(x) sau vb(x)
(fiecare provenind din v(x) eronat o singur dat) ne aflm n imposibilitatea coreciei unei singure
erori. Deci codul nu poate corecta nici o eroare. Contradicie!
Dac:
v(x) = xb + xb+q, cu b + q < n
(4.2.7)
(4.2.8)
4.3. Artai c pentru orice cod ciclic polinomul generator are termenul liber
nenul.
Rezolvare:
Presupunem c:
g(x) = xt(xq + .... + 1)
(4.3.1)
este polinomul generator pentru un cod ciclic. Atunci el este i cuvnt de cod pentru acel cod. Dar,
datorit ciclicitii i xq + .... + 1 este cuvnt de cod. Contradicie: xq + .... + 1 nu este divizibil cu
xt(xq + .... + 1).
44
0 1 0
4.4. Artai c matricea caracteristic T = 0 0 1 este rdcin a polinomului
1 1 0
g(x) = x3 + x + 1.
Rezolvare:
Este necesar s artm c:
g(T) = T3 + T + I3 = 0
(4.4.1)
1 0 0
I 3 = 0 1 0
0 0 1
(4.4.2)
0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 0
T 3 = 0 0 1 0 0 1 0 0 1 = 0 0 1 1 1 0 = 0 1 1
1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1
(4.4.3)
1 1 0 0 1 0 1 0 0 0 0 0
g (T ) = 0 1 1 + 0 0 1 + 0 1 0 = 0 0 0 = 0
1 1 1 1 1 0 0 0 1 0 0 0
(4.4.4)
unde:
Deoarece:
Rezult c:
Obs. Afirmaia din enunul problemei este general valabila, indiferent de g(x)-polinom primitiv.
(Teorema Cayley-Hamilton)
4.5. Artai c, pentru orice cod ciclic corector de o eroare, cuvntul de pondere
n este cuvnt de cod i de asemenea, complementul bit cu bit al unui cuvnt de
cod este cuvnt de cod.
Rezolvare:
Fie vn(x) cuvntul de pondere n:
vn(x) = xn-1 + xn-2 + ... + x + 1
(4.5.1)
(4.5.2)
Cum:
45
i cum xn + 1 se divide prin g(x), rezult c (1 + x)vn(x) se divide cu g(x). Dar (vezi problema 4.2.)
g(x) nu poate divide pe 1 + x, rezult c vn(x) este divizibil cu g(x) i ca atare cuvnt de cod.
Fie acum v(x) un cuvnt de cod ciclic. Complementul su bit cu bit este fr ndoial v(x) +
vn(x). Cum suma a dou cuvinte de cod este un cuvnt de cod (i suma este divizibil cu g(x))
demonstraia este terminat.
0
1
0
0
unde
U = M
.
T -1 U =
M
0
0 k x 1
1
k x1
Rezolvare:
a) Cum T este rdcin a ecuaiei g(x) = 0 (vezi problema 4.4.) rezult c este i rdcin a ecuaiei
xn +1 = 0, ca atare Tn + In = 0 sau Tn = In.
b) Gsim T-1 prin metoda transformrilor liniare:
0 L 0 | 1 0 0 L 0 0 L1
0 1
0 0 1 L 0
| 0 1 0 L 0 0 L 2
L L L L L |L L L L L L M
0 0 0 L 1 | 0 0 0 L 1 0 L k -1
1 g 1 g 2 L g k -1 | 0 0 0 L 0 1 L k
1 0 0 L 0 0 | g 1 g 2 g 3 L g k -1 1 L'1
0 1 0 L 0 0 | 1
0
0 L 0
0 L'2
L L L L L L | L L L L L L M
0
0 L 0
0 L'k -1
0 0 0 L 1 0 | 0
0 0 0 L 0 1 | 0
0
0 L 1
0 L'k
46
0 1
M 0
T -1 U = T -1 =
0 M
1 0
(4.7.1)
4.8. Fie mulimile I = {i(x) | grad i(x) m-1}}; V1 = {v(x) | v(x)=q(x)g(x), q(x) I}}
i V2 = {w(x) | w(x) = xki(x) + rest xki(x)/g(x), i(x) I}} unde g(x) este un polinom
de grad k. S se arate c V1 = V2.
Rezolvare:
Demonstrm congruena prin dubla incluziune. Notm n = m + k.
V1 V2. Fie v(x) V1:
v(x) = q(x)g(x) = an-1xn-1 + ... + akxk + ak-1xk-1 + ... + a0
= xk(an-1xn-k-1 + ... + ak) + ak-1xk-1 + ... +a0
(4.8.1)
egal prin definiie cu xki(x) + r(x). Pentru ca v(x) V2 este suficient s artm c r(x) =
rest[xmi(x)/g(x)].
Aadar:
v(x) = xki(x) + r(x) = q(x)g(x) sau xki(x) = q(x)g(x) + r (x)
(4.8.2)
de unde:
rest (xki(x) g(x)) = rest (q(x)g(x)/g(x)) + rest(r(x)/g(x))
= r(x)
(grad r(x) < grad g)
(4.8.3)
(4.8.4)
(4.8.5)
unde q este de grad cel mult k 1 (xki(x) de grad cel mult m + k 1). Aadar r(x) =
rest[xki(x) g(x)] de unde:
w(x) = q(x)g(x) + r (x) + rest[ xki(x) g(x)] = q(x)g(x) V1
(4.8.6)
w[n]
a) w[n] = v[n-1]
v[n]
w[n]
v[n]
w[n]
unde secvenele binare ale ieirii i intrrii s-au notat cu w[[n]], respectiv v[[n]], iar
blocul notat D reprezint un bloc de ntrziere cu un tact.
Rezolvare:
Deoarece secvenei v[n-1] i corespunde polinomul x-1v(x), dac secvenei v[n] i corespunde v(x)
(scurgerea timpului este marcat de scderea gradului polinoamelor) atunci ha(x) = w(x)/v(x) = x-1.
Definim operatorul Zb astfel:
Zb{v[n]}(x) = v(x)
(4.9.1)
(4.9.2)
(4.9.3)
(4.9.4)
gsim:
Obs.: Pentru calculul funciei de transfer al unui astfel de circuit se poate desena graful de stare,
calculndu-se apoi prin metodele cunoscute transmitana dorit. Cu remarca, ns, c trebuie
lucrat n cmpul binar. De exemplu pentru circuitul c) graful este :
x-1
v(x)
w(x)
1
C2
D
g0
g1
v(x)=Ck
D
g2
Gk
i(x)
i(x)
C1
g0
C2
C
D
g1
gk-1
48
v(x)
gk = 1
Rezolvare:
Notm ieirile sumatoarelor cu C1(x), C2(x), ... Ck(x) i construim grafurile de stare:
g0x-1 c1 x-1
g1
g2
-1
C1 x
C2
g0
gk-1
x-1
C2
gk
-1
Ck x
g1
v = Ck
gk-1
Obs.: factorul x-k apare datorit cauzalitii (an-1xn-1 este cu k tacte, n timp naintea lui an-1xm-1).
4.11. Pentru codorul ciclic din figur, s se fac diagrama strilor celulelor RDR
i a ieirii v n funcie de intrarea i = 11011100100.
b
C4
C3
a
P2
v
C2
C1
+
P1
P1 (t)
t
i
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
P2 (t)
t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Rezolvare:
Soluia I: Ridicm diagrama urmrind, tact cu tact, semnalele binare, tiind c exist relaiile:
C1t+1 = C2t
C2t+1 = C3t
C3t+1 = C4t
t
t t
t t
t
t
v = a P2 + i P1
a = C1 + C2t
C4t+1 = bt
bt = vt + at
49
Indicele t semnific momentul de timp situat dup tactul t i naintea tactului t + 1. Considerm c
starea iniial a RDR este c10 = c20 = c30 = c40 = 0
tact
1
2
15
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
i
i
i
i
i
i
i
i
i
i
i
a
a
a
a
i11
a
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
b
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
i11
C4
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
C3
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
0
C2
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
0
C1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
0
Sgeile sugereaz modul cum se calculeaz diferitele semnale. Cu i11 s-a notat primul bit din
urmtoarea secven de informaie ce va fi codat.
Soluia II: Calculm biii lui v (cei necunoscui) dup formula (4.10). Pentru aceasta mprim
polinomul:
xmi(x) = x14 + x13 + x11 + x10 + x9 + x6
(4.11.1)
(4.11.2)
Restul este x3 + x + 1 i:
v(x) = x14 + x13 + x11 + x10 + x9 + x6 + x3 + x + 1
(4.11.3)
sau n binar:
v = 110111001001011
0
0
semnal ce concord cu cel din diagram. Cunoscnd T =
0
1
0
0
strile registrului plecnd de la starea iniial S0 = :
0
0
50
1
0
0
1
0
1
0
0
(4.11.4)
0
0
0
0
i U = putem calcula
0
1
0
1
0
0 0 0
0
0 0 0
S1 = TS 0 + a 14 U = S 2 = TS1 + a 13 U = + =
0
1 0 1
1
0 1 1
0
0 0
1
0 1
1
0 1
1
0 1
1
0 1
0
0 0
S3 = + 0 = S 4 = + 1 = S5 = + 1 =
1
0 1
0
0 0
0
0 0
0
1 0
1
1 0
0
1 1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
S6 = S7 = S8 = S9 = S10 = S11 = S12 =
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
S13 = S14 = S15 =
0
0
0
0
0
0
Regsim astfel strile din diagrama de mai sus.
Obs.: nmulirea unei coloane Sk cu T presupune sume de coloane din T indicate de biii egali cu 1
din Sk.
4.12. a) Ct este cuvntul de cod ciclic transmis n linie dac secvena la intrarea
codorului (construit cu RDR) este 1011? Se d g(x) = x3 + x2 + 1.
b) Secvena 1011 este codat cu circuitul din figur. Cuvntul de la ieirea
acestuia se decodeaz cu decodorul ciclic construit cu RDR (cu acelai g(x)).
Care este secvena oferit utilizatorului la ieirea decodorului?
i
D
v
(4.12.1)
v1 = 1011100
(4.12.2)
sau:
51
(4.12.3)
adic circuitul dat implementeaz procedeul de codare prin nmulire, relaia (4.9). Neglijnd
ntrzierea (x-3) gsim:
v2(x) = x6 + x5 + x4 + x3 + x2 + x + 1
(4.12.4)
v2 = 1111111
(4.12.5)
sau:
Pentru a gsi secvena cerut este suficient s selectm primii patru bii din v2, deoarece decodarea
amintit presupune cod sistematic. Deci:
ir = 1111
(4.12.6)
w(x) = x6 + x4 + x3 + x2 + 1
(4.12.7)
c) Avnd:
x3 + x2 + 1
x3 + x2
(4.12.8)
(4.12.9)
d) Cum:
unde (x) este polinomul erorii (x) = w(x) + v(x), putem face decodarea pe baza lui (x),
identificnd restul mpririi lui (x) la g(x) cu unul din resturile de forma rest(x3/g(x)) unde
j{0, 1, 2, 3, 4, 5, 6}.Tabelul de mai jos se poate construi uor efectund o singur mprire:
j
0
1
2
3
4
5
6
rest(x3/g(x))
1
x
x2
1 + x2
1+ x + x2
1+ x
x + x2
(4.12.10)
0-cuvnt corect
Circuit de decodare
n tacte
....
n-1 tacte
(4.13.1)
Cum restv1(x)/g(x) = 0 rezult v1 cuvnt corect recepionat. Decizia n acest caz este de a furniza
utilizatorului informaia 11011.
Restv2(x)/g(x) = 1 0.Decizia este cuvnt eronat, ce nu poate fi furnizat.
Soluia II. Notnd cu a semnalul de la ieirea sumatorului construim diagrama strilor :
v1
a
ir
v2
a
ir
1
1
0
1
1
0
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
53
T = 0 0 1
U = 0
1 0 1
1
0
0
1
2
S 0 = U = 0
S1 = TU = 1
S 2 = T U = 1
1
1
1
1
1
0
3
4
5
S3 = T U = 1 S 4 = T U = 0 S5 = T U = 1
0
1
0
1
S6 = T U = 0
0
dup care ciclul se repet.
i=0
6
c3
c2
c1
54
1
0
0
0
0
1
0
0
0
0
1
(4.16.1)
Relaia de codare (4.11) implic calculul matricilor de forma TjU, j = 1, n 1. Acestea rezult (vezi
problema (4.11)):
0
0
1
1
1
1
0
1
1
1
1
0
TU = T 2 U = T 3 U = T 4 U = T 5 U = T 6 U =
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
7
8
9
10
11
12
T U=
T U=
T U=
T U=
T U=
T U=
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
T 13 U = T 14 U = T 15 U = = T 0 U = U
0
0
0
0
0
1
55
(4.16.2)
Rezult a3 = 0, a2 = 0, a1 = 0, a0 = 0 i v = 101011101000001
c) Verificm dac v(x) = x14 + x12 + x10 + x9 + x8 + x6 + 1 se divide cu g(x) = x4 + x3 + 1:
x14 + x12 + x10 + x9 + x8 + x6 + 1
x4 + x3 + 1
x14 + x13 + x10
x10 + x9 + x4 + x3 + 1
13
12
9
8
6
x +x +x +x +x +1
x13 + x12 + x9
x8 + x6 + 1
x8 + x7 + x4
x7 + x6 + x4 + 1
x7 + x6 + x3
x4 + x3 + 1
x4 + x3 + 1
0
Deci g(x) divide v(x), aadar v(x) este cuvnt de cod.
(4.17.2)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
57
S-au reinut cte 14 tacte pentru c att dureaz recepionarea i analizarea (eventual corecia) unui
cuvnt.
Vom proceda pentru rezolvarea problemei astfel:
1
- considerm S1 = 1 i indentificm pas cu pas ce s-a introdus din exterior n RDR.
0
- eliminnd bitul provenit din resetarea registrului n momentul coreciei (tim c starea RDR n
0
1
acel moment este 0 urmat de 0 ) reinem apte bii din semnalul obinut care reprezint cel
0
0
puin o permutare a cuvntului recepionat (dac nu chiar cuvntul n cauz):
1
1
0 1
S1 = 1 S 2 = TS1 + a 1 U = 0 + a 1 0 = 0
1
1 1
0
0 1 0
0
a1 = 0, unde T = 0 0 1 i U = 0 .
1 0 1
1
Procednd analog gsim ntreg semnalul 00010000110001 (primul este a1). Momentul de corecie
1
(exist pentru c altfel suportul semnalului ar fi 7) este starea S 4 = 0 (S12 nu este urmat de
0
0
0 ). Eliminnd bitul 4 gsim semnalul v = 0110001 i starea Z, de la sfritul recepiei sale:
0
1
S1 = 1 = T r U deci r = 3. Aadar semnalul transmis este:
0
*
Bitul eronat este cel marcat.
58
P2
v
P1
i
D
c
Decodor pentru
g(x) = x3 + x2 + 1
z
3
d
vr
a = 1 o eroare
corectabil
b = 1 2 erori
a=b=0
cuvnt corect
(4.20.1)
4.21. S se arate c:
a) (V,+) este grup abelian; unde V reprezint mulimea cuvintelor unui cod
ciclic oarecare; iar + nsumarea modulo doi a cuvintelor codului.
b) V este spaiu vectorial peste corpul {M, +, }
Indicaie: se folosete proprietatea rest v(x)/g(x) = 0
4.23. Fie v1 = 1101001 un cuvnt de cod aparinnd unui cod ciclic. Este v2 =
1001110 un cuvnt aparinnd aceluia cod? Justificai rspunsul.
Rspuns: Da. v2 permutare ciclic a lui v1.
.......
gm
g0
gm-2
.......
gm-1
v(x)
a)
i(x)
D
gm
v(x)
.......
gm-2
.......
gm-1
g0
b)
Rspuns: a) v(x) = x-mi(x)g(x)
b) v(x) = i(x)/g(x)
4.25. Care bit va fi corectat de sistemul de recepie (decodor ciclic cu RDR) din
cuvntul recepionat dac g (x) = x3 + x2 + 1 (cod corector de o eroare) i (x) =
x3 + x + 1.
Rspuns: bitul 7.
Coduri BCH
- conjugat -1 unit, legat mpreun; 1- conjugatul unui element din Cmpul Galois GF(2q) este un element ,
aparinnd aceluiai cmp GF(2q), ce satisface relaia:
i
(5.1)
= 2
- ireductibil - 1 care nu mai poate fi redus; 2 polinom ireductibil - care nu poate fi scris ca i produs de alte
polinoame
- primitiv -(polinom primitiv) - polinom cu coeficieni n cmpul binar {0, 1}, ce este ireductibil i nu divide nici un
polinom de forma xj +1, pentru j 2q -1, unde q este gradul polinomului n cauz.
- sindrom - rezultatul verificrii cuvntului recepionat; conine date (informaie) despre poziia i numrul erorilor
din cuvntul recepionat. Are neles de "urm" a erorilor.
Definiii:
- polinom minimal (al unui element din GF(2q)) = polinom al crui rdcini sunt: respectivul element mpreun
cu toate elementele sale conjugate i numai acestea.
- locator (al erorii de pe poziia i din cuvntul recepionat) = elementul cmpului GF(2q), ce este puterea i a
elementului generator al cmpului:
Xi=i
(5.2)
- polinomul erorilor (x) = polinomul ale crui rdcini sunt locatorii erorilor:
e
(5.3)
( x ) =
x + Xi
i =1
- coef. sindroame:
Si = w i = i
i = 1, e c
(5.4)
( ) ( )
Notaii
p(x)
g(x)
i
E( j) = i ji = 1 - ecuaia de cutare
(5.5)
(5.7)
i =1
Abrevieri
Breviar teoretic:
1 Codarea codurilor BCH se face cu ajutorul relaiei:
v(x) = i(x)xk + rest [i(x)xk/g(x)]
2 Algoritmul decodrii:
- se calculeaz coeficienii sindromului, Si, cu relaia (5.4);
- se calculeaz coeficienii i;
- se afl poziiile eronate ji, i = 1, e ;
- se execut corecia;
- se selecteaz biii de informaie.
61
(5.7)
Coduri BCH
Pentru a defini un cmp K (format din n+1= 2q elemente) este necesar a preciza operaiile de
nsumare respectiv nmulire pe K. Dac ne referim la GF(2k) atunci operaiile sunt adunarea i
nmulirea polinoamelor. Elementul sum a "dou clase de resturi" modulo p(x) este uor de gsit
dac cele dou clase de resturi sunt indicate prin resturile la p(x), n vreme ce elementul produs este
simplu de gsit dac cele dou clase de resturi sunt indicate prin monoame.
Rmne aadar de fcut corespondena ntre monoame i resturi. Aceast coresponden o
vom gsi prin (mai multe ci):
I. mprirea fiecrui monom de forma xj, cu j<n, la p(x). Vom scrie pentru cele 7 monoame de
grad mai mic dect n=7, plus polinomul nul, teorema mpririi cu rest.
Ecuaia mpririi
0=0(x3+x+1)+0
1=0(x3+x+1)+1
x=0(x3+x+1)+x
x2=0(x3+x+1)+x2
x3=1(x3+x+1)+x+1
x4=x(x3+x+1)+x2+x
x5=(x2+1)(x3+x+1)+x2+x+1
x6=(x3+x+1)(x3+x+1)+x2+1
x7=( x4+x2+x+1)(x3+x+1)+1
2
010
2
2
3
100
3
+1
4
011
4
2
+
5
110
5
2++1
6
111
2+1
7
101
6
7
1
1
001
Tabelul 5.1
62
Coduri BCH
0
1
2
3
4
5
6
7
1
0001
1011
0000
00010
/ 0010
0000
/ 0100
0000
/ 1000
1011
/ 0110
0000
/ 1100
1011
/ 1110
1011
/ 1010
1011
/ 001
Figura 5.2
III. Identificarea secvenial a resturilor utiliznd identitatea modulo p():
q = p q 1 q 1 + p q 2 q 2 + K + p1 + p 0
(5.1.1)
Aa cum se poate vedea n tabelul 5.1, corespondena n primele q+1 clase de resturi este evident,
monoamele coincid cu resturile. Ca atare, problema corespondenei se pune doar de la gradul q
ctre n-1= 2q-2. nlocuind n (5.1.1) coeficienii lui p(x) gsim relaia:
3 = + 1
modulo 3 + + 1
(5.1.2)
modulo 3 + + 1
(5.1.3)
modulo 3 + + 1
(5.1.4)
modulo 3 + + 1
(5.1.5)
(5.1.6)
63
Coduri BCH
a)
Cmpul GF(23) generat de 3+2+1:
Zecimal
Monom
Rest
Matrice
0
0
0
000
1
1
1
001
2
010
3
2
2
100
4
3
2+1
101
5
4
2+ +1
111
6
5
+1
011
2+
110
7
6
Tabelul 5.3
b)
2
3
2
4
3
3
4
5
+1
5
6
2+
6
7
3+2
8
7
3++1
8
9
2+1
9
10
3+
11
10
2++1
11
12
3+2 +
13
12
3+2 + +1
13
14
3+2 +1
15
14
3+1
64
Matrice
0000
0001
0010
0100
1000
0011
0110
1100
1011
0101
1010
0111
1110
1111
1101
1001
Tabelul 5.4
Coduri BCH
2
3
2
3
4
3
5
4
3+1
5
3
6
+ +1
6
7
3+2 + +1
8
7
2 + +1
8
9
3+2 +
A
9
2 +1
10
B
3 +
C
11
3+2 +1
12
D
+1
13
E
2 +
14
F
3+2
Matrice
0000
0001
0010
0100
1000
1001
1011
1111
0111
1110
0101
1010
1101
0011
0110
1100
Tabelul 9.5
)(
) - nu este primitiv
2
p 2 (x ) = x + x + 1 = (x + x )(x + x + 1) + 1 - este primitiv
p 3 (x ) = x 5 + x 3 + 1 = (x 3 + x 2 + x )(x 2 + x + 1) + x + 1 - este primitiv
p1 (x ) = x 5 + x + 1 = x 3 + x 2 + 1 x 2 + x + 1
5
(5.3.1)
Obs.: Conform argumentrilor anterioare, pentru a afla dac un polinom oarecare de gradul 5 (cu
termen liber i numr impar de termeni) este ireductibil i implicit prim, este suficient de vzut
dac nu se mparte la x2+x+1.
65
Coduri BCH
Tabelul 9.6
1 x4
2 x4+1
3 x4+x
4 x4+x+1
5 x4+x2
6 x4+x2+1
7 x4+x2+x
8 x4+x2+x+1
9 x4+x3
10 x4+x3+1
11 x4+x3+x
12 x4+x3+x+1
13 x4+x3+x2
14 x4+x3+x2+1
15 x4+x3+x2+x
16 x4+x3+x2+x+1
Dintre acestea, cele care nu se mpart la x, x+1 i x2+x+1 sunt ireductibile (vezi rezolvarea
problemei 5.3.) Polinoamele ce nu se mpart cu x i nici cu x+1 sunt: 4, 6, 10 i 16. Efectund
mprirea cu x2+x+1 gsim:
)(
x4 + x +1= x2 + x x2 + x +1 +1
- este ireductibil
(
)
x 4 + x 3 + 1 = (x 2 + 1)(x 2 + x + 1) + x
x 4 + x 3 + x 2 + x + 1 = x 2 (x 2 + x + 1) + x + 1
2
x4 + x2 +1= x2 + x +1
- nu este ireductibil
- este ireductibil
- este ireductibil
Rmne de vzut care dintre polinoamele x4+x+1, x4+x3+1 i x4+x3+x2+x+1 este primitiv.
Dac nu este primitiv atunci exist un binom cu grad mai mic dect 15 care se divide cu respectivul
polinom. Dac p(x), un polinom ireductibil, divide un binom de forma xa+xa+q, cu 0<a<a+q<n,
atunci va divide i pe xq+1, sau altfel spus rest[xq/p(x)] =1.
Conform observaiei anterioare, polinomul primitiv nu genereaz rest egal cu 1 la mprirea
nici a unui monom pn la gradul n=15. Din tabelele 5.4 i 5.5 rezult c x4+x+1 i x4+x3+1 sunt
primitive.
Deoarece: x5+1= (x4+x3+x2+x+1)(x+1) rezult c cele dou polinoame (x4+x+1 i x4+x3+1)
sunt i singurele primitive de grad 4.
(
)(
)
3
2
2
x + x + 1 = (x + x + x )(x + x + 1) + x + 1
x 5 + x 3 + x 2 + x + 1 = (x 3 + x 2 + x + 1)(x 2 + x + 1) + x
x 5 + x 4 + x 2 + x + 1 = (x 3 + x )(x 2 + x + 1) + 1
x5 + x2 +1 = x3 + x2 x2 + x +1 +1
5
66
Coduri BCH
x5 + x4 + x3 + x +1 = x3 x2 + x +1 + x +1
)(
x5 + x 4 + x3 + x 2 +1 = x3 +1 x 2 + x + 1 + x
(vezi problema 5.3)
3 + 4 = + 1 + 2 + = 2 + 1 = 6
(5.6.1)
b) Pentru a efectua nmulirea rescriem termenii din paranteze sub form de monom:
+ 1 = 3
2 + + 1 = 5
( + 1)( 2 + + 1) = 8 = 7 = 1 =
(5.6.2)
c) n mod analog:
( + 1) : ( 2 + + 1) = 3 : 5 = (1 3 ): 5 = 10 : 5 = 5
(5.6.3)
Coduri BCH
Rezolvare:
a) Fie elementul care genereaz GF(2q). Atunci exist k<n astfel nct:
= k
(5.8.2)
( )n = ( n )k = 1k = 1
n = k
(5.8.3)
i
b) Prin definiie conjugatul lui este un element de forma 2 .
2j
i
= 2
= 1 = n = n +1 = 2
(5.8.4)
(5.8.5)
Dac:
i = mq + r,
(5.8.6)
0r<q
alegem:
j0=q-r astfel c:
2i
2 j0
= 2
mq + r + q r
= 2
( m+1)q
(5.8.7)
Deoarece:
=
n +1
2q
q
= 2
2q
2 2q
q
= 2
2 2q
= 2
3q
= ...
rezult:
2 j0
2i
=
(5.8.8)
c) Graie proprietii demonstrate la punctul precedent, este suficient s aflm conjugaii doar pentru
elementele ce nu s-au regsit printre conjugaii altora deja aflai. Astfel:
- conjugatul lui 0 este el nsui;
- conjugatul lui 1 este deasemenea egal cu 1;
i
( )2 = 6 , (3 )4 = 7 5 = 5 .
( )8
68
Coduri BCH
Tabelul 5.9
m (x ) = (x + i )
(5.10.1)
i =1
Coduri BCH
)(
m 3 (x ) = (x + ) x + 2 x + 4 =
) (
= x 3 + + 2 + 4 x 2 + 3 + 5 + 16 x + 7 =
(5.10.2)
= x3 + x + 1
iar pentru 3, 5 i 6:
)(
)(
m 4 (x ) = x + 3 x + 5 x + 6 =
) (
= x 3 + 3 + 5 + 6 x 2 + 8 + 9 + 11 x + 14 =
(5.10.3)
= x3 + x2 +1
Elementele conjugate din GF(23) Polinomul
generat de x3+x+1.
minimal
0
x
1
x+1
2
4
x3+x+1
, i
x3+x2+1
3, 5 i 6
Tabelul 5.10
70
Coduri BCH
)(
g (x ) = x 3 + x + 1 x 3 + x 2 + 1 = x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
(5.12.1)
b) Datorit necesitii ciclicitii cuvintelor de cod, acestea trebuie s fie clase de resturi modulo
(x7+1), adic s aib dimensiunea:
n=7
(5.12.2)
(5.12.3)
apte coeficieni binari pentru v(x) nseamn c v(x) este de grad cel mult 6.
Cum i g(x) este de gradul 6, rezult c pentru ndeplinirea relaiei (9.3), q(x) este de grad 0 adic
q(x)=0 sau q(x)=1. Cu aceste observaii rezult:
- parametrii codului sunt:
n=7
m=1
k=n-m=6
(5.12.4)
v = i 6 c 5 c 4 c 3c 2 c1c 0
unde i6 - bitul de informaie;
c 5 c 4 c 3c 2 c1c 0 - biii de control
- relaia de codare este:
i x6
v(x ) = i 6 x 6 + rest 6
g (x )
(5.12.6)
unde:
v(x ) = i 6 x 6 + c 5 x 5 + c 4 x 4 + c 3 x 3 + c 2 x 2 + c1x +c 0
71
Coduri BCH
v0=0000000 i
v1=1111111
(5.12.7)
(5.12.8)
(512.9)
Obs.: Deoarece numrul de cuvinte eroare cu cel mult trei erori este:
N 3 = C17 + C 72 + C 37 = 7 + 21 + 35 = 63
(5.12.10)
iar numrul de corectori ce se pot forma din ase (c0c5) bii (mai puin "corectorul" ce indic
recepie corect) este:
Nc=26-1=63
(5.12.11)
(5.12.12)
(x ) = x k i , k i {0,1,2,3,4,5,6}, e e c
(5.12.13)
i =1
n ultima relaie ki sunt poziiile erorilor, cele care trebuiesc determinate pe baza analizei lui w(x).
Elementele cmpului Galois GF(23) , mai puin 0 i 1, fiind rdcini a lui g(x), sunt i
rdcini pentru v(x) astfel c putem scrie:
( ) ( ) ( ) ( )
w j = v j + j = j =
e
= j k i , j = 1,6 k i {0,1,2,3,4,5,6}
(5.12.14)
i =1
(5.12.15)
i = 1, e
72
Coduri BCH
( )
S j = w j = X ij
j = 1,6 i = 1, e
(5.12.16)
i =1
Obs.: Evident c ceea ce dorim la decodare sunt valorile celor "e" locatori dai de (5.22.15).
Bineneles i "e" este necunoscut, dar este presupus mai mic dect ec =3. Aparent, relaia (5.12.16)
indic un sistem de de ase ecuaii cu cel mult trei necunoscute. n fapt nu este aa, deoarece dintre
cei ase coeficieni sindrom, Sj, doar trei sunt independeni. Acest fapt se datoreaz relaiei:
S2k =Sk2(17)
(5.12.17)
(x ) = (x + X i ) = x e + 1x e 1 + K + e
i =1
(5.12.18)
(5.12.19)
(5.12.20)
Dac nmulim cele trei ecuaii pe rnd cu Xi, X i2 i X 3i , i=1,2, i 3, i apoi summ, utiliznd
(5.12.16) gsim c:
S 4 + 1S3 + 2S 2 + 3S1 = 0
S5 + 1S 4 + 2S3 + 3S 2 = 0
S + S + S + S = 0
1 5
2 4
3 3
6
(5.12.21)
S5
S12
S3
S14
S1 1 S14
S12 2 = S5
S3 3 S32
(5.12.22)
73
Coduri BCH
1 = S1
2
3
2 = S1 S3 + S5 / S1 + S3
6
2
3 2
3
3
3 = S1 + S3 + S1S5 + S1 S3 / S1 + S3 = S1 + S3 + S1 2
(
(
)(
)(
(5.12.23)
(5.12.24)
tiind c sunt de forma (5.12.15). Ca atare prin ncercri succesive cu i=0,1,2,...6 cutm acei i
pentru care:
1 i + 2 2i + 3 3i = 1
sau:
11 ( i) + 2 2 ( i) + 3 3 ( i ) = 1
sau:
11 ( n i) + 2 2 ( n i) + 3 3( n i) = 1
sau:
11 j + 2 2 j + 3 3 j = 1
(5.12.25)
Acei j pentru care ecuaia (5.12.25) este ndeplinit dau poziiile erorilor.
Obs.: Dei, d.p.d.v. matematic, relaia de cutare putea s rmn n i, unde i indic direct poziia
erorii, relaia de cutare (5.12.25) n j poate fi implementat practic, poziia erorii n acest caz
fiind dat de n-j.
(5.12.26)
(5.12.27)
)(
2 = 65 + 6 / 9 + 5 = 3 / 3 = 1
2
3 = + + = 0
(5.12.28)
74
Coduri BCH
E( j) = 3 + j + +2 j = 1
(5.12.29)
Cu j de la 0 la 6 avem:
E(1) = 4 + 2 =
E(2 ) = 5 + 4 = 1
6
E(3) = + = 0
E(4 ) = 7 + 8 = 3
E(5) = 8 + 10 = 1
E(6 ) = 9 + 12 = 3
E(7 ) = 3 + 1 =
(5.12.30)
Aadar poziiile erorilor sunt i=2 i i=5 iar cuvntul corectat va fi:
Pasul 4: - v=0 0 0 0 0 0 0
(5.12.31)
(5.12.32)
Obs.: - Este clar c un cod ce are dou cuvinte v1=0000000 i v2=1111111 nu are nevoie de un
algoritm aa de sofisticat pentru decodare. La recepie se hotrte uor ce cuvnt a fost emis dup
ponderea cuvntului recepionat w. Dac acesta este sub 4 atunci a fost emis v1 iar n caz contrar
v2 (evident n ipoteza c nu sunt mai mult de 3 erori). Scopul urmrit era ns aplicarea
algoritmului pentru un caz simplu.
S3 = 6
S5 = 3 ;
Pasul 2 - 1 = 6
2 = 3
3 = 5 ;
Pasul 3 - E(1) = 2
E(2 ) = 6
E(3) = 1 E(4 ) = 4
E(5) = 4
E(6 ) = 1 E(7 ) = 1
Pasul 4 - v=1111111;
Pasul 5 - i6=1.
75
Coduri BCH
)(
a)
b)
d = 5; N = 2 7 = 128, c =
c)
7
= 46,67 % ;
15
d)
Pasul 1: S1 = w ( ) = 10
( )
S3 = w 3 = 0
Relaiile de mai sus implic calcule n GF(24) generat de x4+x+1 (tabelul 5.4).
Pasul 2:
10
S12 S1 1 S3
= 4 sau 1 = S1 =
S S 2 2 S1
2 = S3 + S13 / S1 = 5
1
3
Pasul 3: E( j) = 10 + j + 5 + 2 j
E(1) = 8
E(6 ) = 9
E(11) = 4
E(2 ) = 8
E(7 ) = 10
E(12 ) =
E(3) = 4
E(8) = 2
E(13) = 10
E(4 ) = 2
E(9 ) = 5
E(14 ) =
E(5) = 0
E(10 ) = 1
E(15) = 1
Pasul 4: v w = 010011100110000 = 23460 8
Pasul 5: i w = 0100111
g(x ) = m1 (x ) m 3 (x ) m 5 (x )
(5.14.1)
unde:
76
Coduri BCH
)(
)(
m1 (x ) = (x + ) x + 2 x + 4 x + 8 = x 4 + + 2 + 4 + 8 x 3 +
+ 3 + 5 + 9 + 6 + 10 + 12 x12 + 7 + 11 + 13 + 14 x + 15
(5.14.2)
= x4 + x3 +1
m 3 (x ) = x + 3 x + 6 x + 12 x + 9 = x 4 + 3 + 6 + 9 + 12 x 3 +
)(
)(
)(
+ 9 + 12 + 15 + 15 + 18 + 21 x12 + 18 + 21 + 24 + 27 x + 30
= x4 + x3 + x 2 + x + 1
)(
m 5 (x ) = x + 5 x + 10 = x 2 + 5 + 10 x + 15 = x 2 + x + 1
(5.14.3)
(5.14.4)
)(
)(
g (x ) = x 4 + x 3 + 1 x 4 + x 3 + x 2 + x + 1 x 2 + x + 1 =
= x10 + x 9 + x 8 + x 6 + x 5 + x 2 + 1
(5.14.5)
(5.14.6)
(5.14.7)
i(x ) x k
g (x )
(5.14.8)
(5.14.9)
(5.14.10)
(5.14.11)
v=0 1 1 1 1 0 0 0 1 0 0 0 1 0 0
(5.14.12)
astfel nct:
de unde:
77
Coduri BCH
(5.14.13)
Sunt:
Pasul 1: - calculul coeficienilor sindrom.
S1 = w ( ) = 6
( )
S5 = w ( 5 ) = 1
S3 = w 3 = 0
(5.14.14)
)(
3 = S13 + S3 + S1 2 = 0
(5.14.15)
(5.14.16)
E(1) = 5
E(6 ) = 13
E(11) = 11
E(2 ) = 6
E(7 ) = 5
E(12 ) = 7
E(3) = 11
E(8) = 10
E(13) = 7
E(4 ) = 1
E(9 ) = 0
E(14 ) = 1
E(5) = 10
E(10 ) = 13
E(15) = 14
(5.14.17)
(5.14.18)
(5.14.19)
Coduri BCH
g(x ) = (x + 1) x 3 + x + 1 = x 4 + x 3 + x 2 + 1
(5.15.1)
(5.15.2)
ed = 2
(e c + e d + 1 d )
(5.15.3)
Obs.: d este egal cu ponderea cuvntului de pondere minim, adic este egal cu numrul de
termeni ai lui g.
m 3
= = 42,86 %
n 7
(5.15.4)
i (x ) x k
=
g (x )
= x 2 + x x 4 + rest
sau n binar:
x6 + x5
x 4 + x3 + x2 + 1
(5.15.5)
= x6 + x5 + x3 + 1
v=1 1 0 1 0 0 1
(5.15.6)
d) Codul, fiind corector de o eroare i detector de dou, va trata diferit cazurile unei erori i a dou
erori. Diferenierea ntre aceste dou cazuri este sesizat prin bitul sindrom S0 (de paritate):
S0=w(1)
(5.15.7)
79
Coduri BCH
Dac S0=1 exist o eroare ce va fi corectat, iar dac S0=0, fie nu exist erori, fie sunt dou.
Algoritmul decodrii este aadar:
Pasul 1: - se calculeaz biii de sindrom.
S0=w(1)=1+1+1=1
S1 = w ( ) = 6 + + 1 = 2 + = 4
(5.15.8)
(5.15.9)
(5.15.10)
(5.15.11)
(5.15.12)
80
Coduri RS
Cap.6 Coduri Reed-Solomon
Dicionar
-discrepan 1. nepotrivire (flagrant), dezacord; 2. n contextul lucrrii, dorind a calcula o expresie (polinomul
erorilor), aceasta se face secvenial, din aproape n aproape, adugnd (ajustnd) pas cu pas cte ceva expresiei
gsite la pasul precedent. Acest ceva poart denumirea de discrepan;
Definiii
-locator(ul erorii) un element al cmpului Galois, ce se identific la aceeai poziie n cmp cu cea corespunztoare
erorii n cuvntul recepionat. n sprijinul definiiei de mai sus din cmpul Galois s-a exclus elementul nul,
astfel c dimensiunile, cmpului fr elementul nul i cuvntului recepionat, coincid. n ambele cazuri
elementele sunt identificate prin exponeni (rangurile polinomiale n cazul cuvntului recepionat, iar pentru
cmpul Galois elementele se pot defini ca i puteri ale unui element, numit generator).
-valoarea erorii Spre deosebire de codurile binare, unde bitul transmis se regsea prin simpla negare a valorii logice
a celui recepionat, la codul RS diferena ntre caracterul emis, vr, i cel recepionat, wr:
Yr = vr + wr
(6.1)
adic eroarea (valoarea erorii), este un element al cmpului GF(2q).
Notaii
-m, k, n numrul de caractere de informaie, de control, respectiv total din cuvntul de cod RS;
-v, w, cuvintele emis, recepionat, respectiv eroare;
-v(x), w(x), (x) polinoamele ataate cuvintelor emis, recepionat, respectiv eroare;
-V(x), W(x), E(x) imaginile vectorilor v(x), w(x), (x), prin TFD;
-t numrul de erori corectabile de ctre codul RS respectiv;
-cod RS(n,m,t) cod Reed-Solomon avnd cuvinte de lungime n, m caractere de informaie per cuvnt, capabil s
corecteze t erori;
-Sj, j = 1
2t coeficienii sindrom;
-Xl, l = 1
t locatorul erorii l;
-Yl, l = 1
t valoarea erorii l;
-
(x) polinomul (locator al) erorilor. Nu ine seama de valorile erorilor, ci doar de poziiile lor:
(x) = xt + 1xt-1 + 2xt-2 + ... + t-1x + t
= (x + X1)(x + X2) ... (x + Xt-1) (x + Xt)
(6.2)
Abrevieri
-RS Reed-Solomon;
-TFD Transformata Fourier Discret;
Breviar teoretic
1. Codarea codului RS se face (asemeni celorlalte coduri ciclice) prin relaia:
v(x) = i(x)xk + rest(i(x)xk/g(x))
(6.3)
unde: v(x) = vn-1xn-1 + vn-2xn-2 + ... + v1x + v0 cuvntul de cod;
i(x) = vn-1xm-1 + vn-2xm-2 + ... + vkxk informaia;
g(x) = gkxk + gk-1xk-1 + ... + g1x + g0 polinomul generator;
2. Decodarea codului RS are urmtorul algoritm:
se calculeaz coeficienii sindromului dup relaia:
Sj = w(j), j =12t
(6.4)
n-1
n-2
unde: w(x) = wn-1x + wn-2x + ... + w1x + w0 cuvntul recepionat;
se calculeaz coeficienii j, j =12t, rezolvnd sistemul de ecuaii:
St+j-11 + St+j-22 + ... + Sjt = St+j cu j = 1t
(6.5)
se afl poziiile erorilor (calculnd locatorii erorilor) identificnd acei j = 1n care verific
egalitatea:
E(j) = 1j + 22j + ... + ttj = 1
(6.6)
Locatorii erorilor vor fi dai prin relaiile:
81
Coduri RS
Xj = j (cu j gsii prin ecuaia de cutare (6.6))
se calculeaz valorile erorilor, Yj, cu j = 1t, rezolvnd sistemul de ecuaii:
(6.7)
Si = Yk j X ik j cu i = 1, t
(6.8)
j=1
se execut corecia:
vj = wj + Yj cu j = 1t, dat de (6.6)
se selecteaz caracterele de informaie (primele m din w).
(6.9)
(6.1.1)
(6.1.2)
n care g(x) este dat de (6.1.1), iar i(x), conform ipotezei, este:
i(x) = 3x4 +x3 +2x2 + 6x + 5
(6.1.3)
Obs.: Att cuvntul de informaie ct i cel de cod sunt formate din caractere care, n cazul acestui
cod, sunt compuse din cte trei bii conform cu tabelul de mai jos (reprezentarea matricial):
Monom
0
1
2
3
4
5
6
7
2
3
4
+1
2
5
+
2
6
++1
2
7
+1
1
8
Matricial
000
001
010
100
011
110
111
101
001
Tabelul 6.1.
n continuare vor fi folosite, pentru scrierea caracterelor, att reprezentarea zecimal ct i
cea monom n .
82
Coduri RS
nlocuind (6.1.3) n (6.1.2) gsim c:
v(x) = 3x6 + x5 + 2x4 + 6x3 + 5x2 +2x +
(6.1.4)
Efectuarea mpririi lui i(x)x2 la g(x), n scopul aflrii restului, se poate face fie polinomial
urmrind reprezentrile monom-rest din tabelul 10.1. fie numeric urmrind reprezentrile zecimalmatricial din acelai tabel:
3x6 + x5 + 2x4 + 6x3 + 5x2
x2 + 4x + 3
3 6
5
6 4
x +x + x
3x4 + 3x3 + 5
/
3x5 + x4 + 6x3 + 5x2
3x5 + x4 + 6x3
/
/
/
5x2
5x2 + 2x +
/
2x +
n calculele de mai sus s-a folosit faptul c 7 = 1, iar pentru a nsuma monoame s-a apelat
la reprezentarea sub form de clase de resturi modulo x3+x+1. De exemplu:
3x4(x2 + 3x + 3 ) = 3x6 + 7x5 + 6x4 = 3x6 + x5 + 6x4
2x4 + 6x4 = (2 + 6)x4 = (2 + 2 + 1)x4 = x4
Ecuaia mpririi este:
i(x)x2 = (3x4 + 3x3 + 5)g(x) + 2x +
(6.1.5)
1 5 4
4 4 0 0 6
(10.1.6)
GF(23)
binar
Produsul a dou elemente m i n din GF(23) este :
83
Coduri RS
m n = 0 dac m = 0 i/sau n = 0
GF(23) = m + n - 1 dac m + n - 1 7
zecimal
zecimal
= m + n - 8 dac m + n - 1 > 7
Spre exemplu 4 1 = 4 + 1 1 = 4, iar 4 5 = 4 + 5 8 = 1.
Obs.: Verificarea corectitudinii rezultatului v(x), dat de (10.1.4) se poate face, pentru mai mult
siguran, printr-o cale alternativ: - se verific dac v(x) are ca rdcini pe rdcinile lui g (x),
care sunt, prin prisma relaiei (10.1.1) i 2.
v() = 9 + 6 + 6 +9 + 7 + 3 + = 1 + 3 + = 0
v(2) = 15 + 11 + 10 + 12 + 9 + 4 + = +4 + 3 +5 + 2 + 4 + =
= 2( + 3 + 1) = 2 0= 0
(6.1.7)
(6.1.8)
iar dac ne referim la forma binar a lui (6.1.4) atunci prin identificare n tabelul 10.1.:
(6.1.9)
c) Codul Reed-Solomon fiind un cod ciclic, decodarea sa se bazeaz pe faptul c orice cuvnt de
cod este multiplul (ca i polinom) polinomului generator:
v(x) = q(x) g(x)
(6.1.10)
Altfel spus, dac w este un cuvnt recepionat corect, el verific relaia (6.1.10), iar dac prezint
erori (n numr ce nu depete puterea de corecie a codului) atunci nu verific (6.1.10).
Obs.: Orice cod, orict de performant ar fi, poate s greeasc dac erorile depesc puterea sa de
corecie dat de numrul de erori corectabile dintr-un cuvnt ec.
Pentru a verifica dac w = 4 7 3 7 6 3 2 este corect recepionat vom verifica dac polinomul
aferent:
w(x) = 3x6 + 6x5 + 2x4 + 6x3 + 5x2 +2x +
are rdcini pe i pe 2 (adic este multiplul lui g(x)):
84
(6.1.11)
Coduri RS
w() = 9 + 11 + 6 +9 + 7 + 3 + = 4 + 6 = 3 0
w(2) = 15 + 16 + 10 + 12 + 9 + 4 + = +2 + 3 +5 + 2 + 4 + =
= 3 + 5 + 4 = 0
(6.1.12)
Cele dou valori numite coeficieni sindrom:
S1 = w() = 3
S2 = w(2) =
(6.1.13)
(6.1.14)
unde (x) este polinomul erorii. Vom face presupunerea c n w exist o singur eroare:
(x) = y xr, y GF(23), 0 r 6
(6.1.15)
Obs.: -O singur eroare se refer la un caracter eronat din cele 7, n fapt putnd exista, n
anumite condiii, trei erori n secvena binar w.
- Presupunerea c n w exist o singur eroare are justificare prin acceptarea ideii c,
pentru mai multe, oricum se greete, i atunci nu mai conteaz cum se greete.
- Prin ipotez, codul dat este corector de o eroare, dar se poate arta c are distana de
cod d = 3 deci ec = 1.
Pentru a putea corecta pe w trebuie s aflm (pe baza analizei lui S1 i S2) poziia erorii r
precum i diferena ,y , ntre valoarea corect a caracterului eronat vr i valoarea sa recepionat wr :
y = wr + vr
(6.1.16)
(6.1.17)
(6.1.19)
85
Coduri RS
x1 = r
(6.1.20)
(6.1.21)
(6.1.22)
(6.1.23)
1jn=7
(6.1.24)
(6.1.25)
(6.1.26)
n urmtorul, al patrulea pas algoritmic se afl diferena y1 (n cazul general ec diferene yi),
rezolvnd ecuaia (n cazul general un sistem de ec ecuaii cu ec necunoscute):
S1 = y1 x1
(6.1.27)
y1 = S1 / x1 = 3 / 5 = 5
(6.1.28)
cu soluia:
poziie dat de x1 = 5
86
(6.1.29)
Coduri RS
n fine, pasul ase presupune selecia caracterelor de informaie
i = 42376
(6.1.30)
(6.2.1)
(6.2.2)
(6.2.3)
i (x ) x 4
g (x )
(6.2.4)
(6.2.5)
mprirea polinomului i(x)x4 la g(x) este prezentat mai jos n form polinomial:
6x6 + 2x5
x4 + 3x3 + x2 + x + 3
6 6
2 5
6 4
3
2 2
x + x + x +x + x
6x2 + 6
/
/
6x4 + x3 + 2x2
6x4 + 2x3 + 6x2+ x + 2
/
6x3 + x2 + x + 2
sau numeric:
7 3 0 0
7 3 7 1
/ / 7 1
7 3
/ 7
0
3
3
7
1
0 0
1 4 1 2 4
7 0 7
0 0
1 3
1 3
87
Coduri RS
Astfel c ecuaiile mpririlor se vor scrie :
(6x2 + 2x)x4 = (6x2 + 6)g(x) + 6x3 + x2 + x + 6
7 3 0 0 0 0 0 = (707) (1 4 1 2 4) + 7 1 1 3
(6.2.6)
(6.2.7)
Pentru verificare:
v() = 12 + 7 + 9 +2 + + 2 = 5 + 1 + 2 + = 0
v(2) = 18 + 12 + 12 +4 + 2 + 2 = 4 + 4 = 0
(6.2.8)
(6.2.9)
Si = y k x ik cu i = 1,4
(6.2.10)
k =1
(6.2.11)
(6.2.12)
(6.2.13)
1 =
S 2S3 + S1S 4
=4
S 22 + S1S3
88
Coduri RS
2 =
S 2S 4 + S32
=2
S 22 + S1S3
(6.2.14)
(6.2.15)
1jn
(6.2.16)
(6.2.17)
(6.2.18)
(6.2.19)
(6.2.20)
(6.2.21)
89
Coduri RS
6.3.Pentru fiecare din codurile RS(15,13,1), RS(15,11,2) i RS(15,9,3) se cere:
a) s se calculeze polinoamele generatoare. Se cunoate polinomul generator al
cmpului GF(2q), p(x) = x4+x+1;
b) un exemplu de codare;
c) un exemplu de decodare.
Rezolvare:
a) Polinoamele generatoare cerute sunt:
g1(x) = (x + )(x + 2) = x2 + 5x + 3
g2(x) = g1(x)(x + 3)(x + 4) = x4 + 13x3 + 6x2 + 3x + 10
g1(x) = g2(x)(x + 5)(x + 6)
= x6 + 10x5 + 14x4 + 4x3 + 6 x2 + 9x + 6
(6.3.1)
(6.3.2)
90
Coduri RS
7648CA0B9F10000
75DA2
/ 9B17A
97FC4
/842 20
86EBB
/CD93B
CA3F7
/ 91 E89
97FC4
/E39EF
EC529
/ A6D71
A81D5
/EC520
EC529
/ / / / 9000
164
798C9EAE
rezultnd codul:
v2=7 6 4 8 C A 0 B 9 F 1 9 0 0 0
(6.3.3)
1BF57A7
(6.3.4)
91
Coduri RS
n continuare se exemplific decodarea n cele trei cazuri:
I. RS(15,13,1) Cuvntul recepionat : w1=5 3 1 4 1 9 F 6 0 E E C E 0 4.
w 1 (x ) = 4 x14 + 2 x13 + x12 + 3 x11 + x10 + 8 x 9 + 14 x 8 + 5 x 7 +
+ 13 x 5 + 11x 3 + 13 x 2 + 3
S1 = w 1 ( ) = 3 + 1 + 12 + 14 + 10 + 2 + 7 + 12 + 3 + 2 + 14 + 1 + 3
= 2
( )
S 2 = w 1 2 = 2 + 13 + 9 + 10 + 5 + 11 + 1 + 4 + 8 + 6 + 2 + 2 + 3
= 12
1 = S 2 / S1 = 10
j1 = 1 j1 = 5 X1 = n j1 = 10
S2
4
Y1 = 1 =
= 7
12
S2
v1,10 = w1,10 + Y1 = 1 + 7 = 9 = A
Rezult:
v1=5 3 1 4 A 9 F 6 0 E E C E 0 4
(6.3.5)
S1 =13
S 2 = 3
S3 = 0
S 4 = 9
S S + S3S 2
1 = 1 4
=
S 22 + S1S3
S S + S32
2 = 2 4
= 6
2
S 2 + S1S3
E( ) = j +1 + 6 + 2 j = 1
j1 = 1
X1 = 14
j2 = 8
X 2 = 8
Y1 =
Y2 =
S1X 2 + S 2
5 + 3
11
=
=
= 11
2
6
13
1
X1X 2 + X1 +
S1X1 + S 2
X1X 2 + X 22
12 + 3
6
14
10
92
= 2
Coduri RS
v 2,14 = w 2,14 + Y1 = + 11 = 6 = 7
v 2,7 = w 2,7 + Y2 = 4 + 2 = 10 = B
Rezult:
v2=7 6 4 8 C A 0 B 9 F 1 9 0 0 0
(6.3.6)
( )
S3 = w 3 ( 3 ) = 6
S 4 = w 3 ( 4 ) = 7
S5 = w 3 ( 5 ) = 0
S 6 = w 3 ( 6 ) = 11
1
1 = (S32S 4 + S22S6 + S1S4S5 + S1S3S6 + S2S3S5 + S2S24 ) = 10
1
2 = (S 2S3S6 + S3S 24 + S1S52 + S 2S 4S5 + S1S 4S6 + S32S5 ) = 14
1
3 = (S32S6 + S34 + S 2 S52 + S 2S 4S5 ) = 10
S2 = w 3 2 = 6
j1 = 1
X1 = 15 j1 = 14
j2 = 6
X 2 = 15 j 2 = 9
j3 = 13
X 3 = 15 j3 = 2
S X X + X 2 S 2 + X 3S 3 + S 3
Y1 = 1 2 3
= 7 = 8
X1 (X1 + X 2 )(X1 + X 3 )
S X X + X1S 2 + X 3S3 + S3
Y2 = 1 1 3
==2
X1 (X1 + X 2 )(X 2 + X 3 )
S X X + X 2 S 2 + X1S3 + S3
Y3 = 1 1 2
= 10 = B
X 3 (X 2 + X 3 )(X 3 + X1 )
v 3,14 = w 3,14 + Y1 = 0 + 7 = 7 = 8
v 3,9 = w 3,7 + Y2 = C + 2 = 6 = 7
v 3,2 = w 3,2 + Y3 = 4 + B = 12 = D
93
Coduri RS
6.4. S se arate c suma tuturor elementelor din orice cmp Galois GF(2q) este
nul:
2q
=0
(6.4.1)
i =1
Rezolvare:
Dac ai este un element al lui GF(2q) atunci n scrierea matricial
ai = aiq-1 aiq-2 ..........ai1 ai0, aij {0,1}
(6.4.2)
Deoarece exist 2q elemente rezult c cele 2q reprezentri binare ale elementelor ai sunt
toate secvenele binare posibile ce se pot forma pe q bii. Dar, pentru fiecare rang de la 0 la q 1
ntre cele 2q secvene, jumtate au bitul rangului respectiv 0 iar jumtate, adic N = 2q-1, au bitul
rangului egal cu 1. n plus q > 1 c N este par.
Astfel spus, atunci cnd nsumm (modulo doi) cele 2q secvene, n fiecare rang vom nsuma
un numr par de 1-uri care modulo doi este zero. Rezult c suma este elementul 00.......00.
6.5. Fie v = vn vn-1 .....v1 un vector oarecare cu coeficienii vi din cmpul GF(2q), i
fie vectorul V = Vn Vn-1 .....V1 avnd coeficienii definii prin relaia (TFD):
n
Vk = v i ik
k = 1, n
(6.5.1)
i =1
1 n
Vk -ik
n k =1
i = 1, n
(6.5.2)
i =1
k =1
( )
A = Vk - jk = v i (i- j)k = v i k
k =1
k =1 i =1
i- j
(6.5.3)
Dac i = j a doua sum din (6.5.3) este egal cu n. Dac i j atunci i-j este un element diferit de 1
din GF(2q), iar (i-j)k cu k de la 1 la n va genera toate elementele lui GF(2q) mai puin elementul nul.
Aadar pentru i j
n
(
( )
k
i- j)
= ak = 0
k =1
(6.5.4)
k =1
conform cu(6.4.1).
n concluzie:
n
i =1
i j
k =1
k =1
A = v i k (i- j) + v j 1 = nv j
(6.5.5)
1442443
0
94
Coduri RS
sau:
vj =
1
1 n
A = Vk - jk
n
n k =1
j = 1, n
(6.5.6)
v(x ) = v i x i1
, n = 2q 1
(6.6.1)
i =1
Vk = v i ik
( )
, GF 2 q
(6.6.2)
i =1
( )
i =1
i =1
0 = v r = v i (i-1)r = -r v i ir = -r V r
(6.6.3)
6.7. Pentru codul RS(7, 3, 2) definit la problema 6.2 calculai cuvintele de cod v1
i v2 corespunztoare informaiilor i1 = 1 7 4 i i2 = 3 4 1 precum i vectorii TFD
corespunztori.
Rspuns:
v1 = 1 7 4 1 6 6 7
v2 = 3 4 1 1 5 4 5
V1 = 4 4 7 0 0 0 0
V2 = 3 6 7 0 0 0 0
95
Coduri RS
6.8. S se calculeze TFD pentru vectorii:
v1 = 1 1 1 1 1 1 1
v4 = 1 0 0 0 0 0 0
v2 = 0 0 0 0 0 0 1
v5 = 1 6 54 3 2
v3 = 6 54 3 2 1
peste cmpul GF(23) generat de x3 + x + 1.
Rezolvare:
n
v1 = 1 1 1 1 1 1 1 V1k = V1j jk =
j =1
( k )
n
j =1
0 daca k 7 = n
=
1 daca k = 7
V1 = 1 0 0 0 0 0 0 0
n
v2 = 0 0 0 0 0 0 1 V2k = V2j jk = k
j =1
V2 = 1 6 54 3 2
n
j =1
j =1
j =1
0 daca k 6
v 3k = 6
daca k = 6
V3 = 0 6 0 0 0 0 0
7
v4 = 1 0 0 0 0 0 0 V4k = V4j jk = 7k = 1
j =1
V4 = 1 1 1 1 1 1 1
7
v5 = 1 6 54 3 2 V5k = V5j jk =
j =1
V5 = 0 1 0 0 0 0 0 0
96
0 daca k 6
jk + j = 1 daca k = 6
j =1
Coduri RS
Decodarea n frecven. Algoritmul Berlekamp-Massey
Descrierea teoretic a algoritmului decodrii
Ipoteze:
= i x i = (0 0 0 5 0 3 0)
(1)
(2)
(3)
(4)
(5)
i =0
(6)
TFD
Teorie: - Transformata Fourier Discret i
E k
n -1
( )
E k = i ik = k
i =0
n -1
k = 0, n - 1
1
E k -ik = E -i
i = 0, n - 1
n k =0
- polinomul erorii (x) = (xXi1 + 1) (xXi2 + 1) =
= 1 + 1x + 2x2
- locatorii erorilor Xi1, Xi2:
(Xi1-1) = 0 = (Xi2-1) Xi1 = i1, Xi2 = i2
- ecuaia erorilor: (x)E(x) = (x)(xk + 1)
datorit gradelor polinoamelor: (x) = ax + b
i =
( )
(7)
(8)
(9)
(10)
(11)
(12)
Obs: (11) se datoreaz: -j, cu j = i1, i2, e rdcin a lui (x), ec. (10)
-j, cu j i1, i2, e rdcin a lui E(x), ec. (8)(ej 0 doar pentru j = i1 i i2)
Soluionarea problemei:
- se identific coeficienii ecuaiei (11):
x0
E0 = b
1
x
E1 + 1E0 = a
x2
E2 + 1E1 + 2E0 = 0
x3
E3 + 1E2 + 2E1 = 0
x4
E4 + 1E3 + 2E2 = 0
x5
E5 + 1E4 + 2E3 = 0
x6
E6 + 1E5 + 2E4 = 0
x7
1E6 + 2E5 = b
8
x
2E6 = a
97
(13)
Coduri RS
- se afl coeficienii sindromului:
0
4
2
S 0 = w = + =
S = w 1 = 7 + 3 =
1
A S 2 = w 2 = 3 + 4 = 6 B.
S3 = w 3 = 6 + 5 =
S 4 = w 4 = 2 + 6 = 1
E 0 = S 0 =
= E1
E 1 = S1 =
6 = E
A E 2 = S2 =
2 B.
=
E
E 3 = S3 =
3
S 4 = 1 = E 4
- se afl coeficienii 1 i 2 din ec. (13)
x2
E2 + 1E1 + 2E0 = 0
3
x
E3 + 1E2 + 2E1 = 0 B
A
x4
E4 + 1E3 + 2E2 = 0
E 1E 2 + E 0 E 3
E 2 E 3 + E1E 4
1 = E 2 + E E = 1
1 = E 2 + E E = 1
1
0 2
2
1 3
A.
B.
2
2
= E 1 E 3 + E 2 = 4
= E 2 E 4 + E 3 = 4
2
2
E 12 + E 0 E 2
E 22 + E 1 E 3
- se afl poziiile eronate:
(x) = 4x2 + x + 1
cu metoda descompunerii n factori a lui (x):
(x) = 4x2 + (3 + )x + 1 = 3(x + 1)x + x + 1 =
= (3x + 1)(x + 1)
xi1-1 = 4 xi1 = 3 i1 = 3
xi2-1 = 6 xi2 = i2 = 1
cu metoda cutrii:
(0) = 4 + 1 + 1 = 4 0
() = 6 + + 1 = 4 0
(2) = + 2 + 1 = 5 0
(3) = 3 + 3 + 1 = 1 0
(4) = 5 + 4 + 1 = 0 poziie eronat i1 = 7 4 = 3
(5) = 1 + 5 + 1 = 5 0
(6) = 2 + 6 + 1 = 0 poziie eronat i2 = 7 6 = 1
- se afl valoarea caracterelor eronate v3 i v1.
Se calculeaz polinomul (x):
A.
b = E0 =
a = E1 + 1E0 = + = 0 (x) =
B.
b = E0 =1/2(E2 + 1E1) = (6 + )/4 =
a = E1 + 1E0 = E1 + 1b = 0 (x) =
Se deriveaz formal polinomul (x) = (3x + 1)(x + 1):
(x) = 3(x + 1) + (3x + 1) = 3 + = 1
(
(
(
(
(
)
)
)
)
)
98
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
Coduri RS
Se calculeaz coeficienii cuvntului eroare cu formula:
i -i
pentru i = i1 i i = i2
i =
' -i
( )
( )
(23)
Obs.: formula (23) se afl derivnd formal (11) i innd cont de (8) i de faptul c
( -i1) = 0 = ( -i2):
(x)E(x) + (x)E(x) = (x)(xn + 1) + nxn-1(x)
cu x = -i, i = i1 sau i = i2 ( -i) = 0 = ( -i)n + 1
iar (24)devine:
(-i)E(-i) = n-nii (-i)
de unde rezult (23).
3 = 3 /1= 4
1 = /1= 2
v3 = w3 + 3 = 4 + 4 = 0
v1 = w1 + 1 = 2 + 2 = 0
B (x ) E 0
-se calculeaz (x) i A(x):
0 (x ) E 0
' (x )
=
D
= =
1 0
A' (x )
A (x ) 0 0
-se calculeaz coeficientul L1:
L1 = max(L0, r L0) = max(0, 1) = 1
99
(24)
Coduri RS
pasul r = 2
- se calculeaz discrepana:
E(x):
E0 = E1 = E2 = 6
(x) = 1 + x = 1 + E0x: 2 = 0 1 = 0 = 1
2 = 0E1 + 1E0 = E1 + E02 = + 2 = 4 0
- se calculeaz coef.
E3 =
1 dac 2 0 i 2L1 1
2
0 n rest
2 = 0
-se calculeaz matricea D2:
2 x 1
1
D2 =
=
1
2 2 (1 2 )x 0
(E
+ E 02
x
)x = 1
4 x
1
-1 2 1
0
0
3 3 (1 3 )x E 2 + E 0 E 1
-se calculeaz (3)(x) i B(3)(x):
1 + E -10E 1 x 1 + E -10E 1 x + E -10 E 2 + E -10E12 x 2
(3) (x )
=
D
=
=
(3 )
3
-1
-1
-1 2 1
E
x
1
+
E
E
x
E
+
E
E
0
B (x )
0
1
2
0
1
1 + x + 4 x 2
= 2
2
+ x
-se calculeaz (3)(x) i A(3)(x):
E0
(3 ) (x )
E 0
(3 ) = D 3 =
-1 2
0 E 0 E 2 + E 0 E 1
B (x )
-se calculeaz coeficientul L3:
L3 = max(L2, 3 L2) = max(1, 2) = 2
100
)(
= 3
Coduri RS
pasul r = 4
- se calculeaz discrepana:
E(x): E0 =
E1 =
E2 = 6
E3 =
(3)
-1
-2
2 2
4 2
(x) = 1 + E0 E1x + E0 (E0E2 + E1 )x = 1 + x + x :
2(3) = E0-2(E0E2 + E12)
1(3) = E0-1E1
0(3) = 1
-1
-1
-2 3
-2 3
4 = E3 + E0 E1E2 + E0 E1E2 + E0 E1 = E3 + E0 E1 = 0
- se calculeaz coef. 4 = 0
- se calculeaz matricea D4:
1 E 3 + E -20 E13 x
D4 =
x
0
(4)
(4)
-se calculeaz (x) i B (x):
1 + E -10E 1 x + E -20 E 0 E 2 + E12 x 2
(4 ) (x )
=
(4 ) = D 4
2 1
-1
B (x )
E 0 E 0 E 2 + E1 1 + E 0 E1x
E1E 2 + E 0 E 3
E 22 + E 1 E 3 2
1
+
x
+
x
2
2
1 + x + 4 x 2
E
E
+
E
E
E
+
E
0
2
1
0
2
1
=
=
E0
E1
2 x + 2 x 2
2
x
+
x
E E + E2
E 0 E 2 + E 12
0 2
1
(
) (
E 02 E 3 + E13
E
+
x
E
0
0
2
( 4 ) (x )
E
E
+
E
2
0
2
1
= 3
E0
=
(4 ) = D
2
E0
2
A (x )
x
E 0 E 2 + E1
2
E 0 E 2 + E1
101
Coduri RS
Cazul B
g(x) = gB(x)
- se calculeaz coeficienii sindrom:
E1 = S1 =
E2 = S2 = 6
E3 = S3 =
E4 = S4 = 1
- se afl (x) i (x) prin aplicarea algoritmului B-M:
iniializare r = 0 (0)(x) = 1 (0)(x) = 0
L0 = 0
(0)
(0)
B (x) = 1
A (x) = 1
pasul r = 1
- se calculeaz discrepana:
E(x):
E1 = E2 = 6
(0)(x) = 1: 2(0) = 0 1(0) = 0 0(0) = 1
1 = E10(0) = 0
- se calculeaz coef.
1 dac 1 0 i 2L0 0 = r - 1
1
0 n rest
1 = 1
-se calculeaz matricea D1:
x 1 E 1 x 1 x
1
D1 = 1
=
=
(1 1 )x E1-1 0 6 0
1
E3 =
E4 = 1
1
x
2 2 (1 2 )x 0
0 x
102
E4 = 1
Coduri RS
-se calculeaz (2)(x) i A(2)(x):
( 2 ) (x )
E 1 x x
(2 ) = D 2
=
0 0
A (x )
-se calculeaz coeficientul L2:
L2 = max(L1, r L1) = max(1, 1) = 1
pasul r = 3
- se calculeaz discrepana 3:
E(x):
E1 =
E2 = 6
(2)(x) = 1 + E1-1E2x: 2(2) = 0
1(2) = E1-1E2 = 1
-1 2
2
3 = E3 + E1 E2 = 0
1 dac 3 0 i 2L2 r 1 = 2
- se calculeaz coef.
3
0 n rest
3 = 1
-se calculeaz matricea D3:
3x
1
E 3 + E 1-1E 22
1
D3 =
=
1
-1 2 1
0
3 3 (1 3 )x E 3 + E 1 E 2
E3 =
0(2) = 1
)x = 1
E4 = 1
2 x
1 + 5 x + x 2
=
5
3
+ x
-se calculeaz (3)(x) i A(3)(x):
E1 x
( 3 ) (x )
E 1 x
x
E 12 x = 6
=
(3 ) = D 3
0 E E + E 2 x
A (x )
2
3 1
-se calculeaz coeficientul L3:
L3 = max(L2, r L2) = max(1, 2) = 2
pasul r = 4
- se calculeaz discrepana 4:
E(x): E1 =
E2 = 6
E3 =
(3)
-1
-1
-1 2 2
(x) = 1 + E1 E2x + E1 (E3 + E1 E2 )x :
2(3) = E1-1(E3 + E1-1E22)
1(3) = E1-1E2
4 = E4 + E1-1E2E3 + E1-1E2(E3 + E1-1E22) = 6 0
- se calculeaz coef. .
1 dac 4 0 i 2L3 = 4 r 1 = 3
4
0 n rest
4 = 0
- se calculeaz matricea D4:
4 x 1 (E 4 + E 1-2 E 32 )x 1 6 x
1
D4 =
=
=
1
x
4 4 (1 4 )x 0
0 x
103
E4 = 1
0(3) = 1
Coduri RS
-se calculeaz (4)(x) i B(4)(x):
1 + E1-1E 2 x + E1-1 E 3 + E 1-1E 22 x 2
(4 ) (x )
=
D
=
(4 )
4
-1 2 1
-1
-1 2 1
B (x )
E 3 + E 1 E 2 + E1 E 2 E 3 + E1 E 2 x
E1 E 4 + E 2 E 3
E 32 + E 2 E 4 2
4 2
1
+
x
+
x
1 + x + x
=
=
E1 E 3 + E 22
E 1 E 3 + E 22
5 x + 3 x 2
(4)
(4)
E 12 E 4 + E 32
E
+
E
x
1
1
( 4 ) (x )
E 1 E 3 + E 22
2
(4 ) = D 4 E 1 x =
E 12
2
A (x )
x
E 1E 3 + E 2
2
E1 E 3 + E 2
Polinoamele (x) i (x) sunt:
(x ) = 4 (x ) = 1 + x + 4 x 2
x
5 2
= x + x
6
x
(x ) = 4 (x ) = x + 5 x 2
- se afl poziiile eronate ij prin metoda cutare:
(-i) = 0 i = 0, n-1
rezult (vezi ec. (19)): i1 = 3 i i2 = 1
- se afl valorile caracterelor eronate: v3 i v1.
- derivata formal a polinomului (x) este (vezi (22)):
(x) = 1
- coef. cuvntului eroare sunt (vezi (23) i (24)):
3 = 3(-3) /(-3) = 3(-2 +-1) = 3 = 4
1 = (-1) /(-1) = (1 +3) = = 2
- valorile caracterelor eronate sunt:
v3 = w3 + 3 = 0
v1 = w1 + 1 = 0
- se selecteaz caracterele de informaie:
- cuvntul de cod este v = 0 0 0 0 0 0 0
- cuvntul de informaie este i = 0 0 0
104
Coduri RS
Sinteza algoritmului Berlekamp-Massey
- se afl coeficienii sindrom Sj = Ej = w(j), j = p, p + 2t - 1
- se afl polinoamele (x) i (x)
- iniializare r = 0
(0)(x) = 1
(0)(x) = xp-1 L0 = 0
(0)
B (x) = 1
A(0)(x) = 0
- paii r = 1 r = 2t
pasul r
- se afl discrepana
- polinomul (r-1)(x) este (r-1)(x) = 0(r-1) + 1(r-1)x + 2(r-1)x2 + ... + M(r-1)xM
min ( r -1,M )
r =
r -1)
k
k =0
- se calculeaz coef. r
1 dac r 0 i 2Lr-1 r - 1
r =
0 n rest
- se calculeaz matricea Dr:
rx
1
D r = 1
r r (1 r )x
-se calculeaz (r)(x) i B(r)(x):
(r ) (x )
(r -1) (x )
=
D
(r )
r ( r -1)
B (x )
B (x )
-se calculeaz (r)(x) i A(r)(x):
( r ) (x )
( r -1) (x )
=
D
(r )
r ( r -1)
A (x )
A (x )
-se calculeaz coeficientul Lr:
Lr = max(Lr-1, r Lr-1)
- la pasul r = 2t polinoamele (x) i (x) sunt:
(x) = (2t)(x)
(x) = (2t)(x)
- se afl poziiile eronate cu ecuaia de cutare:
(-i) = 0 ij
- se calculeaz coeficienii cuvntului eroare sunt:
ij = ij(-ij) /(-ij)
- se afl cuvntul corect i se selecteaz caracterul de informaie.
105
CC
Definiii:
- cod sistematic = cod pentru care n secvena codat apare explicit secvena de intrare, codarea presupunnd doar
adugare de bii;
- cod nesistematic = cod pentru care secvena codat este doar o funcie implicit pentru secvena de intrare, codarea
presupunnd construcia unei secvene (secven codat v) n care nu se regsete explicit secvena de la
intrare;
- cod recursiv = cod la care codorul este un sistem cu reacie: informaia de la ieire se nsumeaz intrrii (sau intrrii
ntrziate);
- grup de bii = celul structural a secvenei codate, coninnd numr minim de bii i care prin periodicizare
genereaz ntreaga secven codat;
- diagrama de stare (a unui codor convoluional) = este un graf ale crui noduri sunt strile posibile ale codorului, iar
transmitanele sunt evoluiile posibile funcie de valorile intrrii (intrrilor);
- diagrama trellis = un graf ale crui noduri i transmitane sunt aceleai cu ale diagramei strilor, ns care prezint
evoluia codorului (decodorului) n timp;
- lungime de constrngere = maximul distanei (peste toi biii de control dintr-o grup), msurat n numr de
grupe, ntre prima i ultima grup (inclusiv) ce contribuie cu bii de informaie la formarea unui bit de control dintr-o
grup oarecare;
- memorie M = numrul maxim, peste toi biii de informaie dintr-o grup (toate intrrile unui codor), de ntrzieri pe
care le sufer un semnal de intrare din codor.
Notaii:
- m, k i n - numrul de bii de informaie, de control respectiv total dintr-o grup;
- v, w, - secvena codat (transmis), secvena recepionat i respectiv secvena eroare;
- il, cj - secvenele de informaie, respectiv de control, formate prin asocierea biilor de informaie cu
numrul l din fieacre grup i respectiv biilor de control numrul j din fiecare grup;
- il(x), l=1
m - polinoamele de informaie;
- cj(x), j=1
k - polinoamele de control;
- hl,j(x), l=1
m j=1
k - polinoamele generatoare;
- G(x) - matricea generatoare.
Breviar teoretic:
1 Codarea - codului convoluional presupune aflarea secvenei codate cunoscnd secvena de
informaie, parametrii codului n, m i k=n-m, precum i polinoamele generatoare sau
matricea generatoare.
a) metoda polinomial:
- se formeaz polinoamele de informaie i l (x ), l = 1, m , partiionnd secvena de
informaie n grupe de cte m bii i apoi regrupndu-i;
- se calculeaz polinoamele de control dup regula:
m
c j (x ) = i l (x )h lj (x )
j = 1, k
(7.1)
l =1
106
CC
b) metoda diagramei trellis:
- se scriu relaii de recuren pentru fiecare bit de control;
- se construiete codorul convoluional conform cu relaiile de recuren;
- se construiete diagrama de stare pentru codor;
- se constuiete diagrama trellis;
- se stabilete drumul prin trellis, de la starea "00...0", ctre starea "00...0"
corespunztor informaiei date;
- se citete de pe transmitanele drumului respectiv secvena codat v.
2 Decodarea codului convoluional presupune aflarea secvenei de informaie codat la emisie,
cunoscnd parametrii codului i secvena recepionat.
a) metoda diagramei trellis
- se construiete diagrama trellis pentru codul respectiv (prin algoritmul descris la
codare);
- se urmresc toate drumurile posibile pe trellis, calculnd distana Hamming ntre
secvena recepionat i respectivul drum;
- se elimin drumurile ce converg n acelai punct cu alt drum, dar de distan
Hamming mai mic. Procesul este secvenial i conduce la un singur drum supravieuitorul;
- de pe transmitanele ultimului drum rmas se citete secvena de informaie
presupus cea mai probabil a fi emis.
(7.1.2)
c)
107
(7.1.3)
CC
Obs.: n scriere polinomial fiecare grup va fi asociat cu un rang (grad), cel corespunztor
numrului de ordine al grupei. Din acest motiv numerotarea grupei s-a fcut de la 0 (zero ce
corespunde termenului liber).
d)
Eficiena codului este dat de raportul:
c =
m
n
(7.1.4)
cb = 75 %
cc = 50 %
(7.1.5)
Obs.: Codurile prezente sunt sistematice deoarece n structura lui v apar explicit biii de
informaie.
c(x)=i(x)h(x)
(7.2.1)
unde:
i(x ) = i 0 + i1x + i 2 x 2 + i 3 x 3 + K
c(x ) = c 0 + c1 x + c 2 x 2 + c 3 x 3 + K
(7.2.2)
(7.2.3)
i (x ) = 1 + x + x 2 + x 3 + x 7 + x 8
Cu h(x) precizat n fiecare caz rezult:
a)
c a (x ) = i(x )h a (x ) = 1 + x 4 + x 7 + x 9
108
CC
iar:
ca=1 0 0 0 1 0 0 1 0 1
(7.2.4)
v a = 11
{ 10
{
{ 10
{ 10
{ 01
{ 00
{ 00
{ 01
{ 10
{ 11
(7.2.5)
c b (x ) = i(x )h b (x ) = 1 + x + x 4 + x 5 + x 7 + x 8 + x 9 + x10
cb=1 1 0 0 1 1 0 1 1 1 1
v b = 11
{ 10
{ 01
{ 11
{ 01
{ 10
{ 11
{ 00
{ 01
{ 11
{ 01
{
(7.2.6)
(7.2.7)
c c (x ) = i(x )h c (x ) = 1 + x 2 + x 3 + x 5 + x 7 + x10
cc=1 0 1 1 0 1 0 1 0 0 1
v c = 11
{ 10
{ 11
{ 00
{ 10
{ 11
{ 01
{ 00
{ 11
{ 00
{ 01
{
(7.2.8)
(7.2.9)
b)
10
c)
10
i, j
i = 1, m
j = 1, k
(7.2.10)
n cazul de fa k=1=m (un singur polimom generator) astfel nct lungimile de constrngere vor fi:
a=2
b=c=3
(7.2.11)
(7.2.12)
Unde prin v se subnelege "bucata" din secvena codat aferent unei grupe. Idem pentru i. G este
o matrice cu dimensiunile mn, iar n cazurile concrete:
Ga=[1 1+x]
Gb=[1 1+x2]
Gb=[1 1+x+x2]
(7.2.13)
109
CC
i = i 01i 02 i 03i11i12 i13i 21i 22 i 23 = 111
{ 100
{ 011
{
0
(7.3.1)
(7.3.2)
= (1 + x ) + (1 + x ) 1 + x + x
2 2
)+ (1 + x )
= 1+ x + x + x
(7.3.3)
(7.3.4)
(7.3.5)
1 0 0 1 + x
2
G = 0 1 0 1 + x + x
0 0 1 1 + x 2
(7.3.6)
110
CC
a) Conform algoritmul de codare descris n problema 2 secvena de cod corespunztoare primului
cod este:
(7.4.1)
v1 = 11
{ 00
{ 01
{ 10
{ 00
{ 10
{ 11
{ 01
{
0
a 2 (x ) = a 02 + a 12 x + a 22 x 2 + K = i(x ) h 2 (x )
(7.4.3)
i (x ) = 1 + x 2 + x 4 + x 5
(11.4.4)
a (x ) = 1 + x + x 2 + x 3 + x 4 + x 6
1
a 2 (x ) = 1 + x 5 + x 6 + x 7
(7.4.5)
Cu:
rezult:
(7.4.6)
c( x ) = h ( x ) i ( x ) = 1 + x 2 i ( x ) = i ( x ) + x 2 i ( x )
(7.4.7)
(7.4.8)
i pe cel de control:
c(x ) = c 0 + c1x + c 2 x 2 + K + c j x j + K
(7.4.9)
(7.4.10)
c 0 = i 0
c = i
1 1
111
CC
Conform cu ec (7.1.1) i (7.4.10), o grup oarecare din v1 are forma:
v (j1) = i j i j + i j 2 dac j 2
dac j=0 sau j=1
= ij ij
[
[
(7.4.11)
a 2 j = i j + i j 2
de unde o grup oarecare din v2 are forma:
v (j2) = i j + i j 1 i j + i j 2 dac j 2
dac j=1
= i j + i j 1 i j
[
[
= [i j
ij
(7.14.13)
dac j=0
ij
ij-1
ij-2
ij
a1j
vj(1)
ij
cj
ij-1
ij-2
vj(2)
a2j
a)
b)
Figura 7.1. Codoare convoluional: a) sistematic: n=2, m=1, h(x)=1+x; b) nesistematic: n=2, m=1, h1(x)=1+x,
h2(x)=1+x2. (Blocul notat cu D reprezint o celul de ntrziere cu un tact.)
ij=1
ij-1=0
ij-2=1
ij=1
cj=0
vj(1)=10
Figura 7.2: Codorul convoluional sistematic n=2, k=1, h(x)=1+x, avnd intrarea ik=1 i starea Sk=01.
112
CC
Conform cu relaia (7.4.10) rezult pentru cj valoarea ij+ij-2=1+1=0, iar pentru vj(1) valoareadibit [ij cj]=10. La tactul j+1, valoarea ik=1 se va regsi la ieirea primei celule, ij-1=0 la ieirea celei
de-a doua, nct starea viitoare va fi Sj+1=10.
Urmnd acest raionament se pot gsi n toate variantele de intrare/stare actual ieirea ce
rezult i deasemenea starea viitoare:
stare actual
Sj=ij-1ij-2
00
intrare
ij
0
1
0
1
0
1
0
1
ieire
vj(1)= ijcj
00
11
00
11
01
10
01
10
10
01
11
stare viitoare
Sj+1=ijij-1
00
10
01
11
00
10
01
11
Tabelul 7.3. Corespondena intrare/stare-actual ieire/stare viitoare, n cazul codorului din figura 7.1.a).
1/11
1/10
10
01
0/00
1/11
0/01
11
1/10
Figura 7.4: Diagrama de stri aferent codorului din figura 7.1. a).
Cele patru stri sunt figurate prin 4 cerculee ce ncadreaz cele 4 perechi de bii
corespunztori. Din fiecare stare (cercule) pleac cte dou ramuri, ce corespund la cele dou
variante posibile ale bitului de intrare 0 i 1. Fiecare ramur (sgeat) este marcat prin trei valori
binare, prin care s-a precizat intrarea (primul bit) i ieirea (ultimii doi bii), conform tabelului 7.3.
Pe baza diagramei de stri se poate construi diagrama trellis. Spre deosebire de prima,
diagrama trellis ine cont de scurgerea timpului, fapt marcat prin ireversibilitatea drumurilor.
Diagrama trellis este prezentat n figura de mai jos:
113
CC
00
0/00
1/11
0/00
00
00
0/00
00
1/11
1/11
10
10
01
01
10
0/00
01
01
0/01
11
Tact:
11
11
01
01
11
01
0/01
11
11
1/10
1/10
1/10
0/00
01
01
1/11
0/01
0/01
11
1/10
10
1/10
1/11
1/11
0/01
0/01
0/01
0/00
0/00
1/11
10
1/10
1/10
0/00
00
1/11
0/01
10
1/10
1/11
1/11
1/11
10
0/00
00
1/11
0/01
10
0/00
0/00
00
1/11
0/01
1/10
0/00
00
1/11
0/01
1/10
0/00
0/00
00
1/11
0/01
10
0/00
11
1/10
11
1/10
Figura 7.5: Diagrama trellis aferent codorului din figura 7.1. a).
1/11
1/10
10
01
0/10
1/01
0/11
11
1/00
114
CC
0/00
00
1/11
0/00
00
0/00
00
1/11
1/11
0/00
00
1/11
0/01
10
10
10
1/10
01
10
01
11
Tact:
11
01
10
11
11
1/00
1/00
0/01
0/10
10
0/10
01
1/11
01
1/11
0/01
11
1/00
00
1/10
0/01
1/00
10
01
0/11
0/00
1/10
1/11
0/11
11
0/01
0/10
01
00
1/11
1/10
1/11
0/11
11
0/01
0/10
1/11
0/00
00
1/11
1/10
01
0/11
0/00
10
0/10
1/11
1/11
0/01
10
1/10
0/10
00
1/11
1/11
0/01
0/10
01
0/00
00
11
1/00
11
1/00
v 2 = 11
{ 10
{ 10
{ 01
{ 11
{ 10
{ 10
{ 01
{
0
(7.5.1)
i (x ) = 1 + x 3 + x 5
(7.5.2)
)(
care reprezint secvena format cu biii de pe poziia a doua din fiecare grup a lui V1 dat de
(7.5.1).
V2.
de unde:
a1 (x ) = h1 (x ) i(x ) = (1 + x ) 1 + x 3 + x 5 = 1 + x + x 3 + x 4 + x 5 + x 6
)(
a 2 (x ) = h 2 (x ) i(x ) = 1 + x 1 + x + x 5 = 1 + x 2 + x 3 + x 7
a1=1 1 0 1 1 1 1 0
a2=1 0 1 1 0 0 0 1
care formeaz pe V2 dat de relaia (7.5.1).
(7.5.4)
(7.5.5)
115
CC
ij
vj(1)
ij
a)
vj(2)
b)
Figura 7.9. Codoare convoluionale
- c =
116
CC
Matricea generatoare se poate afla scriind "funcia de transfer" intrare-ieire pentru fiecare pereche
de bii (unul de intrare i unul de ieire):
- primul cod:
V j(1) = a j1 a j2 ; a j1 = i j + i j 1 + i j 2
a j2 = i j + i j 2
de unde:
h 1 (x ) = 1 + x + x 2
h 2 (x ) = 1 + x
(7.6.1)
(7.6.2)
c j = w j + w j 2
w j = i j + w j 1 + w j 2
(7.6.3)
G1(x ) = 1 + x + x 2 1 + x 2
- al doilea cod:
v (j2) = i j
cj
j
j
2
j 2
c j x = w j x + x w j 2 x
j= 0
j= 0
j= 2
w xj =
i j x j + x w j 1x j 1 + x 2 w j 2 x j 2
j= 0
j =1
j= 2
j= 0
(7.6.4)
w (x ) = i(x ) + xw (x ) + x 2 w (x )
(7.6.5)
Dup eliminarea lui w(x) din ecuaiile sistemului (7.6.5) rezult funcia de transfer cutat.
c( x ) =
1+ x2
1+ x + x2
i(x )
(7.6.6)
1+ x2
G 2 (x ) = 1
1 + x + x 2
(7.6.7)
(7.6.8)
117
CC
v1 (x ) = [a 1 (x ) a 2 (x )] = i(x )G1 (x )
[(
)(
= [1 + x + x + x
= 1 + x + x2 1+ x 2 + x5
3
sau:
) (1 + x 2 )(1 + x 2 + x 5 )]
+ x5 + x6 + x7 1+ x4 + x5 + x7
(7.6.9)
]
(7.6.10)
v1 = 11
{ 10
{ 11
{ 10
{
{ 00
{ 10
{ 11
{ 11
0
(
1 + x 2 + x 5 ) =
1+ x + x2
1 + x 4 + x5 + x7
1+ x + x2
= 1 + x 2 + x 5
1+ x2
)(
(7.6.11)
1+ x4 + x5 + x7
1+ x + x2
= 1+ x +
x + x 2 + x 4 + x5 + x7
= 1+
1+ x + x2
x3 + x 4 + x5 + x7
= 1 + x + x3 +
1+ x + x2
= 1+ x + x3 + x7 +
x8 + x 9
1+ x + x2
= 1 + x + x3 + x 7 + x8 +
x7
1+ x + x2
(7.6.12)
x10
1+ x + x2
=K
Se observ c, de la rangul 7 n sus, c(x) conine toi termenii mai puin cei de rang multiplu de trei.
De remarcat, deasemenea, c c(x) are un numr infinit de termeni, lucru caracteristic codurilor
recursive. Rezult, nlocuind n (7.6.11):
sau:
(7.6.13)
v 2 = 11
{ 01
{ 10
{ 01
{ 00
{ 10
{ 00
{ 01
{ 01
{ 00
{ 01
{ 01
{ 00
{ 01
{K
(7.6.14)
10 11 12 13
CC
c) w3=C871H;
utiliznd algoritmul de decodare Viterbi.
Rezolvare:
(7.7.1)
La tactul 0 conform diagramei din figura 7.5 exist dou drumuri ce pleac din starea "00"
ctre "00" respectiv "10" (vezi figura 7.10).
1
00
0/00
00
1/11
1
10
10
01
01
11
(7.7.12)
11
119
CC
1
0/00
00
00
0/00
1/11
1/11
10
00
10
10
0/00
3
01
01
01
1/11
1
11
11
TACT
W1=
11
0
10
1
11
1
00
0/00
0/00
00
3
0/00
00
0/01
0/00
01
11
11
TACT: 0
W1=
10
1/10
01
1/11
10
0/00
10
0/00
00
00
1/11
1/11
10
10
4
0/01
10
0/00
1
a)
01
1/11
01
01
0/01
11
1/10
11
2
01
11
TACT: 0
W1=
10
01
1/11
1
11
01
1/11
1
11
00
1/11
4
10
10
01
00
1/11
1
1
10
00
1/11
1/11
1
0/00
0/01
11
1
11
b)
2
11
2
01
Figura 7.12. Poriunea din diagrama trellis corespunztoare tactelor 0, 1 i 2 i primele trei grupe de bii recepionai
din w: a) nainte de eliminare; b) dup eliminarea drumurilor de pondere mai mare.
3
1
00
0/00
00
0/00
00
1/11
1/11
10
10
01
01
TACT:
01
1/11
0/01
2
11
00
0/01
3
10
0/00
01
11
10
1
11
0/01
1
0/00
1/11
1/11
11
0/00
00
1/11
1
10
1/10
1/11
2
01
0/01
1/10
4
11
120
a)
CC
0/00
00
00
00
00
00
1
10
01
01
10
10
01
10
11
01
0/01
1/10
b)
01
0/01
11
TACT: 0
W1=
10
10
01
1
11
3
0/01
1/11
1/11
11
W1=
1/11
1/11
10
01
11
1
11
4
11
1/10
2
01
3
01
Figura 7.13. Diagrama trellis corespunztoare tactelor 0, 1, 2 i 3 i primele 4 grupe de bii recepionai
din w: a) nainte de eliminare; b) dup eliminarea drumurilor de pondere mai mare.
Eliminarea ambelor ramuri ce pleac dintr-un punct din trellis (celul, stare), conduce
automat la eliminarea ramurilor ce ajung n respectivul punct. n acest fel, pe vreme ce se
recepioneaz grupe de bii din w, i se nainteaz n trellis, drumurile ce pleac de la punctul iniial
se mpuineaz pn rmne unul singur, numit supravieuitorul. n figura 7.14 este prezentat
algoritmul decodrii pentru paii 4, 5, 6 i 7.
00
0/00
00
00
00
00
1/11
1/11
1
10
00
1/11
4
1
10
10
3
0/00
10
3
0/01
10
1
0/01
10
0/00
3
01
01
01
TACT: 0
W1=
10
11
1/10
01
0/01
11
1
11
5
01
1/11
2
11
2
01
1/10
01
1/11
1/11
11
0/01
1/10
4
11
3
01
0/01
1/10
11
4
11
121
a)
CC
1
00
00
00
00
00
3
0/00
5
0/00
00
1/11
1/11
10
10
10
10
01
01
0/01
1/11
1
10
3
0/01
10
01
01
01
11
0/01
1
11
11
11
11
3
01
0/01
1/10
11
3
0/00
00
00
5
0/00
00
10
0/01
10
10
01
01
01
10
10
3
01
5
0/01
10
0/00
01
01
11
11
TACT: 0
W1=
10
11
1
11
11
11
11
11
2
01
00
00
3
01
4
11
00
5
11
00
10
10
10
10
10
0/01
0/00
1/11
01
6
01
00
0/01
10
01
1
01
01
11
TACT: 0
W1=
10
11
11
01
01
0/01
10
1/10
01
11
11
1/11
11
1/10
1/10
3
11
3
01
0/01
1/10
1
2
3
4
5
6
7
11
01
01
11
11
01
01
Figura 7.14. Diagrama trellis corespunztoare tactelor a) 04; b) 05; c) 06; d) 07.
122
10
0/00
1
01
0/01
00
3
0/01
1/11
1
11
1
0/00
1/11
1
3
11
1/10
1/11
1
0/01
00
00
1/11
10
01
1/11
c)
01
1
00
1/10
1/11
0/01
10
0/00
3
1/11
1
00
1/11
1/11
4
0/00
00
1/11
1
b)
5
11
1/11
10
01
4
11
00
00
00
2
01
1/11
11
TACT: 0
W1=
10
1/10
01
1/11
11
0/00
5
1/11
1
10
0/00
2
1/10
00
5
11
d)
CC
Dintre variantele de drum rmase rmne de ales cel care sfrete n starea 00, deoarece la
codare aceast stare este prima i ultima. Astfel secvena corectat este:
v = 11
{ 11
{ 01
{ 11
{ 01
{ 01
{ 11
{ 01
{
0
(7.7.3)
(7.7.4)
(7.7.5)
(7.7.6)
(11.7.7)
(7.7.8)
(7.7.9)
123
00
0/00
00
00
0/00
10
01
01
0/01
Tact:
w2:
v2:
i2:
124
0
10
11
1
11
1
10
00
0
1/10
2
01
01
0
0/00
10
0/00
11
0/01
1/10
3
11
11
1
1/10
0/01
1/11
11
0/01
1/10
4
11
11
1
1/11
11
1/10
5
10
10
1
11
0/01
0/00
01
1/10
01
0/01
1/11
1/10
10
0/00
1/11
00
1/10
01
0/01
0/00
1/11
10
0/00
1/11
10
01
00
0/01
1/10
0/00
1/11
01
00
1/11
0/01
0/00
1/11
10
00
1/10
0/00
0/00
1/11
0/01
1/10
01
11
10
00
1/11
0/01
0/00
11
0/00
10
01
00
1/11
1/11
1/11
10
0/00
11
6
01
01
(0)
Figura 7.15. Utilizarea diagramei trellis n cazul decodrii secvenei w2=A7E5H.
0/01
1/10
7
01
01
(0)
1/11
11
0/00
00
00
00
1/11
1/11
10
0/00
0/00
1/11
10
10
01
01
Tact:
w3:
v3:
i3:
125
0
11
11
1
11
1
00
00
0
0/01
1/10
01
0/01
1/10
2
10
10
1
10
1/10
0/00
0/00
0/01
11
1/10
3
00
00
0
10
1/10
0/00
0/01
01
11
1/10
4
01
01
0
10
0/01
10
1/10
01
1/11
11
0/01
1/10
5
11
11
1
0/00
00
1/11
1/10
0/00
00
0/01
0/00
10
1/10
0/00
01
0/01
0/00
1/11
1/11
00
1/11
01
0/01
0/00
1/11
00
1/11
1/11
11
10
00
0/00
11
0/00
1/11
0/01
0/00
01
00
01
1/11
11
0/01
1/10
6
00
00
(0)
1/11
11
0/01
1/10
7
01
01
(0)
Figura 7.16. Utilizarea diagramei trellis n cazul decodrii secvenei w3=C871H.
1/11
11