Scheme de Codare ale Canalului Utran

Scheme de codare ale canalului UTRAN

(Universal Terrestial Radio Access Network)

UMTS (Universal Mobile Telecommunications Systems) este un sistem de telefonie mobila 3G (Third Generation) si face parte din familia IMT-2000 (International Mobile Telecommunication 2000) a standardelor de comunicatii mobile de generatia a treia. Cele trei standarde special definite pentru 3G sunt: UMTS sau W-CDMA (CDMA de banda larga), cdma2000 si TD-SCDMA (TDMA/CDMA cu sincronizare)

UMTS a fost initial dezvoltat de ETSI, iar apoi a fost preluat de 3GPP (Third Generation Partnership Project).

Sistemul UMTS poate fi considerat o evolutie, atat in servicii, cat si in viteza de transfer, de la a doua generatie la a treia generatie (3G) si reprezinta o modalitate reala pentru dezvoltarea produselor si serviciilor multimedia.

Datorita cresterii cererilor aplicatiilor mobile si Internet sistemul GSM a fost dezvoltat ajungandu-se astfel la sistemul UMTS care solution aceasta problema.

Sistemul UMTS este structurat in doua grupe de elemente de retea: RAN(Radio Access Network) si CN (Core Network). RAN suporta toate functionalitatile radio. In cazul sistemelor UMTS, cu acces radio de tip WCDMA (Wide CDMA), se foloseste terminologia de UTRAN (UMTS Terrestrial RAN) sau UTRA. CN corespunde retelei centrale, care are rolul de a comuta si de a ruta comunicatiile spre retelele externe.In plus in arhitectura sistemului UMTS apare si terminalul utilizator UE(User Equipment).

UTRAN (Universal Terrestial Radio Access Network) este un termen colectiv pentru reteaua si echipamentul care conecteaza telefoanele mobile la reteaua publica de telefonie sau la internet. Acesta contine statia de baza care este denumita ca Node B’s si Radio Network Controllers (RNCs) care alcatuiesc reteaua UMTS de acces radio. Aceasta retea de comunicatii este denumita in mod obisnuit 3G (a 3-a generatie de tehnologie de comunicatii mobile wireless). UTRAN permite conectivitatea intre echipamentul utilizatorului (UE) si reteaua centrala.

Functiile retelei de acces radio UTRAN:

– controlul accesului in sistem;

– criptare si de decriptare a informatiilor pe canalul radio;

– functii de mobilitate;

– controlul si managementul resurselor radio;

– functii legate de serviciile difuzate.

UMTS a introdus o notiune noua si importanta numita Purtatoarea de Radio Acces (RAB – Radio Access Bearer). Aceasta descrie canalul de transimsie intre o retea si un user. RAB este divizata in purtatoarea radio din air interface si purtatoarea Iu din reteaua radio (UTRAN). Inainte ca datele sa fie schimbate intre un user si retea este necesar sa se stabileasca o purtatoare de radio acces intre ei.

Acest canal este folosit pentru transimisa de date intre user si retea si pentru semnalizare. In momentul receptiei unei cereri de la MSC si SGSN, se realizeaza o conexiune RAB. In schimb, in cazul tehnologiei GSM, in momentul stabilirii unui canal, MSC si SGN nu specifica proprietatile exacte ale canalului. Stabilirea unei conexiuni RAB presupune cunoasterea proprietatilor canalului de comunicatie. Modul in care acele proprietati sunt mapate cu conexiunea fizica tine doar de UTRAN .

UTRAN realizeaza de asemenea conexiunea RAB care corespunde descrierii precedente. Proprietatile canalului de comunicatii influenteaza banda conexiunii RAB stabilite si unii parametri cum ar fi: schema de codare, comportamentul retelei in cazul in care exista un frame lipsa la diferite straturi ale stivei de protocoale. UTRAN este liber sa stabileasca acesti parametri.

Codarea canalului

Codurile corectoare de erori sunt folosite pentru a imbunatati eficienta sistemelor de comunicatii. Procesul de adaugare a informatiilor redundante la informatia utila este cunoscut sub denumirea de codare de canal. Codarea convolutionala si codarea bloc sunt cele doua forme majore de codare de canal. Codurile convolutionale opereaza asupra datelor serial, unu sau mai multi biti odata. Codurile bloc opereaza asupra unor blocuri de mesaje relativ mari. In comunicatiile mobile se folosesc coduri convolutionale si turbo.

Coduri turbo

Turbo-codurile au facilitat operarea sistemelor de comunicatii aproape de limita Shannon. Importanta lor consta in capacitatea de corectie a datelor si a fost recunoscuta si acceptata aproape pentru toate tipurile de canal realizand o crestere a ratei datelor si o imbunatatire a calitatii serviciilor. Castigul codarii turbo poate fi folosit pentru o eficienta cat mai mare a benzii de transmisie sau pentru reducerea puterii necesare.

Cel mai mare avantaj al folosirii codurilor turbo este faptul ca au un control foarte bun asuprea erorilor cu importanta practica. Trasatura principala a codurilor turbo este rata eroarii bit (BER) mica, obtinuta si la rapoarte semnal zgomot (SNR) mici. Performantele codurilor turbo sunt datorate intreteserii aleatoare si decodarii iterative.

Pe de alta parte, intarzierea la decodare este crescuta in cazul codurilor turbo, aceasta reprezentand un dezavantaj major. In cazul decodarilor acestor tipuri de coduri, sunt introduse iteratii produc o intarziere prea mare pentru comunicatiile de voce in timp real, sau alte aplicatii care necesita procesarea instantanee a datelor precum stocarea pe hard disk-uri sau transmisiunile optice. In concluzie, prin realizarea unor sisteme mai complexe ele devin mai lente in executie.

Principalele caracteristici ale codarii turbo care o diferentiaza de codarea convolutionala sunt concatenarea mai multor codoare convolutionale recursive si folosirea unei intreseri pseudoaleatoare. Exista doua tipuri de strategii de decodare bazate pe algoritmii MAP si SOVA.

Interteserea este folosite pentru a proteja impotriva avalanselor de erori. Aceasta schimba ordinea bitilor la transmisie ceea ce ajuta la evitarea evalanselor de erori la receptie.

Configuratii de coduri turbo

Codorul turbo cel mai cunoscut este codorul reprezentat prin utilizarea in paralel asupra aceleiasi informatii a doua, trei sau n coduri convolutionale recursive sistematice (RSC -Recursive Sistematic Codes).

Codorul turbo cu structura paralela utilizeaza doua sau mai multe coduri RSC avand fiecare un intretesator unic si propriu. Codoarele componente vor genera biti de paritate diferiti care se datoreaza intreteserii, chiar daca acestea prelucreaza aceeasi informatie

Codurile turbo folosesc coduri convolutionale care au in general lungimi de constrangere mica, in jur de 3, 5.In cazul acestor coduri, lungimea de constrangere mare nu duce la performante mai bune, dar se mareste complexitatea calculelor si intarzierea decodarii, pe cand pentru codurile convolutionale simple, aceasta lungime reprezinta un mare avantaj.

Prin concaterea a doua coduri se obtine un semnal cu rata 1/3. In cazul folosirii a trei coduri, rata va fi 1/4, aceasta scazand cu cat numarul codurilor folosite creste. Este de ajuns folosirea a doua codoare deoarece odata cu marirea numarului acestora se reduce eficienta benzii fara sa se obtina imbunatatiri proportionale ale performantelor.

Codoarele turbo pot fi realizate prin:

Concatenare serie

Concatenare paralel

Modele hibride ce folosesc ambele tipuri de concatenari

O structură diferită fata de cele discutate anterior (paralelă/serie) este Codorul TP (Turbo Product Code – codor turbo produs). Acest codor inlocuieste codurile convolutionale cu cele bloc. Pentru concatenarea serial a doua coduri bloc diferite (spre exemplu coduri Hamming) nu mai este necesara folosirea unui intretesator intre ele. Aplicatia rand-coloana asigura functia de intretesare de la un codor catre celalalt. Intrețesătorul nu mai este obligatoriu deoarece codurile sunt independente si se obtine o aleatorizare buna pentru ca ele actioneaza pe randuri si coloane.

Datele sunt trimise printr-un canal gaussian pana la decodorul Turbo. Semnalul transmis este corupt din cauza zgomotului din canal. Decodorul MAP decodeaza datele primite si biti receptionati sunt estimati pentru a coincide cu bitii originali transmisi. Rata de eroare pe bit este calculata descoperind rata numarului de biti eronati din numarul total de biti transmisi prin canal la orice moment de timp. Obiectivul este de a minimiza rata rata de eroare pe bit.

Functionarea circuitului

Presupunem ca rata codurilor este de ½ si lungimea circuitului de intretesere este N. La intrarea circuitului avem secventa de date x=[x1(0), x2(0), …, xN(0)].

Fiecare codor are două ieșiri: prima este asociata biților informaționali, iar a doua, biților de paritate. Astfel pentru primul codor vom avea secvența corespunzătoare mesajului x=[x1(0), x2(0), …, xN(0)], respective cea corespunzatoare bitilor de paritate: z=[ x1(1), x2(1), …, xN(1)].

La iesirea întrețesatorului ordinea biților secvenței de date este schimbată în functie de regula de întrețesere. Se obtine secventa x’=[x1’, x2’, …, xN’].

Aceasta va fi codată de cel de-al doilea codor, care produce la ieșire numai secvența de verificare a parității: z’=[ x1(2), x2(2), …, xN(2)].

Prin multiplexarea acestor trei secvențe de la ieșirea celor două codoare se obtine secventa codata: y=[ x1(0), x1(1), x1(2), x2(0), x2(1), x2(2), …, xN(0), xN(1), xN(2)].

Rata totală a unui astfel de cod este 1/3. Din cauza întrețesatorului care asigura prelucrarea secvențială a biților, spunem că un cod turbo lucrează ca un cod bloc.

Se obtine la iesirea codurilor turbo o secventa terminal care este reprezentata de secventa produsa prin shiftarea bitilor existenti in registrul de deplasare, dupa inchiderea buclei. Aceasta procedura este denumita terminatie Trellis, iar secventa terminale este atasata secventei de biti codata. La inchiderea Trellisului acesta trebuie adus in starea 0 astfel incat pentru urmatorul pachet de N biti sa se porneasca tot din aceasta stare.

Astfel, pentru cei N biți de date, cand comutatorul este pe poziția “1”, se realizeaza codarea propriu-zisă. Cand comutatorul trece pe pozitia “2”, iar timp de k intervale de tact în codor se introduc chiar biții corespunzători stării sale finale, astfel încât în final el va fi adus în starea 0.

Întrețeserea (Interleaver) reprezinta o operatie de schimbare a ordinii de aranjare a secvenței de intrare într-un alt format. In primul rand, întrețesatorul construieste un cod bloc lung pentru codurile convoluționale cu memorie mica si împrăștie în pachete erorile ce pot apare datorită canalului. Dupa ce primul decodor elimina un anumit număr de erori, cele ramase pot fi împrăștiate de întrețesătorul de la recepție, devenind corectabile de către celălalt decodor.

Performanța de corectare a erorii codului turbo este influentata de structura si marimea intretesatorului. La rapoarte semnal zgomot mici, mărimea întrețesătorului este un factor deosebit de important, pentru că performanțele de corecție a erorilor sunt dominate de câștigul întrețesătorului.

CODURI CONVOLUȚIONALE

Un cod convoluțional (n,k,m) poate fi implementat cu un circuit secvențial care are n ieșiri liniare, k intrări și m intrări de memorie. Uzual, n și k sunt valori întregi cu k < n , dar valoarea lui m trebuie să fie mai mare pentru a avea probabilitate de eroare mică.

k = numărul de biți de date care intră în codor la un moment dat; n = numărul de biți ce apar la ieșirea codorului în urma procesării celor k biți de date; m=numarul de celule al registrului de deplasare.

Rata codului este dată de raportul:

Starea codorului este definită de conținutul registrului de deplasare. Numărul total de stări posibile este 2m.

Una din principalele caracteristici ale codurilor convoluționale este aceea că au memorie, fiecare simbol de ieșire depinde de bitul curent de intrare dar și de (m-1) biți de intrare anteriori.

Doua tipuri de rate de codari pot fi aplicate pentru codarea convolutionala in UMTS: 1/2 si 1/3. Procedura de codare este reprezentata din punct de vedere logic printr-o serie de 8 registre de deplasare si o secventa de operatii XOR. Cand aplicam o rata de codare de 1/2, 2 biti redundanti sunt produsi pentru fiecare bit introdus in registru. Cand codam cu rata de 1/3 sunt produsi 3 biti redundanti in loc de 2. Toti bitii din registrele de deplasare trebuie readusi in 0 inainte de inceperea codarii unei noi secvente.

Registrul de deplasare este de 1 octet si fiecare bit de iesire este dependent de bitul de intrare si de pozitia specifica bitului in registru. Procedura de codare se termina atunci cand ultimul bit a trecut prin registru.

Atunci cand utilizam rata de 1/3, lungimea secventei codate va fi 3*Xi+24 biti si pentru 1/2 va fi 2*Xi+16 biti (Xi este lungimea secventei de bit inainte de codare). Cei 24 de biti reprezinta de 3 ori lungimea registrului de deplasare pentru rata de codare de 1/3, iar cei 16 biti reprezinta de 2 ori lungimea registrului de deplasare pentru rata de codare de 1/2.

AMR service

AMR (Adaptive Multi Rate) a fost adoptat ca un standard pentru codecurile de voce de catre 3GPP, iar in prezent sunt utilizate la scara larga in GSM si UMTS. Utilizeaza adaptarea linkului pentru a selecta una din cele 8 rate de bit diferite pe baza conditiilor linkului.

AMR service utilizeaza 3 canale de transport care trebuie codate convolutional unde sirul de biti de clasa A este codat folosind rata 1/3, iar cele de clasa B si C folosind rata de 1/2. Vectorizarea SIMD (Single Instruction Multiple Data) este complicata din cauza faptului ca lungimea streamurilor de intrare este diferita pentru fiecare canal, iar canalele sunt codate utilizand parametric diferiti. O posibilitate este, ca in cazul functiei CRC (Cyclic redundancy check), vectorizarea SIMD conform grupurilor de streamuri de clasa A, B sau C de la diferite canale compozite de utilizatori. Astfel egalitatea parametrilor si a lungimii streamurilor poate fi un avantaj. O alta posibilitate este sa mapam si sa procesam canalele de transport simultan in mod MIMD paralel (Multiple Instructions Multiple Data).

Serviciu de date cu rata de bit mare

In cazul serviciului de date cu rata de bit mare, cel mult 16 streamuri de intrare paralele, fiecare transportand mi blocuri de cod avand lungimea ni trebuie procesate. Ca in functia precedent, vectorizarea SIMD poate fi realizata grupand blocuri de cod intr-un canal de transport deoarece dependent a datelor intre blocuri. Ca si in exemplul AMR, tinand cont ca lungimea blocurilor de coduri si procesarea parametrilor poate fi inegala pentru canalele de transport complica vectorizarea SIMD prin gruparea blocurilor de cod de la diverse canale de transport. O rezolvare a acestei probleme este procesarea multipla in canale in mod MIMD paralel.

Similar Posts