4. adaptarea fluxului de date la canalul de ...stud.usv.ro/~nitco/anii/rlc/rc_c4.pdfcapitolul 4....

52
Capitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 169 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE COMUNICAłIE Transmiterea informaŃiilor prin sistemele de comunicaŃii de date este limitată ca performanŃe (volum, viteză) de mai mulŃi factori, printre care puterea semnalului emis, nivelul de zgomot sau lăŃimea de bandă disponibilă. În acest context se pune problema de a găsi metode care să permită vehicularea unui conŃinut informaŃional util cât mai apropiat de capacitatea maximă de transfer a unui canal de comunicaŃie. În scopul atingerii acestui deziderat secvenŃa binară de date ce urmează a fi transmisă este transpusă în forme de undă adecvate pentru un anumit canal de comunicaŃie. Conversiile avute în vedere se pot aplica atât la nivelul succesiunii de biŃi de la intrarea canalului (codare, compresie), cât şi la nivelul asocierii biŃilor cu forme de undă pentru transport (modulaŃie, codare). Având în vedere natura mediilor de comunicaŃie utilizate rezultă că întotdeauna biŃii trebuie asociaŃi cu parametri ai unor semnale acceptate de canalul de comunicaŃie. În plus, forma de undă purtătoare de informaŃie trebuie adaptată la canalul de comunicaŃie disponibil. Asocierea directă între valori binare şi nivele de tensiune generează o primă posibilitate de transport a informaŃiei numită comunicaŃie în banda de bază. În general, atunci când spectrul semnalului transmis nu suferă modificări vom vorbi despre transmisiuni în banda de bază. Când forma de undă care codifică fluxul de biŃi este înlocuită cu o alta, determinând translatarea spectrului de frecvenŃe iniŃial ocupat de semnal, vorbim de modulaŃia semnalului. Procedura inversă, necesară la recepŃie, se numeşte demodulare. În transmisiunile de date semnalul modulator este un semnal digital, iar modulaŃia devine una particulară (FSK, ASK, PSK), diferită de cea analogică (MF, MA, MP) prin faptul că semnalul ce trebuie transportat poate avea doar valori discrete.

Upload: others

Post on 06-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

169

4 ADAPTAREA FLUXULUI DE DATE LA CANALUL DE COMUNICAłIE Transmiterea informaŃiilor prin sistemele de comunicaŃii de date este limitată ca performanŃe (volum viteză) de mai mulŃi factori printre care puterea semnalului emis nivelul de zgomot sau lăŃimea de bandă disponibilă Icircn acest context se pune problema de a găsi metode care să permită vehicularea unui conŃinut informaŃional util cacirct mai apropiat de capacitatea maximă de transfer a unui canal de comunicaŃie Icircn scopul atingerii acestui deziderat secvenŃa binară de date ce urmează a fi transmisă este transpusă icircn forme de undă adecvate pentru un anumit canal de comunicaŃie Conversiile avute icircn vedere se pot aplica atacirct la nivelul succesiunii de biŃi de la intrarea canalului (codare compresie) cacirct şi la nivelul asocierii biŃilor cu forme de undă pentru transport (modulaŃie codare) Avacircnd icircn vedere natura mediilor de comunicaŃie utilizate rezultă că icircntotdeauna biŃii trebuie asociaŃi cu parametri ai unor semnale acceptate de canalul de comunicaŃie Icircn plus forma de undă purtătoare de informaŃie trebuie adaptată la canalul de comunicaŃie disponibil Asocierea directă icircntre valori binare şi nivele de tensiune generează o primă posibilitate de transport a informaŃiei numită comunicaŃie icircn banda de bază Icircn general atunci cacircnd spectrul semnalului transmis nu suferă modificări vom vorbi despre transmisiuni icircn banda de bază Cacircnd forma de undă care codifică fluxul de biŃi este icircnlocuită cu o alta determinacircnd translatarea spectrului de frecvenŃe iniŃial ocupat de semnal vorbim de modulaŃia semnalului Procedura inversă necesară la recepŃie se numeşte demodulare Icircn transmisiunile de date semnalul modulator este un semnal digital iar modulaŃia devine una particulară (FSK ASK PSK) diferită de cea analogică (MF MA MP) prin faptul că semnalul ce trebuie transportat poate avea doar valori discrete

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

170

Schema bloc a unui sistem de transmisiuni de date cu modulaŃie este prezentată icircn figura 41

Filtrul trece-bandă de la emisie are rolul de a elimina componentele spectrale ale semnalului situate icircn afara benzii de trecere a canalului de transmisie Din acest motiv forma de undă y(t) generată de blocul de modulare suferă o limitare a benzii ceea ce determină apariŃia de distorsiuni de atenuare şi fază

Filtrul trece-bandă de la recepŃie maximizează raportul semnal-zgomot eliminacircnd zgomotele şi interferenŃele din afara benzii de trecere Forma caracteristicii filtrului poate compensa parŃial distorsiunile de atenuare Demodulatorul realizează conversia semnalului modulat icircn semnal icircn bandă de bază funcŃia sa depinzacircnd de modulaŃia utilizată Filtrul trece-jos de după detecŃie are rolul de a separa semnalul icircn bandă de bază Circuitul de sondare şi decizie permite recuperarea secvenŃei de date din semnalul obŃinut după filtrare

La nivelul comunicaŃiilor de date creşterea eficienŃei unei transmisii se poate

realiza uneori prin icircnlocuirea secvenŃei de biŃi ce trebuie transportată cu o altă secvenŃă care vehiculează icircnsă aceiaşi informaŃie dar care oferă diverse avantaje imunitate crescută la perturbaŃii timp de transmisie mai redus utilizare mai eficientă a capacităŃii de transport facilităŃi de extragere a tactului de transmisie eliminarea componentei de curent continuu etc O astfel de procedură se numeşte codare (respectiv decodare la recepŃie) Atacirct modulaŃia cacirct şi codarea sunt metode de adaptare a informaŃiei transportate la canalul de comunicaŃie icircn scopul unei transmisii cacirct mai eficiente

Receptor

FTJ FTB

FTB FTJ Decizie Demodulator A

N

S

Date

Modulator

Canal de comunicaŃie

EmiŃător

Generator Date

Zgomot

Figura 41 Schema bloc a unui sistem de transmisiuni de date cu modulaŃie

P Purtătoare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

171

41 Modularea şi demodularea semnalelor folosind purtătoare analogică

ModulaŃia poate fi definită icircn general ca o modificare a caracteristicilor unui semnal purtător după o anumită regulă icircn funcŃie de un alt semnal semnal modulator Semnalul purtător este de obicei un semnal de o anumită frecvenŃă care satisface cerinŃele de propagare pe un canal de comunicaŃie Semnalul care conŃine informaŃia şi care modulează semnalul purtător se numeşte aşa cum s-a arătat semnal icircn bandă de bază

Deoarece icircn cazul transmisiunilor binare icircn banda de bază şirul serial de biŃi determină generarea unei succesiuni de forme de undă ponderate cu valorile de bit este convenabil să se exprime semnalul obŃinut printr-o expresie particulară care pune icircn evidenŃă forma de undă folosită pentru semnalizare ca sumă de valori discrete ale aceluiaşi semnal decalat icircn timp

x t a s t kTk( ) ( )= sdot minusminusinfin

+infin

sum (41)

unde s(t) este forma de undă folosită pentru semnalizare de obicei impuls rectangular iar ak succesiunea de biŃi ce se transmite avacircnd valorile bdquo0rdquo sau bdquo1rdquo Pentru a pune icircn evidenŃă relaŃiile dintre valorile biŃilor de informaŃie şi frecvenŃele f1 şi f2 se poate defini un factor de ponderare bipolară bk

b ak k= minus2 1 (42) Se observa că dacă ak ia valori unipolare 0 şi 1 bk

ia valorile bipolare plusmn1 iar semnalul capătă forma echivalentă

x t b s t kTk( ) ( )= sdot minusminusinfin

+infin

sum (43)

ceea ce evidenŃiază posibilitatea reprezentării bipolare numită uneori şi codare dublu-curent

Forma de undă s(t) folosită pentru semnalizare este cea care determină proprietăŃile de propagare pe un anumit canal de comunicaŃie Dacă s(t) este un impuls rectangular la trecerea acestuia printr-un canal de bandă limitată forma de undă va fi distorsionată (vezi capitolul 13) generacircnd interferenŃe intersimbol Dacă forma de undă este sinusoidală avacircnd frecvenŃa icircn interiorul benzii de trecere atunci aceasta se va transmite fără distorsionare

Pentru a adapta spectrul semnalului transmis la canalul de comunicaŃie disponibil se utilizează diverse tehnici de modulaŃie cele mai importante fiind descrise icircn continuare 411 ModulaŃia icircn frecvenŃă Icircn cazul transmisiunilor de date modulaŃia icircn frecvenŃă constă icircn alocarea unor anumite frecvenŃe biŃilor sau grupurilor de biŃi situaŃie icircn care semnalul modulat

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

172

are valori discrete pentru frecvenŃă De aceea modulaŃia se numeşte cu deplasare sau cu comutare de frecvenŃă FSK - Frequency Shift Keying

ModulaŃia FSK este printre cele mai răspacircndite datorită simplităŃii de obŃinere a semnalului modulat şi metodelor accesibile de demodulare Ea este folosită icircn principal icircn transmisiunile de date de mică viteză Datorită caracterului neliniar bandă de frecvenŃă ocupată de semnalul FSK este mai mare decacirct a semnalului modulator icircn banda de bază Din acest motiv FSK se utilizează pe canalele de comunicaŃie unde nu se pune problema folosirii eficiente a benzii de frecvenŃă ci problema icircncadrării icircntr-o anumită fereastră de frecvenŃă Echipamentele de modularedemodulare FSK sunt de complexitate medie Amplitudinea semnalului modulat fiind constantă puterea semnalului poate fi uşor controlată ceea ce face această modulaŃie utilizabilă icircn primul racircnd acolo unde este necesară limitarea puterii semnalului (la echipamente portabile alimentate din baterii locale) Icircn cazul unui semnal digital binar modulaŃia FSK asociază bitului 1 o frecvenŃă f1 şi bitului 0 o frecvenŃă 0f Icircn aceste condiŃii se definesc

- frecvenŃa purtătoare sau frecvenŃa medie pf

2

01 fff p

+= (44)

- deviaŃia de frecvenŃă ∆ f

2

01 fff

minus=∆ (45)

∆ f fiind valoarea cu care variază pf pentru a fi egală cu f1 şi 0f

- indicele de modulaŃie m

mf

fbit

=2∆

(46)

unde fbit = 1T este viteza de transmisie a datelor binare (debit binar)

Deoarece frecvenŃa purtătoare variază icircn jurul valorii centrale pf cu plusmn∆ f

icircnseamnă că

0

1

fff

fff

p

p

=∆+

=∆minus (47)

Semnalul y tFSK ( ) de la ieşirea modulatorului FSK este de forma

])(cos[)( 10 ττθω dxktAty pFSK ++sdot= (48)

PulsaŃia instantanee a semnalului este derivata icircn domeniul timp a

argumentului funcŃiei cosinus

)()( 1 txkt p sdot+=ωω (49)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

173

Icircn relaŃia (48) A este amplitudinea purtătoarei ωp = 2πfp este pulsaŃia purtătoarei θ0 este faza iniŃială iar k1 este un factor de conversie pentru semnalul modulator x(t)

Particularizacircnd relaŃia (48) pentru FSK prin discretizare se poate considera că pulsaŃia ω(t) = ωn pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit) Dacă g(t) este forma de undă folosită pentru semnalizare atunci semnalul modulat FSK poate fi exprimat şi sub forma echivalentă

sum +sdotminussdot=n

nFSK tnTtgAty )cos()()( 0θω (410)

sau icircn forma simplificată

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacătfA

tgdacătfAty

n

n

FSK π

π (411)

ModulaŃia de frecvenŃă descrisă poate fi o modulaŃie binară cu două valori

posibile pentru parametrul modulat nf (respectiv nω ) sau o modulaŃie multinivel cu

M m= 2 valori posibile pentru parametrul modulat caz icircn care valorile frecvenŃei sunt echidistante Deoarece x(t) este semnalul modulator care poate lua doar două valori corespunzător simbolurilor bdquo1rdquo si bdquo0rdquo transmise se poate considera situaŃia transmisiei bipolare astfel icircncacirct x(t) = plusmn1 Divizacircnd cu 2π expresia (49) rezultă situaŃiile

πππ 2

2

2

111

10

kf

kff

kff pp =∆rArrminus=+= (412)

1 0 1 1 0 1 0

f1 f0 f1

f1

f0

f1

f0

t

t

Figura 42 Forme de undă specifice modulaŃiei FSK

SecvenŃă date

Semnal modulat

FSK

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

174

Dacă de exemplu frecvenŃa purtătoare este de 1700 Hz şi este modulată cu plusmn 500Hz se obŃine 1200 Hz pentru 1 şi 2200 Hz pentru 0 La recepŃie se poate utiliza un circuit de limitare urmat de un circuit de numărare a trecerilor prin zero ale semnalului recepŃionat icircn funcŃie de această valoare generacircndu-se o formă de undă rectangulară

Icircn figura 42 este prezentat un semnal modulat FSK 412 ModulaŃia de fază

ModulaŃia de fază numită icircn cazul transmisiunilor de date şi modulaŃie cu comutarea fazei sau cu deplasare de fază PSK - Phase Shift Keying asigură o utilizare mai eficientă a benzii de frecvenŃe dar necesită un echipament mai complex spre deosebire de FSK ModulaŃia de fază este recomandată pentru transmisiuni de date pe canalele de comunicaŃie unde fenomenul de alunecare a fazei (jitter de fază) este redus sau controlabil (constant) Parametrul modulat al semnalului purtător este faza care se modifică prin salt la intervale de timp egale Icircn figura 43 este exemplificată evoluŃia icircn timp a fazei unui semnal PSK cu mai multe nivele

Semnalul PSK poate fi exprimat astfel

)]([cos)( ttAty pPSK Φ+sdot= ω (413)

unde faza Φ Φ( )t n= pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit)

Semnalul modulat PSK poate fi exprimat şi altfel

sum Φ+sdotminussdot=n

npPSK tnTtgAty )cos()()( ω (414)

tT

)(ttp Φ+ω

π2

π

3π2

-π2

0 1 2 3 4

6 7

5

Figura 43 EvoluŃia fazei unui semnal PSK cu mai multe nivele

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 2: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

170

Schema bloc a unui sistem de transmisiuni de date cu modulaŃie este prezentată icircn figura 41

Filtrul trece-bandă de la emisie are rolul de a elimina componentele spectrale ale semnalului situate icircn afara benzii de trecere a canalului de transmisie Din acest motiv forma de undă y(t) generată de blocul de modulare suferă o limitare a benzii ceea ce determină apariŃia de distorsiuni de atenuare şi fază

Filtrul trece-bandă de la recepŃie maximizează raportul semnal-zgomot eliminacircnd zgomotele şi interferenŃele din afara benzii de trecere Forma caracteristicii filtrului poate compensa parŃial distorsiunile de atenuare Demodulatorul realizează conversia semnalului modulat icircn semnal icircn bandă de bază funcŃia sa depinzacircnd de modulaŃia utilizată Filtrul trece-jos de după detecŃie are rolul de a separa semnalul icircn bandă de bază Circuitul de sondare şi decizie permite recuperarea secvenŃei de date din semnalul obŃinut după filtrare

La nivelul comunicaŃiilor de date creşterea eficienŃei unei transmisii se poate

realiza uneori prin icircnlocuirea secvenŃei de biŃi ce trebuie transportată cu o altă secvenŃă care vehiculează icircnsă aceiaşi informaŃie dar care oferă diverse avantaje imunitate crescută la perturbaŃii timp de transmisie mai redus utilizare mai eficientă a capacităŃii de transport facilităŃi de extragere a tactului de transmisie eliminarea componentei de curent continuu etc O astfel de procedură se numeşte codare (respectiv decodare la recepŃie) Atacirct modulaŃia cacirct şi codarea sunt metode de adaptare a informaŃiei transportate la canalul de comunicaŃie icircn scopul unei transmisii cacirct mai eficiente

Receptor

FTJ FTB

FTB FTJ Decizie Demodulator A

N

S

Date

Modulator

Canal de comunicaŃie

EmiŃător

Generator Date

Zgomot

Figura 41 Schema bloc a unui sistem de transmisiuni de date cu modulaŃie

P Purtătoare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

171

41 Modularea şi demodularea semnalelor folosind purtătoare analogică

ModulaŃia poate fi definită icircn general ca o modificare a caracteristicilor unui semnal purtător după o anumită regulă icircn funcŃie de un alt semnal semnal modulator Semnalul purtător este de obicei un semnal de o anumită frecvenŃă care satisface cerinŃele de propagare pe un canal de comunicaŃie Semnalul care conŃine informaŃia şi care modulează semnalul purtător se numeşte aşa cum s-a arătat semnal icircn bandă de bază

Deoarece icircn cazul transmisiunilor binare icircn banda de bază şirul serial de biŃi determină generarea unei succesiuni de forme de undă ponderate cu valorile de bit este convenabil să se exprime semnalul obŃinut printr-o expresie particulară care pune icircn evidenŃă forma de undă folosită pentru semnalizare ca sumă de valori discrete ale aceluiaşi semnal decalat icircn timp

x t a s t kTk( ) ( )= sdot minusminusinfin

+infin

sum (41)

unde s(t) este forma de undă folosită pentru semnalizare de obicei impuls rectangular iar ak succesiunea de biŃi ce se transmite avacircnd valorile bdquo0rdquo sau bdquo1rdquo Pentru a pune icircn evidenŃă relaŃiile dintre valorile biŃilor de informaŃie şi frecvenŃele f1 şi f2 se poate defini un factor de ponderare bipolară bk

b ak k= minus2 1 (42) Se observa că dacă ak ia valori unipolare 0 şi 1 bk

ia valorile bipolare plusmn1 iar semnalul capătă forma echivalentă

x t b s t kTk( ) ( )= sdot minusminusinfin

+infin

sum (43)

ceea ce evidenŃiază posibilitatea reprezentării bipolare numită uneori şi codare dublu-curent

Forma de undă s(t) folosită pentru semnalizare este cea care determină proprietăŃile de propagare pe un anumit canal de comunicaŃie Dacă s(t) este un impuls rectangular la trecerea acestuia printr-un canal de bandă limitată forma de undă va fi distorsionată (vezi capitolul 13) generacircnd interferenŃe intersimbol Dacă forma de undă este sinusoidală avacircnd frecvenŃa icircn interiorul benzii de trecere atunci aceasta se va transmite fără distorsionare

Pentru a adapta spectrul semnalului transmis la canalul de comunicaŃie disponibil se utilizează diverse tehnici de modulaŃie cele mai importante fiind descrise icircn continuare 411 ModulaŃia icircn frecvenŃă Icircn cazul transmisiunilor de date modulaŃia icircn frecvenŃă constă icircn alocarea unor anumite frecvenŃe biŃilor sau grupurilor de biŃi situaŃie icircn care semnalul modulat

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

172

are valori discrete pentru frecvenŃă De aceea modulaŃia se numeşte cu deplasare sau cu comutare de frecvenŃă FSK - Frequency Shift Keying

ModulaŃia FSK este printre cele mai răspacircndite datorită simplităŃii de obŃinere a semnalului modulat şi metodelor accesibile de demodulare Ea este folosită icircn principal icircn transmisiunile de date de mică viteză Datorită caracterului neliniar bandă de frecvenŃă ocupată de semnalul FSK este mai mare decacirct a semnalului modulator icircn banda de bază Din acest motiv FSK se utilizează pe canalele de comunicaŃie unde nu se pune problema folosirii eficiente a benzii de frecvenŃă ci problema icircncadrării icircntr-o anumită fereastră de frecvenŃă Echipamentele de modularedemodulare FSK sunt de complexitate medie Amplitudinea semnalului modulat fiind constantă puterea semnalului poate fi uşor controlată ceea ce face această modulaŃie utilizabilă icircn primul racircnd acolo unde este necesară limitarea puterii semnalului (la echipamente portabile alimentate din baterii locale) Icircn cazul unui semnal digital binar modulaŃia FSK asociază bitului 1 o frecvenŃă f1 şi bitului 0 o frecvenŃă 0f Icircn aceste condiŃii se definesc

- frecvenŃa purtătoare sau frecvenŃa medie pf

2

01 fff p

+= (44)

- deviaŃia de frecvenŃă ∆ f

2

01 fff

minus=∆ (45)

∆ f fiind valoarea cu care variază pf pentru a fi egală cu f1 şi 0f

- indicele de modulaŃie m

mf

fbit

=2∆

(46)

unde fbit = 1T este viteza de transmisie a datelor binare (debit binar)

Deoarece frecvenŃa purtătoare variază icircn jurul valorii centrale pf cu plusmn∆ f

icircnseamnă că

0

1

fff

fff

p

p

=∆+

=∆minus (47)

Semnalul y tFSK ( ) de la ieşirea modulatorului FSK este de forma

])(cos[)( 10 ττθω dxktAty pFSK ++sdot= (48)

PulsaŃia instantanee a semnalului este derivata icircn domeniul timp a

argumentului funcŃiei cosinus

)()( 1 txkt p sdot+=ωω (49)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

173

Icircn relaŃia (48) A este amplitudinea purtătoarei ωp = 2πfp este pulsaŃia purtătoarei θ0 este faza iniŃială iar k1 este un factor de conversie pentru semnalul modulator x(t)

Particularizacircnd relaŃia (48) pentru FSK prin discretizare se poate considera că pulsaŃia ω(t) = ωn pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit) Dacă g(t) este forma de undă folosită pentru semnalizare atunci semnalul modulat FSK poate fi exprimat şi sub forma echivalentă

sum +sdotminussdot=n

nFSK tnTtgAty )cos()()( 0θω (410)

sau icircn forma simplificată

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacătfA

tgdacătfAty

n

n

FSK π

π (411)

ModulaŃia de frecvenŃă descrisă poate fi o modulaŃie binară cu două valori

posibile pentru parametrul modulat nf (respectiv nω ) sau o modulaŃie multinivel cu

M m= 2 valori posibile pentru parametrul modulat caz icircn care valorile frecvenŃei sunt echidistante Deoarece x(t) este semnalul modulator care poate lua doar două valori corespunzător simbolurilor bdquo1rdquo si bdquo0rdquo transmise se poate considera situaŃia transmisiei bipolare astfel icircncacirct x(t) = plusmn1 Divizacircnd cu 2π expresia (49) rezultă situaŃiile

πππ 2

2

2

111

10

kf

kff

kff pp =∆rArrminus=+= (412)

1 0 1 1 0 1 0

f1 f0 f1

f1

f0

f1

f0

t

t

Figura 42 Forme de undă specifice modulaŃiei FSK

SecvenŃă date

Semnal modulat

FSK

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

174

Dacă de exemplu frecvenŃa purtătoare este de 1700 Hz şi este modulată cu plusmn 500Hz se obŃine 1200 Hz pentru 1 şi 2200 Hz pentru 0 La recepŃie se poate utiliza un circuit de limitare urmat de un circuit de numărare a trecerilor prin zero ale semnalului recepŃionat icircn funcŃie de această valoare generacircndu-se o formă de undă rectangulară

Icircn figura 42 este prezentat un semnal modulat FSK 412 ModulaŃia de fază

ModulaŃia de fază numită icircn cazul transmisiunilor de date şi modulaŃie cu comutarea fazei sau cu deplasare de fază PSK - Phase Shift Keying asigură o utilizare mai eficientă a benzii de frecvenŃe dar necesită un echipament mai complex spre deosebire de FSK ModulaŃia de fază este recomandată pentru transmisiuni de date pe canalele de comunicaŃie unde fenomenul de alunecare a fazei (jitter de fază) este redus sau controlabil (constant) Parametrul modulat al semnalului purtător este faza care se modifică prin salt la intervale de timp egale Icircn figura 43 este exemplificată evoluŃia icircn timp a fazei unui semnal PSK cu mai multe nivele

Semnalul PSK poate fi exprimat astfel

)]([cos)( ttAty pPSK Φ+sdot= ω (413)

unde faza Φ Φ( )t n= pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit)

Semnalul modulat PSK poate fi exprimat şi altfel

sum Φ+sdotminussdot=n

npPSK tnTtgAty )cos()()( ω (414)

tT

)(ttp Φ+ω

π2

π

3π2

-π2

0 1 2 3 4

6 7

5

Figura 43 EvoluŃia fazei unui semnal PSK cu mai multe nivele

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 3: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

171

41 Modularea şi demodularea semnalelor folosind purtătoare analogică

ModulaŃia poate fi definită icircn general ca o modificare a caracteristicilor unui semnal purtător după o anumită regulă icircn funcŃie de un alt semnal semnal modulator Semnalul purtător este de obicei un semnal de o anumită frecvenŃă care satisface cerinŃele de propagare pe un canal de comunicaŃie Semnalul care conŃine informaŃia şi care modulează semnalul purtător se numeşte aşa cum s-a arătat semnal icircn bandă de bază

Deoarece icircn cazul transmisiunilor binare icircn banda de bază şirul serial de biŃi determină generarea unei succesiuni de forme de undă ponderate cu valorile de bit este convenabil să se exprime semnalul obŃinut printr-o expresie particulară care pune icircn evidenŃă forma de undă folosită pentru semnalizare ca sumă de valori discrete ale aceluiaşi semnal decalat icircn timp

x t a s t kTk( ) ( )= sdot minusminusinfin

+infin

sum (41)

unde s(t) este forma de undă folosită pentru semnalizare de obicei impuls rectangular iar ak succesiunea de biŃi ce se transmite avacircnd valorile bdquo0rdquo sau bdquo1rdquo Pentru a pune icircn evidenŃă relaŃiile dintre valorile biŃilor de informaŃie şi frecvenŃele f1 şi f2 se poate defini un factor de ponderare bipolară bk

b ak k= minus2 1 (42) Se observa că dacă ak ia valori unipolare 0 şi 1 bk

ia valorile bipolare plusmn1 iar semnalul capătă forma echivalentă

x t b s t kTk( ) ( )= sdot minusminusinfin

+infin

sum (43)

ceea ce evidenŃiază posibilitatea reprezentării bipolare numită uneori şi codare dublu-curent

Forma de undă s(t) folosită pentru semnalizare este cea care determină proprietăŃile de propagare pe un anumit canal de comunicaŃie Dacă s(t) este un impuls rectangular la trecerea acestuia printr-un canal de bandă limitată forma de undă va fi distorsionată (vezi capitolul 13) generacircnd interferenŃe intersimbol Dacă forma de undă este sinusoidală avacircnd frecvenŃa icircn interiorul benzii de trecere atunci aceasta se va transmite fără distorsionare

Pentru a adapta spectrul semnalului transmis la canalul de comunicaŃie disponibil se utilizează diverse tehnici de modulaŃie cele mai importante fiind descrise icircn continuare 411 ModulaŃia icircn frecvenŃă Icircn cazul transmisiunilor de date modulaŃia icircn frecvenŃă constă icircn alocarea unor anumite frecvenŃe biŃilor sau grupurilor de biŃi situaŃie icircn care semnalul modulat

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

172

are valori discrete pentru frecvenŃă De aceea modulaŃia se numeşte cu deplasare sau cu comutare de frecvenŃă FSK - Frequency Shift Keying

ModulaŃia FSK este printre cele mai răspacircndite datorită simplităŃii de obŃinere a semnalului modulat şi metodelor accesibile de demodulare Ea este folosită icircn principal icircn transmisiunile de date de mică viteză Datorită caracterului neliniar bandă de frecvenŃă ocupată de semnalul FSK este mai mare decacirct a semnalului modulator icircn banda de bază Din acest motiv FSK se utilizează pe canalele de comunicaŃie unde nu se pune problema folosirii eficiente a benzii de frecvenŃă ci problema icircncadrării icircntr-o anumită fereastră de frecvenŃă Echipamentele de modularedemodulare FSK sunt de complexitate medie Amplitudinea semnalului modulat fiind constantă puterea semnalului poate fi uşor controlată ceea ce face această modulaŃie utilizabilă icircn primul racircnd acolo unde este necesară limitarea puterii semnalului (la echipamente portabile alimentate din baterii locale) Icircn cazul unui semnal digital binar modulaŃia FSK asociază bitului 1 o frecvenŃă f1 şi bitului 0 o frecvenŃă 0f Icircn aceste condiŃii se definesc

- frecvenŃa purtătoare sau frecvenŃa medie pf

2

01 fff p

+= (44)

- deviaŃia de frecvenŃă ∆ f

2

01 fff

minus=∆ (45)

∆ f fiind valoarea cu care variază pf pentru a fi egală cu f1 şi 0f

- indicele de modulaŃie m

mf

fbit

=2∆

(46)

unde fbit = 1T este viteza de transmisie a datelor binare (debit binar)

Deoarece frecvenŃa purtătoare variază icircn jurul valorii centrale pf cu plusmn∆ f

icircnseamnă că

0

1

fff

fff

p

p

=∆+

=∆minus (47)

Semnalul y tFSK ( ) de la ieşirea modulatorului FSK este de forma

])(cos[)( 10 ττθω dxktAty pFSK ++sdot= (48)

PulsaŃia instantanee a semnalului este derivata icircn domeniul timp a

argumentului funcŃiei cosinus

)()( 1 txkt p sdot+=ωω (49)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

173

Icircn relaŃia (48) A este amplitudinea purtătoarei ωp = 2πfp este pulsaŃia purtătoarei θ0 este faza iniŃială iar k1 este un factor de conversie pentru semnalul modulator x(t)

Particularizacircnd relaŃia (48) pentru FSK prin discretizare se poate considera că pulsaŃia ω(t) = ωn pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit) Dacă g(t) este forma de undă folosită pentru semnalizare atunci semnalul modulat FSK poate fi exprimat şi sub forma echivalentă

sum +sdotminussdot=n

nFSK tnTtgAty )cos()()( 0θω (410)

sau icircn forma simplificată

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacătfA

tgdacătfAty

n

n

FSK π

π (411)

ModulaŃia de frecvenŃă descrisă poate fi o modulaŃie binară cu două valori

posibile pentru parametrul modulat nf (respectiv nω ) sau o modulaŃie multinivel cu

M m= 2 valori posibile pentru parametrul modulat caz icircn care valorile frecvenŃei sunt echidistante Deoarece x(t) este semnalul modulator care poate lua doar două valori corespunzător simbolurilor bdquo1rdquo si bdquo0rdquo transmise se poate considera situaŃia transmisiei bipolare astfel icircncacirct x(t) = plusmn1 Divizacircnd cu 2π expresia (49) rezultă situaŃiile

πππ 2

2

2

111

10

kf

kff

kff pp =∆rArrminus=+= (412)

1 0 1 1 0 1 0

f1 f0 f1

f1

f0

f1

f0

t

t

Figura 42 Forme de undă specifice modulaŃiei FSK

SecvenŃă date

Semnal modulat

FSK

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

174

Dacă de exemplu frecvenŃa purtătoare este de 1700 Hz şi este modulată cu plusmn 500Hz se obŃine 1200 Hz pentru 1 şi 2200 Hz pentru 0 La recepŃie se poate utiliza un circuit de limitare urmat de un circuit de numărare a trecerilor prin zero ale semnalului recepŃionat icircn funcŃie de această valoare generacircndu-se o formă de undă rectangulară

Icircn figura 42 este prezentat un semnal modulat FSK 412 ModulaŃia de fază

ModulaŃia de fază numită icircn cazul transmisiunilor de date şi modulaŃie cu comutarea fazei sau cu deplasare de fază PSK - Phase Shift Keying asigură o utilizare mai eficientă a benzii de frecvenŃe dar necesită un echipament mai complex spre deosebire de FSK ModulaŃia de fază este recomandată pentru transmisiuni de date pe canalele de comunicaŃie unde fenomenul de alunecare a fazei (jitter de fază) este redus sau controlabil (constant) Parametrul modulat al semnalului purtător este faza care se modifică prin salt la intervale de timp egale Icircn figura 43 este exemplificată evoluŃia icircn timp a fazei unui semnal PSK cu mai multe nivele

Semnalul PSK poate fi exprimat astfel

)]([cos)( ttAty pPSK Φ+sdot= ω (413)

unde faza Φ Φ( )t n= pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit)

Semnalul modulat PSK poate fi exprimat şi altfel

sum Φ+sdotminussdot=n

npPSK tnTtgAty )cos()()( ω (414)

tT

)(ttp Φ+ω

π2

π

3π2

-π2

0 1 2 3 4

6 7

5

Figura 43 EvoluŃia fazei unui semnal PSK cu mai multe nivele

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 4: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

172

are valori discrete pentru frecvenŃă De aceea modulaŃia se numeşte cu deplasare sau cu comutare de frecvenŃă FSK - Frequency Shift Keying

ModulaŃia FSK este printre cele mai răspacircndite datorită simplităŃii de obŃinere a semnalului modulat şi metodelor accesibile de demodulare Ea este folosită icircn principal icircn transmisiunile de date de mică viteză Datorită caracterului neliniar bandă de frecvenŃă ocupată de semnalul FSK este mai mare decacirct a semnalului modulator icircn banda de bază Din acest motiv FSK se utilizează pe canalele de comunicaŃie unde nu se pune problema folosirii eficiente a benzii de frecvenŃă ci problema icircncadrării icircntr-o anumită fereastră de frecvenŃă Echipamentele de modularedemodulare FSK sunt de complexitate medie Amplitudinea semnalului modulat fiind constantă puterea semnalului poate fi uşor controlată ceea ce face această modulaŃie utilizabilă icircn primul racircnd acolo unde este necesară limitarea puterii semnalului (la echipamente portabile alimentate din baterii locale) Icircn cazul unui semnal digital binar modulaŃia FSK asociază bitului 1 o frecvenŃă f1 şi bitului 0 o frecvenŃă 0f Icircn aceste condiŃii se definesc

- frecvenŃa purtătoare sau frecvenŃa medie pf

2

01 fff p

+= (44)

- deviaŃia de frecvenŃă ∆ f

2

01 fff

minus=∆ (45)

∆ f fiind valoarea cu care variază pf pentru a fi egală cu f1 şi 0f

- indicele de modulaŃie m

mf

fbit

=2∆

(46)

unde fbit = 1T este viteza de transmisie a datelor binare (debit binar)

Deoarece frecvenŃa purtătoare variază icircn jurul valorii centrale pf cu plusmn∆ f

icircnseamnă că

0

1

fff

fff

p

p

=∆+

=∆minus (47)

Semnalul y tFSK ( ) de la ieşirea modulatorului FSK este de forma

])(cos[)( 10 ττθω dxktAty pFSK ++sdot= (48)

PulsaŃia instantanee a semnalului este derivata icircn domeniul timp a

argumentului funcŃiei cosinus

)()( 1 txkt p sdot+=ωω (49)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

173

Icircn relaŃia (48) A este amplitudinea purtătoarei ωp = 2πfp este pulsaŃia purtătoarei θ0 este faza iniŃială iar k1 este un factor de conversie pentru semnalul modulator x(t)

Particularizacircnd relaŃia (48) pentru FSK prin discretizare se poate considera că pulsaŃia ω(t) = ωn pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit) Dacă g(t) este forma de undă folosită pentru semnalizare atunci semnalul modulat FSK poate fi exprimat şi sub forma echivalentă

sum +sdotminussdot=n

nFSK tnTtgAty )cos()()( 0θω (410)

sau icircn forma simplificată

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacătfA

tgdacătfAty

n

n

FSK π

π (411)

ModulaŃia de frecvenŃă descrisă poate fi o modulaŃie binară cu două valori

posibile pentru parametrul modulat nf (respectiv nω ) sau o modulaŃie multinivel cu

M m= 2 valori posibile pentru parametrul modulat caz icircn care valorile frecvenŃei sunt echidistante Deoarece x(t) este semnalul modulator care poate lua doar două valori corespunzător simbolurilor bdquo1rdquo si bdquo0rdquo transmise se poate considera situaŃia transmisiei bipolare astfel icircncacirct x(t) = plusmn1 Divizacircnd cu 2π expresia (49) rezultă situaŃiile

πππ 2

2

2

111

10

kf

kff

kff pp =∆rArrminus=+= (412)

1 0 1 1 0 1 0

f1 f0 f1

f1

f0

f1

f0

t

t

Figura 42 Forme de undă specifice modulaŃiei FSK

SecvenŃă date

Semnal modulat

FSK

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

174

Dacă de exemplu frecvenŃa purtătoare este de 1700 Hz şi este modulată cu plusmn 500Hz se obŃine 1200 Hz pentru 1 şi 2200 Hz pentru 0 La recepŃie se poate utiliza un circuit de limitare urmat de un circuit de numărare a trecerilor prin zero ale semnalului recepŃionat icircn funcŃie de această valoare generacircndu-se o formă de undă rectangulară

Icircn figura 42 este prezentat un semnal modulat FSK 412 ModulaŃia de fază

ModulaŃia de fază numită icircn cazul transmisiunilor de date şi modulaŃie cu comutarea fazei sau cu deplasare de fază PSK - Phase Shift Keying asigură o utilizare mai eficientă a benzii de frecvenŃe dar necesită un echipament mai complex spre deosebire de FSK ModulaŃia de fază este recomandată pentru transmisiuni de date pe canalele de comunicaŃie unde fenomenul de alunecare a fazei (jitter de fază) este redus sau controlabil (constant) Parametrul modulat al semnalului purtător este faza care se modifică prin salt la intervale de timp egale Icircn figura 43 este exemplificată evoluŃia icircn timp a fazei unui semnal PSK cu mai multe nivele

Semnalul PSK poate fi exprimat astfel

)]([cos)( ttAty pPSK Φ+sdot= ω (413)

unde faza Φ Φ( )t n= pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit)

Semnalul modulat PSK poate fi exprimat şi altfel

sum Φ+sdotminussdot=n

npPSK tnTtgAty )cos()()( ω (414)

tT

)(ttp Φ+ω

π2

π

3π2

-π2

0 1 2 3 4

6 7

5

Figura 43 EvoluŃia fazei unui semnal PSK cu mai multe nivele

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 5: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

173

Icircn relaŃia (48) A este amplitudinea purtătoarei ωp = 2πfp este pulsaŃia purtătoarei θ0 este faza iniŃială iar k1 este un factor de conversie pentru semnalul modulator x(t)

Particularizacircnd relaŃia (48) pentru FSK prin discretizare se poate considera că pulsaŃia ω(t) = ωn pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit) Dacă g(t) este forma de undă folosită pentru semnalizare atunci semnalul modulat FSK poate fi exprimat şi sub forma echivalentă

sum +sdotminussdot=n

nFSK tnTtgAty )cos()()( 0θω (410)

sau icircn forma simplificată

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacătfA

tgdacătfAty

n

n

FSK π

π (411)

ModulaŃia de frecvenŃă descrisă poate fi o modulaŃie binară cu două valori

posibile pentru parametrul modulat nf (respectiv nω ) sau o modulaŃie multinivel cu

M m= 2 valori posibile pentru parametrul modulat caz icircn care valorile frecvenŃei sunt echidistante Deoarece x(t) este semnalul modulator care poate lua doar două valori corespunzător simbolurilor bdquo1rdquo si bdquo0rdquo transmise se poate considera situaŃia transmisiei bipolare astfel icircncacirct x(t) = plusmn1 Divizacircnd cu 2π expresia (49) rezultă situaŃiile

πππ 2

2

2

111

10

kf

kff

kff pp =∆rArrminus=+= (412)

1 0 1 1 0 1 0

f1 f0 f1

f1

f0

f1

f0

t

t

Figura 42 Forme de undă specifice modulaŃiei FSK

SecvenŃă date

Semnal modulat

FSK

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

174

Dacă de exemplu frecvenŃa purtătoare este de 1700 Hz şi este modulată cu plusmn 500Hz se obŃine 1200 Hz pentru 1 şi 2200 Hz pentru 0 La recepŃie se poate utiliza un circuit de limitare urmat de un circuit de numărare a trecerilor prin zero ale semnalului recepŃionat icircn funcŃie de această valoare generacircndu-se o formă de undă rectangulară

Icircn figura 42 este prezentat un semnal modulat FSK 412 ModulaŃia de fază

ModulaŃia de fază numită icircn cazul transmisiunilor de date şi modulaŃie cu comutarea fazei sau cu deplasare de fază PSK - Phase Shift Keying asigură o utilizare mai eficientă a benzii de frecvenŃe dar necesită un echipament mai complex spre deosebire de FSK ModulaŃia de fază este recomandată pentru transmisiuni de date pe canalele de comunicaŃie unde fenomenul de alunecare a fazei (jitter de fază) este redus sau controlabil (constant) Parametrul modulat al semnalului purtător este faza care se modifică prin salt la intervale de timp egale Icircn figura 43 este exemplificată evoluŃia icircn timp a fazei unui semnal PSK cu mai multe nivele

Semnalul PSK poate fi exprimat astfel

)]([cos)( ttAty pPSK Φ+sdot= ω (413)

unde faza Φ Φ( )t n= pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit)

Semnalul modulat PSK poate fi exprimat şi altfel

sum Φ+sdotminussdot=n

npPSK tnTtgAty )cos()()( ω (414)

tT

)(ttp Φ+ω

π2

π

3π2

-π2

0 1 2 3 4

6 7

5

Figura 43 EvoluŃia fazei unui semnal PSK cu mai multe nivele

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 6: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

174

Dacă de exemplu frecvenŃa purtătoare este de 1700 Hz şi este modulată cu plusmn 500Hz se obŃine 1200 Hz pentru 1 şi 2200 Hz pentru 0 La recepŃie se poate utiliza un circuit de limitare urmat de un circuit de numărare a trecerilor prin zero ale semnalului recepŃionat icircn funcŃie de această valoare generacircndu-se o formă de undă rectangulară

Icircn figura 42 este prezentat un semnal modulat FSK 412 ModulaŃia de fază

ModulaŃia de fază numită icircn cazul transmisiunilor de date şi modulaŃie cu comutarea fazei sau cu deplasare de fază PSK - Phase Shift Keying asigură o utilizare mai eficientă a benzii de frecvenŃe dar necesită un echipament mai complex spre deosebire de FSK ModulaŃia de fază este recomandată pentru transmisiuni de date pe canalele de comunicaŃie unde fenomenul de alunecare a fazei (jitter de fază) este redus sau controlabil (constant) Parametrul modulat al semnalului purtător este faza care se modifică prin salt la intervale de timp egale Icircn figura 43 este exemplificată evoluŃia icircn timp a fazei unui semnal PSK cu mai multe nivele

Semnalul PSK poate fi exprimat astfel

)]([cos)( ttAty pPSK Φ+sdot= ω (413)

unde faza Φ Φ( )t n= pentru nT lt t lt (n+1)T este constantă pe fiecare interval de bit T (sau interval de simbol pentru transmisiunile multibit)

Semnalul modulat PSK poate fi exprimat şi altfel

sum Φ+sdotminussdot=n

npPSK tnTtgAty )cos()()( ω (414)

tT

)(ttp Φ+ω

π2

π

3π2

-π2

0 1 2 3 4

6 7

5

Figura 43 EvoluŃia fazei unui semnal PSK cu mai multe nivele

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 7: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

175

relaŃie icircn care g(t) este forma de undă folosită pentru semnalizare impuls dreptunghiular g(t) = 1 pe intervalul considerat Icircn formă simplificată consideracircnd două valori simetrice pentru fază relaŃia (414) poate fi scrisă echivalent astfel

=sdotminus

=sdot=

0)(2cos

1)(2cos)(

tgdacăftA

tgdacăftAty

n

n

PSK π

π (415)

RelaŃia (414) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o succesiune de semnale de frecvenŃă pf şi fază iniŃială Φn

Icircn urma modulaŃiei secvenŃa de date este transpusă icircn secvenŃa valorilor absolute ale fazelor Φn caz icircn care vorbim de modulaŃie de fază absolută PSK Phase Shift Keying sau icircn secvenŃa diferenŃelor ∆Φ Φ Φn n n= minus minus 1 caz icircn care definim o modulaŃie de fază relativă sau diferenŃială DPSK Differential Phase Shift Keying ModulaŃia de fază poate fi o modulaŃie binară cu două valori posibile pentru parametrul modulat (Φn sau ∆Φn) sau o modulaŃie multinivel cu M m= 2 valori posibile pentru parametrul modulat Valorile parametrului modulat Φn sunt echidistante

2

2

32

22

MM

MMM

ππππ

Transmisiunile de date PSK trebuie să fie sincrone deoarece modificările fazei au loc la intervale egale de timp T

Reconstituirea secvenŃei fazelor la recepŃie necesită un semnal purtător local de aceeaşi frecvenŃă cu semnalul purtător emis şi avacircnd faza purtătorului nemodulat ObŃinerea unui astfel de semnal la recepŃie nu este posibilă decacirct cu o anumită eroare de fază numită ambiguitate de fază Prin sincronizarea purtătorului local pe baza informaŃiei conŃinute icircn purtătorul recepŃionat se poate obŃine o fază egală cu una din fazele posibile icircn procesul de modulaŃie de exemplu Φ k SecvenŃa fazelor absolute Φn nu este icircnsă reconstituită corect existacircnd o eroare Φ k Din acest motiv se preferă modulaŃia de fază diferenŃială diferenŃa ∆Φn nefiind afectată de eroarea de sinfazare Φ k

Putem considera pentru exemplificare o modulaŃie binară avacircnd următoarele convenŃii de alocare a fazelor sau salturilor de fază

- pentru PSK 0 se codifică prin Φn = 0deg şi 1 se codifică prin Φn = 180deg - pentru DPSK 0 se codifică prin ∆Φn= 0deg şi 1 se codifică prin ∆Φn = 180deg

Unei secvenŃe de simboluri binare icirci corespund astfel următoarele faze absolute

SecvenŃa binară 0 1 0 0 1 1 0 Φn (PSK) 0deg 180deg 0deg 0deg 180deg 180deg 0deg Φn (DPSK) 0deg 180deg 180deg 180deg 0deg 180deg 180deg

Icircn cazul modulaŃiei PSK absolute deciziile se iau prin comparaŃie cu faza

semnalului purtător recuperat local la recepŃie Dacă această fază de referinŃă este eronată datorită ambiguităŃii de fază care apare simbolurile reconstituite pot fi negatele celor iniŃiale Icircn cazul modulaŃiei diferenŃiale reconstituirea salturilor de fază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 8: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

176

nu este afectată de eroarea de sincronizare deoarece deciziile se iau pe baza diferenŃelor de fază şi nu pe baza fazelor absolute

O formă de undă obŃinută icircn urma unei modulaŃii de fază este prezentată icircn figura 44

Semnalul PSK poate fi exprimat şi sub altă formă

tnTtgAtnTtgAty p

n

np

n

nPSK ωω sinsin)(coscos)()( sumsum ΦminusminusΦminus= (416)

RelaŃia (416) pune icircn evidenŃă faptul că semnalul PSK poate fi considerat ca o sumă de semnale modulate icircn amplitudine cu purtători de aceeaşi frecvenŃă dar defazaŃi unul faŃă de altul semnalele modulatoare fiind sum Φminus

n

nnTtg cos)( respectiv

sum Φminusn

nnTtg sin)(

Spectrul semnalului PSK sau DPSK are aceeaşi lărgime ca şi cel modulat icircn

amplitudine cu bandă laterală dublă

Fazele utilizate icircn codarea dibit (recomandarea CCITT V26) Dibit 00 01 11 10 Salt de fază (varianta A) 0deg 90deg 180deg 270deg Salt de fază (varianta B) 45deg 135deg 225deg 315deg

Fazele utilizate icircn codarea tribit (recomandarea CCITT V27)

Tribit 001 000 010 011 111 110 100 101 Salt de fază 0deg 45deg 90deg 135deg 180deg 225deg 270deg 315deg

Tabelul 45 Alocări de fază pentru modulaŃia PSK cu 4 şi 8 nivele

1 0 1 1 0 1 0

Ф1 Ф0 Ф1

Ф1

Ф0

Ф1

Ф0

t

t

Figura 44 Forme de undă specifice modulaŃiei PSK

SecvenŃă date

Semnal modulat

PSK

Salt fază Salt fază Salt fază

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 9: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

177

Icircn general modem-urile PSK conform recomandărilor CCITT folosesc o modulaŃie cu 4 sau 8 faze ceea ce permite transmiterea pe linie a de două sau trei ori mai multe date pentru aceeaşi lărgime de bandă prin gruparea biŃilor cacircte doi (dibiŃi) sau cacircte trei (tribiŃi) Grupacircnd biŃii cacircte şase de exemplu se obŃin 64 de niveluri de fază ce trebuie identificate la recepŃie Cacircteva recomandări CCITT sunt sintetizate icircn tabelele 45 413 ModulaŃia icircn amplitudine ModulaŃia icircn amplitudine este o metodă de modulaŃie liniară prin care spectrul de frecvenŃă al semnalului este translatat din banda de bază icircn două benzi situate simetric faŃă de frecvenŃa purtătoarei Din cele două benzi laterale icircn urma procesului de modulaŃie se poate transmite una singură ceea ce face ca prin modulaŃia de amplitudine să se asigure o utilizare eficientă a benzii canalului de transmisiune Acest avantaj al modulaŃiei de amplitudine comparativ cu modulaŃia de frecvenŃă sau de fază o recomandă pentru utilizarea icircn sisteme de transmisiuni de date de viteză mare pe canale de bandă limitată Icircn schimb echipamentul de recepŃie este complex deoarece detecŃia este de tip coerent necesitacircnd un semnal local sincron şi sinfazic cu semnalul purtător recepŃionat Deoarece icircn cazul semnalelor binare amplitudinea semnalului modulat variază icircn trepte corespunzător secvenŃelor binare modulaŃia discretă icircn amplitudine se mai numeşte cu comutare (deplasare) de amplitudine ASK - Amplitude Shift Keying Icircn funcŃie de banda din spectrul semnalului modulat transmisă se disting mai multe variante ale sistemelor de transmisiuni cu modulaŃie icircn amplitudine - cu două benzi laterale (sau bandă laterală dublă) - cu bandă laterală unică - cu bandă laterală reziduală

- cu modulaŃie de amplitudine icircn cuadratură Sistemele cu bandă laterală dublă au aproximativ aceeaşi eficienŃă de utilizare

a benzii ca şi transmisiunile cu modulaŃie de frecvenŃă Dacă se elimină semnalul purtător păstracircndu-se componentele laterale creşte ponderea semnalului util şi se reduce puterea totală de transmisie Icircn schimb se complică echipamentul de recepŃie deoarece nu mai este posibilă detecŃia coerentă

Sistemele cu bandă laterală unică asigură cea mai eficientă utilizare a benzii canalului dar deoarece semnalul de date binar care modulează purtătoarea are componente de frecvenŃe foarte joase este dificil să se elimine prin filtrare una din benzile laterale fără a o afecta pe cealaltă Sistemele cu bandă laterală reziduală permit realizarea unui compromis icircntre eficienŃa utilizării benzii şi posibilitatea eliminării parŃiale a unei benzi laterale

Icircn sistemele cu modulaŃie de amplitudine icircn cuadratură se utilizează două semnale purtătoare icircn cuadratură transmise simultan avacircnd aceeaşi frecvenŃă dar modulate de semnale diferite Deşi se transmit ambele benzi laterale eficienŃa este echivalentă cu cea obŃinută la modulaŃia cu bandă laterală unică deoarece se dublează cantitatea de informaŃie transportată Pornind de la schema generală a unui sistem de transmisie cu modulaŃie (figura 41) se poate considera că generatorul de date generează impulsuri

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 10: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

178

rectangulare unipolare (simplu curent) icircn concordanŃă cu secvenŃa de date Filtrul trece jos de la emisie limitează spectrul semnalului modulator şi reduce interferenŃa inter-simboluri prin pre-formarea semnalului modulator

Modulatorul de amplitudine translatează spectrul semnalului modulator din banda de bază icircn jurul frecvenŃei purtătoare Filtrul trece-bandă de la emisie reŃine din spectrul semnalului modulat icircn amplitudine numai banda utilă care se transmite El poate atenua complet sau parŃial una din benzile laterale ale semnalului reducacircnd interferenŃa cu celelalte canale (diafonie) La recepŃie filtrul trece-bandă elimină zgomotele şi interferenŃele din afara benzii utile Detectorul sau demodulatorul de amplitudine realizează funcŃia inversă modulatorului la ieşirea sa regăsindu-se semnalul icircn banda de bază şi componentele translatate pe armonici ale frecvenŃei purtătoare (icircn special armonica a II-a) care sunt icircnlăturate de filtrul trece-jos care urmează

Prin sondarea semnalului icircn banda de bază obŃinut la ieşirea ultimului filtru se recuperează o secvenŃă de date similară cu cea de la emisie Forma generală a unui semnal modulat icircn amplitudine este

)cos()](1[)cos()()( θωθω +sdotsdot+sdot=+sdot= ttgmAttxty ppASK (417)

unde m este indicele de modulaŃie iar g(t) funcŃia modulatoare

Deoarece icircn transmisiunile de date amplitudinea poate lua doar valori discrete relaŃia de mai sus poate fi discretizată sub forma

sum +sdotminussdot=n

pnASK tnTtgAty )cos()()( 0θω (418)

expresie echivalentă cu

=sdot

=sdot=

0)(2cos

1)(2cos)(

2

1

tgdacăftA

tgdacăftAty

n

n

ASK π

π (419)

Aşa cum se observă şi din relaŃiile de mai sus obŃinerea semnalului ASK se

poate face prin multiplicarea ponderată şi sumarea semnalelor modulator şi purtător Multiplicarea se realizează prin diverse tehnici folosind circuite de multiplicare analogică prin choppare prin utilizarea dispozitivelor cu caracteristică de transfer neliniară sau prin utilizarea de circuite acordate ModulaŃia ASK este simplă şi nu presupune echipamente foarte complexe dar este afectată de atenuarea canalului de comunicaŃie şi de zgomotele aditive De aceea ea este utilizată pe mediile de comunicaŃie mai puŃin zgomotoase cum este cazul fibrelor optice Astfel icircn cazul transmisiunilor optice se alocă o intensitate a fasciculului luminos pentru bdquo0rdquo şi o altă intensitate pentru bdquo1rdquo Icircn figura 46 este prezentată forma de undă asociată unei modulaŃii ASK cu două niveluri

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 11: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

179

414 ModulaŃia de amplitudine icircn quadratură

O formă particulară de modulaŃie icircn amplitudine este QAM ndash Quadrature Amplitude Modulation ModulaŃia QAM foloseşte două purtătoare ortogonale respectiv două semnale sinusoidale defazate cu 2π (icircn quadratură) adică un semnal de tip sinus şi unul de tip cosinus Deoarece aceste semnale au fiecare amplitudinea maximă cacircnd celălalt este nul ele pot fi utilizate ca două purtătoare independente Astfel fluxul de date de intrare poate fi divizat icircn două secvenŃe preluacircndu-se separat biŃii pari (2n) respectiv biŃii impari (2n+1) fiecare din aceste noi semi-secvenŃe modulacircnd icircn amplitudine cacircte o purtătoare icircn quadratură

Semnalul QAM poate fi aşadar exprimat prin relaŃia

)]sin())12(()cos()2([)( 01202 θωθω +sdot+minussdot++sdotminussdot= +sum tTntgAtnTtgAty pn

n

pnQAM

(420) sau icircn forma simplificată

sdot

sdot= ++

)(2sin

)(2cos)(

22

1212

tgpentruftA

tgpentruftAty

nn

nn

QAM π

π (421)

ModulaŃia QAM poate fi privită ca o modulaŃie dublă icircn fază şi icircn amplitudine

Extinzacircnd principiul QAM se pot utiliza mai multe purtătoare simultan cu condiŃia ca atunci cacircnd unul din semnale are valoarea maximă celelalte să treacă prin zero Transmiterea secvenŃei de date partajat pe mai multe frecvenŃe icircn acelaşi timp este icircn fapt o divizare a spectrului de frecvenŃe FDM - Frequency Division Multiplexing Dacă frecvenŃele se aleg astfel icircncacirct spectrul fiecărei purtătoare să fie maxim atunci cacircnd celelalte sunt nule atunci spunem ca purtătoarele sunt ortogonale iar modulaŃia rezultată se numeşte OFDM - Orthogonal Frequency Division Multiplexing Semnalele modulate utilizate se numesc sub-purtătoare

1 0 1 1 0 1 0

A1 A0 A1

A1

A0

A1

A0

t

t

Figura 46 Forme de undă specifice modulaŃiei ASK

SecvenŃă date

Semnal modulat

ASK

A0 A1

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 12: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

180

Fluxul iniŃial de date este distribuit icircn mod egal către fiecare purtătoare rezultacircnd astfel posibilitatea de transport paralel a unor sub-fluxuri cu rata de bit mult mai redusă decacirct cea iniŃială ceea ce reduce interferenŃele inter-simboluri Neasigurarea ortogonalităŃii sub-purtătoarelor determină apariŃia de interferenŃe icircntre acestea (interferenŃe inter-purtătoare)

Din expresiile ce caracterizează modulaŃiile prezentate (relaŃiile 411 415 419) rezultă ca ele se pot obŃine principial prin sumarea formelor de undă corespunzătoare biŃilor de intrare Acestea la racircndul lor se obŃin prin multiplicarea formei de undă folosită pentru semnalizare (impuls) cu un semnal sinusoidal particular Icircn figura 47 este descris acest principiu Icircn cazul ASK schema se simplifică şi mai mult reducacircndu-se la un singur multiplicator Spre deosebire de FSK PSK şi ASK care implică separarea biŃilor pe două căi in funcŃie de valoarea lor bdquo0rdquo sau bdquo1rdquo modulaŃia QAM impune separarea biŃilor pari şi impari icircn scopul multiplicării lor cu două semnale defazate (similar cu PSK) fiecare succesiune modulacircnd apoi icircn amplitudine purtătoarea corespunzătoare (similar cu ASK)

bdquo1rdquo

bdquo0rdquo

g(t) y(t)

s1(t)

s2(t)

Figura 47 Principiul tehnicilor de modulaŃie FSK PSK ASK şi QAM

g2n+1(t)

g2n(t)

g(t) y(t)

s1(t)

s2(t)

y1(t)

y2(t)

y1(t)

y2(t)

g(t) y(t)

s(t)

FSK PSK ASK ASK simplificat

QAM

y(t) s1 s2 y1 y2

)(tyFSK tf12cos π tf22cos π tfA 12cos πsdot tfA 22cos πsdot

)(tyPSK ftπ2cos ftπ2cosminus ftA π2cossdot ftA π2cossdotminus

)(tyASK ftπ2cos ftA π2cos1 sdot ftA π2cos2 sdot

)(tyQAM ftπ2cos ftπ2sin ftA n π2cos12 sdot+ ftA n π2sin2 sdot

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 13: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

181

42 ModulaŃia icircn impulsuri Icircn cazul modulaŃiei icircn impulsuri purtătoarea este un semnal alcătuit din impulsuri rectangulare periodice ModulaŃia constă icircn strobarea semnalului icircn banda de bază la intervale regulate de timp şi conversia acestor valori icircn valori pentru amplitudine lăŃime sau poziŃie a unui impuls Strobarea este procesul de obŃinere a unei secvenŃe de valori instantanee a semnalului util la intervale de timp periodice sau intermitente Ieşirea circuitelor de strobare este reprezentată de valori ale amplitudinii la momente determinate de timp Strobarea semnalului de intrare se poate face nu numai la momente determinate de timp ci şi la modificarea semnalului faŃă de o valoare de referinŃă (prag) sau simultan cu trecerile prin zero ale semnalului dacă forma de undă se pretează unei astfel de tratări 421 Metode de modulare icircn impulsuri a semnalelor analogice

Avacircnd icircn vedere parametrii ce caracterizează impulsurile care compun semnalul purtător se pot identifica trei metode de modulaŃie in impulsuri metode descrise succint in continuare

t

t

t

t

PAM

PWM

PPM

Figura 48 ModulaŃia impulsurilor icircn amplitudine (PAM) icircn lăŃime (PWM) şi icircn poziŃie (PPM)

Semnal icircn banda de bază

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 14: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

182

ModulaŃia impulsurilor icircn amplitudine ModulaŃia impulsurilor icircn amplitudine PAM - Pulse Amplitude Modulation constă icircn modificarea amplitudinii undei purtătoare de impulsuri corespunzător cu variaŃia semnalului modulator Se poate observa (figura 48) că fiecare eşantion al semnalului strobat modulează amplitudinea unui impuls ModulaŃia impulsurilor icircn lăŃime

ModulaŃia icircn lăŃime sau icircn durată - PWM Pulse Width Modulation sau PDM - Pulse Duration Modulation utilizează un tren de impulsuri de amplitudine constantă cu intervale de timp de succedare determinate avacircnd lăŃimea (durata) variabilă conform cu eşantioanele semnalului modulator (figura 48) ModulaŃia impulsurilor icircn poziŃie ModulaŃia icircn poziŃie ndash PPM Pulse Position Modulation utilizează ca purtător o succesiune de impulsuri de durată şi amplitudine constante fiind variabilă poziŃia relativă a impulsului faŃă de momentele de eşantionare (figura 48) 422 ModulaŃia impulsurilor icircn cod

Metodele de modulaŃie a impulsurilor de mai sus transportă informaŃia icircntr-o formă icircn principiu analogică deoarece unul din parametrii impulsului este continuu variabil Dacă icircn urma eşantionării valorile rezultate sunt convertite icircntr-un număr de niveluri discrete corespunzătoare intervalului de icircncadrare a valorii semnalului de intrare la diverse momente de timp acestea pot fi exprimate prin valori numerice digitizate (figura 49)

Icircn comunicaŃiile de date este posibil ca semnalul să fie afectat de zgomot şi să

nu se mai poată reface fidel informaŃia transportată De aceea a fost dezvoltată o tehnică de conversie a fiecărui impuls modulat icircn amplitudine icircntr-o succesiune unic determinată de impulsuri de amplitudine constantă impulsuri a căror prezenŃă sau absenŃă codifică numeric mărimea discretizată a eşantionului modulator Deşi impulsurile modulate icircn amplitudine pot avea o infinitate de valori prin discretizare acestea sunt cuantizate astfel icircncacirct mărimea de interes (amplitudinea de exemplu) poate fi exprimată printr-un număr determinat de valori discrete aşa cum este sugerat icircn figura 49

Amplitudinea semnalului este reprezentată pe 8 niveluri acceptacircndu-se o eroare egală cu pasul de cuantizare (18 din amplitudinea maximă) Sistemele actuale utilizează 128 sau 256 de niveluri După cuantizare semnalul este strobat la intervale determinate de timp şi valorile determinate sunt codate binar de exemplu pe 3 biŃi icircn exemplul considerat icircn figura 49 Icircn general pentru N nivele de cuantizare sunt necesari log2 N biŃi pentru fiecare eşantion Deoarece prin această tehnică se obŃine un tren de impulsuri binare care codează eşantioanele semnalului modulator modulaŃia corespunzătoare se numeşte modulaŃie cu codarea impulsurilor icircn cod

PrezenŃa sau absenŃa unui impuls poate fi uşor detectată chiar şi icircn prezenŃa perturbaŃiilor deci imunitatea la zgomot este astfel mult icircmbunătăŃită Dezavantajul principal constă icircn imposibilitatea reproducerii fidele a semnalului iniŃial datorită limitării impuse de pasul de cuantizare şi frecvenŃa de eşantionare Această abatere este denumită uneori zgomot de cuantizare Pentru a transmite 128 de nivele de

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 15: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

183

cuantizare de exemplu sunt necesari 7 biŃi ceea ce permite obŃinerea unor canale telefonice cu raport semnal-zgomot de 22 dB nivel comparabil cu al canalelor telefonice analogice performante

Se poate arăta matematic (teoremele lui Nyquist) că dacă cea mai icircnaltă frecvenŃă din componentele spectrale ale semnalului este n Hz atunci trenurile de 2n impulsuri pe secundă permit transportarea unei informaŃii suficiente pentru refacerea corectă a semnalului iniŃial Icircn cazul vocii umane limitacircnd frecvenŃă superioară la 4000 Hz aceasta poate fi transportată de o purtătoare de impulsuri cu 8000 pulsurisecundă (PAM)

Icircn transmisiunile telefonice domeniul de frecvenŃă codat PCM (Pulse Coded Modulation - modulaŃia impulsurilor icircn cod) este de 200 - 3500 Hz utilizacircndu-se 8000 de strobărisecundă Pentru distingerea a 256 de niveluri de volum sunt necesari 8 biŃi ceea ce icircnseamnă 8 x 8000 = 64000 kbps Icircn tabelul de mai jos sunt prezentate debitele binare minimale necesare pentru diverse semnale uzuale

Tip de semnal

LăŃime de bandă analogică [kHz]

Numărul de biŃi utilizaŃi pentru

cuantizare

Debitul binar necesar [kbps]

Voce telefonică 4 8 4 x 2 x 8 = 64 Muzică Hi-Fi 20 8 20 x 2 x 8 = 320 Videotelefonie 1000 3 1000 x 2 x 3 = 6000 Televiziune color 4600 10 4600 x 2 x 10 = 92000

Tabelul 410 LăŃimi de bandă şi debite binare minimale necesare pentru diverse semnale

0 1 2 3 4 5 6 7

010 000 001 100 111 110 010 000 001 100 t

t

Figura 49 ModulaŃia impulsurilor icircn cod

Semnal original Semnal cuantizat

Eşantioanare

Prag decizie

0

1

SecvenŃa de impulsuri logice transmise

Impuls modulat icircn amplitudine

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 16: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

184

43 Coduri de linie

La nivelul fizic al stivei de protocoale ISOOSI scopul urmărit prin codare este acela de a obŃine o formă de undă care să poată fi transmisă cacirct mai eficient prin mediul de comunicaŃie să se icircncadreze icircn lăŃimea de bandă oferită de canal să permită recuperarea simplă a datelor oferind informaŃii de sincronizare şi eventual să faciliteze identificarea erorilor de transmisie Codurile de linie numite şi coduri de transport sunt deci coduri optimizate ca şi distribuŃie spectrală (icircn scopul de a avea o componentă continuă nulă sau de a ocupa o lăŃime de bandă cacirct mai redusă) sau coduri cu facilităŃi de asigurare a sincronizării la recepŃie adică un număr suficient de tranziŃii icircn forma de undă

Principalele coduri de linie sunt descrise icircn continuare 431 Coduri NRZ

Codurile NRZ -Non Return to Zero (fără icircntoarcere icircn zero) sunt coduri de linie

care codifică simbolurile bdquo1rdquo printr-o stare semnificativă a unui semnal (de obicei o tensiune pozitivă) şi bdquo0rdquo printr-o altă stare semnificativă (de obicei o tensiune negativă) fără să existe o stare neutră sau de aşteptare (zero) Această proprietate face ca semnalele codate NRZ să transporte o cantitate mai mare de energie (şi pe durata lui bdquo1rdquo şi pe durata lui bdquo0rdquo) şi să ofere condiŃii relativ bune de sincronizare la recepŃie (deoarece există tot timpul o stare semnificativă prezentă)

Sunt uzuale trei tipuri de coduri NRZ NRZ-L (NRZ-Level) NRZ-M (NRZ-Mark) şi NRZ-S (NRZ-Space)

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0 t NRZ-L Bipolar

0

+

0

+

-

1 0 1 1 0 1 0 t

NRZ-M 0

+

0

1 0 1 1 0 1 0 t

NRZ-S 0

+

0

Figura 411 Coduri NRZ

Tb

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 17: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

185

Codul NRZ-L păstrează nivelul de semnal constant icircn timpul intervalului de bit fiind alocat cacircte un nivel fiecărei stări logice Codul NRZ-L coincide cu reprezentarea uzuală a semnalelor binare NRZ-L unipolar se mai numeşte si NRZ natural

Icircn cazul NRZ-M sau NRZ-S are loc o schimbare (tranziŃie) a nivelului la icircnceputul intervalului de bit pentru una din stările logice şi nici o tranziŃie pentru starea complementară Pentru NRZ-M tranziŃia indică 1 (sau mark) iar lipsa ei 0 (sau space) NRZ-S fiind complementar din acest punct de vedere (respectiv tranziŃie pentru 0 şi lipsă tranziŃie pentru 1) Toate codurile NRZ pot fi bipolare sau unipolare Figura 411 prezintă diagramele de semnal specifice codurilor NRZ

Codurile NRZ sunt uşor de generat şi de decodat şi nu necesită condiŃii

speciale pentru transmisie Ele sunt printre cele mai răspacircndite coduri icircn special NRZ-L O variantă a codului NRZ-M utilizează tranziŃii la sfacircrşitul intervalului de bit şi nu la icircnceputul intervalului de bit caz icircn care el se numeşte NRZI - Non Return to Zero Inverted figura 412

Icircn cazul secvenŃelor lungi de biŃi de acelaşi fel şi care nu sunt asociaŃi cu

tranziŃii (şiruri lungi de bdquo0rdquo icircn cazul NRZ-M sau NRZI) se poate pierde sincronismul la recepŃie De aceea aceste coduri sunt uneori asociate cu metode de limitare a lungimii secvenŃelor de date care nu generează tranziŃii (secvenŃele lungi de bdquo0rdquo de exemplu) cum ar fi RLL - Run Length Limited folosit icircn cazul icircnregistrărilor magnetice sau bit stuffing folosit icircn cazul comunicaŃiilor USB ambele bazacircndu-se pe inserarea de biŃi neinformaŃionali după anumite reguli icircn scopul generării de tranziŃii icircn forma de undă

Dezavantajul codurilor NRZ constă icircn existenŃa unei componente de curent

continuu ceea ce presupune canale de comunicaŃie fără cuplaje inductive sau capacitive precum şi inexistenŃa unei informaŃii implicite de ceas care să faciliteze sincronizarea la recepŃie dar şi lipsa posibilităŃilor de detecŃie a erorii NRZ este utilizat icircn comunicaŃiile seriale RS232 sau icircn reŃelele Gigabit Ethernet 1000Base-X

NRZI este folosit la compact discuri comunicaŃii USB sau icircn reŃele pe fibră optică la 100Mbps 100Base-FX

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

NRZI

0

+

0

+

0

Figura 412 Codul NRZI

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 18: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

186

432 Codul RZ

Codul RZ ndash Return to Zero (coduri cu icircntoarcere icircn zero) este un cod caracterizat de existenŃa unor stări neutre asociate cu transmisia de simboluri bdquo0rdquo Acesta se obŃine printr-o combinaŃie icircntre NRZ-L (secvenŃa de date) şi semnalul de ceas ceea ce icircl face propriu necesităŃilor de sincronizare Codul RZ este prezentat icircn figura 413 El se obŃine practic prin conjuncŃia logică (AND) icircntre datele NRZ-L şi semnalul de ceas Deci 0 va fi reprezentat prin absenŃa impulsului pe timpul intervalului de bit iar 1 prin prezenŃa impulsului pe timpul intervalului de bit

Codurile RZ au un debit binar (sau rata de transfer informaŃional) de 1Tb bps Tb fiind intervalul de bit Intervalul elementar minim al formei de undă folosite pentru semnalizare Tp este mai mic decacirct Tb Tp lt Tb (figura 413) Prin urmare rata de modulaŃie modulation rate R = 1Tp este mai mare decacirct debitul binar information rate D = 1Tb Rata de modulaŃie numită şi viteză de transmisie a simbolurilor se măsoară icircn Bd (Baud vezi capitolul 13) un Baud fiind echivalent cu un impuls (sau o condiŃie discretă icircn general) pe secundă Icircn cazul NRZ intervalul elementar de semnal este egal cu intervalul de bit T = Tb deci rata de informaŃie D icircn bps este egală cu rata de modulaŃie R icircn Bd Deci pentru semnale NRZ cele două unităŃi de măsură au aceeaşi semnificaŃie Pentru semnale RZ intervalul elementar este 12 din intervalul de bit Tp = Tb x 12

Creşterea ratei de modulaŃie se poate face prin reducerea duratei intervalului elementar Tp Dacă icircnsă intervalul elementar este prea mic comparativ cu timpul de creştere (rise time) şi timpul de cădere (fall time) al semnalului transmis pe linia de comunicaŃie datele nu mai pot fi recuperate corect la recepŃie deoarece amplitudinea pulsului poate să nu mai intersecteze pragul de decizie

Pentru o rată de modulaŃie fixă compromisul făcut pentru introducerea informaŃiei de ceas de transmisie icircn semnalul RZ unipolar constă icircn reducerea vitezei de transmisie comparativ cu NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

RZ Unipolar

+

0

Figura 413 Codul RZ

Clock

1 0 1 1 0 1 0

t

0

+

0

Tb

Tp

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 19: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

187

Semnalul RZ deoarece nu are facilităŃi complete de sincronizare (de exemplu icircn cazul şirurilor lungi de bdquo0rdquo) nu este utilizat pentru transmisiuni de date uzuale găsindu-şi icircnsă aplicaŃii icircn icircnregistrarea magnetică digitală a semnalelor Avantajul esenŃial al codurilor RZ comparativ cu NRZ este facilitatea de sincronizare rezultată prin includerea informaŃiei de ceas facilitate care trebuie exploatată pe durata transmiterii de simboluri bdquo1rdquo Codurile RZ au icircnsă o componentă de curent continuu şi o lăŃime de bandă extinsă faŃă de NRZ

Codurile RZ ca şi codurile NRZ nu posedă posibilităŃi intrinseci de detecŃie a erorii 433 Coduri cu modularea poziŃiei sau a duratei impulsului

Codarea impulsurilor icircn poziŃie PPM - Pulse Position Modulation utilizează un

puls de 14 din intervalul de bit plasat la icircnceputul acestuia pentru 0 şi un puls de 14 din intervalul de bit plasat la mijlocul intervalului de bit pentru 1 figura 413

Icircn cazul modulaŃiei impulsurilor icircn durată PDM - Pulse Duration Modulation se utilizează pulsuri de 13 din intervalul de bit pentru 0 şi 23 din intervalul de bit pentru 1 ambele plasate la icircnceputul intervalului de bit (figura 414)

Icircn cazul semnalului PPM intervalul elementar Tp este 14 din intervalul de bit (Tp = Tb x 14) deci rata de transfer se reduce de patru ori faŃă de NRZ icircn aceleaşi condiŃii respectiv pentru o rată de modulaŃie constantă (deoarece rata de modulaŃie maximă este specifică unui canal şi este determinată din timpul de creştere sau timpul de cădere al semnalului de pe linia de transmisie fiind deci influenŃată de lungimea şi tipul liniei)

Semnalul PDM avacircnd un interval elementar minim Tp = Tb x 13 permite

pentru aceeaşi rată de modulaŃie o viteză de transmisie de trei ori mai mică decacirct NRZ Icircn cazul semnalelor modulate PPM şi PDM timpul maxim icircn care semnalul de linie poate să fie icircntr-o anumită stare este mult mai mic decacirct pentru NRZ Pentru PPM acest timp este 125 x Tb iar icircn cazul PDM este 067 x Tb Nivelul mediu de semnal pe linie respectiv componenta continuă va fi mult redusă icircn cazul PPM şi

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

0

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 414 Codurile PPM şi PDM

PPM Unipolar

PDM Unipolar

+

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

188

PDM faŃă de NRZ Evident PDM este o soluŃie mai avantajoasă decacirct PPM icircn condiŃiile icircn care ambele includ informaŃia de ceas de transmisie 434 Coduri cu codarea fazei PE

Codurile PE - Phase Encoded (cu fază codată) utilizează tranziŃiile nivelului de semnal atacirct pentru transportul datelor cacirct şi pentru informaŃia de sincronizare Sunt patru tipuri de coduri PE - BiФ-L - Biphase Level bifazic de nivel sau Manchester - BiФ-M (BMC) - Biphase Mark bifazic mark - BiФ-S (BSC) - Biphase Space bifazic space

- DM - Delay Modulation cu modulaŃia icircntacircrzierii sau Miller

Fiecare cod implică cel puŃin o tranziŃie a nivelului de semnal pe un interval de bit deci implicit există şi informaŃia de sincronizare Codul BiФ-L este de fapt o modulare PSK (Phase Shift Keying) care se obŃine prin sumarea modulo 2 folosind un operator EXCLUSIVE-OR (XOR) a semnalului codat NRZ-L cu ceasul de transmisie Prin urmare icircn forma de undă rezultată vom regăsi semnalul de ceas pentru bdquo0rdquo şi inversul semnalului de ceas pentru bdquo1rdquo (figura 415) Semnalul astfel obŃinut este coerent din punct de vedere al fazei

Icircn ceea ce priveşte codurile BiФ-L (bifazice nivel) acestea sunt cunoscute şi sub denumirea de coduri Manchester Aşa cum se observă (figura 414) ele folosesc o tranziŃie pozitivă la mijlocul intervalului de bit pentru 0 logic şi una negativă tot la mijlocul intervalului de bit pentru 1 logic Pentru 1 şi 0 adiacenŃi apare un impuls de lăŃime egală cu intervalul de bit Pentru secvenŃele constante de 1 sau 0 se obŃine de fapt semnalul de ceas neinversat pentru bdquo0rdquo şi inversat pentru bdquo1rdquo Există şi versiunea de cod care alocă invers tranziŃiile acesta numindu-se cod Manchester inversat

Codul Manchester codifică biŃii prin tranziŃii ceea ce icircnseamnă că el conŃine cacircte o tranziŃie pentru fiecare interval de bit ceea ce icircl face foarte eficient pentru sincronizarea la nivelul echipamentului de recepŃie (autosincronizare) Valoarea medie a semnalului astfel generat este nulă deci acest cod nu introduce componenta continuă icircn forma de undă transmisă Icircn schimb datorită tranziŃiilor suplimentare introduse ocupă o lăŃime de bandă dublă faŃă de semnalul icircn banda de bază sau decacirct NRZ sau NRZI Din cauza numărului mai mare de tranziŃii icircn unitatea de timp la aceeaşi lăŃime de bandă ocupată este mai puŃin eficient decacirct alte coduri Codul Manchester poate fi privit ca un caz particular de cod PSK deoarece fiecare bit comandă faza impulsului rectangular al purtătoarei

Codarea BФ-L (Manchester) este utilizată icircn reŃelele de comunicaŃie de tip Ethernet

Codurile BiФ-M şi BiФ-S pot fi considerate semnale binare modulate FSK (Frequency Shift Keying) cu coerenŃă de fază Icircn cazul BiФ-M un 1 logic este reprezentat printr-o succesiune de substări bdquo01rdquo bdquo10rdquo transmise pe timpul intervalului de bit icircn timp ce 0 logic este reprezentat prin succesiunea de substări bdquo00rdquo şi bdquo11rdquo Starea care urmează la un moment dat pentru un anumit bit transmis va fi dintre

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

189

cele două posibile cea care asigură inversarea stării anterioare (tranziŃie) Cele două substări posibile se succed astfel icircncacirct dacă starea dinainte s-a terminat pe nivel bdquo1rdquo atunci cea care urmează va icircncepe cu nivel bdquo0rdquo şi invers

Semnalul BiФ-S este similar cu semnalul BiФ-M cu deosebirea că alocările de semnal pentru 0 şi 1 sunt inversate Pentru aceste coduri variabila logică este codată printr-o tranziŃie la icircnceputul fiecărui intervalul de bit la care se adaugă şi tranziŃii la mijlocul intervalului de bit atunci cacircnd se transmite bdquo1rdquo icircn cazul BiФ-M sau bdquo0rdquo icircn cazul BiФ-S Icircn figura 415 sunt exemplificate codurile BiФ-M şi BiФ-S

Codul DM este cunoscut şi sub denumirea de cod Miller Un 1 logic este

reprezentat printr-o tranziŃie la mijlocul intervalului de bit iar 0 logic printr-o tranziŃie la sfacircrşitul intervalului de bit dacă 0 este urmat tot de 0 sau nici o tranziŃie dacă 0 este urmat de 1 logic

Codurile bifazice (L M şi S) au impulsul elementar al formei de undă folosite

pentru transmisie de lăŃime minimă 12 din intervalul de bit Tp = Tb 2 Cea mai mare durată a impulsului elementar este un interval de bit Tb Codul DM (Miller) are impulsul elementar de durată mai mare durata minimă este egală cu un interval de bit Tb iar durata maximă este 2 x Tb Această proprietate constituie un avantaj deoarece dacă impulsul elementar este prea scurt mai scurt ca durată decacirct 50 din timpul de creştere (figura 416) atunci recuperarea corectă a datelor este compromisă dacă nu se utilizează tehnici de refacere Deci o deplasare de fază (jitter de fază) de 50 pentru codurile NRZ corespunde la codurile bifazice limitei de

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BФ-M

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 415 Coduri PE bipolare

BФ-L Manchaster

1 0 1 1 0 1 0

t

0

BФ-S

DM Miller

+

-

+

-

1 0 1 1 0 1 0 0 - t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

190

operare corectă Totodată codurile bifazice au o viteză de transmisie (rată a informaŃiei) icircnjumătăŃită faŃă de cea a codurilor NRZ pentru aceeaşi rată de modulaŃie Codurile bifazice bipolare nu conŃin icircn spectrul lor componenta continuă

Codurile DM (Delay Modulation) au aceeaşi caracteristică de interferenŃă

intersimboluri ca şi codurile NRZ deoarece au acelaşi interval elementar Ele au performanŃe mai bune deoarece durata maximă a semnalului cu nivel constant este 2 x Tb Icircn acelaşi timp codurile DM necesită o lăŃime de bandă mai mică nu au componenta de curent continuu şi includ totodată şi facilităŃi de sincronizare Atacirct codurile BФ cacirct şi DM sunt utilizate pentru icircnregistrările digitale magnetice Cele BФ se pretează la icircnregistrările pe disc magnetic iar DM la icircnregistrările de icircnaltă densitate cu icircmpachetarea secvenŃelor de biŃi

Icircn general codurile cu codarea fazei au un spectru de frecvenŃe icircngust nu au

componentă de curent continuu şi oferă posibilităŃi de sincronizare Codurile bifazice nu au posibilităŃi de detectare a erorilor Codul DM oferă

posibilitatea de detecŃie a unei erori prin urmărirea duratei intervalului de semnal cu nivel constant dacă acesta este mai mare decacirct 2 x Tb atunci a apărut o eroare El necesită două strobări pe fiecare interval de bit Deoarece secvenŃele lungi de 1 sau 0 sunt codate prin tranziŃii se reduce probabilitatea de eroare faŃă de codurile clasice care permit lipsa de semnal pe linie (şi deci posibilitatea simulării unui 1 fals prin strobarea unui impuls de zgomot) 435 Coduri multinivel MLB Codurile binare multinivel MLB - Multi Level Binary utilizează mai multe niveluri ale semnalului de linie Codurile multinivel prezentate icircn continuare folosesc trei niveluri de semnal (+ 0 -) pentru reprezentarea informaŃiei binare La recepŃie se obŃine un singur bit pe durata Tb Aceste coduri se mai numesc şi coduri pseudoternare pentru a le deosebi de cele real ternare unde la recepŃie se extrag 157 biŃi de informaŃie pe o perioadă de transmisie şi nu un singur bit ca icircn cazul MLB Principalele coduri multinivel sunt prezentate icircn figura 417 şi sunt descrise icircn continuare Cel mai performant cod de impulsuri din categoria MLB este codul PRZ - Polar Return to Zero (RZ polar) El este un cod RZ care utilizează trei niveluri de semnal

t Impulsuri

elementare

t

Impulsuri recepŃionate

Figura 416 Efectul duratei impulsului elementar asupra deciziei

tr

Tp= Tr Tp= 50 Tr

Prag de decizie

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

191

Un 1 logic este reprezentat printr-un impuls de polaritate pozitivă iar 0 logic este reprezentat printr-un impuls de polaritate negativă Fiecare puls durează 12 din Tb

Codul RZ polar PRZ utilizează o formă de undă care revine la 0 pentru fiecare puls indiferent dacă numărul de biŃi bdquo0rdquo sau bdquo1rdquo este par sau impar Din acest motiv nu este necesar un semnal separat de ceas pentru recepŃie deoarece informaŃia de ceas se găseşte pe fiecare interval de bit Tb Codul are proprietăŃi de sincronizare foarte bune datorită prezenŃei de tranziŃii pe fiecare interval de bit Icircn cazul şirurilor lungi de bdquo1rdquo sau bdquo0rdquo apare o deplasare de curent continuu (componenta continuă) ca şi icircn cazul NRZ

Codurile multinivel bipolare BP utilizează impulsuri de durată Tb 2 sau Tb pentru 1 logic şi lipsa de impuls pe durata intervalului de bit pentru 0 logic Polaritatea impulsurilor pentru 1 logic este alternantă De aceea aceste coduri se mai numesc şi coduri AMI - Alternate Mark Inversion de obicei cu referire la utilizarea de impulsuri cu durata egală cu intervalul de bit Deoarece pe durata lui bdquo0rdquo există lipsă impuls iar pe durata lui bdquo1rdquo se transmit alternativ pulsuri pozitive şi negative valoarea medie e semnalului este nulă şi deci se elimină astfel componenta continuă Codurile BPAMI sunt utilizate pe larg icircn sistemele de comunicaŃii telefonice T1-PCM Deoarece codurile BP nu au componentă de curent continuu se pot utiliza repetoare de linie tele-alimentate cuplate prin transformatoare şi alimentate printr-o buclă de curent de la echipamentul central

1 0 1 1 0 1 0 t

Date NRZ-L 0

1 0 1 1 0 1 0

t

BP

0

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 417 Codurile PRZ şi BP AMI

PRZ RZ Polar

1 0 1 1 0 1 0

t 0

AMI

Clock

+

-

+

-

t 0

0

0

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

192

ProprietăŃile de sincronizare ale codurilor BP sunt foarte bune doar dacă numărul de biŃi 0 transmişi succesiv este limitat Aceasta permite rămacircnerea icircn sincronism a circuitelor de ceas a repetoarelor logice de pe linie Pentru secvenŃele lungi de 0 a fost utilizată o schemă de substituire B6ZS - Binary with 6 Zeros Substitution pentru icircnlocuirea secvenŃelor mai lungi de 6 zerouri cu o secvenŃă determinată care să permită rămacircnerea icircn sincronism şi care să poată fi determinată univoc la recepŃie icircn scopul eliminării ei şi refacerii succesiunii iniŃiale de date Există şi alte scheme de substituire bazate pe acelaşi principiu codurile astfel generate numindu-se coduri AMI modificate şi vor fi prezentate ulterior

O procedură de codare similară asociază bdquo1rdquo cu lipsa semnalului şi bdquo0rdquo cu impulsuri alternative

Icircn cazul codurilor dicod DI - Dicode un impuls bipolar (de lungime Tb pentru

DI-NRZ şi Tb 2 pentru DI-RZ) este asociat fiecărei tranziŃii a datelor de intrare (figura 418) Pulsurile succesive trebuie să alterneze ca semn Fronturilor crescătoare din secvenŃa de date li se asociază puls pozitiv iar fronturilor descrescătoare li se asociază puls negativ Ca şi icircn cazul NRZ-M şi NRZ-S polaritatea pulsurilor ar putea să nu corespundă neapărat cu starea logică a datelor Un puls pozitiv poate reprezenta atacirct o tranziŃie din 0 icircn 1 caz icircn care rezultă codurile prezentate cacirct şi o tranziŃie din 1 icircn 0 caz icircn care se obŃin alte coduri echivalente cu proprietăŃi similare

Spectrul de putere pentru codurile DI-RZNRZ este similar cu cel al codurilor BPAMI şi nu conŃine componentă de curent continuu Sincronizarea de bit pentru codurile DI se obŃine ca şi la cele BP La codurile DI ca şi la BPAMI numărul de biŃi identici succesivi trebuie contorizat şi substituit dacă se depăşeşte o anumită lungime Codurile DI au posibilitatea intrinsecă de detectare a erorilor singulare datorită numărului de două tranziŃii (una pozitivă şi una negativă) care sunt asociate

1 0 1 1 0 1 0 t

Date NRZ-L 0

DI-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 418 Codurile DI

DI-NRZ

1 0 1 1 0 1 0

t

0

Clock

+

-

t 0

0

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

193

cu bitul codat ceea ce icircnseamnă că un număr par de pulsuri succesive cu aceeaşi polaritate este echivalent cu apariŃia erorii

Codurile ternare cu perechi selectate PST - Pair Selected Ternary au fost

dezvoltate pentru a minimiza neajunsul altor coduri bipolare icircn ceea ce priveşte pierderile de sincronizare la transmiterea secvenŃelor lungi de 0 Ele păstrează avantajul inexistenŃei componentei continue icircn spectru şi posibilitatea intrinsecă a detectării unei erori singulare Pentru codarea PST şirul de biŃi este grupat icircn perechi iar semnalul transmis icircn linie este determinat pe baza unui tabel de codare (tabelul 419)

Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin pulsuri (pozitiv nul negativ) atunci codul PST rezultat se numeşte PST-L Pair Selected Ternary Level (PST de nivel) Dacă simbolurile ternare (+ 0 - ) sunt reprezentate prin semnale de ceas (puls pozitiv de ceas lipsă impuls respectiv puls negativ de ceas) atunci codul obŃinut se numeşte PST-RZ Pair Selected Ternary Return to Zero (PST cu icircntoarcere icircn zero) Codurile PST descrise sunt reprezentate icircn figura 420

Pereche biŃi

Succesiune simboluri ternare mod A

Succesiune simboluri ternare mod B

00 - + - + 01 0 + 0 - 10 + 0 - 0 11 + - + -

Tabelul 419 Alocarea simbolurilor pentru codul PST

1 0 1 1 0 1 0 t

Date NRZ-L 0

PST-RZ

+

0

1 0 1 1 0 1 0

t

0

+

-

Figura 420 Coduri PST

PST-L

1 0 1 1 0 1 0

t 0

Clock

+

-

0

0

t

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

194

Pe acelaşi principiu se pot genera şi alte tipuri de coduri PST numite generic coduri PST modificate de exemplu folosind numai alocările de mod A numai alocările de mod B sau cazul PST uzual folosind alternarea modului A cu modul B (vezi tabelul 419) pentru fiecare apariŃie a perechii 01 respectiv 10 icircn scopul anulării componentei continue aşa cum de altfel s-a exemplificat mai sus (figura 420) Sunt de asemenea posibile şi alte alocări decacirct cele descrise Deoarece succesiunea de 2 simboluri cu cacircte 3 niveluri permite 32 = 9 combinaŃii pentru reprezentarea a 22 = 4 cuvinte binare rezultă că există mai multe posibilităŃi de alocare

Codurile duobinare DB - DuoBinary sunt un exemplu de codare corelativă de

nivel deoarece există o corelaŃie icircntre nivelurile succesive de semnal Codurile DB utilizează trei niveluri de semnal nivelul din mijloc (0) fiind alocat lui 0 iar celelalte două (+ -) lui 1 Semnalul pseudoternar este generat prin precodarea datelor de intrare astfel icircncacirct tranziŃiile de semnal să aibă loc numai icircntre niveluri vecine nefiind de exemplu permise tranziŃiile de la + la - şi invers deoarece este sărit nivelul 0

Codul DB codifică bdquo0rdquo prin lipsă impuls iar bdquo1rdquo este reprezentat prin puls pozitiv dacă numărul de biŃi bdquo0rdquo pacircnă icircn momentul respectiv este par şi prin puls negativ dacă numărul de biŃi bdquo0rdquo transmişi pacircnă la momentul respectiv este impar (figura 421)

Precodarea utilizează interferenŃa controlată intersimboluri Avantajul principal constă icircn dublarea debitului binar pentru aceeaşi lăŃime de bandă Codul duobinar poate determina erorile singulare prin sesizarea violării regulii de codare Deşi ca utilizare a benzii de frecvenŃă codurile duobinare sunt avantajoase utilizarea lor este limitată datorită unei importante componente de curent continuu ProprietăŃile de sincronizare sunt similare cu ale codurilor NRZ

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 421 Codul DB

Clock

DB -

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

195

Un cod multinivel uzual este MLT-3 Este folosit icircn reŃelele Ethernet 100

Base-Tx Acest cod ocupă o lăŃime de bandă redusă comparativ cu alte coduri (Manchester AMI) şi generează interferenŃă electromagnetică redusă Semnalul MLT-3 rămacircne icircn starea curentă cacircnd se transmite un bdquo0rdquo şi icircşi schimbă ciclic starea (+ 0 -) cacircnd se transmite bdquo1rdquo (figura 422)

436 Coduri alfabetice

Codurile alfabetice se bazează pe substituirea secvenŃei de biŃi cu o succesiune de simboluri cu două stări (binare) cu trei stări (ternare) sau cu patru stări (quaternare) Ele sunt identificate prin denumiri de forma nBmX unde nB se referă la numărul de biŃi succesivi (n) ce urmează a fi codaŃi unitar iar mX se referă la numărul de simboluri (m) binare (X devine B) ternare (X devine T) sau quaternare (X devine Q) utilizate pentru codificarea succesiunii iniŃiale nB

Icircn cazul codurilor alfabetice mulŃimea cuvintelor de cod de lungime n generează un alfabet de intrare cu 2n cuvinte de cod distincte Fiecărui cuvacircnt de cod de intrare i se pune icircn corespondenŃă prin codare un alt cuvacircnt de cod de ieşire Sunt disponibile 2m (mB) 3m (mT) sau 4m (mQ) cuvinte de cod de ieşire De obicei numărul de cuvinte de cod de ieşire este mai mare decacirct numărul de cuvinte de cod de intrare ceea ce permite realizarea corespondenŃei icircntr-o manieră avantajoasă pentru transmisie fie prin alegerea doar a acelor simboluri care satisfac anumite criterii fie prin utilizarea după anumite reguli a mai multor cuvinte de cod de ieşire pentru un cuvacircnt de cod de intrare (icircn scopul identificării erorilor de transmisie de exemplu) Codurile mT şi mQ sunt coduri multinivel

Principalele coduri alfabetice sunt descrise icircn continuare 4B5B - este un cod care asociază fiecărui grup de 4 biŃi o secvenŃă de 5 biŃi ceea ce icircnseamnă că utilizează doar 16 cuvinte de cod din cele 32 posibile Cuvintele selectate pentru utilizare sunt doar cele care asigură cel puŃin o tranziŃie pentru fiecare secvenŃă ApariŃia unor secvenŃe din cele nealocate poate da informaŃii

1 0 1 1 0 1 0 t

Date NRZ-L 0

t

+

0

1 0 1 1 0 1 0

t

0

+

0

Figura 422 Codul MLT-3

Clock

MLT-3 -

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

196

despre apariŃia de erori de transmisie Deoarece se transmit 5 biŃi pentru o informaŃie reprezentată pe 4 biŃi rezultă că lăŃimea de bandă efectivă este cu 25 mai mare 4B5B este utilizat pe liniile 100BaseTX (IEEE 8023u 1995) şi MADI - Multichannel Audio Digital Interface 4B3T - este un cod folosit pentru ISDN BRI şi reprezintă grupuri de 4 biŃi folosind 3 simboluri ternare (pe 3 niveluri + 0 -) Prin urmare codul asociază 24 = 16 combinaŃii binare cu 33 = 27 simboluri ternare Nu se utilizează combinaŃia 000 pentru a evita lipsa tranziŃiilor Pentru eliminarea componentei continue secvenŃele de intrare pot fi reprezentate alternativ complementar (+ + -) şi (- - +) de exemplu 8B10B - asociază simboluri de 10 biŃi cuvintelor binare de 8 biŃi Este un cod care păstrează informaŃiile de sincronizare şi elimină componenta continuă Icircn acest scop fiecare cuvacircnt de intrare este codificat alternativ prin două secvenŃe binare complementare Astfel numărul de biŃi bdquo1rdquo respectiv bdquo0rdquo care formează un prim cuvacircnt binar ce urmează a fi transmis la prima apariŃie a secvenŃei de intrare este egal cu numărul biŃi bdquo0rdquo respectiv bdquo1rdquo care formează cel de-al doilea cuvacircnt binar transmis la următoarea apariŃie a secvenŃei de intrare Icircn acest fel două secvenŃe corespunzătoare apariŃiilor succesive ale aceluiaşi cuvacircnt de intrare asigură o valoare medie nulă a formei de undă rezultate De asemenea prin alegerea combinaŃiilor 10B utilizate se urmăreşte şi reducerea numărului de biŃi succesivi identici icircn scopul reducerii interferenŃei intersimbol Cei 5 biŃi mai puŃin semnificativi (b0 - b4) sunt codaŃi printr-un grup de 6 biŃi iar restul de 3 biŃi (b5 - b7) sunt codaŃi printr-un grup de 4 biŃi secvenŃele astfel obŃinute fiind concatenate Codul foloseşte un sistem de reprezentare de forma Dxxy unde xx este cuprins icircntre 0 şi 31 iar y icircntre 0 şi 7 (corespunzător numărului de biŃi alocaŃi) Codul defineşte şi simboluri de control caz icircn care reprezentarea este de forma Kxxy Deoarece numărul simbolurilor posibile pe 10 biŃi este de 4 ori mai mare decacirct numărul simbolurilor de 8 biŃi ce trebuie transmise fiecare secvenŃă de intrare are asociate două secvenŃe de ieşire complementare pentru a determina o valoare medie nulă a formei de undă obŃinute aşa cum s-a arătat mai sus Implementarea acestui cod se face de obicei hardware la nivelul interfeŃei de reŃea

Codul 8B10B este utilizat de Serial ATA USB 30 Gigabit Ethernet XAUI PCI Express fibră optică dar şi pentru stocarea digitală pe bandă magnetică Versiuni modificate ale acestui cod sunt folosite icircn standardul Compact Disc (8B14B) icircn reŃele 10 Gigabit Ethernet (64B66B) sau icircn codarea video digitală DVI (Digital Video Interface) sau HDMI (High Definition Multimedia Interface) Codul a fost propus icircn 1983 de către Al Widmer şi Peter Franaszek 2B1Q ndash Two-Binary One-Quaternary utilizează un simbol (1Q) definit prin 4 niveluri posibile de semnal (quaternar) pentru a coda 2 biŃi (2B) Este un cod folosit icircn sistemele ISDN

437 Coduri AMI modificate Atunci cacircnd se utilizează codul AMI (Alternate Mark Inversion) datorită faptului că pulsurile succesive au polarităŃi complementare componenta continuă se anulează icircntr-o manieră simplă şi evidentă existacircnd astfel şi tranziŃii pe durata secvenŃelor lungi de bdquo1rdquo Rămacircne nerezolvată icircnsă problema includerii informaŃiei de sincronizare

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

197

pentru secvenŃele lungi de bdquo0rdquo Pentru a rezolva aceste situaŃii s-au propus codurile AMI modificate numite şi coduri de substituŃie care substituie secvenŃele de bdquo0rdquo de o anumită lungime cu secvenŃe ce includ tranziŃii Principalele coduri de acest tip sunt descrise icircn continuare B8ZS - Bipolar with Eight-Zero Substitution substituie secvenŃele mai lungi de 8 biŃi de zero fiind utilizat icircn sistemele vocale de 64 kbps PCM SecvenŃele constante de 8 biŃi bdquo0rdquo nu permit menŃinerea sincronizării echipamentelor şi sunt substituite Aşa cum s-a arătat secvenŃele lungi de bdquo1rdquo nu ridică această problemă deoarece icircn transmisiile uzuale AMI (Alternate Mark Inversion) biŃii bdquo1rdquo succesivi sunt reprezentaŃi prin impulsuri bipolare complementare Este folosit icircn sistemele T1 (USA) B3ZS - este prescurtarea pentru Bipolar with Three-Zero Substitution fiind caracterizat de introducerea deliberată icircn şirul de date a unei secvenŃe bipolare atunci cacircnd şirul de date conŃine 3 sau mai multe zerouri consecutive Este utilizat pentru a asigura numărul de tranziŃii necesar sincronizării Este folosit icircn sistemele T3 (USA) HDB3 - este un cod folosit icircn principal icircn Europa Australia şi Japonia pe liniile E1 (AMI) Denumirea este o prescurtare pentru High-Density Bipolar de ordinul 3 Patru biŃi bdquo0rdquo succesivi sunt codaŃi ca icircn tabelul de mai jos determinacircnd tranziŃii de sincronizare corespunzătoare

438 Coduri alfa-numerice şi numerice

O categorie fundamentală de coduri utilizate la nivelul superior al stivei de protocoale ale modelului ISOOSI respectiv la nivelul aplicaŃie (interfaŃa cu utilizatorul) sunt codurile alfa-numerice şi codurile numerice Ele sunt proiectate pentru a reprezenta litere cifre simboluri sau mesaje asociind acestora cuvinte de cod unice Astfel de coduri sunt codul ASCII (pentru reprezentarea caracterelor alfa-numerice) sau codul binar natural BCD (pentru reprezentarea numerelor naturale)

Codul ASCII de 7 biŃi plus paritate (ASCII - American Standard Code for Information Interchange) a fost introdus de Institutul pentru Standarde al USA şi a fost apoi acceptat ca standard federal El conŃine icircn afara caracterelor standard caractere speciale pentru controlul comunicaŃiei (vezi tabelul 423) ASCII utilizează cel de-al 8-lea bit pentru paritate (impară pentru transmisiuni sincrone şi pară pentru transmisiuni asincrone)

Echivalentul internaŃional pentru ASCII este Alfabetul InternaŃional nr 5 al CCITT (recomandarea V3) stabilit de CCITT şi ISO (International Standards Organization) care are o variantă de bază şi o versiune internaŃională de referinŃă Aceasta din urmă este perfect similară cu ASCII cu o singură deosebire icircn linia 4 coloana 2 (simbolul monetar) Codul conŃine 128 de caractere de control simboluri grafice litere cifre şi simboluri de uz general El prezintă o anume flexibilitate pentru utilizare adaptată particularităŃilor naŃionale

Număr de pulsuri transmise anterior Ultimul puls impar par

negativ 000- +00+ pozitiv 000+ -00-

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

198

O parte din caractere sunt utilizate pentru controlul unor funcŃiuni de

comunicaŃie sincronizare gestionare mesaje control Orice poziŃie din tabel poate fi identificată prin structura de biŃi sau prin

precizarea coloanei şi racircndului De exemplu caracterul F situat icircn coloana 4 racircndul 6 poate fi reprezentat prin secvenŃa binară 100 0110 sau prin 46 O variantă a codului ASCII este DIC - Data Interchange Code Acesta este diferit de ASCII icircn ceea ce priveşte unele caractere tipăribile care sunt icircnlocuite cu caractere de control (netipăribile) conŃinacircnd şi un bit de paritate pară El a fost adaptat pentru comunicaŃia computer-computer

Alte coduri larg răspacircndite sunt EBCDIC - Extended Binary Coded Decimal Interchange Code Codul Baudot de 5 biŃi utilizat icircn echipamentele de tipărire din generaŃii mai vechi Codul Hollerith (IBM) Codul BCD (Binary Coded Decimal - binar codat zecimal) EBCDIC este o extensie a codului ASCII icircn sensul că foloseşte un bit suplimentar al 8-lea ceea ce permite dublarea numărului de caractere la 256 Icircn plus aceasta permite exprimarea hexazecimală a caracterului prin gruparea celor 8 biŃi cacircte 4 şi convertirea numărului binar respectiv icircn baza 16

Codurile de alfa-numerice şi numerice sunt definite prin standarde şi convenŃii şi nu au fost proiectate pentru transmitere eficientă pe canalele de comunicaŃie ele fiind optimizate pentru dialog şi pentru procesare eficientă 44 Elemente de teoria informaŃiei utilizate icircn construirea codurilor Transportul informaŃiilor icircntre două puncte pe un canal de comunicaŃie presupune nu numai adaptarea fluxului de date la caracteristicile canalului (aşa cum se icircntacircmplă icircn cazul modulaŃiilor sau icircn cazul codurilor de linie) dar şi transmiterea

b7b6b5 000 001 010 011 100 101 110 111

b4b3b2b1 racircndcol 0 1 2 3 4 5 6 7

0000 0 NUL DLE SP 0 P ` p 0001 1 SOH DC1 1 A Q a q 0010 2 STX DC2 2 B R b r 0011 3 ETX DC3 3 C S c s 0100 4 EOT DC4 $ 4 D T d t 0101 5 ENQ NAK 5 E U e u 0110 6 ACK SYN amp 6 F V f v 0111 7 BEL ETB 7 G W g w 1000 8 BS CAN ( 8 H X h x 1001 9 HT EM ) 9 I Y i y 1010 10 LF SUB J Z j z 1011 11 VT ESC + K [ k 1100 12 FF FS lt L l | 1101 13 CR GS - = M ] m 1110 14 SO RS gt N ^ n ~ 1111 15 SI US O _ o DEL

Tabelul 423 Codul ASCII

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

199

fără erori a unui volum cacirct mai mare de informaŃii Icircn aceste scop se pune problema ca fluxul de biŃi transmişi să transporte o cantitate cacirct mai mare de informaŃie prin optimizarea modului de alocare a cuvintelor de cod mesajelor transmise utilizarea de cuvinte de cod de lungime cacirct mai mică alocarea de coduri scurte mesajelor care se trimit mai frecvent sau definirea unor delimitatori optimi pentru cuvintele de cod icircn cadrul secvenŃei transmise 441 Categorii de coduri informaŃionale

Codurile optimizate pentru transportul unui volum cacirct mai mare de informaŃii pe canale ideale (fără zgomot) sunt analizate sub denumirea de coduri informaŃionale pentru canale fără perturbaŃii

Unele coduri sunt proiectate pentru a asigura un anumit nivel de gestiune a erorilor de transmisie (identificarea apariŃiei erorilor corectarea erorilor) Acestea vor fi abordate sub denumirea de coduri pentru canale cu perturbaŃii

Codurile proiectate pentru canale de comunicaŃie care nu sunt afectate de zgomot consideră că secvenŃa de biŃi transmisă ajunge intactă la recepŃie Icircn aceste condiŃii cuvintele de cod asociate mesajelor de transmis trebuie să aibă o lungime cacirct mai mică pentru a genera un debit binar cacirct mai redus şi icircn acelaşi timp trebuie să permită delimitarea cuvintelor de cod transmise serial icircn scopul extragerii mesajelor iniŃiale Fluxul de informaŃii transmise pe un canal de comunicaŃie este alcătuit dintr-o succesiune de mesaje Generatorul de mesaje se numeşte sursă O sursă este deci caracterizată de un set de mesaje disponibile din care se aleg cele care urmează să se transmită Fiecărui mesaj al sursei i se poate atribui o probabilitate de a fi transmis Mesajelor li se asociază succesiuni de simboluri acceptate de canalul de comunicaŃie Aceste simboluri formează alfabetul canalului sau generalizacircnd alfabetul codului Receptorul trebuie să identifice prin mijloace de corelaŃie specifice care mesaj a fost transmis la un moment dat cu probabilitatea maximă

Deoarece informaŃia este transmisă folosind un set de mesaje predefinite icircnseamnă ca ea are un caracter discret

Se poate astfel observa că prin transmiterea informaŃiei sub forma mai multor mesaje aceasta capătă un caracter discret

Presupunem o sursă primară de mesaje (sursă informaŃională) cu distribuŃia

n

n

ppp

sssS

K

K

21

21 (422)

Simbolurile acceptate de canalul de comunicaŃie formează mulŃimea

X = x1 x2 xm Icircn vederea realizării transmisiunii pe un astfel de canal fiecărui mesaj sk i se asociază o succesiune de simboluri din mulŃimea X succesiune numită cuvacircnt de cod Se generează astfel mulŃimea cuvintelor de cod C = c1 c2 cn CorespondenŃa bijectivă stabilită icircntre mulŃimea cuvintelor de cod C şi mulŃimea mesajelor S = s1 s2 sn se numeşte cod

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

200

442 Măsurarea cantităŃii de informaŃie

Se consideră o sursă de mesaje discretă (care poate furniza un număr finit de mesaje) completă (la un moment dat este furnizat cu certitudine un anumit mesaj) şi fără memorie (furnizarea unui mesaj nu depinde de cele furnizate anterior) Dacă sursa este completă conform definiŃiei de mai sus rezultă

sum=

=n

k

kp1

1 sau echivalent (423)

Un

k

k Es1=

= (evenimentul sigur)

Dacă mesajul sk este furnizat cu probabilitatea pk atunci informaŃia care se obŃine la furnizarea sa este o funcŃie de probabilitate şi are forma i(sk) = k log pk (424) Icircn cazul unei surse complete discrete şi fără memorie care conŃine două mesaje notate de exemplu bdquo0rdquo şi bdquo1rdquo se poate obŃine o informaŃie unitară i(sk) = 1 dacă cele două mesaje sunt echiprobabile şi dacă k = -1 Această valoare unitară a informaŃiei se numeşte bit (Binary digIT) Prin definiŃie un bit reprezintă informaŃia care se poate obŃine la furnizarea unui mesaj din două egal probabile

Pentru 2

1=kp (mesaje echiprobabile) k = -1 şi consideracircnd logaritmul icircn baza

2 rezultă

( ) 12

1log2 =minus=ksi [ bit mesaj ] (425)

Prin urmare informaŃia furnizată de un mesaj poate fi transmis cu probabilitatea pk se calculează cu relaŃia ( ) kk psi 2logminus= [ biŃi mesaj ] (426) Dacă logaritmul este icircn baza e ( logaritm natural ) atunci rezultă ( ) ( ) kkk ppsi 2log2lnln sdotminus=minus= (427) Unitatea de măsură icircn acest caz se numeşte ldquonatrdquo (natural unit)

bitinat 4412ln

11 asymp= (428)

Dacă baza logaritmului este 10 unitatea de măsură se numeşte ldquoditrdquo sau bdquodecitrdquo (decimal unit) sau bdquoHartleyrdquo

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

201

bitidit 3232log

11

10

asymp= (429)

Pentru caracterizarea unei surse de mesaje nu este sugestivă informaŃia

transportată de un mesaj punacircndu-se problema determinării informaŃiei medii pe mesaj al unei surse InformaŃia fiind o variabilă aleatoare discretă cunoscacircnd probabilităŃile de furnizare a mesajelor ce compun sursa se poate determina informaŃia medie pe mesaj icircn cazul unei surse discrete completă şi fără memorie Această mărime fizică este entropia sursei notată H(S)

( ) ( ) sumsum==

sdotminus=sdot=n

k

kk

n

k

kk ppsipSH1

21

log (430)

Raportacircnd aceasta mărime la durata medie de transmisie a unui mesaj se

obŃine debitul mediu de informaŃii al sursei Se poate arata că icircn cazul unei surse cu numai două mesaje informaŃia nu poate depăşi valoarea maximă de un bit Pentru a creşte de m ori valoarea informaŃiei medii numărul n de mesaje trebuie crescut la valoarea nm datorită dependenŃei logaritmice 45 Coduri pentru canale fără perturbaŃii 451 Coduri instantanee

Un cod se numeşte nesingular dacă toate cuvintele de cod sunt distincte Un cod se numeşte unic decodabil dacă fiecărei succesiuni din alfabetul

codului icirci corespunde o singură succesiune de mesaje Pentru ca un cod nesingular să fie unic decodabil este necesar să se ataşeze cuvintelor de cod simboluri sau secvenŃe care să delimiteze cuvacircntul astfel icircncacirct la transmiterea acestora serial pe un canal de comunicaŃie receptorul să poată extrage corect cuvacircntul Dacă s-ar folosi un cod de forma s1 = 1 s2 = 01 s3 = 10 s4 = 11 atunci se poate observa imediat că deşi codul este nesingular dacă se transmite bdquo1101rdquo există mai multe succesiuni de mesaje posibile s4 s2 s1 s1 s2 s1 s3 s1 deci nu se poate lua o decizie corectă codul nefiind unic decodabil SoluŃia imediată constă icircn utilizarea unor delimitatori Delimitatorul poate fi un simbol plasat la icircnceputul sau la sfacircrşitul cuvacircntului de cod ca icircn exemplele care urmează A Cod cu delimitator la sfacircrşit s1 = 10 s2 = 110 s3 = 1110 s4 = 11110 B Cod cu delimitator la icircnceput s1 = 01 s2 = 011 s3 = 0111 s4 = 01111

Dacă delimitatorul se află la icircnceputul cuvacircntului atunci pentru a se lua decizia că s-a sfacircrşit recepŃionarea unui cuvacircnt trebuie aşteptat simbolul de la icircnceputul cuvacircntului următor Această situaŃie are loc atunci cacircnd un cuvacircnt de cod este prefix pentru celelalte Icircn exemplul de mai sus pentru codul B s1 este prefix pentru s2 s3 şi s4 cuvacircntul s2 este prefix pentru s3 şi s4 iar s3 este prefix pentru s4

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

202

Icircn cazul exemplului A nici un cuvacircnt de cod nu este prefix pentru altul şi nu trebuie aşteptat cuvacircntul următor pentru a decide ce cuvacircnt s-a transmis

Prin definiŃie codurile icircn care nici un cuvacircnt de cod nu este prefix pentru altul se numesc coduri instantanee Icircn exemplul de mai sus codul A este cod instantaneu

Pentru a mări eficienŃa codului şi a creşte cantitatea medie de informaŃie pe

simbol vehiculat codurile se construiesc prin alocarea unor cuvinte de lungime mică mesajelor care se transmit mai des De exemplu icircn cazul codului Morse caracterul cel mai des transmis icircn limba engleză este bdquoerdquo căruia i s-a ataşat simbolul cel mai scurt bdquordquo

Codurile pentru care lungimea medie a cuvintelor de cod este cea mai mică

posibilă se numesc coduri compacte Icircn cazul acestor coduri lungimile cuvintelor de cod trebuie să descrească odată cu creşterea probabilităŃii mesajelor

Există mai mulŃi algoritmi de generare a codurilor instantanee avacircnd mesajele

cu probabilităŃi maxime de transmisie asociate cu cuvintele de lungime minimă Unele metode utilizate icircn scopul obŃinerii de coduri instantanee compacte sunt prezentate icircn continuare 452 Codarea Shannon-Fano Metoda Shannon-Fano constă icircn ordonarea descrescătoare a mesajelor sursei după probabilităŃi şi icircmpărŃirea acestora icircn două grupe (submulŃimi) astfel icircncacirct sumele probabilităŃilor din fiecare grupă sa fie cacirct mai apropiate posibil Se alocă apoi un prim simbol (bdquo0rdquo de exemplu) primei grupe şi un al doilea simbol (bdquo1rdquo de exemplu) celei de a doua grupe Noile submulŃimi de mesaje sunt din nou divizate icircn acelaşi mod (astfel icircncacirct să aibă sumele probabilităŃilor cacirct mai apropiate) şi din nou se alocă simboluri bdquo0rdquo şi bdquo1rdquo Procedura continuă pacircnă la epuizarea mesajelor Succesiunea de simboluri alocate formează cuvacircntul de cod Icircn tabelul 424 se poate urmări modul de aplicare a algoritmului pentru o sursă cu şapte mesaje

Mesaje ProbabilităŃi SubmulŃimi 1 SubmulŃimi 2 SubmulŃimi 3 SubmulŃimi 4 Cod

s2 025 0 (025)

00

s6 02

0 (045)

1 (02)

01

s5 015 0 (015)

100

s3 015

0 (030)

1 (015)

101

s1 01 0 (01)

110

s4 01

1 (01)

1111

s7 005

1 (055)

1 (025)

1 (015)

0 (005)

1110

Tabelul 424 Codarea Shannon - Fano

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

203

Icircn cazul icircn care probabilităŃile sunt puteri icircntregi ale lui frac12 icircmpărŃirea se poate face astfel icircncacirct probabilităŃile cumulate asociate submulŃimilor să fie egale Icircn acest caz se obŃine un cod absolut optimal adică un cod cu eficienŃa maximă unitară

Dacă probabilităŃile nu sunt puteri icircntregi ale lui frac12 atunci metoda nu conduce icircntotdeauna la soluŃia optimă generacircndu-se coduri instantanee dar nu optimale Codarea Shannon-Fano este utilizată icircn compresia zip 453 Codarea Huffman

Algoritmul propus de David Huffman se bazează pe reaşezarea mesajelor sursei primare astfel icircncacirct probabilităŃile acestora să fie ordonate descrescător Ultimele două mesaje cu probabilităŃile cele mai mici sunt grupate icircntr-un nou mesaj compus reordonacircndu-se din nou mesajele inclusiv noul mesaj compus Se grupează icircn continuare ultimele două mesaje cu probabilităŃile cele mai mici şi se reordonează din nou procedura continuacircnd pacircnă la epuizarea tuturor mesajelor Icircn etapa următoare se alocă arbitrar simboluri bdquo0rdquo şi bdquo1rdquo icircncepacircnd de la ultimele mesaje (compuse sau simple) obŃinute mergacircnd invers pe lanŃul de ordonare Succesiunea de simboluri binare asociate probabilităŃilor care includ mesajul iniŃial constituie cuvacircntul de cod Pentru exemplificare se consideră o sursă de mesaje avacircnd distribuŃia de mai jos

2501500501503010 654321 ssssss

S (431)

Aplicarea metodei de codare Huffman conduce la obŃinerea succesivă a grupărilor reordonate ca icircn tabelul 425

Corespunzător alocărilor de simboluri binare rezultă următoarele cuvinte de

cod asociate mesajelor

s1 = 0010 s2 = 01 s3 = 000 s4 = 0011 s5 = 11 s6 = 10

Mesaje Ordonare 1 Ordonare 2 Ordonare 3 Ordonare 4 Ordonare 5 06 (0) 04 04 (1) 03 03 (00) s2 03 03 03 03 (01) s6 025 025 025 (10) s5 015 015 015 (11) s3 015 015 (000) 015 (001) s1 01 (0010) s4 005 (0011)

Tabelul 425 Codarea Huffman

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

204

Codul obŃinut astfel este instantaneu şi compact Icircn funcŃie de ordinea de alocare a simbolurilor se pot obŃine mai multe coduri instantanee şi compacte Procedeul descris se poate extinde şi pentru cazul icircn care alfabetul codului conŃine mai mult de 2 simboluri Dacă alfabetul codului are m simboluri gruparea celor n mesaje se face cacircte m prin constituirea icircn acest mod de grupări conŃinacircnd un număr de mesaje egal cu numărul de simboluri posibile Dacă este cazul se adaugă un număr suplimentar de mesaje cu probabilitate zero care nu se transmit niciodată astfel icircncacirct icircntotdeauna să se poată constitui grupările complete de m mesaje adică trebuie icircndeplinită condiŃia

n = m + z (m-1) unde z este numărul de grupări (432) Algoritmul Huffman se poate aplica şi pornind de la frecvenŃa de apariŃie a

unui mesaj frecvenŃă care este evident corelată cu probabilitatea de furnizare a mesajului numărul de apariŃii al unui simbol este p (bdquoprdquo fiind probabilitatea de transmisie) din numărul total de simboluri transmise

Un avantaj important al codurilor Huffman este acela că pe lacircngă generarea cuvintelor de cod oferă şi o metodă de conversie de la o reprezentare multinivel (cu mai mult de două simboluri de obicei ternară sau quaternară) la o reprezentare binară respectiv o succesiune de bdquo0rdquo şi bdquo1rdquo care poate fi procesată icircn continuare (codare aritmetică)

Codarea Huffman este utilizată de compresiile pkzip şi de codec-urile jpeg şi mp3 Un cod Huffman modificat este utilizat şi icircn transmisiunile fax 46 Coduri pentru canale cu perturbaŃii

Codurile prezentate nu sunt optimizate pentru utilizare icircn transferul informaŃiei prin reŃelele de date Ele urmăresc identificarea corectă a biŃilor la recepŃie (coduri de linie) sau obŃinerea unor timpi de transmisie cacirct mai reduşi (coduri pentru canale fără perturbaŃii) Astfel de coduri se numesc coduri fără managementul erorilor şi pot fi utilizate pe canalele unde nu apar perturbaŃii

Unele coduri urmăresc gestiunea erorilor de transmisie ce pot să apară pe un canal de comunicaŃie situaŃii icircn care cuvintele de cod trebuie să conŃină informaŃii suplimentare redundante care să permită depistarea apariŃiei erorilor (coduri detectoare de eroare) sau corectarea erorilor pe baza identificării poziŃiei biŃilor eronaŃi (coduri corectoare de eroare) Icircn aceste cazuri cuvacircntului de cod i se adaugă simboluri suplimentare care reduc icircnsă rata reală de transfer a datelor utile pentru un canal dat Icircn această categorie intră de exemplu codurile cu bit de verificare a parităŃii sau codurile bloc şi ele se numesc coduri cu gestionarea erorilor sau coduri pentru canale cu perturbaŃii

461 Principii de gestionare a erorilor Icircn scopul gestiunii erorilor se pot folosi secvenŃe bine delimitate (cuvinte) de

lungime fixă Astfel de coduri se numesc coduri bloc Ele pot conŃine un număr de simboluri informaŃionale k pentru codificarea a 2k mesaje şi un număr r de control Lungimea n a cuvacircntului de cod va fi astfel

n = k + r (433)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

205

Atunci cacircnd simbolurile de control sunt grupate şi delimitate explicit icircn

structura cuvacircntului de cod (de obicei la icircnceput sau la sfacircrşit) codurile se numesc sistematice

Icircn cazul icircn care transmisia nu este organizată pe cuvinte de cod fiind transmis

un şir continuu de biŃi (sau de lungime foarte mare) codurile se numesc coduri non-bloc sau coduri recurente Uneori acestea sunt optimizate pentru corecŃia secvenŃelor de erori succesive cazuri icircn care vorbim de coduri pentru corecŃia salvelor de erori sau coduri convoluŃionale

Codurile generate pe baza unor ecuaŃii algebrice (expresii matriciale sume de control) se numesc şi coduri algebrice Astfel de coduri sunt codul Hamming codul Hadamard sau codurile ciclice care vor fi descrise icircn subcapitolele următoare Unele coduri prezintă proprietăŃi care le icircncadrează icircn mai multe din categoriile de coduri menŃionate mai sus Icircn cazul canalelor cu perturbaŃii codurile trebuie să aibă capacitatea de a gestiona potenŃialele erori Din acest punct de vedere codurile pot fi coduri detectoare de erori sau corectoare de erori Pentru detecŃia unei erori de transmisie este necesar ca un cuvacircnt de cod transmis să conŃină informaŃii suplimentare care să permită identificarea apariŃiei unei succesiuni eronate Prin urmare aceste coduri conŃin informaŃii redundante Icircn cazul detecŃiei de erori de transmisie soluŃia de rezolvare a erorilor constă icircn lansarea unor cereri de retransmisie Există mai multe metode de a identifica apariŃia unui cuvacircnt eronat Dacă un cuvacircnt este transmis de mai multe ori şi la recepŃie se compară succesiunile primite se poate decide dacă succesiunea este corectă sau nu Această metodă nu este eficientă deoarece presupune ocuparea suplimentară a canalului util O metodă mai eficientă constă icircn transmiterea unui bit suplimentar care indică paritatea secvenŃei La recepŃie se verifică paritatea şi se compară cu cea indicată de bitul de paritate Problema detecŃiei erorilor nu este icircnsă rezolvată icircn cazul apariŃiei unui număr par de erori (care nu modifică paritatea) O soluŃie mai eficientă o constituie utilizarea codurilor ciclice sau a altor coduri algebrice ce vor fi descrise ulterior

Pentru a putea identifica apariŃia erorilor de transmisie cuvintele de cod trebuie să aibă un număr suficient de diferenŃe pentru ca la recepŃie să se poată aprecia dacă secvenŃa primită aparŃine sau nu mulŃimii cuvintelor de cod Numărul de necoincidenŃe dintre două cuvinte de cod se numeşte distanŃa Hamming notată icircn continuare cu D

Se poate arăta că pentru a detecta apariŃia a e erori este necesar ca D ge e +1 (434)

Pentru corecŃia unui cuvacircnt recepŃionat receptorul analizează cuvacircntul

recepŃionat şi va considera că cu probabilitatea maximă s-a transmis cuvacircntul de cod aflat la distanŃa Hamming minimă faŃă de cel recepŃionat Pentru a corecta icircn acest mod cuvacircntul recepŃionat este necesar ca icircn funcŃie de numărul e al erorilor corectabile cuvintele codului utilizat să satisfacă relaŃia

D ge 2e +1 (435)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

206

Icircn cazul uzual al codurilor binare eronarea unui bit icircnseamnă substituirea acestuia cu valoarea complementară Pe aceasta bază se poate considera că la nivelul canalului are loc o operaŃie de tip XOR (adunare binară modulo 2 bdquosau exclusivrdquo) icircntre cuvacircntul de cod transmis şi un cuvacircnt de aceiaşi lungime numit cuvacircnt eroare care va conŃine bdquo1rdquo pe poziŃiile unde apare eroare şi bdquo0rdquo acolo unde nu apare eroare 462 Coduri bloc liniare Aşa cum s-a arătat anterior codurile bloc conŃin cuvinte de lungime fixă (n) fiind alcătuite din simboluri informaŃionale (k) şi simboluri de control (r) Simbolurile de control trebuie să reflecte structura de simboluri informaŃionale pentru a permite eventuala identificare a poziŃiilor eronate şi deci corectarea erorilor de transmisie Codurile bloc la care şi simbolurile de control se obŃin prin combinaŃii liniare ale celor informaŃionale se numesc coduri liniare Icircn algebra booleana prin combinaŃii liniare se icircnŃelege suma modulo 2 (restul icircmpărŃirii cu 2 operare de tip XOR) Icircn cazul codurilor bloc liniare structura cuvacircntului transmis este de forma

a1 a2 ak c1 c2 cr (436) cu k+r = n

Determinarea celor r simboluri de control se realizează plecacircnd de la un sistem de r ecuaŃii liniar independente de forma

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

0

0

0

2211

2222121

1212111

nrnrr

nn

nn

ahahah

ahahah

ahahah

(437)

unde 10isinijh cu nj 1= mi 1= 10isinka nk 1=

Din sistemul de ecuaŃii (437) se pot determina icircntotdeauna r simboluri ka

dacă sunt cunoscute n - r = k simboluri informaŃionale ka (sistemul va fi format din ecuaŃii liniar independente) Icircn scopul unei scrieri mai compacte se fac notaŃiile

[ ] [ ] nnV times= 121 aa a - cuvacircnt de cod (438)

[ ]

nrrnrr

n

n

hhh

hhh

hh

H

times

=

h

21

22221

11211

- matrice de control (434)

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

207

Cu notaŃiile de mai sus sistemul (437) se scrie compact sub forma

[ ] [ ] ]0[=sdot TVH (440)

RelaŃia (440) este universal valabilă pentru toate codurile bloc liniare ceea ce

diferă de la un cod la altul fiind structura matricei de control [H] Din (440) se observă că matricea de control [H] are un număr de linii egal cu numărul simbolurilor de control r şi un număr de coloane egal cu numărul de simboluri din cuvacircntul de cod n Icircn cazul icircn care pe canalul de comunicaŃie apar erori se poate defini un cuvacircnt eroare care conŃine bdquo1rdquo pe poziŃiile eronate şi bdquo0rdquo icircn rest

] [][ 21 nεεεε = (441) Daca [Vrsquo] este cuvacircntul recepŃionat atunci neconcordanŃele dintre [V] şi [Vrsquo] vor fi date de [ε]

[ ] [ ] a a n21aV = [ ] [ ] [ ]VV oplus=ε sau [ ] [ ] [ ]εoplus= VV sau [ ] [ ] [ ]εoplus= VV (442)

La recepŃie dispozitivul care poate decide că ceea ce s-a recepŃionat este corect sau nu şi eventual poate preciza şi locurile unde s-au introdus erori se numeşte decodor Implementarea decodorului se realizează după relaŃia (443)

[ ] [ ] [ ]TVHZ `sdot= (443)

unde H este matricea de control cu care s-a realizat codarea V` este cuvacircntului recepŃionat Z este corectorul cuvacircntului recepŃionat

[ ] 10z i

2

1

1 isin

=times

m

m

z

z

z

Z (444)

S-a arătat că [ ] [ ] [ ]εoplus= VV ` Icircnlocuind această relaŃie icircn (443) se obŃine

[ ] [ ] [ ] [ ][ ] [ ] [ ][ ]

[ ] [ ] [ ] [ ] [ ]TT

O

TTHHVHVHZ εεε sdot==gtsdotoplussdot=oplussdot=

=

Z 43421

(445)

Se observa că prin structura sa corectorul [Z] marchează prin bdquo1rdquo poziŃiile unde au apărut erori Asta icircnseamnă ca trebuie să existe cacircte un corector pentru fiecare combinaŃie de erori posibile De exemplu dacă pe canalul de transmisiuni pot apărea ldquoerdquo erori pe oricare din cele n poziŃii icircnseamnă că pentru corecŃia automată a acestora vor trebui să existe e

nC corectori distincŃi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

208

Pentru a corecta e erori sau mai puŃine este necesar ca

e

nnn

m CCCM +++=ge 2 10 (446) unde M reprezintă numărul de cuvinte eroare posibile

Prin urmare la recepŃie se calculează corectorul cu relaŃia (443) şi dacă acesta are toate elementele nule atunci icircnseamnă ca ceea ce s-a recepŃionat este corect Dacă corectorul conŃine elemente nenule atunci icircnseamnă că au apărut erori Cunoscacircnd corectorul [Z] şi avacircnd matricea de control [H] se poate determina cuvacircntul eroare [ε] plecacircnd de la relaŃia (445) Astfel se vor cunoaşte poziŃiile eronate deci se va putea face corecŃia necesară

Icircn mod practic pentru o corecŃie rapidă la receptor se construieşte un tabel cu toŃi corectorii posibili şi cuvintele eroare care icirci generează astfel icircncacirct imediat ce s-a calculat corectorul să se poată extrage cuvacircntul eroare corespunzător Pot exista mai multe cuvinte eroare care generează acelaşi corector dar se consideră cel cu ponderea cea mai mică pe principiul distanŃei minime

Conform relaŃiei (442) sumacircnd cuvacircntul recepŃionat cu cuvacircntul eroare se obŃine cuvacircntul cel mai probabil transmis Exemplu Se consideră un sistem de codare pentru transmiterea de cuvinte binare cu lungimea de 6 biŃi cu posibilitatea de corecŃie a 23 combinaŃii de erori Matricea de control ar putea avea structura de mai jos

nm

H

times

=

100011

010110

001101

Conform relaŃiei (440) la receptor se pre-construieşte un tabel conŃinacircnd cuvintele eroare posibile şi corectorii corespunzători

Cuvinte eroare posibile

Corectori ObservaŃii

000000 000 RecepŃie corectă 100000 101 010000 011 001000 110 000100 100 000010 010 000001 001

Corectori pentru cuvintele care conŃin o singura eroare indiferent de poziŃie

110000 110 101000 011 100100 001

Corectori inutilizabili deoarece au fost deja determinaŃi pentru alte cuvinte eroare cu pondere mai mică

100010 111 Corector pentru două erori

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

209

Dacă se recepŃionează secvenŃa [100011] corectorul care se obŃine conform relaŃiei (440) este [110] ceea ce conform tabelului icircnseamnă că exisă o eroare pe poziŃia a 3-a din stacircnga conform cuvacircntului eroare [001000] Prin urmare se poate face corecŃia şi se decide că secvenŃa cel mai probabil transmisă este [101011] 463 Codul Hamming Dacă matricea de control [H] are o structură particulară atunci se pot genera diverse coduri unul dintre acestea fiind codul Hamming Icircn cazul codului Hamming matricea de control conŃine pe fiecare coloană transcrierea binară a numărului zecimal corespunzător 001 pentru prima coloană 010 pentru a doua coloană şi aşa mai departe pacircnă la 111 pentru ultima coloană Structura cuvacircntului de cod este de asemenea una particulară conŃinacircnd simbolurile de control pe poziŃiile care sunt puteri icircntregi al lui 2 Icircn acest fel fiecare ecuaŃie a sistemului de ecuaŃii implementat de codor va conŃine un singur simbol de control şi mai multe simboluri informaŃionale Rezultă astfel o metodă simplă de determinare a simbolurilor de control prin operaŃii XOR elementare

Structura unui astfel cuvacircnt de cod va fi deci [ ] [ ]K987654321 iciiiciccV = (447)

unde i sunt simboluri informaŃionale iar c sunt simboluri de control

Cunoscacircnd numărul de biŃi informaŃionali se determină numărul necesar de

biŃi de control Icircn cazul unei singure erori condiŃia necesară şi suficientă pentru stabilirea numărului de simboluri de control r este dată de relaŃia 102 CnCnm +ge sau

nm +ge 12 (448)

Din relaŃia de mai sus se determină numărul simbolurilor de control care

trebuie adăugate pentru a corecta o singură eroare Fiind cunoscute simbolurile informaŃionale se pune problema de a determina şi adăuga icircn cuvacircntul de cod simbolurile de control Metoda poate fi extinsă şi pentru două sau mai multe erori La decodare se calculează corectorul după metoda utilizata icircn cazul codurilor bloc rezultacircnd de asemenea circuite simplificate pentru determinarea biŃilor acestuia Codul binar furnizat de corector determină direct poziŃia care trebuie corectată icircn structura cuvacircntului binar Icircn general codurile care utilizează k biŃi informaŃionali şi r biŃi de control pentru care rezultă un cuvacircnt de cod cu lungimea n astfel icircncacirct 1) n = k + r 2) numărul de erori corectabile este e = r m cu n = 2m ndash 1 3) distanŃa minima Hamming D este 2e + 1 le Dmin le 2e + 2 se numesc coduri BCH - Bose Chaudhuri şi Hocquenghem Acestea formează o clasă largă de coduri corectoare de erori care include codul Hamming prezentat dar şi alte coduri (codul Reed ndash Solomon de exemplu)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

210

Exemplu Pentru a transmite numerele de la 0 la 15 sunt necesari 4 biŃi informaŃionali

Numărul simbolurilor informaŃionale fiind k = 4 Pentru a corecta o eroare din condiŃia 12 +ge nm scrisă sub forma 12 ++ge kmm se determină 352 =rArr+ge mmm Structura cuvacircntului de cod va fi

[ ] [ ]7654321 iiiciccV = Matricea de control va avea 3 linii şi 7 coloane iar sistemul de ecuaŃii de codare va avea forma

[ ] [ ] [ ]0

7

6

5

4

3

2

1

1010101

1100110

1111000

=

sdot

=sdot

i

i

i

c

i

c

c

VHT

ceea ce este echivalent cu

oplusoplus=

oplusoplus=

oplusoplus=

hArr

=oplusoplusoplus

=oplusoplusoplus

=oplusoplusoplus

7531

7632

7654

7531

7632

7654

0

0

0

iiic

iiic

iiic

iiic

iiic

iiic

adică trei funcŃii logice combinaŃionale implementabile cu operatori XOR (sumatoare modulo 2) cu cacircte trei intrări 464 Coduri cu bit de paritate

Icircn cazul codurilor cu bit de paritate se adaugă un singur simbol de control c1 m = 1 deci n = k + 1 Simbolul introdus reprezintă paritatea şi se determină astfel icircncacirct să fie satisfăcută relaŃia

0 121 =oplusoplusoplusoplus caaa n (449)

unde simbolurile ai sunt simboluri informaŃionale care alcătuiesc cuvacircntul de cod iar c1 este bitul de paritate Icircn cazul acestei tehnici paritatea se poate aplica fiecărui caracter transmis sau biŃilor de acelaşi rang ai caracterelor dintr-un bloc de date La recepŃie se recalculează paritatea şi se compară cu cea de la emisie Metoda este eficientă pentru o singură eroare sau pentru un număr impar de erori Detectarea modificării parităŃii nu permite icircnsă şi identificarea poziŃiei unde a apărut eroarea SoluŃia practică constă icircn lansarea unei cereri de retransmisie ARQ - Automatic Repeat reQuest ceea ce icircnseamnă retransmisia icircntregului bloc Metoda este eficientă icircn cazul transmisiunilor unde rata erorilor este redusă

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

211

465 Coduri ciclice

Codurile ciclice sunt coduri care au proprietatea că o permutare ciclică a unui cuvacircnt de cod este tot un cuvacircnt de cod Cuvintele de cod sunt reprezentate prin polinoame de grad n-1 sau mai mic adică de forma

1

12

210 )( minusminusoplusoplusoplusoplus= n

n xaxaxaaxv (450) unde ai pot lua valori 0 sau 1

Cuvacircntul de cod format din succesiunea de simboluri binare 110 minusnaaa Icircn cazul acestor coduri se alege un polinom generator al codului de grad m egal cu numărul simbolurilor de control necesare de forma

1010

1

)( 10

minus=isin

=

oplusoplusoplus=

mig

g

xgxggxg

i

m

m

mL

(451)

Polinomul generator al codului g(x) se alege ca divizor ireductibil al

polinomului 1oplusnx iar gradul său m verifică ecuaŃia 12 +ge nm Un astfel de polinom se numeşte polinom primitiv Pentru fiecare grad există cel puŃin un polinom primitiv iar acestea sunt calculate icircn literatura de specialitate De exemplu pentru gradul 2 singurul polinom primitiv este de forma 12 oplusoplus xx Pentru gradul 3 polinoamele primitive sunt 123 oplusoplus xx şi 13 oplusoplus xx

Prin definiŃie un polinom v(x) este cuvacircnt de cod dacă el este divizibil prin polinomul generator al codului g(x) Codul se numeşte ciclic deoarece orice permutare ciclică a unui cuvacircnt de cod constituie tot un cuvacircnt de cod Cuvacircntul de cod (451) transmis pe canalul de comunicaŃie poate fi recepŃionat sub forma (452)

10)( 1110 isinoplusoplusoplus= minusminus i

n

n axaxaaxv K (452) unde a a an0 1 1 minus reprezintă cuvacircntul recepŃionat posibil eronat

La recepŃie se evaluează restul icircmpărŃirii polinomului recepŃionat vrsquo(x) la polinomul generator g(x) Dacă restul obŃinut este nul atunci cuvacircntul recepŃionat este corect Dacă restul este diferit de zero se decide că ceea ce s-a recepŃionat este eronat Dacă din structura restului se pot determina locurile icircn care au fost introduse erorile atunci se poate realiza corecŃia automată a acestora

Codurile ciclice pot fi sistematice sau nesistematice Icircn cazul codurilor ciclice nesistematice simbolurile informaŃionale nu sunt plasate grupat la icircnceputul sau sfacircrşitul cuvacircntului de cod cum se icircntacircmplă icircn cazul codurilor sistematice Pentru construirea unui cod ciclic nesistematic pornind de la cele k simboluri informaŃionale 110 minuskiii se determină polinomul informaŃional de forma

1

110)( minusminusoplusoplusoplus= k

k xixiixi K (453)

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

212

Cuvacircntul de cod se determină ca fiind

)()()( xixgxv sdot= (454)

Cuvacircntul de cod astfel generat este divizibil prin g(x) deci respectă definiŃia cuvintelor de cod Icircn cazul codurilor ciclice sistematice simbolurile informaŃionale se plasează pe ultimele k poziŃii ale cuvacircntului de cod Pentru aceasta se construiesc cuvintele de cod conform relaŃiei

)()()( xixxrxv m sdotoplus=

unde r(x) reprezintă restul icircmpărŃirii cu g(x) a expresiei )(xixm sdot

)(

)()(

)(

)(

xg

xrxq

xg

xixm

oplus=sdot

(455)

Implementarea codoarelor şi decodoarelor pentru coduri ciclice are la bază

utilizarea circuitelor de multiplicare şi divizare al polinoamelor Atacirct la codare cacirct şi la decodare icircn cazul codurilor ciclice sunt necesare operaŃii de multiplicare sau de divizare a polinoamelor cu coeficienŃi 0 sau 1

Unele coduri Hamming (vezi subcapitolul 463) sunt de asemenea coduri

ciclice deoarece definiŃiei acestora De exemplu codul Hamming avacircnd lungimea cuvacircntului de cod de 7 biŃi (cu 4 simboluri informaŃionale şi 3 de control) poate fi gestionat ca şi cod ciclic folosind polinomul generator 13 oplusoplus xx Codul Golay Un exemplu de cod ciclic este codul Golay Codul Golay este un cod ciclic a cărui funcŃie generatoare este g(x) = x11 oplus x9 oplus x7 oplus x5 oplus x3 oplus 1 (456)

Pentru codul Golay neextins dmin = 7 iar pentru codul extins dmin = 8

Trăsătura distinctă a acestui cod este aceea că este singurul cod cu lungimea cuvacircntului de cod 23 capabil să corecteze 3 erori

Codul Golay icircmpreună cu codul Hamming corector de o eroare sunt singurele coduri perfecte corectoare de erori Codul Golay are parametrii n = 23 k = 12 şi r = 11 şi este un cod corector de 3 erori El este un cod perfect deoarece numărul cuvintelor eroare corectabile este egal cu cel al corectorilor 466 Codul Hadamard Icircn cazul codului Hadamard cuvintele de cod constituie coloanele unei matrice numită matrice Hadamard Matricea Hadamard este o matrice pătratică n x n icircn care n = 2k unde k este numărul de biŃi informaŃionali ai cuvacircntului necodat Un

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

213

cuvacircnt de cod are toate elementele bdquo0rdquo icircn timp ce toate celelalte cuvinte conŃin un număr egal de simboluri bdquo0rdquo şi bdquo1rdquo respectiv n2 biŃi bdquo0rdquo şi n2 biŃi bdquo1rdquo plasaŃi icircn poziŃii diferite Cuvintele de cod diferă icircntre ele icircn n2 poziŃii şi din acest motiv cuvintele de cod sunt ortogonale unul faŃă de celălalt Matricea Hadamard ce furnizează două cuvinte de cod este

=

10

00 2M (457)

Cele două cuvintele de cod sunt 00 şi 01 Matricea M4 furnizează patru cuvinte de cod şi este construită din trei matrici M2 şi o matrice M2 cu elementele negate M2

=

=

0110

1100

1010

0000

22

224

MM

MMM (458)

Icircn general

=

nn

nn

nMM

MMM (459)

Dacă o matrice Hadamard are dimensiunea n x n atunci produce n cuvinte de

cod fiecare cu n biŃi Fiecare din cele n cuvinte de cod conŃine k biŃi informaŃionali precum şi r = n - k biŃi de control Numărul de cuvinte de cod trebuie să acopere toate combinaŃiile posibile ale celor k biŃi informaŃionali deci avem nevoie ca fiecare cuvacircnt de cod să conŃină n = 2k biŃi Se poate astfel calcula numărul de simboluri de control k din structura unui cuvacircnt

r = n - k = 2k- k (460) Se poate observa că prin creşterea numărului de simboluri informaŃionale

creşte foarte mult numărul de simboluri de control ceea ce face ca eficienŃa codului să se reducă dramatic

122

minus=== k

kc

k

n

kR (461)

Din cauza numărului mare de simboluri de control pentru a transmite cuvinte

codate folosind codul Hadamard cu aceeaşi rată informaŃională ca şi icircn cazul lipsei codării este necesar un canal cu lăŃime de bandă mult mai mare Deoarece codul Hadamard necesită lăŃimi de bandă mari este de obicei folosit acolo unde spectrul radio nu este aglomerat şi nu sunt restricŃii icircn privinŃa lăŃimii de bandă ocupate ca de exemplu icircn spaŃiul cosmic Deoarece oricare două cuvinte diferă icircn n2 poziŃii distanŃa Hamming minimă va fi

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

214

1min 2

2minus== kn

D (462)

Ca urmare numărul de erori ce poate fi corectat cu un cod Hadamard este

conform relaŃiei (430) deduse anterior

2

12

2

1 2min minus=minus

= minuskDe (463)

Pentru corecŃia erorilor vom considera k gt 2 deoarece altfel se obŃine un

număr de erori corectabile subunitar Pentru un număr de simboluri informaŃionale k mare şi numărul de erori corectabile e devine semnificativ De exemplu pentru a transmite cifrele hexazecimale codate pe 4 biŃi (k = 4) sunt necesare r = 12 simboluri de control deci o lungime a cuvacircntului de cod de 16 biŃi icircn condiŃiile corectării a 3 biŃi eronaŃi din cei 4 posibili 47 Coduri pentru corecŃia salvelor de erori

Codurile prezentate pacircnă acum sunt eficiente icircn cazul unor rate reduse a erorilor şi icircn primul racircnd icircn cazul erorilor singulare Practic erorile care apar icircntr-o transmisiune de date nu sunt singulare existacircnd secvenŃe ne-eronate dar şi secvenŃe eronate icircn totalitate (biŃi succesivi eronaŃi) Aşa se icircntacircmplă icircn cazul transmisiunilor radio sau al icircnregistrărilor magnetice Atunci cacircnd erorile apar succesiv spunem că avem de a face cu salve de erori Salvele de erori presupun o abordare diferita faŃă de cazul erorilor izolate cacircteva soluŃii practice fiind descrise icircn continuare [20]

471 Coduri cu blocuri icircntreŃesute Icircn principiu raŃionamentul care stă la baza corecŃiei salvelor de erori porneşte

de la ideea că mai mulŃi biŃi succesivi din acelaşi bloc de date pot fi eronaŃi dar nu şi biŃii de acelaşi rang din blocuri succesive Pentru a exploata această observaŃie se pot transmite biŃii icircntr-o altă ordine primul bit din primul cuvacircnt primul bit din al doilea cuvacircnt şi aşa mai departe Fiecărei secvenŃe i se aplică apoi algoritmii de corecŃie cunoscuŃi De exemplu dacă se foloseşte un cod corector de o eroare este posibil ca acestea să se afle cacircte una icircn fiecare cuvacircnt transmis adică o eroare icircn secvenŃa alcătuită din biŃii de pe poziŃia 1 altă eroare va fi posibilă icircn secvenŃa alcătuită din biŃii de pe poziŃia 2 şi aşa mai departe Prin urmare dacă apare o salvă de erori care eronează un cuvacircnt iniŃial aceasta se va distribui noilor blocuri de date

OperaŃiunea de formare a blocurilor de date prin preluarea biŃilor de acelaşi rang din cuvinte succesive se numeşte icircntreŃesere iar codurile generate astfel se numesc coduri icircntreŃesute (interleaving) IcircntreŃeserea realizată astfel se numeşte icircntreŃesere bloc şi este descrisă principial icircn figura 426

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

215

Implementarea practică se bazează pe registre de deplasare O secvenŃă

avacircnd lungimea de k x p biŃi de informaŃie este icircncărcată icircntr-un registru organizat pe k linii şi p coloane Şirul de biŃi este introdus bit cu bit icircncepacircnd de la celula a11 La fiecare tact biŃii se deplasează cu cacircte o poziŃie la dreapta icircn timp ce bitul aflat pe ultima poziŃie din dreapta a primului racircnd se mută pe cea mai din stacircnga poziŃie a racircndului următor şi aşa mai departe La final după umplerea registrului datele sunt transmise pe canalul de comunicaŃie icircntr-o nouă succesiune completată cu biŃii de control a11 a21 hellip ak1 c11 c21 cr1 Noua secvenŃă conŃine k biŃi de informaŃie şi r biŃi de control şi poate fi tratată ca icircn cazul codurilor corectoare de erori singulare

a11 a12 a1p a21 a22 a2p ak1 ak2 akp c11 c12 c1p c21 c22 c2p cr1 cr2 crp

k x p biŃi de

informaŃie

k biŃi coloană

r biŃi de control coloană

p biŃi racircnd

Figura 426 Principiul codării-decodării cu blocuri icircntreŃesute

IcircntreŃesere

N

Date recepŃionate

Codificare

Canal de comunicaŃie

EmiŃător

Date

Zgomot

De-icircntreŃesere

Decodificare

Receptor

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

216

Dacă secvenŃa de eroare afectează un icircntreg cuvacircnt atunci prin icircntreŃesere erorile vor fi distribuite cacircte una fiecărui cuvacircnt nou obŃinut deci vor putea fi corectate ca erori singulare

Icircn general dacă codul utilizat poate să corecteze e erori prin procesul de icircntreŃesere va fi posibilă corectarea unei salve de B biŃi cu

B le e middot p (464) 472 Coduri cu icircntreŃesere convoluŃională

O schemă alternativă de icircntreŃesere convoluŃională este prezentată icircn figura 427 Cele patru comutatoare de date operează sincron şi distribuie pe liniile de la 1 la p biŃii fluxului binar de intrare d(k) Cascada de elemente de stocare formează registre de deplasare Icircncepacircnd cu linia 1 numărul de celule de stocare creşte cu s pe măsură ce se trece de la o linie la alta Ultima linie p are (p - 1) x s celule de stocare Numărul total de celule de stocare de pe fiecare linie incluzacircnd atacirct emiŃătorul cacirct şi receptorul este icircn fiecare caz acelaşi pe fiecare cale existacircnd un număr total de (p - 1) x s elemente de memorare

Pentru a evalua funcŃionarea icircn timp trebuie să se Ńină seama de faptul că toate comutatoarele de date comută pe frecvenŃă de bit fb icircn timp ce registrele de deplasare deplasează conŃinutul cu o frecvenŃă de ceas fb p deci un interval de timp egal cu durata de bit multiplicată cu numărul de linii Deplasarea la nivelul unui registru are loc numai sincron cu comutatorul de date atunci cacircnd acesta alimentează linia respectivă cu date

Succesiunea icircn care biŃii vor fi transmişi pe canalul de comunicaŃie este diferită de succesiunea iniŃială şi va fi afectată de icircntreŃesere Dacă doi biŃi succesivi din şirul de intrare sunt d(k) şi d(k+1) se poate observa că dacă primul icircşi păstrează rangul d(k) bitul care a fost iniŃial d(k+1) va deveni icircn schimb d(k+1+ps) Astfel dacă

Canal comunicaŃie

(p-3)s celule stocare

(p-2)s celule stocare

(p-1)s celule stocare

(p-1)s celule stocare

2s celule stocare

s celule stocare

d(k) drsquo(k)

intrare ieşire

1 1

2

3

p

2

3

p

emiŃător receptor

Figura 427 Principiul codării cu icircntreŃesere convoluŃională

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

217

p=7 şi s=3 vor exista p x s = 21 biŃi interpuşi icircntre doi biŃi care au fost iniŃial adiacenŃi unul celuilalt

Prin comparaŃie cu o icircntreŃesere bloc icircntreŃeserea convoluŃională are

avantajul că pentru aceiaşi distanŃă de intercalare (icircntreŃesere) este necesar mai puŃin spaŃiu de memorie Un alt avantaj este şi faptul ca un astfel de codordecodor se poate reconfigura rapid prin reorganizarea celulelor

Ca şi icircn cazul codurilor cu blocuri icircntreŃesute se poate aplica şi icircn cazul codurilor cu icircntreŃesere convoluŃională o schemă de corecŃie a erorilor izolate pentru fiecare cuvacircnt de lungime s nou format

Icircn figura 428 este prezentat principiul de realizare a unui codor convoluŃional Şirul biŃilor ce urmează a fi codaŃi se aplică la intrarea unui registru de deplasare alcătuit din celule de memorie (circuite bistabile de tip D flip-flop) Datele memorate icircn celulele registrului sunt introduse icircn operatori XOR (sau-exclusiv sumatoare modulo 2) O dată cu introducerea unui bit la intrare se generează cuvinte de 3 biŃi la ieşire prin deplasarea controlată a comutatorului de ieşire (icircşi schimbă poziŃia cu o frecvenŃă de 3 ori mai mare decacirct cea cu care intră datele 3 x 1Tb) De exemplu pentru o secvenŃă de intrare de forma (1 0 1 1 0) se generează o secvenŃă de ieşire de forma (111 010 100 110 001 000 011 000 000) Fiecare bit de intrare intervine icircn calcularea a 4 x 3 = 12 biŃi generaŃi Pentru decodare se utilizează arbori de decodare (grafuri) care descriu tranziŃiile posibile Deoarece numărul de noduri astfel generate este foarte mare pentru reprezentare se folosesc diagramele trellis icircn locul diagramelor de stare

Icircn funcŃie de numărul de celule ale registrului şi de numărul de operatori XOR se pot genera diverse configuraŃii de codoare convoluŃionale Icircn literatură [20] sunt descrise metode şi algoritmi de construire a codificatoarelor icircn funcŃie de parametrii de codare

D1 D2 D3 D4

+ + +

v1 v2 v3

Şirul biŃilor de intrare

bi (Tb) q1 q2 q3 q4

Şirul biŃilor de ieşire (Tb3)

Pentru fiecare bit de intrare se generează 3 biŃi de ieşire

Figura 428 Exemplu de codor convoluŃional

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

218

473 Codul Reed-Solomon RS

Codurile bloc descrise anterior sunt gestionate la nivel de biŃi individuali Codul bloc Reed-Solomon (RS) este structurat pe grupuri de biŃi Astfel de grupuri de biŃi sunt numite simboluri Aşadar codul RS organizează şirul serial de biŃi de intrare icircn simboluri avacircnd lungimea de m biŃi ulterior operacircndu-se cu acestea Prin urmare dacă un bit dintr-un simbol este eronat atunci se consideră că icircntregul simbol este eronat

Codul RS are k simboluri informaŃionale (icircn loc de biŃi) r simboluri de control a erorilor deci o lungime totală a cuvacircntului de cod de n = k + r simboluri Icircn plus el este caracterizat de faptul că numărul de simboluri dintr-un cuvacircnt de cod este ales astfel icircncacirct

n = 2m ndash 1 (465)

Codul RS are capacitatea să corecteze un număr e de simboluri eronate unde e = r 2 (466) Dacă presupunem cazul uzual cacircnd se operează cu octeŃi m = 8 şi rezultă un număr de simboluri icircntr-un cuvacircnt de cod n = 28 ndash 1 = 255 simboluri Pentru a putea corecta un număr de erori e =32 trebuie utilizaŃi un număr de simboluri de control r = 2e = 64 Numărul simbolurilor informaŃionale posibile se obŃine prin diferenŃă k = n - r respectiv k = 255 - 64 = 191 simboluri informaŃionale pentru un cuvacircnt de cod

EficienŃa unui cod cu parametrii de mai sus este 750255

191cong==

n

kRc

Numărul total de biŃi icircntr-un cuvacircnt de cod este 255 x 8 = 2040 biŃi cuvacircnt de cod Deoarece codul RS exemplificat poate să corecteze 32 de simboluri el poate

să corecteze de fapt o salvă de 32 x 8 = 256 erori consecutive de bit Dacă folosim codul RS cu o adacircncime de icircntreŃesere p = 4 (numărul de coloane icircn reprezentarea matricială din figura 428) atunci numărul de simboluri eronate succesive este p x e şi numărul de biŃi eronaŃi succesivi care pot fi corectaŃi este

B = m middot p middot e (467)

Pentru m = 8 e = 32 şi p = 10 rezultă de exemplu B = 2560 biŃi

Deşi codul RS poate să corecteze o secvenŃă eronată de o anumită lungime el trebuie icircn acelaşi timp să prezinte şi un segment de date fără erori (zonă liberă de erori) Este interesant de observat că icircn timp ce codul RS exemplificat poate să corecteze 256 de erori consecutive de bit el trebuie să aibă o regiune fără erori cu lungimea de (255-32) x 8 = 1784 biŃi Dacă erorile sunt aleatoare la nivelul de o eroare per simbol atunci codul RS poate să corecteze numai 16 erori de bit icircntr-un şir de 2040 biŃi

Aşadar codul RS nu este un cod eficient pentru corectarea erorilor aleatoare deoarece dacă acestea apar de exemplu cacircte una la nivel de simbol atunci efortul de corectare este acelaşi ca şi icircn cazul eronării icircntregului simbol El este un cod eficient pentru salve de erori atunci cacircnd se operează cu lungimi de simbol m semnificative

Capitolul 4 Adaptarea fluxului de date la canalul de comunicaŃie

219

474 Coduri concatenate Atunci cacircnd trebuie gestionate şi erori individuale şi erori icircn salve se utilizează cascade de codoare decodoare corespunzătoare Codurile astfel obŃinute se numesc coduri concatenate

Pentru a ilustra tehnica de concatenare se poate analiza codificarea reprezentată icircn figura 429 Aceasta foloseşte un cod RS cu k = 223 r = 32 m = 8 şi cu adacircncimea de icircntreŃesere p = 4 Fiecărui racircnd i se poate aplica o codare Hamming adăugacircnd celor 4 simboluri informaŃionale de pe fiecare linie cacircte 3 simboluri de control

Se obŃine astfel o matrice extinsă la 4 + 3 = 7 coloane Numărul de biŃi de informaŃie rămacircne k = 223 x 8 x 4 = 7136 biŃi de informaŃie

Numărul de biŃi de control pentru codarea RS este r(RS) = 32 x 8 x 4 = 1024 biŃi de control RS Numărul de biŃi adăugaŃi icircn urma codificării suplimentare Hamming este r(H) = 255 x 8 x 3 = 6120 biŃi de control Hamming

EficienŃa acestui cod devine astfel

2

1

)()(cong

++=

HrRSrk

kRc (468)

Fără concatenare lungimea salvelor de erori este B = 8 x 4 x 16 = 512 biŃi iar

lungimea unui bloc este n = 8 x 4 x 255 = 8160 biŃi Cu concatenare se obŃine o lungime a salvei de erori B = 8 x 7 x 16 = 896 biŃi

pentru o lungime a blocului n = 8 x 7 x 255 = 14280 biŃi

Eficacitatea codificării icircn scopul corectării salvelor de erori se măsoară prin raportul Bn (lungimea salvei de erori raportată la lungimea blocului) Pentru exemplul considerat se poate remarca faptul că se obŃine acelaşi raport cu sau fără concatenare adică 512 8160 = 896 14280

a1 1 a1 2 a1 3 a1 4 a2 1 a2 2 a2 3 a2 4 a223 1 a223 2 a223 3 a223 p c1 1 c1 2 c1 3 c1 4 c2 1 c2 2 c2 3 c2 4 C32 1 c32 2 c32 3 c32 4

simboluri

k=223 Simb informaŃie coloană

r = 32 biŃi de control coloană

p = 4 simboluri racircnd

Figura 429 Cod RS cu m = 8 k = 233 şi r = 32

TRANSMITEREA INFORMAłIEI IcircN REłELELE DE CALCULATOARE

220

Prin urmare se poate trage concluzia că in urma concatenării deşi nu se modifică eficienŃa de corecŃie a salvelor de erori se introduce şi posibilitatea corecŃiei erorilor singulare dacă acestea nu se succed prea des respectiv 1 bit eronat la fiecare 7 biŃi neeronaŃi Pentru exemplul considerat este posibilă corectarea unei salve de 896 erori dar şi a unei erori la fiecare 7 biŃi icircn restul de 14280 - 896 = 13384 biŃi Fără concatenare restul de 13384 biŃi trebuie să fie lipsiŃi de erori PreŃul plătit pentru aceasta facilitate (corecŃia erorilor singulare) constă icircn lungimea mult mai mare a blocurilor de date

Icircn cazul icircn care secvenŃa de date transmisă are o structură asociată cu un tip particular de informaŃie codificarea poate lua icircn considerare alte cerinŃe specifice cum ar fi cele legate de obŃinerea cu prioritate a unei rate ridicate de compresie (pentru transmiterea icircn timp real a fluxurilor video) sincronizarea unor transmisii agregate (comunicaŃii mixte video şi audio) acceptarea de la icircnceput a unei anumite rate a erorilor (compresia cu pierderi icircn cazul anumitor formate grafice) sau exploatarea unor caracteristici sau imperfecŃiuni ale percepŃiei umane care nu permit identificarea unor abateri dincolo de o anumită rezoluŃie (standardul mp3 de exemplu) Aceste codificări se bazează pe o procesare prealabilă a fluxului informaŃional şi presupun o abordare distinctă

Page 20: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 21: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 22: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 23: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 24: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 25: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 26: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 27: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 28: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 29: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 30: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 31: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 32: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 33: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 34: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 35: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 36: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 37: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 38: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 39: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 40: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 41: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 42: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 43: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 44: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 45: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 46: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 47: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 48: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 49: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 50: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 51: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea
Page 52: 4. ADAPTAREA FLUXULUI DE DATE LA CANALUL DE ...stud.usv.ro/~nitco/anII/RLC/RC_c4.pdfCapitolul 4. Adaptarea fluxului de date la canalul de comunicaŃie 171 4.1 Modularea şi demodularea