Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 10
  • Codificarea semnalului. Tipuri și metode de codificare a datelor

Codificarea semnalului. Tipuri și metode de codificare a datelor

Cele mai simple codificatoare/decodore de vorbire care nu folosesc deloc informații despre modul în care a fost format semnalul codificat, ci pur și simplu încearcă să aducă semnalul reconstruit cât mai aproape ca formă de original, sunt codificatoare/decodore de formă de undă... Teoretic, acestea sunt invariante în raport cu natura semnalului furnizat la intrarea lor și pot fi utilizate pentru a codifica orice semnal, inclusiv non-voc. Aceste codificatoare sunt cele mai simple în principiu de funcționare și dispozitiv, dar nu pot oferi rate mari de compresie (rate scăzute de cod).

Cel mai simplu mod de a codifica o formă de undă este așa-numita modularea codului de impulsICM (sau PCM - Pulse Code Modulation), atunci când se utilizează care se realizează simplu eșantionare și cuantificare uniformă a semnalului de intrare, precum și transformarea rezultatului într-un cod binar uniform.

Pentru semnalele de vorbire cu o lățime de bandă standard de 0,3 până la 3,5 kHz pentru transmisia vorbirii, frecvența de eșantionare este de obicei utilizată F discr ³2 F max = 8 kHz. S-a demonstrat experimental că prin cuantizare uniformă, pentru a obține o calitate a vorbirii aproape ideală, este necesară cuantificarea semnalului cu cel puțin ± 2000 de niveluri, cu alte cuvinte, pentru a reprezenta fiecare probă sunt necesari 12 biți, iar codul rezultat. rata va fi

R= 8000 mostre / s * 12 biți / eșantion = 96000 bps = 96 kbps.

Folosind cuantificare neuniformă(mai precis pentru niveluri de semnal mici și mai grosier pentru niveluri de semnal mari, astfel astfel încât eroarea relativă de cuantizare să fie constantă pentru toate nivelurile de semnal), puteți obține aceeași calitate subiectivă a restabilirii semnalului de vorbire, dar cu un număr mult mai mic de niveluri de cuantizare - aproximativ ± 128. În acest caz, pentru reprezentarea binară a probelor de semnal, sunt necesari 8 biți, iar rata de cod rezultată va fi de 64 kbit/s.



Ținând cont de proprietățile statistice ale semnalului de vorbire (tipul de distribuție a probabilității valorilor instantanee), precum și de proprietățile neliniare ale auzului, care distinge mult mai bine sunetele slabe, scara de cuantizare logaritmică este optimă, care a fost adoptată ca standard. pe la mijlocul anilor '60 și este acum utilizat pe scară largă astăzi. ... Adevărat, în SUA și Europa, standardele pentru cuantizarea neliniară sunt oarecum diferite (comprimarea legii m și compresia legii A), ceea ce duce la necesitatea recodării semnalelor.

Astfel, punctul de plecare pentru orice comparație a eficienței și calității codării semnalelor vocale poate fi o rată de codificare de 64 kbit/s.

Următoarea tehnică care vă permite să reduceți rata de cod rezultată poate fi o încercare de a prezice valoarea eșantionului curent al semnalului din mai multe dintre valorile sale anterioare, iar apoi, codificarea nu este proba în sine, ci erorile predicției sale. - diferența dintre valoarea adevărată a eșantionului curent și valoarea sa prezisă... Dacă precizia predicției este suficient de mare, atunci eroarea de predicție a următoarei mostre va fi mult mai mică decât valoarea eșantionului în sine și va fi necesar un număr mult mai mic de biți pentru a o codifica. În acest fel, cu cât comportamentul semnalului codificat este mai previzibil, cu atât compresia acestuia va fi mai eficientă.

Ideea descrisă stă la baza așa-numitei modularea codului de impuls diferenţial - DICM (DPCM ) - o metodă de codare în care nu valorile semnalului în sine sunt codificate, ci acestea diferențe față de unele valori prezise. Cel mai simplu mod de a prezice este folosind eșantionul anterior al semnalului ca o predicție a valorii sale curente:

x * i = x i –1, e i = x i - x * I . (8.10)

Acesta este așa-numitul predicție de ordin zero, cel mai simplu, dar și cel mai puțin precis. Mai precisă, evident, va fi predicția eșantionului curent bazată pe o combinație liniară a două anterioare etc.:

x * i = å a k x i - k, e i = x i - x * I . (8.11)

Din păcate, precizia predicției nu crește întotdeauna odată cu creșterea ordinii de predicție, deoarece proprietățile semnalului dintre eșantioane încep deja să se schimbe, prin urmare, ele sunt de obicei limitate la predicție nu mai mare decât ordinul 2-3.

În fig. 8.16 și 8.17 sunt diagrame DICM codificator și decodor.

La codificarea semnalelor vocale, ținând cont de gradul de predictibilitate a acestora pe termen scurt (pentru mai multe eșantioane succesive), rata de codare rezultată pentru DICM (DPCM ) este de obicei 5 până la 6 biți per probă sau 40 până la 48 kbps.

Eficienţă DICM poate fi ușor crescută dacă predicția și cuantizarea semnalului va fi efectuată nu pe baza unor caracteristici medii ale acestuia, ci luând în considerare valoarea lor actuală și modificările în timp, adică adaptativ. Deci, dacă rata de modificare a semnalului a devenit mai mare, puteți crește pasul de cuantizare și, dimpotrivă, dacă semnalul a început să se schimbe mult mai lent, dimensiunea pasului de cuantizare poate fi redusă. În acest caz, eroarea de predicție va scădea și, prin urmare, va fi codificată cu mai puțini biți per probă. Această metodă de codare se numește adaptativ DICM , sau ADICM (ADPCM ). Astăzi, această metodă de codare este standardizată și este utilizată pe scară largă în compresia vorbirii în sistemele de comunicații digitale la distanță lungă, într-un sistem de comunicații microcelulare DECT , în telefoanele digitale fără fir etc. Utilizare ADICM cu o rată de cod de 4 biți/probă sau 32 kbps oferă aceeași calitate subiectivă a vorbirii ca 64 kbps - ICM , dar la jumătate din rata codului.

Astăzi sunt și ele standardizate ADICM - codecuri pentru 40, 24 și 16 kbps (în acest din urmă caz, cu o calitate a semnalului puțin mai proastă decât pentru 32 kbps - ADPCM). Astfel, se poate observa că comprimarea semnalelor de vorbire pe baza codării formei lor asigură, în cel mai bun caz, o scădere de două până la trei ori a ratei codului. O scădere suplimentară a ratei duce la o deteriorare bruscă a calității semnalului codificat.

Codificatoarele de formă de undă descrise mai sus au folosit o abordare pur temporală pentru a descrie această formă de undă. Cu toate acestea, sunt posibile și alte abordări. Un exemplu este așa-numitul codificare sub-bandă(Codificare sub-bandă - SBC ), în care semnalul de intrare este împărțit (sau filtrat) în mai multe intervale de frecvență (sub-benzi) și semnalul din fiecare dintre aceste sub-benzi este codificat separat, de exemplu, folosind tehnica ADICM .

Deoarece fiecare dintre sub-benzile de frecvență are o lățime de bandă mai îngustă (toate sub-benzile se adună la lățimea de bandă a semnalului inițial), atunci rata de eșantionare în fiecare sub-bandă va fi, de asemenea, mai mică. Ca rezultat, rata totală a tuturor codurilor va fi cel puțin nu mai mare decât rata de cod pentru semnalul original. Cu toate acestea, această tehnică are anumite avantaje. Faptul este că sensibilitatea subiectivă a auzului la semnale și distorsiunile acestora este diferită la frecvențe diferite. Este maxim la frecvențe de 1 - 1,5 kHz și scade la frecvențe mai mici și mai mari. Astfel, dacă semnalul este cuantificat mai precis în intervalul de sensibilitate auditivă mai mare și mai grosier în domeniul de sensibilitate scăzută, este posibil să se obțină un câștig în rata de cod rezultată. Într-adevăr, atunci când utilizați tehnologia codificare sub-bandă o bună calitate a vorbirii codificate a fost obținută la o rată de codificare de 16 - 32 kbit/s. Codificatorul se dovedește a fi ceva mai complex decât cu un simplu ADPCM, cu toate acestea, este mult mai simplu decât pentru alte metode eficiente de compresie a vorbirii.

O diagramă simplificată a unui astfel de encoder (împărțit în 2 sub-benzi) este prezentată în Fig. 8.18.

Aproape de codificarea subbandă este o metodă de compresie bazată pe aplicarea transformărilor liniare unui semnal, de exemplu, o transformare discretă cosinus sau sinus. Așa-numita tehnologie este folosită pentru a codifica vorbirea. ATC (Adaptive Transform Coding), în care semnalul este împărțit în blocuri, se aplică o transformată cosinus discretă fiecărui bloc și coeficienții obținuți sunt cuantificați adaptiv în conformitate cu natura spectrului semnalului.

Cu cât coeficienții de transformare sunt mai semnificativi, cu atât sunt codificați mai mulți biți. Tehnica este foarte asemănătoare cu Jpeg dar se aplică semnalelor de vorbire. Ratele de codare realizate cu o astfel de codare sunt de 12-16 kbit/s cu o calitate a semnalului destul de satisfăcătoare. Această metodă nu a fost utilizată pe scară largă pentru compresia vorbirii, deoarece sunt cunoscute metode de codare mult mai eficiente și mai ușor de utilizat.

Orez. 8.18. Diagramă pentru explicarea codării sub-bande

Următoarea clasă mare de codificatori de vorbire sunt codificatorii sursă.

Codare sursă

Spre deosebire de codificatoare de formă de undă care nu folosesc deloc informații despre modul în care a fost format semnalul codificat, codificatoare sursă sunt bazate exact pe modelul sursă iar din semnalul codificat se extrag informatii despre parametrii acestui model. în care rezultatul codificării nu sunt codurile de semnal, ci codurile parametrilor sursei acestor semnale. Sunt apelați codificatori sursă pentru codarea vorbirii vocodere(CODURI DE VOCE) și lucrează așa. Tractul de formare a vocii este reprezentat ca un filtru liniar cu parametri variabili in timp, excitat fie de o sursa de zgomot alb (la formarea consoanelor), fie de secvente de impulsuri cu perioada de ton (la formarea vocalelor) - Fig. 8.19.

Modelul liniar al sistemului de producție a vorbirii și parametrii acestuia pot fi găsite în diverse moduri. Iar tipul de vocoder depinde de modul în care sunt determinate.

Informațiile pe care vocoderul le primește ca urmare a analizei semnalului de vorbire și le transmite către decodor este parametrii de filtru generator de vorbire, indicator de vocală / sunet nerostit, puterea semnalului de excitare și perioada de înălțime pentru vocale... Acești parametri trebuie actualizați la fiecare 10 până la 20 ms pentru a urmări non-staționaritatea semnalului de vorbire.

Un vocoder, spre deosebire de un codificator de forme de undă, încearcă să genereze un semnal care sună ca vorbirea originală și nu acordă atenție diferenței dintre forma de undă și originală. în care viteza rezultată a codului la ieșire nu este de obicei mai mare de 2,4 kbps, adică de cincisprezece ori mai puţin decât ADICM ! Din păcate, calitatea vorbirii oferită de vocodere este foarte departe de a fi ideală, deși sunetul său este destul de inteligibil, este complet nenatural. În același timp, chiar și o creștere semnificativă a ratei de codare practic nu îmbunătățește calitatea vorbirii, deoarece pentru codificare a fost ales un model prea simplu al sistemului de producție a vorbirii. Mai ales aspră este presupunerea că vorbirea constă numai din vocale și consoane, ceea ce nu permite nicio stare intermediară.

Vocoderele sunt utilizate în principal în domeniul militar, unde principalul lucru nu este naturalețea vorbirii, ci un grad mare de compresie a acesteia și o rată de cod foarte scăzută, care protejează eficient împotriva interceptării și clasifică vorbirea transmisă. Să aruncăm o privire rapidă la principalele tipuri cunoscute de vocodere.

Vocodere de canal. Acesta este cel mai vechi tip de vocoder, propus încă din 1939. Acest vocoder profită de sensibilitatea scăzută a auzului uman la schimbări minore de fază (timp) ale semnalului.

Pentru segmentele de vorbire cu lungimea de aproximativ 20 până la 30 ms, spectrul de amplitudine este determinat folosind un set de filtre cu bandă îngustă. Cu cât sunt mai multe filtre, cu atât spectrul este mai bine estimat, dar cu cât sunt necesari mai mulți biți pentru a-l codifica și cu atât este mai mare rata de codare rezultată. Semnalele de la ieșirile filtrelor sunt detectate, trecute printr-un filtru trece-jos, eșantionate și codificate binar (Fig. 8.20).

Astfel, se determină parametrii care se schimbă lent ai tractului vocal și, în plus, cu ajutorul detectoarelor tonului principal și a sunetelor vocale, perioada tonului principal de excitare și semnul - o vocală / sunet nerostit.

Vocoderul de canal poate fi implementat atât în ​​formă digitală, cât și analogică și oferă o vorbire suficient de inteligibilă la o rată de codare la ieșirea sa de aproximativ 2,4 kbps.

Orez. 8.20. Circuitul vocoder inițial

Decodorul (Fig. 8.21), după ce a primit informația generată de encoder, o prelucrează în ordine inversă, sintetizând la ieșire un semnal de vorbire, într-o oarecare măsură similar cu originalul.

Având în vedere simplitatea modelului, este dificil să ne așteptăm la o voce reconstruită de bună calitate de la compresia vocoderului. Într-adevăr, vocoderele de canal sunt utilizate în principal numai acolo unde sunt necesare în principal inteligibilitatea și un raport de compresie ridicat: în comunicații militare, aviație, comunicații spațiale etc.

Discurs sintetizat

Vocoder omomorf. Procesarea semnalelor homomorfe este o tehnică de procesare neliniară care poate fi aplicată eficient semnalelor complexe, cum ar fi vorbirea.

Ținând cont de modelul sistemului vocoder utilizat în vocodere, semnalul de vorbire poate fi reprezentat ca o convoluție în timp a răspunsului tranzitoriu de impuls al tractului vocal cu semnalul de excitație. În domeniul frecvenței, aceasta corespunde produsului dintre răspunsul în frecvență al tractului vocal și spectrul semnalului de excitație. În cele din urmă, dacă luăm logaritmul acestui produs, atunci obținem suma logaritmilor spectrului semnalului de excitație și răspunsul în frecvență al tractului vocal. Deoarece urechea umană este practic insensibilă la faza semnalului, este posibil să se opereze cu spectre de amplitudine:

log (| S (e jw) |) = log (| P (e jw) |) + log (| V (e jw) |,(8.12)

Unde S (e jw) - spectrul vorbirii, P (ejw) spectrul semnalului de excitaţie şi V (ejw) - răspunsul în frecvență al tractului vocal.

Dacă acum alerga peste log (| S (e jw) |) transformata Fourier inversa ( OPF ), apoi obținem așa-numitul cepstru semnal. Parametrii tractului vocal se modifică în timp relativ lent (spectrul lor este în regiunea de frecvență joasă - LF), în timp ce semnalul de excitare este o funcție cu oscilație rapidă (spectrul său este concentrat în regiunea de frecvență înaltă - HF). Asa de în cepstrul semnalului de vorbire aceste componente sunt separate (fig. 8.22) si pot fi codificate separat.

Orez. 8.22. Reprezentarea unui semnal de vorbire sub formă de componente LF și HF

O diagramă a unui codificator/decodor de vorbire homomorf este prezentată în Fig. 8.23, folosindu-l, puteți obține o rată de cod de ordinul a 4 kbps.

Vocodere formanți. După cum sa menționat mai devreme, informațiile de bază despre un semnal de vorbire sunt conținute în poziția și lățimea formanților săi constitutivi. Dacă determinați și codificați parametrii acestor formanți cu o precizie ridicată, puteți obține o rată de cod rezultat foarte scăzută - mai puțin de 1 kbps. Din păcate, acest lucru este foarte dificil de făcut, așa că codificatorii de vorbire formant nu au găsit încă o utilizare pe scară largă.

Vocodere cu predicție liniară. Vocodere bazate pe predicție liniară folosiți același model de producție a vorbirii ca și restul celor luate în considerare. Ceea ce le deosebește este metoda de determinare a parametrilor căii. Codificatorii liniari predictivi, sau LPK, consideră că tractul vocal este un filtru liniar cu un răspuns la impuls continuu, în care fiecare valoare succesivă a semnalului poate fi obținută ca o combinație liniară a unui număr de valori anterioare.

Orez. 8.23. Circuit codificator/decodor homomorf

În vocoderul LPK, semnalul de vorbire este împărțit în blocuri cu o lungime de aproximativ 20 ms, pentru fiecare dintre care se determină coeficienții de filtru predictiv. Acești coeficienți sunt cuantificați și transmisi decodorului. Apoi semnalul de vorbire este trecut printr-un filtru, al cărui răspuns în frecvență este invers cu răspunsul în frecvență al tractului vocal. Eroarea de predicție se obține la ieșirea filtrului. Scopul predictorului este de a elimina corelația dintre eșantioanele de semnal adiacente. Ca urmare, corelația pe termen lung în semnal este mult mai pronunțată, ceea ce face posibilă determinarea cu mai multă acuratețe a frecvenței tonului fundamental și evidențierea semnului unui sunet vocal/consoanei.

Vocoderele cu predicție liniară sunt acum cele mai populare, deoarece toate modelele de filtru de tract vocal pe care le folosesc funcționează foarte bine. Ratele de cod obținute cu ajutorul lor cu o calitate bună a vorbirii sunt de până la 2,4 kbit/s.

Maparea canalelor logice la canalele fizice se realizează prin procesele de codificare și criptare a mesajelor transmise.

Pentru a proteja canalele logice de erorile care apar în timpul transmisiei, se folosesc trei tipuri de codare: codare bloc - pentru detectarea rapidă a erorilor în timpul recepției; super precise - pentru a corecta erori individuale; intercalare - pentru a converti rafale de erori în unele unice.

Pentru a proteja canalele de interceptări, criptarea este utilizată în canalele de comunicare și control.

Pentru transmiterea mesajelor pe canalele fizice, se folosește tasarea gaussiană cu deplasare de frecvență cu deplasare minimă a frecvenței (GMSK).

Modulația RF

Standardul GSM folosește codificarea Gaussiană Minimum Shift Frequency Shift Keying (GMSK). Manipularea se numește „gaussian” deoarece secvența de biți de informație înaintea modulatorului trece printr-un filtru gaussian trece-jos (LPF), ceea ce are ca rezultat o reducere semnificativă a lățimii de bandă a semnalului radio emis. Formarea semnalului radio GMSK se realizează în așa fel încât faza purtătoarei se schimbă cu 90 ° în intervalul unui bit de informare. Aceasta este cea mai mică schimbare de fază posibilă detectabilă cu acest tip de modulație. Schimbarea continuă a fazei unui semnal sinusoidal are ca rezultat modularea frecvenței cu modificări discrete de frecvență. Utilizarea unui filtru gaussian vă permite să obțineți „tranziții netede” cu o schimbare discretă a frecvenței. În standardul GSM, modulația GMSK este utilizată cu valoarea lățimii de bandă BT normalizate - 0,3, unde B este lățimea de bandă a filtrului la nivelul de minus 3 dB, T este durata unui bit dintr-un mesaj digital. Miezul modelului de semnal GMSK este un modulator în cuadratura (1 / Q). Circuitul este format din doi multiplicatori și un sumator. Scopul acestui circuit este de a oferi modulație de fază continuă, foarte precisă. Un multiplicator modifică amplitudinea sinusoidalei, iar al doilea, oscilația cosinusului. Semnalul de intrare înaintea multiplicatorului este împărțit în două componente în cuadratura. Descompunerea are loc în două blocuri denumite „sin” și „cos”.

Modulația GMSK are următoarele proprietăți care sunt preferate pentru comunicațiile mobile:

    anvelopă de nivel constant, care permite utilizarea dispozitivelor de transmisie eficiente cu amplificatoare de putere în modul clasa C;

    spectru compact la ieșirea amplificatorului de putere al dispozitivului de transmisie, oferind un nivel scăzut de radiație în afara benzii;

    caracteristici bune de imunitate la zgomot ale canalului de comunicare.

CODARE ȘI MIȘCARE ÎN CANALE DE COMUNICARE ȘI CONTROL ALE STANDARDULUI GSM

Schema bloc generală a codării și intercalării în standardul GSM

Codarea convoluțională și cu intercalare bloc este utilizată pentru a proteja împotriva erorilor în canalele radio mobile GSM PLMN. Intercalarea convertește rafale de erori în unele unice. Codarea convoluțională este un instrument puternic pentru tratarea erorilor individuale. Codarea bloc este folosită în principal pentru a detecta erorile necorectate.

Codul bloc (n, k, t) convertește k simboluri de informații în n simboluri prin adăugarea de simboluri de paritate (n-k) și poate corecta, de asemenea, erorile t simbol.

Codurile convoluționale (CK) aparțin clasei de coduri continue de corectare a erorilor. Una dintre principalele caracteristici ale SC este valoarea lui K, care se numește lungimea constrângerii și arată ce număr maxim de simboluri de ieșire este afectat de un simbol de informație dat. Deoarece complexitatea decodării CS conform algoritmului Viterbi, care este cel mai avantajos din punct de vedere al implementării, crește exponențial odată cu creșterea lungimii constrângerii codului, valorile tipice ale lui K sunt mici și se află în intervalul 3-10. Un alt dezavantaj al circuitelor integrate este că nu pot detecta erori. Prin urmare, standardul GSM pentru detectarea erorilor externe folosește un cod bloc bazat pe un cod convoluțional (2, 1, 5) cu o rată de r = 1/2. Cel mai mare câștig al SC asigură doar erori unice (aleatorie) în canal.

În canalele cu decolorare, care apare în GSM PLMN, este necesar să se folosească CK împreună cu intercalarea.

În GSM PLMN, proprietățile de bază ale canalelor de voce și de control diferă semnificativ unele de altele. Canalele de voce necesită comunicare în timp real cu întârzieri scurte, cu cerințe de eroare de canal relativ scăzute. Canalele de control necesită integritate absolută a datelor și detectarea erorilor, dar sunt permise timpi de transmisie și latențe mai lungi.

În conformitate cu structura generală a cadrelor din standardul GSM, mesajele de informare și semnalele de control sunt transmise într-un interval de timp normal (NB) al unui cadru TDMA. Structura NB (două pachete a câte 57 de biți de informație fiecare) necesită ca numărul de biți codați m corespunzători n - biților necodați din schema generală de codare și intercalare să fie un multiplu întreg de 19. Acești biți sunt apoi criptați și combinați în grupuri I. . Numărul de biți din aceste grupuri ar trebui să fie, de asemenea, 19, grupurile I merg în sloturi I. Numărul I se numește grad de intercalare.

Diferitele canale logice utilizează coduri convoluționale diferite, deoarece ratele de transmisie și cerințele de protecție împotriva erorilor sunt, de asemenea, diferite. Pentru a simplifica mecanismele de codificare și decodare, pentru generarea codurilor sunt folosite doar câteva polinoame. Acest lucru permite utilizarea unui cod convoluțional cu o rată r = 1/2. Cu toate acestea, pentru a îndeplini cerințele formării unui canal de comunicație cu viteză maximă, precum și pentru a aduce structura de alocare a biților în conformitate cu structura cadrului, este necesară rata r = 244/456 = 0,535. Pentru a egaliza rata în canalul de vorbire la r = 1/2, se folosește decimarea, adică sărirea periodică a unor simboluri codificate. Această operație se numește perforare, iar codurile generate în acest fel se numesc perforate. La recepție, decodorul, cunoscând algoritmul de decimare, interpolează datele primite.

Punching-ul nu este utilizat la transmiterea canalului logic de control partajat rapid FACCH.

Codare convoluțională și intercalare în canalul de vorbire cu viteză maximă

Codecul de vorbire transmite fiecare 260 de biți de secvență de informații la o rată de 13 kbps către o schemă de codificare a canalului. Primii 182 de biți ai acestui cadru, numiți biți de clasă 1 în standardul GSM, sunt protejați cu un cod de bloc slab pentru a detecta erorile la receptor.

Codarea se realizează după cum urmează: biții din clasa 1 sunt împărțiți suplimentar în verificări de paritate. Codul bloc este un trunchiat sistematic de 50 de biți din clasa 1a și 132 de biți din clasa 1b. Biții din clasa 1a sunt completați de trei biți de cod ciclic (53, 50).

În conformitate cu regula acceptată pentru formarea unui cod sistematic, tasta Sw este închisă pentru primele cinci până la zece impulsuri de ceas, iar biții de informații care ajung la intrarea codificatorului sunt alimentați simultan la unitatea de reordonare și formarea de biți de paritate. După cincizeci de impulsuri de ceas, comutatorul Sw este activat și biții de paritate sunt primiți de la encoder. În această etapă, se efectuează primul pas de intercalare. Biții cu numere pare sunt colectați în prima parte a cuvântului de informare, urmați de trei biți de paritate. Biții indexați impar sunt apoi stocați în memoria tampon și schimbați. Acesta este urmat de patru biți zero, care sunt necesari pentru funcționarea codificatorului, care generează un cod care corectează erorile aleatorii din canal. Apoi 189 de biți din clasa 1 sunt codificați cu un cod convoluțional (2,1,5) cu o rată de r = 1/2.

După codarea convoluțională, lungimea totală a cadrului este 2x189 + 78 = 456 biți. După aceea, cadrul de 456 de biți este împărțit în opt subblocuri de 57 de biți, care sunt intercalate în diagonală și intracadru. Mai precis, subblocurile B0 și B4 sunt formate în pachete de 114 biți, care sunt rezultatul intercalării diagonale bloc (DI / B). Biții B0 și B4 ai sub-blocurilor sunt intercalați în perechi pentru a forma un proces de intercalare a biților intra-cadru (IBI/B). Pachetul rezultat include două steaguri h1, h0, care sunt folosite pentru a clasifica diferite pachete de transmisie.

Codificare și intercalare a canalelor la rata completă

transmiterea datelor

Pentru a îmbunătăți eficiența codării convoluționale în canalele de transmisie a datelor cu viteză completă, este necesară o perioadă lungă de intercalare. În aceste canale, intercalarea intra-cadru (IBI / B) este implementată pentru gradul de intercalare I = 19, ceea ce duce la o întârziere de transmisie a datelor de 19x116 = 2204 biți. Dacă biții pachetului I (interval de timp) înainte de intercalare sunt notați cu C (Km), m = 1 ... 116, atunci schema de intercalare, adică pozițiile biților după intercalare, sunt determinate de următoarele formulă:

I (K + j, j + 19t) = C (K, m) pentru toate K j = m mod 19, t = m mod 6.

). Codarea fizică poate schimba forma, lățimea de bandă și compoziția armonică a semnalului pentru a sincroniza receptorul și transmițătorul, pentru a elimina componenta DC sau pentru a reduce costurile hardware.

YouTube colegial

  • 1 / 5

    Sistemul de codare a semnalului are o ierarhie pe mai multe niveluri.

    Codificare fizică

    Cel mai de jos nivel din ierarhia de codare este codarea fizică, care determină numărul de niveluri de semnal discrete (amplitudinea tensiunii, amplitudinea curentului, amplitudinea luminozității).

    Codarea fizică are în vedere codificarea doar la nivelul cel mai de jos al ierarhiei de codare - nivelul fizic și nu ia în considerare nivelurile superioare din ierarhia de codare, care includ codarea logică a diferitelor niveluri.

    Din punct de vedere al codificării fizice, un semnal digital poate avea două, trei, patru, cinci, etc. niveluri de amplitudine a tensiunii, amplitudine a curentului, amplitudinea luminii.

    Niciuna dintre versiunile tehnologiei Ethernet nu utilizează codificare binară directă a bitului 0 cu o tensiune de 0 volți și a bitului 1 cu o tensiune de +5 volți, deoarece această metodă duce la ambiguitate. Dacă o stație trimite șirul de biți 00010000, atunci cealaltă stație îl poate interpreta fie ca 10000, fie ca 01000, deoarece nu poate distinge „niciun semnal” de bitul 0. Prin urmare, mașina de recepție are nevoie de o modalitate de a determina în mod unic începutul, sfârșitul și mijlocul fiecărui bit.fără ajutorul unui temporizator extern. Codarea fizică a semnalului permite receptorului să se sincronizeze cu transmițătorul la o schimbare de tensiune la mijlocul perioadei de biți.

    Codare logica

    Al doilea nivel din ierarhia de codare este cel mai de jos nivel de codificare logică cu diferite scopuri.

    Împreună, codarea fizică și codarea logică formează sistemul de codare de cel mai jos nivel.

    Formate de cod

    Fiecare bit al unui cuvânt de cod este transmis sau scris folosind semnale discrete, cum ar fi impulsurile. Modul în care codul sursă este reprezentat de anumite semnale este determinat de formatul codului. Sunt cunoscute un număr mare de formate, fiecare dintre ele având propriile avantaje și dezavantaje și este destinat utilizării în echipamente specifice.

    • Format BVN (fără revenire la zero) corespunde în mod firesc modului de funcţionare al circuitelor logice. Un singur bit este transmis în cadrul unui ciclu, nivelul nu se modifică. O margine pozitivă înseamnă o tranziție de la 0 la 1 în codul sursă, o margine negativă - de la 1 la 0. Absența marginilor indică faptul că valorile biților anteriori și următori sunt egale. Pentru a decoda codurile în format BVN, sunt necesare impulsuri de ceas, deoarece spectrul său nu conține o frecvență de ceas. Semnalul corespunzător codului format BVN conține componente de joasă frecvență (nu apar scăderi la transmiterea unor serii lungi de zerouri sau unu).
    • Format BVN-1 (fără revenire la zero cu scăderea transmisiei 1) este un fel de format BVN. Spre deosebire de acesta din urmă, nivelul BVN-1 nu transmite date, deoarece atât picăturile pozitive, cât și negative corespund biților unici. Scăderile de semnal se formează în timpul transmisiei 1. Cu transmisia 0, nivelul nu se modifică. Ceasul este necesar pentru decodare.
    • Format BVN -0 (fără revenire la zero cu renunțare la transmiterea 0) este complementar cu BVN-1 (pantele corespund cu zero biți ai codului sursă). În sistemele multitrack pentru înregistrarea semnalelor digitale, impulsurile de ceas trebuie înregistrate împreună cu codul în format BVN. O posibilă opțiune este înregistrarea a două semnale suplimentare corespunzătoare codurilor în formatele BVN-1 și BVN-0. Într-unul dintre cele două semnale, scăderile apar în fiecare ciclu de ceas, ceea ce face posibilă obținerea impulsurilor de ceas.
    • Format VN (revenire la zero) necesită transmiterea unui impuls care ocupă doar o parte din intervalul de ceas (de exemplu, jumătate), cu un singur bit. Cu un bit zero, nu este generat niciun impuls.
    • Format VN-P (cu pauză activă)înseamnă transmiterea unui impuls de polaritate pozitivă cu un singur bit și negativ - cu un bit zero. Un semnal de acest format are componente de frecvență de ceas în spectrul său. Este utilizat într-un număr de cazuri pentru transmisia de date prin linii de comunicație.
    • Format DF-0 (două faze cu un salt de fază la transmiterea 0) Corespunde metodei de prezentare in care sariturile se formeaza la inceputul fiecarei masuri. Cu biți unici, semnalul în acest format se modifică odată cu frecvența ceasului, adică la mijlocul fiecărui ciclu, există o scădere a nivelului. Când se transmite un bit zero, nu se formează o diferență la mijlocul ciclului, adică există un salt de fază. Codul în acest format are capacitatea de a se autosincroniza și nu necesită transmiterea semnalelor de ceas.

    Direcția diferenţialului la transmiterea unui semnal 1 este irelevantă. Prin urmare, modificarea polarității semnalului codificat nu afectează rezultatul decodării. Poate fi transmis pe linii echilibrate fără o componentă DC. De asemenea, facilitează înregistrarea magnetică. Acest format este cunoscut și sub numele de Manchester 1. Este folosit în codul de adresă de timp SMPTE, care este utilizat pe scară largă pentru sincronizarea media audio și video.

    Sisteme de codare pe două niveluri

    Fără întoarcere la zero

    Codificare potențială, numită și codare non-return-to-zero (NRZ (Engleză) Rusă).

    La transferul zero, transferă potențialul care a fost setat în ciclul anterior (adică nu îl schimbă), iar la transferul unuia, potențialul este inversat. Acest cod se numește codul potențial de inversare (NRZI).

    NRZ

    Pentru transmiterea unor și zerouri, se folosesc două potențiale care se pot distinge stabil:

    • biții 0 sunt reprezentați printr-o tensiune zero 0 (V);
    • biții 1 sunt reprezentați de valoarea U (B).

    NRZ (inversat):

    • biţii 0 sunt reprezentaţi de valoarea U (B);
    • biții 1 sunt reprezentați de 0 (V) tensiune zero.

    Cel mai simplu cod, un semnal digital obișnuit (discret) (poate fi convertit la polaritate inversă sau niveluri corespunzătoare cu zero și unu pot fi schimbate).

    Avantaje - Implementare simplă; nu este nevoie să codificați și să decodați la capete. Viteză mare de transmisie pentru o lățime de bandă dată (pentru a oferi o lățime de bandă de 10 Mbps, lățimea de bandă va fi de 5 MHz, deoarece o vibrație este de 2 biți). Un bit start-stop este folosit pentru a sincroniza transferul de octeți.

    Dezavantaje - Prezența unei componente constante, ceea ce face imposibilă asigurarea izolației galvanice folosind un transformator. Cerințe ridicate pentru sincronizarea frecvenței la capetele de recepție și de transmisie - în timpul transmiterii unui cuvânt (octet), receptorul nu ar trebui să piardă mai mult de un bit (de exemplu, pentru un cuvânt lung de octet cu biți de pornire și oprire, adică, doar 10 biți de informații despre canal, frecvențele de desincronizare ale receptorului și emițătorului nu pot depăși 10% în ambele direcții, pentru un cuvânt de 16 biți, adică 18 biți de informații despre canal, desincronizarea nu trebuie să depășească 5,5% și chiar mai puțin în implementări fizice).

    NRZI

    La transmiterea unei secvențe de unități, semnalul, spre deosebire de alte metode de codare, nu revine la zero în timpul unui ciclu de ceas. Adică, schimbarea semnalului are loc atunci când unitatea este transmisă, iar transferul de zero nu duce la o schimbare a tensiunii.

    Avantajele metodei NRZI:

    • Ușurință de implementare.
    • Metoda are o recunoaștere bună a erorilor (datorită prezenței a două potențiale foarte diferite).
    • F0 fundamentală are o frecvență suficient de joasă (egale cu N / 2 Hz, unde N este rata de biți a bitului de date discrete / s), ceea ce duce la un spectru îngust.

    Dezavantajele metodei NRZI:

    • Metoda nu are proprietatea de auto-sincronizare. Chiar și în prezența unui generator de ceas de înaltă precizie, receptorul poate face o greșeală în alegerea momentului de achiziție a datelor, deoarece frecvențele celor două oscilatoare nu sunt niciodată complet identice. Prin urmare, la rate mari de date și secvențe lungi de unu sau zero, o nepotrivire mică a frecvenței de ceas poate duce la o eroare într-un întreg ciclu și, în consecință, la citirea unei valori de bit incorecte.
    • Al doilea dezavantaj serios al metodei este prezența unei componente de joasă frecvență, care se apropie de un semnal constant atunci când transmit secvențe lungi de unu și zero (puteți deplasa prin comprimarea datelor transmise). Din această cauză, multe linii de comunicație care nu asigură o conexiune galvanică directă între receptor și sursă nu acceptă acest tip de codare. Prin urmare, în rețele, codul NRZ este utilizat în principal sub forma diferitelor modificări ale acestuia, în care sunt eliminate atât autosincronizarea proastă a codului, cât și problemele componentei constante.

    MLT-3 Multi Level Transmission - 3 (transmisie multinivel) - puțin asemănătoare cu codul NRZI, dar spre deosebire de acesta din urmă, are trei niveluri de semnal. Unitatea corespunde trecerii de la un nivel de semnal la altul, iar modificarea nivelului de semnal are loc secvenţial ţinând cont de tranziţia anterioară. La transmiterea „zero”, semnalul nu se schimbă.

    Acest cod, ca și NRZI, trebuie să fie precodat. Folosit în Fast Ethernet 100Base-TX.

    Cod ternar hibrid (Engleză) Rusă

    Bit de intrare Stare anterioară
    la iesire
    Bit de ieșire
    0 +
    0
    0
    1 +
    0 +

    4B3T[eliminați șablonul]

    Tabel de codificare:

    Tabel de codare MMS 43
    Intrare Offset DC acumulat
    1 2 3 4
    0000 + 0 + (+2) 0−0 (−1)
    0001 0 − + (+0)
    0010 + − 0 (+0)
    0011 0 0 + (+1) − − 0 (−2)
    0100 − + 0 (+0)
    0101 0 + + (+2) − 0 0 (−1)
    0110 − + + (+1) − − + (−1)
    0111 − 0 + (+0)
    1000 + 0 0 (+1) 0 − − (−2)
    1001 + − + (+1) − − − (−3)
    1010 + + − (+1) + − − (−1)
    1011 + 0 − (+0)
    1100 + + + (+3) − + − (−1)
    1101 0 + 0 (+1) − 0 − (−2)
    1110 0 + − (+0)
    1111 + + 0 (+2) 0 0 − (−1)

    Tabel de decodare.

    Conversia semnalului

    Erori de cuantizare și zgomot.

    Cuantificare de nivel, cuantizare uniformă și neuniformă.

    Conversia semnalului.

    Canalîntre sursa mesajelor şi consumator există un ansamblu de mijloace tehnice. Dispozitivele tehnice care alcătuiesc canalul sunt concepute pentru a se asigura că mesajele ajung la consumator în cel mai bun mod posibil - pentru aceasta, semnalele sunt convertite. Astfel de transformări utile ale semnalului sunt modulația discutată mai devreme și conversia semnalelor continue în cele discrete. În consecință, canalele sunt clasificate în funcție de state - continuuși discret.

    Semnalele care transportă informații despre starea unui obiect sau proces sunt prin natura lor continue, la fel cum procesele în sine sunt continue. Prin urmare, astfel de semnale se numesc analogice, deoarece sunt analoge stărilor de proces sau obiect pe care le reprezintă. Numărul de valori pe care un semnal analogic le poate accepta este infinit. În consecință, canalele pe care sunt transmise aceste semnale sunt și ele analogice.

    În centralele telefonice automate, sarcina este adesea redusă la distingerea între un număr finit de stări ale obiectului, de exemplu, dacă un circuit feroviar este ocupat sau liber. Pentru a transmite acest număr de stări, este suficient să comparăm semnalul primit cu un semnal de referință. Dacă este mai mult decât cel de referință, obiectul este într-o stare, mai puțin - în alta. Cu cât numărul stărilor obiectului este mai mare, cu atât ar trebui să fie mai multe niveluri de referință.

    Pe de altă parte, este suficient ca consumatorul să primească informații despre starea obiectului nu în mod continuu în timp, ci periodic, iar dacă perioada de sondare este legată de rata de modificare a stării obiectului, atunci consumatorul nu va avea nicio pierdere de informații.

    Ca urmare a transformărilor unui semnal continuu, numit cuantizarea și prelevarea de probe obține numărătoarea semnalelor, considerate numere într-unul sau altul sistem numeric. Aceste mostre sunt semnale discrete. Aceste numere sunt convertite în combinații de coduri de semnale electrice, care sunt transmise prin linia de comunicație ca continuu. Când este utilizat ca purtător de stare constantă, se obține o secvență de impulsuri video. Dacă este necesar, această secvență modulează o oscilație armonică și obține o secvență de impulsuri radio.

    Codarea este înțeleasă ca conversia semnalelor discrete într-o secvență sau combinație a unor simboluri. Simbolul codului este semnalul elementar , diferit de un alt caracter prin punct de cod . Numărul de valori ale caracteristicilor codului se numește baza codului - m... Numărul de caractere dintr-o combinație de cod P determină lungimea codului. Dacă lungimea codului este constantă pentru toate combinațiile, codul se numește uniform. Binar uniform ( m= 2) coduri. Numărul maxim de combinații de coduri pentru codare uniformă: N= m n.



    Se numește reprezentarea semnalelor continue prin eșantioane și eșantioane - printr-un set de simboluri modulația digitală... Dintre acestea, cele mai frecvente sunt modularea codului de impuls(PCM) și modulație delta(DM).

    Luați în considerare PCM. Să presupunem că trebuie să transmitem un semnal continuu cu un interval de schimbare de la zero la 15 volți. Credem că este suficient să transferăm 16 niveluri, adică. N= 16. Prin urmare, dacă m= 2, atunci n= 4. Codăm: 0 V - 0000, 1 V - 0001, 2 V - 0010, 3 V - 0011 etc. Aceste numere sub formă de impulsuri și pauze sunt introduse în linia de comunicație, apoi decodificate la receptor și convertite, dacă este necesar, din nou într-un semnal continuu. Conversia unui semnal continuu într-un semnal discret se realizează în dispozitivele numite convertoare analog-digitale(ADC), conversii inverse - în dispozitive conversie digital-analogic(DAC).

    La codificarea digitală a informațiilor discrete, se utilizează coduri de potențial și impuls.

    În codurile de potențial, pentru a reprezenta cele logice și zerouri, se folosește doar valoarea potențialului semnal, iar picăturile acestuia, care formează impulsuri complete, nu sunt luate în considerare. Codurile de impulsuri permit ca datele binare să fie reprezentate fie ca impulsuri cu o anumită polaritate, fie ca parte a unui impuls - o scădere potențială într-o anumită direcție.

    Cerințe pentru metodele de codare digitală

    Când folosiți impulsuri dreptunghiulare pentru a transmite informații discrete, este necesar să alegeți o metodă de codare care să atingă simultan mai multe obiective:

    Avea cea mai mică lățime de spectru a semnalului rezultat la aceeași rată de biți;

    Oferă sincronizare între emițător și receptor;

    Posedă capacitatea de a recunoaște erorile;

    A avut un cost redus de implementare.

    Un spectru mai restrâns de semnale permite rate de date mai mari pe aceeași linie (cu aceeași lățime de bandă). În plus, spectrul semnalului este adesea necesar să nu aibă componentă DC, adică prezența curentului DC între emițător și receptor. În special, utilizarea diferitelor circuite de izolare galvanică a transformatorului împiedică trecerea curentului continuu.

    Sincronizarea emițătorului și receptorului este necesară, astfel încât receptorul să știe exact în ce moment este necesar să citească informații noi de pe linia de comunicație. Această problemă în rețele este mai dificil de rezolvat decât atunci când se schimbă date între dispozitive apropiate, de exemplu, între unități din interiorul unui computer sau între un computer și o imprimantă. La distanțe scurte, funcționează bine un circuit bazat pe o linie de comunicație de sincronizare separată (Fig), astfel încât informațiile sunt îndepărtate din linia de date numai în momentul sosirii pulsului de ceas. În rețele, utilizarea acestei scheme provoacă dificultăți din cauza neomogenității caracteristicilor conductoarelor din cabluri. Pe distanțe lungi, viteza neuniformă de propagare poate face ca ceasul să ajungă atât de mai târziu sau mai devreme decât semnalul de date corespunzător, încât un bit de date este sărit sau recitit. Un alt motiv pentru care rețelele renunță la utilizarea impulsurilor de ceas este economisirea conductoarelor în cabluri scumpe.

    Prin urmare, în rețele, se folosesc așa-numitele coduri de auto-sincronizare, ale căror semnale sunt transportate către transmițător printr-o indicație a momentului în care este necesar să se recunoască următorul bit (sau mai mulți biți, dacă codul este orientate spre mai mult de două stări de semnal). Orice scădere bruscă a semnalului - numită front - poate fi un bun indiciu pentru sincronizarea receptorului cu transmițătorul.

    Când se utilizează sinusoide ca semnal purtător, codul rezultat are proprietatea de auto-sincronizare, deoarece o modificare a amplitudinii frecvenței purtătoare permite receptorului să determine momentul în care apare codul de intrare.

    Recunoașterea și corectarea datelor distorsionate este dificil de implementat prin intermediul stratului fizic, prin urmare, cel mai adesea această muncă este întreprinsă de protocoalele care se află mai sus: canal, rețea, transport sau aplicație. Pe de altă parte, recunoașterea erorilor la nivelul fizic economisește timp, deoarece receptorul nu așteaptă ca întregul cadru să fie plasat în buffer, ci îl respinge imediat după recunoașterea biților eronați din cadrul cadru.

    Cerințele pentru metodele de codificare sunt reciproc contradictorii, prin urmare, fiecare dintre metodele de codare digitală populare considerate mai jos are propriile avantaje și dezavantaje în comparație cu altele.

    Cod potențial fără a reveni la zero

    În fig. 2.16, a prezintă metoda de codificare potențială menționată anterior, numită și codare non-return-to-zero (NonReturntoZero, NRZ). Numele de familie reflectă faptul că atunci când se transmite o secvență de unii, semnalul nu revine la zero în timpul unui ciclu de ceas (cum vom vedea mai jos, în alte metode de codare, în acest caz are loc o revenire la zero). Metoda NRZ este simplu de implementat, are o recunoaștere bună a erorilor (datorită a două potențiale foarte diferite), dar nu are proprietatea de auto-sincronizare. Când este transmisă o secvență lungă de unu sau zero, semnalul pe linie nu se modifică, astfel încât receptorul nu poate determina din semnalul de intrare momentele în care este necesar să citească din nou datele. Chiar și cu un generator de ceas de înaltă precizie, receptorul poate face o greșeală la preluarea datelor, deoarece frecvențele celor două oscilatoare nu sunt niciodată complet identice. Prin urmare, la rate mari de date și secvențe lungi de unu sau zero, o nepotrivire mică a frecvenței de ceas poate duce la o eroare într-un întreg ciclu și, în consecință, la citirea unei valori de bit incorecte.

    Un alt dezavantaj serios al metodei NRZ este prezența unei componente de frecvență joasă, care se apropie de zero atunci când transmit secvențe lungi de unu sau zero. Din această cauză, multe canale de comunicație care nu asigură o conexiune galvanică directă între receptor și sursă nu acceptă acest tip de codare. Drept urmare, codul NRZ nu este utilizat în rețele în forma sa pură. Cu toate acestea, sunt utilizate diversele sale modificări, în care sunt eliminate atât autosincronizarea slabă a codului NRZ, cât și prezența unei componente constante. Atractivitatea codului NRZ, din cauza căruia are sens să-l îmbunătățim, constă în frecvența destul de scăzută a armonicii fundamentale fo, care este egală cu N / 2 Hz, așa cum se arată în secțiunea anterioară. Alte metode de codare, cum ar fi Manchester, au o frecvență fundamentală mai mare.

    Metodă alternativă de codificare a inversării bipolare

    Una dintre modificările metodei NRZ este metoda de codificare bipolară cu inversare alternativă (BipolarAlternateMarkInversion, AMI). Această metodă (Fig. 2.16, b) utilizează trei niveluri de potențial - negativ, zero și pozitiv. Pentru a codifica un zero logic, se folosește un potențial zero, iar unul logic este codificat fie de un potențial pozitiv, fie de unul negativ, în timp ce potențialul fiecărei unități noi este opus potențialului precedent.

    Codul AMI elimină parțial problemele DC și non-auto-cronometrare inerente codului NRZ. Acest lucru se întâmplă la transmiterea unor secvențe lungi. În aceste cazuri, semnalul pe linie este o secvență de impulsuri bipolare cu același spectru ca și codul NRZ, care transmite alternativ zero și unu, adică fără componentă DC și cu o armonică fundamentală de N/2 Hz (unde N este rata de biți a transmisiei datelor). Secvențele lungi de zerouri sunt de asemenea periculoase pentru codul AMI, precum și pentru codul NRZ - semnalul degenerează într-un potențial constant de amplitudine zero. Prin urmare, codul AMI necesită îmbunătățiri suplimentare, deși sarcina este simplificată - tot ce rămâne este să se ocupe de secvențe de zerouri.

    În general, pentru diferite combinații de biți pe linie, utilizarea codului AMI are ca rezultat un spectru de semnal mai îngust decât pentru codul NRZ și, prin urmare, un randament de linie mai mare. De exemplu, atunci când sunt transmise alte și zerouri, fo fundamentală are o frecvență de N / 4 Hz. Codul AMI oferă și câteva posibilități de recunoaștere a semnalelor eronate. Deci, încălcarea alternanței stricte a polarității semnalelor indică un impuls fals sau dispariția pulsului corect din linie. Un semnal cu polaritate incorectă se numește încălcare a semnalului.

    Codul AMI folosește nu două, ci trei niveluri de semnal pe linie. Stratul suplimentar necesită o creștere a puterii emițătorului de aproximativ 3 dB pentru a asigura aceeași fiabilitate a recepției de biți pe linie, ceea ce este un dezavantaj comun al codurilor cu stări multiple de semnal în comparație cu codurile care disting doar două stări.

    Cod potențial cu inversare la unu

    Există un cod similar cu AMI, dar cu doar două niveluri de semnal. La transferul zero, transferă potențialul care a fost setat în ciclul anterior (adică nu îl schimbă), iar la transferul unuia, potențialul este inversat. Acest cod se numește cod potențial cu inversare la unu.

    (NonReturntoZerowithonesInverted, NRZI). Acest cod este convenabil în cazurile în care utilizarea celui de-al treilea nivel de semnal este extrem de nedorită, de exemplu, în cablurile optice, unde două stări de semnal - lumină și întuneric - sunt recunoscute în mod constant. Două metode sunt utilizate pentru a îmbunătăți codurile potențiale precum AMI și NRZI. Prima metodă se bazează pe adăugarea de biți redundanți care conțin unități logice la codul sursă. Evident, în acest caz, secvențele lungi de zerouri sunt întrerupte și codul devine auto-sincronizant pentru orice date transmise. De asemenea, componenta constantă dispare, ceea ce înseamnă că spectrul semnalului se îngustează și mai mult. Dar această metodă reduce lățimea de bandă utilă a liniei, deoarece unitățile redundante de informații despre utilizator nu transportă. O altă metodă se bazează pe „amestecarea” preliminară a informațiilor inițiale, astfel încât probabilitatea de apariție a unor și zerouri pe linie să devină apropiată. Dispozitivele, sau blocurile, care efectuează o astfel de operație se numesc scramblers (scramble). La codificare, se folosește un algoritm binecunoscut, astfel încât receptorul, după ce a primit datele binare, le transmite decriptatorului, care restabilește secvența de biți inițială. Biții excesivi nu sunt transmisi pe linie. Ambele metode se referă la codificare logică, nu fizică, deoarece nu determină forma semnalelor pe linie. Ele sunt explorate mai detaliat în secțiunea următoare.

    Codul pulsului bipolar

    În plus față de codurile potențiale, codurile de impuls sunt, de asemenea, utilizate în rețele atunci când datele sunt reprezentate printr-un impuls complet sau o parte din acesta - printr-un front. Cel mai simplu caz al acestei abordări este un cod de impuls bipolar, în care unul este reprezentat de un impuls de o polaritate, iar zero este reprezentat de o alta (Fig. 2.16, c). Fiecare impuls durează o jumătate de bătaie. Un astfel de cod are proprietăți excelente de auto-sincronizare, dar o componentă constantă poate fi prezentă, de exemplu, atunci când se transmite o secvență lungă de unu sau zero. În plus, spectrul său este mai larg decât cel al codurilor potențiale. Deci, la transmiterea tuturor zerourilor sau unuurilor, frecvența armonicii fundamentale a codului va fi egală cu N Hz, care este de două ori mai mare decât armonica fundamentală a codului NRZ și de patru ori mai mare decât armonica fundamentală a codului AMI la transmiterea alternante a unor şi zerouri. Din cauza spectrului prea larg, codul pulsului bipolar este rar folosit.

    Codul Manchester

    În rețelele locale, până de curând, cea mai comună metodă de codare a fost așa-numitul cod Manchester (Fig. 2.16, d). Este folosit în tehnologiile Ethernet și TokenRing.

    Codul Manchester folosește scăderea potențialului, adică frontul pulsului, pentru a codifica unurile și zerourile. În codificarea Manchester, fiecare bară este împărțită în două părți. Informațiile sunt codificate de potențiale scăderi care apar la mijlocul fiecărui ciclu de ceas. Unul este codificat de panta de la nivelul de semnal scăzut la cel ridicat, iar zero este codificat de panta inversă. La începutul fiecărui ciclu, poate apărea o scădere a semnalului superior dacă urmează să fie reprezentate mai multe uni sau zerouri pe rând. Deoarece semnalul se schimbă cel puțin o dată pe ciclu de transmitere a unui bit de date, deci. Codul Manchester are proprietăți bune de sincronizare automată. Lățimea de bandă a codului Manchester este mai îngustă decât cea a pulsului bipolar. De asemenea, nu are o componentă constantă, iar armonica fundamentală în cel mai rău caz (la transmiterea unei secvențe de uni sau zerouri) are o frecvență de N Hz, iar în cel mai bun caz (la transmiterea de unuri și zerouri alternative) este egală cu N. / 2 Hz, ca în codurile AMI sau NRZ. În medie, lățimea de bandă a codului Manchester este de o ori și jumătate mai îngustă decât cea a codului pulsului bipolar, iar fundamentala oscilează în jurul valorii de 3N / 4. Codul Manchester are un alt avantaj față de codul pulsului bipolar. În cel din urmă, trei niveluri de semnal sunt utilizate pentru transmiterea datelor, iar în Manchester, două.

    Cod potențial 2B1 Q

    În fig. 2.16, e arată un cod potențial cu patru niveluri de semnal pentru codificarea datelor. Acesta este un cod 2B1Q, al cărui nume reflectă esența sa - fiecare doi biți (2B) sunt transmisi într-un ciclu de ceas de un semnal care are patru stări (1Q). O pereche de biți 00 corespunde unui potențial de -2,5 V, o pereche de biți 01 corespunde unui potențial de -0,833 V, o pereche 11 corespunde unui potențial de +0,833 V și o pereche 10 corespunde unui potențial de + 2,5 V. Această metodă de codare necesită măsuri suplimentare pentru a combate secvențele lungi ale acelorași perechi de biți, deoarece în acest caz semnalul se transformă într-o componentă constantă. Cu intercalarea aleatorie a biților, spectrul semnalului este de două ori mai îngust decât cel al codului NRZ, deoarece la aceeași rată de biți timpul ciclului este dublat. Astfel, folosind codul 2B1Q, este posibilă transmiterea datelor pe aceeași linie de două ori mai rapid decât folosind codul AMI sau NRZI. Cu toate acestea, pentru implementarea sa, puterea emițătorului trebuie să fie mai mare, astfel încât cele patru niveluri să fie clar distinse de receptor pe fundalul interferenței.

Top articole similare