Servicii de Date In Sisteme de Comunicatii Mobile

CUPRINS

1. Evoluția sistemelor de comunicații mobile………………………………………………….…5

2. Privire de ansamblu asupra rețelei GSM………………………………………………………9

2.1. Arhitectura sistemului GSM……………………………………….……………….9

2.2. Interfața radio………………………………………………………………………12

2.2.1. Accesul multiplu în GSM………………………………………………..12

2.2.2. Metode de diversitate în sistemele de

comunicații radio…………………………………………………….……14

2.2.2.1 Propagarea multicale pe canalul radio ……………………….…14

2.2.2.2 Distribuția fadingului datorită propagării

multicale și probabilitatea de eroare………………………………….…15

2.2.2.3 Împrăștierea Doppler………………………………………….….15

2.2.2.4 Tipuri de fading (prezentare sintetică)……………………….….16

2.2.2.5 Tehnici de diversitate……………………………………………..16

2.2.2.6 Tehnici de diversitate a transmisiei

utilizate în sistemele 3G CDMA……………………………………….….17

2.2.3. Canale necesare……………………………………………………………18

2.2.3.1 Canale pentru trafic………………………………………………..18

2.2.3.2 Canale pentru semnalizări…………………………………….…..18

2.2.3.3 Canale pentru modul pasiv………………………………………..19

2.2.3.4 Clasificarea canalelor………………………………………………19

2.2.4. Canale dedicate…………………………………………………………….19

2.2.4.1 TCH/F și SACCH………………………………………………….19

2.2.4.2 TCH/H și SACCH………………………………………………….20

2.2.5. Canale comune………………………………………………………….….20

2.2.5.1 Canale BTS-MS…………………………………………………..20

2.2.5.2 Canale MS-BTS…………………………………………………..20

2.2.5.3 Combinații de canale comune…………………………………….21

2.2.6. Organizarea canalelor în celulă……………………………………….….21

2.2.7. Sincronizarea stației mobile……………………………………………….22

2.2.8. Serviciul de date cu comutație de circuite………………………………..23

2.2.8.1 Aspecte generale ale serviciilor de date în GSM………………..23

2.2.8.2 Conexiuni cu rețelele externe…………………………………….24

2.2.9. Serviciul de date cu comutație de pachete…………………………….…25

3. Serviciul de date pachetizate GPRS……………………………………………………………26

3.1. Introducere………………………………………………………….……………….26

3.2. Arhitectura rețelei GPRS……………………………………………………………27

3.3. Proceduri de apel și actualizare…………………………………………………….32

3.3.1. Proceduri de atașare și activare a contextului PDP……………………..32

3.3.2. Activarea/dezactivarea contextului PDP…………………………………33

3.3.3 Proceduri de actualizare……….………………………………………….34

3.4. Interfața radio GPRS………………………………………………………………..35

3.4.1. Caracteristici……………………………………………………………….35

3.4.2. Arhitectura protocoalelor…………………………………………………35

3.4.3. Canale logice……………………………………………………………….39

3.4.4. Scheme de codare pentru protecția la erori………………………………42

4. Managementul mobilității în GPRS……………………………………………………………43

4.1 Stările stației mobile…………………………………………………………43

4.2 Moduri de funcționare a rețelei…………………………………………….44

4.3 Transferul pachetelor pe canalul descendent ("downlink")………………45

4.4 Transferul pachetelor în sensul ascendent…………………………………46

4.5 Atașarea stației mobile la serviciile GPRS…………………………………..48

4.6 Detașarea stației mobile de la serviciile GPRS……………………………..50

5. Evaluări de trafic…………………………………………………………………………………53

5.1. Interfața Gb…………………………………………………………………………..53

5.2. Interfața Gn………………………………………………………………………….58

5.3. Punctul de referință Gi………………………………………………………………62

5.4. Interfața Gr…………………………………………………………………………..63

5.5. Evaluarea încărcării determinată de proceduri de

atașare, detașare, actualizarea ariei de rutare,

activarea/dezactivarea contextului PDP și accesul

la Internet……………………………………………………………………………64

6. Interfața radio GSM- simulare…………………………………………………………………68

Bibliografie……………………………………………………………………………………….106

Abrevieri………………………………………………………………………………………….107

Evoluția sistemelor de comunicații mobile

Comunicațiile mobile reprezintă fără nici o îndoială tehnologia actuală de comunicații cu cea mai ridicată rată de dezvoltare. Acestea tind să ofere aceeași calitate a comunicării (în primul rând vocale, dar și de date) cu cea a rețelelor fixe, la un cost acceptabil, oferind în plus utilizatorului caracteristici specific umane: mobilitatea și posibilitatea personalizării terminalului mobil. Deși comunicațiile mobile (originar telegrafice) au o istorie ce se întinde pe o perioadă de mai bine de un secol, abia în ultimile două decenii se poate vorbi despre adevărata lor dezvoltare și expansiune.

La mijlocul deceniului al patrulea din secolul trecut apar primele sisteme de comunicații mobile cu modulație de amplitudine, folosite pentru siguranța publică (poliție) în SUA, cu transmisiune radio într-un singur sens (de la stația de bază la stația mobilă).

În 1946,tot în Statele Unite, este introdus primul serviciu telefonic mobil public în 20 de orașe. Acesta folosea modulația de frecvență și avea o topologie unicelulară.

Între anii 1950-1970 se pun bazele teoretice și se elaborează tehnicile radiotelefoniei celulare: divizarea zonei acoperite în celule mici și reutilizarea frecvențelor, trecerea mobilului, aflat în deplasare, dintr-o celulă în alta. În acest mod acoperirea unei celule se poate realiza cu emițătoare de putere mică și se poate îmbunătăți calitatea convorbirilor. În schimb, crește complexitatea stațiilor, a rețelei și a terminalului mobil. Întreaga infrastructură a rețelei devine foarte complexă. Pentru a compensa creșterea în complexitate au fost folosite noile tehnologii devenite disponibile la sfârșitul anilor ’70.

În anii '80 se dezvoltă prima generație de sisteme mobile celulare. Principalele caracteristici ale acestor sisteme erau:

-singurul serviciu oferit era cel telefonic, calitatea convorbirii fiind redusă;

-accesul multiplu se realiza prin diviziune în fecvență (FDMA);

-se folosea modulația de frecvență;

-spectrul de frecvențe era folosit ineficient;

-telefonul mobil plasat pe vehicul avea un gabarit mare;

-tehnologie analogică.

Din această generație fac parte următoarele sisteme: AMPS (Advanced Mobile Phone System-SUA), NMT (Nordic Mobile Telephone-Europa), TACS (Total Access Communications System-Marea Britanie), NTT (Nippon Telephone and Telegraph-Japonia).

Anii '90 cunosc o puternică dezvoltare a sistemelor de comunicații mobile celulare din a doua generație. Printre principalele caracteristici ale acestor sisteme se numără:

-serviciile oferite sunt multiple: serviciul telefonic, servicii de date la debite mici, etc;

-convorbirile prezintă o calitate îmbunătățită;

-accesul multiplu este realizat prin diviziune în timp (TDMA) sau prin diviziune în cod (CDMA);

-se realizează o folosire mai eficientă a spectrului de frecvențe;

-serviciul roaming la GSM;

-dimensiuni mici ale aparatului, datorită miniaturizării componentelor;

-tehnologie digitală;

-se utilizează metode de modulație mai performante (GMSK,QPSK);

În această generație sunt incluse următoarele sisteme: GSM (Global System for Mobile) și DCS-1800 (Digital Communications System), în Europa, IS-95 și IS-136 (Interim Standard), în SUA, PDC (Pacific Digital Cellular), în Japonia.

Tabelul1.1.Performanțele sistemelor din a doua generație

Ultimii ani ai secolului 20 au înregistrat o dezvoltare explozivă a comunicațiilor între calculatoare și în special a Internetului, servicii precum poșta electronică sau accesul la baze de date devenind foarte populare. Suportul pentru aceste servicii îl constituie în prezent atât rețelele specializate de comunicații între calculatoare (ex: LAN, MAN, WAN ) cât și rețelele de telecomunicații, proiectate inițial numai pentru transmisiunea semnalelor telefonice, dar care oferă în prezent și facilități pentru transmisii de date (ex: PSTN și sistemele de comunicații mobile).

Rețelele digitale de comunicații fără fir („wireless”) oferă în prezent debite cuprinse între 9.6 și 32 kb/s. Aplicațiile dezvoltate în Internet necesită debite mai mari decât cele existente în sistemele de comunicații mobile actuale. Pentru a realiza accesul la Internet prin intermediul rețelelor de tip wireless este necesar ca acestea să evolueze spre debite mai mari și să ofere și alte servicii în plus față de cele furnizate în prezent.

Un prim pas în această evoluție îl reprezintă sistemele de comunicații mobile din generația 2+, realizate pe baza sistemelor din generația a doua astfel încât să se furnizeze comunicații de date de mare viteză fără modificarea interfeței radio sau prin folosirea unor tehnici îmbunătățite de codare. Această generație are ca principali reprezentanți sistemele GPRS (General Packet Radio System), în Europa și IS-95B, în SUA.

Standardul GPRS este extensia sistemului GSM pentru transmisia datelor în mod pachet; accesul multiplu se realizează prin diviziune în timp (TDMA-Time Division Multiple Access) și oferă posibilitatea alocării a maxim 8 intervale temporale într-un cadru pentru un canal de date în mod pachet, ceea ce conduce la un debit maxim de 165.5 kb/s pentru legătura descendentă (de la stația de bază către stația mobilă), respectiv 154 kb/s pentru legătura ascendentă (de la stația mobilă la stația de bază).

În Statele Unite, serviciile de date în mod pachet pentru comunicații mobile se dezvoltă plecând de la standardul IS-95A, care prevede realizarea accesului multiplu prin diviziune în cod (CDMA- Code Division Multiple Access), extensia pentru date pachetizate purtând denumirea IS-95B. Aceasta prevede alocarea pentru fiecare canal de trafic a unui canal de cod fundamental (FCC- Fundamental Code Channel) și maxim 7 canale de cod suplimentare (SCCs- Supplemental Code Channels) permițând obținerea unor debite de până la 86 kb/s pentru ambele sensuri de transmisie (ascendent și descendent).

Sistemul digital mobil cel mai cunoscut astăzi este varianta paneuropeană GSM, care are o răspândire notabilă nu numai în Europa ci și pe plan mondial. Dezvoltarea tehnologiilor, arhitecturilor și protocoalelor, pe baza cărora a fost elaborat și realizat GSM, profilează deschideri largi pentru o nouă generație de sisteme mobile, cea a mileniului al treilea. Generația a treia de mobile oferă, pe lângă o calitate sporită a comunicațiilor telefonice, servicii de date de mare viteză, acces flexibil la Internet, comunicații multimedia, toate acestea la nivel global.

ră a rețelei devine foarte complexă. Pentru a compensa creșterea în complexitate au fost folosite noile tehnologii devenite disponibile la sfârșitul anilor ’70.

În anii '80 se dezvoltă prima generație de sisteme mobile celulare. Principalele caracteristici ale acestor sisteme erau:

-singurul serviciu oferit era cel telefonic, calitatea convorbirii fiind redusă;

-accesul multiplu se realiza prin diviziune în fecvență (FDMA);

-se folosea modulația de frecvență;

-spectrul de frecvențe era folosit ineficient;

-telefonul mobil plasat pe vehicul avea un gabarit mare;

-tehnologie analogică.

Din această generație fac parte următoarele sisteme: AMPS (Advanced Mobile Phone System-SUA), NMT (Nordic Mobile Telephone-Europa), TACS (Total Access Communications System-Marea Britanie), NTT (Nippon Telephone and Telegraph-Japonia).

Anii '90 cunosc o puternică dezvoltare a sistemelor de comunicații mobile celulare din a doua generație. Printre principalele caracteristici ale acestor sisteme se numără:

-serviciile oferite sunt multiple: serviciul telefonic, servicii de date la debite mici, etc;

-convorbirile prezintă o calitate îmbunătățită;

-accesul multiplu este realizat prin diviziune în timp (TDMA) sau prin diviziune în cod (CDMA);

-se realizează o folosire mai eficientă a spectrului de frecvențe;

-serviciul roaming la GSM;

-dimensiuni mici ale aparatului, datorită miniaturizării componentelor;

-tehnologie digitală;

-se utilizează metode de modulație mai performante (GMSK,QPSK);

În această generație sunt incluse următoarele sisteme: GSM (Global System for Mobile) și DCS-1800 (Digital Communications System), în Europa, IS-95 și IS-136 (Interim Standard), în SUA, PDC (Pacific Digital Cellular), în Japonia.

Tabelul1.1.Performanțele sistemelor din a doua generație

Ultimii ani ai secolului 20 au înregistrat o dezvoltare explozivă a comunicațiilor între calculatoare și în special a Internetului, servicii precum poșta electronică sau accesul la baze de date devenind foarte populare. Suportul pentru aceste servicii îl constituie în prezent atât rețelele specializate de comunicații între calculatoare (ex: LAN, MAN, WAN ) cât și rețelele de telecomunicații, proiectate inițial numai pentru transmisiunea semnalelor telefonice, dar care oferă în prezent și facilități pentru transmisii de date (ex: PSTN și sistemele de comunicații mobile).

Rețelele digitale de comunicații fără fir („wireless”) oferă în prezent debite cuprinse între 9.6 și 32 kb/s. Aplicațiile dezvoltate în Internet necesită debite mai mari decât cele existente în sistemele de comunicații mobile actuale. Pentru a realiza accesul la Internet prin intermediul rețelelor de tip wireless este necesar ca acestea să evolueze spre debite mai mari și să ofere și alte servicii în plus față de cele furnizate în prezent.

Un prim pas în această evoluție îl reprezintă sistemele de comunicații mobile din generația 2+, realizate pe baza sistemelor din generația a doua astfel încât să se furnizeze comunicații de date de mare viteză fără modificarea interfeței radio sau prin folosirea unor tehnici îmbunătățite de codare. Această generație are ca principali reprezentanți sistemele GPRS (General Packet Radio System), în Europa și IS-95B, în SUA.

Standardul GPRS este extensia sistemului GSM pentru transmisia datelor în mod pachet; accesul multiplu se realizează prin diviziune în timp (TDMA-Time Division Multiple Access) și oferă posibilitatea alocării a maxim 8 intervale temporale într-un cadru pentru un canal de date în mod pachet, ceea ce conduce la un debit maxim de 165.5 kb/s pentru legătura descendentă (de la stația de bază către stația mobilă), respectiv 154 kb/s pentru legătura ascendentă (de la stația mobilă la stația de bază).

În Statele Unite, serviciile de date în mod pachet pentru comunicații mobile se dezvoltă plecând de la standardul IS-95A, care prevede realizarea accesului multiplu prin diviziune în cod (CDMA- Code Division Multiple Access), extensia pentru date pachetizate purtând denumirea IS-95B. Aceasta prevede alocarea pentru fiecare canal de trafic a unui canal de cod fundamental (FCC- Fundamental Code Channel) și maxim 7 canale de cod suplimentare (SCCs- Supplemental Code Channels) permițând obținerea unor debite de până la 86 kb/s pentru ambele sensuri de transmisie (ascendent și descendent).

Sistemul digital mobil cel mai cunoscut astăzi este varianta paneuropeană GSM, care are o răspândire notabilă nu numai în Europa ci și pe plan mondial. Dezvoltarea tehnologiilor, arhitecturilor și protocoalelor, pe baza cărora a fost elaborat și realizat GSM, profilează deschideri largi pentru o nouă generație de sisteme mobile, cea a mileniului al treilea. Generația a treia de mobile oferă, pe lângă o calitate sporită a comunicațiilor telefonice, servicii de date de mare viteză, acces flexibil la Internet, comunicații multimedia, toate acestea la nivel global.

Sistemelor din a treia generație le-au fost impuse următoarele deziderate:

-servicii multiple: servicii vocale, servicii de date cu debite mici și mari (până la cel puțin 144 kb/s în vehicule, 384 kb/s outdoor-to-indoor și 2 Mb/s indoor și în picocelule ), servicii cu comutație de circuite și cu comutație de pachete pentru trafic simetric și asimetric, servicii multimedia;

-utilizarea eficientă a spectrului de frecvențe; creșterea într-un ritm mare a numărului de utilizatori va necesita, pe lângă creșterea eficienței spectrale, alocarea unor noi benzi de frecvențe; pentru a face mai ușor roaming global ar trebui utilizate aceleași benzi de frecvențe pe tot globul dar, din păcate, acest lucru nu este posibil (spre exemplu banda 1900-2000 MHz, propusă de ITU, este deja alocată în SUA pentru sistemele de comunicații personale-PCS);

-roaming global;

-cost redus al sistemului (standarde diferite, benzi diferite, aparate multimod).

Tabelul 1.2.Principalele servicii oferite de UMTS.

Varianta europeană a sistemului 3G a fost standardizată de ETSI (European Telecommunications Standards Institute) sub denumirea UMTS (Universal Mobile Telecommunications System) și este reprezentantul european al sistemului FPLMTS (Future Public Land Mobile Telecommunications System) elaborat de ITU-T ca o extindere la comunicațiile mobile a conceptului ISDN de la rețelele fixe. UMTS folosește tehnologiile GSM, cu care trebuie să coexiste, dar fiind compatibil în același timp și cu alte sisteme din generația a treia.

Activitatea de cercetare pentru sistemele 3G au adus, în cazul UMTS, propuneri pentru interfața radio (conceptul UTRA-UMTS terrestrial radio access) în 1998. Propunerile se bazau pe soluțiile tehnice elaborate în cadrul proiectului FRAMES (Future Radio Wideband Multiple Access System, din programul de cercetare ACTS- The Advanced Communication Technologies and Services- suportat de Comisia Europeană): WCDMA în benzi pereche (FDD-paired bands) și TD/CDMA în benzi unice (TDD unpaired bands).

Sistemul american din generația a treia a fost numit IMT-2000 (International Mobile Telecommunications-2000) și, cu excepția unor interfețe specifice, este realizat cu aceleași arhitecturi și pe baza acelorași principii ca și UMTS. În privința interfeței radio s-a constatat că va fi nevoie de o familie de sisteme care să asigure o gamă largă de servicii și cerințe în diferitele regiuni ale lumii, nefiind posibilă elaborarea unei interfețe unice. S-a ajuns la concluzia că sistemele 3G vor trebui să evolueze din sistemele existente 2G, care se bazează pe tehnologii și standarde diferite pentru interfața radio, incluzând GSM, CDMA și TDMA. În plus, în afara diferențelor dintre interfețele radio, există de asemenea două standarde pentru rețele regionale majore: GSM-MAP și ANSI-41.

Evoluția sistemelor 2G bazate pe GSM și TDMA spre sistemele 3G a fost standardizată sub denumirea EDGE (Enhanced Data for GSM Evolution). Față de sistemele de până atunci, care foloseau modulația binară în interfața radio, sistemele bazate pe tehnologia EDGE folosesc modulația de fază 8PSK, debitul crescând de trei ori .

Sistemele bazate pe tehnologia CDMA IS-95 evoluează către 3G,varianta standardizată numindu-se IS-2000 (cdma 2000).

3GPP și 3GPP2 (Third Generation Partnership Projects) reprezintă programele internaționale pentru standardizarea UMTS și, respectiv, cdma 2000, urmărind armonizarea propunerilor înaintate de ETSI, ARIB (Association of Radio Industry and Business -Japonia), TTC (Telecommunications Technology Council – Japonia), TTA (Telecommunications Technologies Association – Coreea), CWTS (China Wireless Telecommunications Standards) și TIA (Telecommunications Industry Association – SUA).

Fig.1.1Evoluția rețelelor de comunicații mobile

ITU va specifica protocoalele ce vor fi utilizate între rețele diferite (NNI network-to-network interface), astfel încât să fie posibil roaming-ul între celule conectate la rețele diferite. Nu se vor specifica protocoalele ce vor fi utilizate în rețea, intenția fiind de a se permite evoluția independentă , corespunzător necesităților de piață, a celor două standarde majore pentru rețea, GSM-MAP și ANSI-41.

2. Privire de ansamblu asupra rețelei GSM

2.1 Arhitectura sistemului GSM

BTS Base transceiver station VLR Visited location register

BSC Base station controller EIR Equipment identity register

BSS Base station subsystem (BTS+BSC) AuC Authentication center

MSC Mobile services switching center PSTN Public switched telephone

GMSC Gateway MSC network

MS Mobile station ISDN Integrated services digital

HLR Home location register network

PDN Public data network

Fig.2.1Arhitectura sistemului GSM (elementele esențiale)

-Părți componente-

BSS (BTS+BSC)-asigură și administrează căile de transmisiune între stațiile mobile și MSC, inclusiv interfața radio între MS și restul GSM;

NSS (Network and Switching Sub-system)-echipamente de comutație-MSC,GMSC-Gateway MSC; baze de date, de utilizator și pentru mobilitate-VLR, HLR ;SS7-administrează comunicațiile și conectează stațiile mobile la rețelele fixe sau către alți utilizatori mobili ;

OMS (Operation and maintenance subsystem)-pentru funcții de administrare necesare

funcționării și întreținerii sistemului.

Subsisteme

1.Stația mobilă (MS). Realizează funcțiuni de prelucrare a semnalelor pentru transmisie/recepție în interfața radio și de interfațare spre utilizatorul uman (microfon,difuzor,display și tastatură) sau spre un terminal (calculator,fax),prin/fără adaptor.Cartela SIM (Subscriber identity module),asigurând identitatea abonatului mobil,poate fi mutată de la o stație mobilă la alta și este securizată împotriva utilizării improprii.

2.Subsistemul stației de bază (BSS)

Stația transceiver de bază (BTS) este în contact cu stația mobilă și conține echipamente pentru:

-emisie și recepție (inclusiv antene) ;

-prelucrări de semnal specifice interfeței radio.

Tot din BTS se consideră că face parte unitatea pentru adaptarea de viteză și transcodare (TRAU-Transcoder/Rate Adapter Unit).Funcțiunile TRAU sunt :

-codarea și decodarea vocii,specifice GSM (figura);

-adaptarea de viteză pentru date.

16kb/s 64kb/s

BTS BSC(MSC)

(surplusul de la 13kb/s-în interfața radio-la 16kb/s este

utilizat pentru sincronizarea de cadre)

Fig.2.2 Funcția de transcodare

Unitatea TRAU poate fi plasată la BTS,la BSC (după BSC) sau la MSC .

Fig.2.3Plasarea echipamentului TRAU

Controlerul stației de bază (BSC) ,în contact cu comutatoarele NSS,este sub controlul subsistemului de întreținere și funcționare OMS și prezintă interfețele A,spre MSC, și Abis,spre BTS.El poate fi plasat la BTS,MSC sau separat de acestea și îndeplinește funcțiuni de alocare/eliberare a canalelor radio și de administrare a traficului.

3.Subsistemul de comutație și rețea (NSS)

Îndeplinește funcțiuni de comutație și interfață cu alte rețele și conține baze de date (despre abonați și necesare pentru administrarea mobilitații).Este constituit din MSC (GMSC),HLR (AuC),VLR și se interfațează cu BSS,OMS și rețelele externe (Fig.2.4).

flux date

utilizator

flux control

Fig.2.4 Interfețele subsistemului de comutație și rețea

Centrul de comutație pentru servicii mobile (MSC) realizează funcțiuni de comutație ;GMSC (Gateway MSC) este un MSC cu o funcție suplimentară ,constând în tratarea apelurilor dinspre/înspre rețelele externe.

HLR conține informații permanente și temporare despre abonați.Informațiile permanente constau în :

-numărul de abonat mobil internațional (IMSI-International mobile subscriber number) ;

-numărul de apel al abonatului ;

-cheia de autentificare ;

-serviciile suplimentare permise.

Informațiile temporare sunt :

-adresa VLR curent (care administrează MS acum) ;

-numărul către care trebuie redirecționate apelurile (dacă abonatul a selectat acest serviciu);

-parametrii tranzitorii pentru autentificare și cifrare.

IMSI este permanent memorat pe SIM.Cu el se identifică abonatul într-o rețea GSM.Structura sa este MCC MNC MSIC,având semnificațiile :

MCC (Mobile Country Code)-codul țării pentru comunicații mobile (3 digiți) ;

MNC (Mobile Network Code)-codul rețelei mobile (2 digiți) ;

MSIC (Mobile Subscriber Identification Code)-codul de identificare a abonatului mobil.

Obs.Numărul cu care este apelat un abonat este diferit de MSIC.

Centrul de autentificare (AuC) este parte funcțională a HLR,furnizând către HLR parametrii pentru autentificarea stației mobile :algoritm,date de intrare/ieșire.

Registrul de localizare a abonaților în vizită( pentru unul sau mai multe MSC)

Conține date permanente și temporare despre abonații aflați temporar în aria de serviciu a unui MSC aferent.Datele permanente sunt cele din HLR,iar cele temporare sunt puțin diferite de acestea.Pentru localizarea stației mobile se folosește un identificator temporar,TMSI-Temporary Mobile Subscriber Identity,utilizat pe perioade limitate,în loc de IMSI.

Observații :

-Localizarea datelor de abonat și în VLR reduce traficul către HLR ;

-HLR furnizează date către MSC când apelul vine dinspre rețele externe ;

-VLR furnizeaza date către MSC când apelul vine de la stația mobilă.

4.Subsistemul de întreținere și funcționare (OMS)

În elaborarea acestui subsistem s-a avut în vedere o abordare centralizată,bazată pe conceptul rețelei de administrare a telecomunicațiilor (TMN-Telecommunications Management Network).Domeniile de activitate acoperite de acest subsistem sunt:

a)Funcționarea și întreținerea rețelei ,incluzând

-supravegherea comportării rețelei (încărcarea sistemelor,procentul blocărilor,numărul transferurilor între celule adiacente);

-verificarea calității serviciilor oferite.

b)Administrarea abonamentelor, incluzând:

-evidență abonamente și servicii asigurate fiecărui abonat (implică HLR-AuC,inițializare SIM);

-evidența taxării și eliberarea notelor de plată (HLR).

c)Administrarea stațiilor mobile, suplimentar față de administrarea realizată de echipamentele infrastructurii,prin EIR (Equipment Identity Register ).La fiecare înregistrare sau inițiere a unui apel se verifică identitatea stației mobile,reprezentată de IMEI (International Mobile Equipment Identity),memorat în EIR.IMEI relevă date ca:fabricant,țara,omologarea tipului de stație,număr serial al stației.Prin verificarea IMEI se constată dacă este sau nu permis accesul stației în sistem (furt,defecte).

2.2 Interfața radio

2.2.1 Accesul multiplu în GSM

Acces multiplu-tehnică ce permite unui număr oarecare de terminale să-și împartă capacitatea unui canal de transmisiune într-un mod predeterminat sau corespunzător necesităților de trafic (definiție ISO).

În comunicațiile mobile accesul multiplu permite mai multor utilizatori mobili să folosească simultan un spectru radio limitat. Principalele tehnici de acces multiplu utilizate în prezent în sistemele de comunicații mobile sunt de trei tipuri :

-cu diviziune în frecvență FDMA (Frequency Division Multiple Access) ;

-cu diviziune în timp TDMA (Time Division Multiple Access) ;

-cu diviziune în cod CDMA (Code Division Multiple Access).

În cazul tehnicii FDMA banda de frecvențe disponibilă este împărțită în mai multe subbenzi, câte una pentru fiecare canal de acces. Tehnica TDMA alocă, ciclic, fiecărui canal de acces, un interval temporal distinct în canalul comun de transmisiune.În tehnica CDMA semnalul digital reprezentând informația utilizatorului este înmulțit cu o secvență pseudoaleatoare, specifică fiecărui utilizator dintr-o celulă și având un debit mult mai mare.

În GSM accesul multiplu (în interfața radio) este o combinație a tehnicilor FDMA și TDMA. În banda frecvențelor radio , cu lărgimea de 25 MHz pentru fiecare sens de transmisiune (ascendent sau în sus, de la stațiile mobile către BTS și descendent sau în jos, de la BTS către stațiile mobile), se realizează prin diviziune în frecvență, 124 canale de câte 200 KHz fiecare , având frecvențele centrale 890.2 MHz, 890.4 MHz,…, 914.8 MHz, pentru sensul ascendent și, respectiv, 935.2 MHz, 935.4 MHz,…, 935.8 MHz, pentru sensul descendent.

890-915 MHz(124 canale de 200 KHz)

MS

935-960 MHz(124 canale de 200 KHz)

Fig.2.5 Benzi de frecvențe în interfața radio

La marginile celor două benzi de 25 MHz este lăsată neutilizată câte o bandă de gardă de 100 KHz. Fiecare canal radio astfel fomat, cu o lărgime de bandă de 200 KHz, este utilizat multiplu, prin tehnica multiplexării cu diviziune în timp, cu un factor de multiplexare egal cu 8. Altfel spus, pe fiecare canal radio se realizează 8 canale de transmisiune cu diviziune în timp,numite canale fizice. Fiecăruia dintre cele 8 canale i se alocă periodic un interval temporal de 15/26 ms.

Fiecare canal fizic este utilizat pentru realizarea mai multor canale logice.Fiecare canal logic este definit, în timp, prin numerele de ordine ale intervalelor temporale alocate și în frecvență, prin frecvența centrală a canalului radio suport.

Prin numerotare ciclică, durata unui ciclu complet,un multiplu al tuturor ciclurilor utilizate pentru accesul multiplu, este aprox.3.5 ore. Cel mai scurt ciclu este cel al canalelor fizice : 8 intervale de timp, fiecare cu durata 15/26=577 μs,numerotate de la 0 la 7, formând cadrul TDMA :

Cadrul TDMA

(8×15/26=4.615ms)

Fig.2.6 Structura cadrului TDMA

Durata intervalului temporal corespunde unității de transmisiune numită pachet.

Tip

Numărul

biților

15/26 ms (156,25 biți)

Fig.2.7 Structura unui pachet de date

Biții corespunzători unui segment vocal de 20 ms (260 biți de informație + 196 biți de control =456 biți) se transmit în 8 pachete succesive, câte 57 biți în fiecare pachet. Un pachet transportă câte 57 biți de la două segmente vocale succesive, plus încă 34 biți (secvența de instruire pentru egalizorul receptorului-26 biți, biți în intervalul de gardă- 3 la început și 3 la sfârșit, 2 biți pentru a indica semnificația câmpului de informație : date utilizator sau date de semnalizare urgentă, spre exemplu pentru realizarea unui transfer dintr-o celulă în alta). Un interval de gardă (GP), echivalent cu durata a 8.25 biți, în care nu se transmite nimic, este alocat descreșterii impulsului radio.

Debitul datelor în interfața radio (pentru un canal fizic) este :

260 biți/20 ms=13 Kb/s

Viteza de modulație (transmisiune binară) are valoarea :

156.25 : 15/26 = 270.833 Kbauds

Transmisiunea duplex

Sensurile de transmisiune sunt separate prin diviziune în frecvență FDD (Frequency Division Duplex), cu 45 MHz decalaj între benzile de frecvențe utilizate în cele două sensuri, pentru a ușura condițiile impuse filtrelor de separare, în special celor din stația mobilă (din motive de gabarit și de cost). Se folosește simultan și procedeul separării prin diviziune în timp TDD (Time Division Duplex). Intervalele temporale alocate celor două sensuri ale fiecărui canal fizic (dintre cele 8 care se obțin pe fiecare canal radio) sunt decalate cu trei intervale.

BTS

transmite

MS

Transmite

Fig.2.8 Decalaj între emisie și recepție pentru transmisiune duplex

Multicadrele 26 și 51

Pentru a permite ordonarea canalelor logice și repetarea ciclică se definesc două tipuri de multicadre, un multicadru fiind o structură formată din N cadre TDMA (N este 26 sau 51) :

-multicadrul 26-pentru canale dedicate ;

-multicadrul 51-pentru canale comune.

T=TCH, S=SACCH, I=liber

26 cadre = 120 ms

Fig.2.9 Structura multicadrului 26 pentru formarea canalelor TCH și SACCH

F=FCCH, S=SCH, I=liber

51 cadre = 235.38 ms

Fig.2.10 Structura multicadrului 51 pentru formarea canalelor comune

2.2.2 Metode de diversitate în sistemele de comunicații radio

2.2.2.1 Propagarea multicale pe canalul radio

Propagarea undelor radio poate fi :

-pe scară mare (large-scale) , ce caracterizează nivelul mediu al semnalului recepționat. Este utilă pentru estimarea ariei de acoperire.

-pe scară mică (small-scale, cu fading), ce caracterizează variațiile rapide ale puterii instantanee a semnalului recepționat pe distanțe mici de deplasare (câteva lungimi de undă) sau pe intervale mici de timp (de ordinul secundelor).

Pierderile în propagarea pe canale radio se datorează :

-căilor multiple de propagare (directe și indirecte) ;

-obstacolelor (clădiri, relief, vehicule etc.) ;

-distanței.

Propagarea multicale este cauzată de reflexii, refracții și difracții. Caracteristicile fiecărei căi (întârziere- defazare, atenuare) sunt variabile în timp datorită schimbărilor în structura mediului.

Efectele propagării multicale constau în variații rapide ale puterii semnalului recepționat, în funcție de amplitudinile și fazele semnalelor recepționate pe diferite căi (fading).

Alte efecte ale propagării multicale sunt dispersia în timp a semnalului recepționat- interferența simbolurilor și modulația de frecvență aleatoare datorită deviațiilor de frecvență Doppler ale semnalelor provenite pe diferitele căi de propagare.

Datorită fadingului amplitudinile componentelor multicale descresc cu întârzierea lor. Profilul întârzierii este următorul :

Amplitudine

.…. … ● Întârziere față de calea directă

Fig. 2.11 Profilul întârzierii

Dispersia întârzierii (Td) depinde de factori fizici : orientarea MS față de BS, reflectivitatea, distanța față de obiectele reflectorizante (clădiri, munți, pereții camerei) .Variază de la zeci de nanosecunde, pentru comunicațiile interioare, până la zeci de microsecunde, în aplicațiile exterioare.

Banda de coerență : Bc ≈1/Td. Canalele (de bandă B) pot fi :

-cu fading selectiv : B>Bc

-cu fading plat: B<Bc

În sistemele de bandă îngustă (Ts»Td) propagarea multicale nu produce efectul de interferență a simbolurilor. În sistemele de bandă largă : Ts«Td (Ts=intervalul de simbol).

Dar Ts≈1/B și relația de definiție pentru sistemele de bandă îngustă este echivalentă cu B«Bc (fading plat). Similar, relația de definiție pentru sistemele de bandă largă este echivalentă cu B»Bc (fading selectiv).

2.2.2.2 Distribuția fadingului datorită propagării multicale și probabilitatea de eroare

În absența căii cu vizibilitate directă (componenta cu puterea cea mai mare), suma componentelor multicale la orice moment poate fi modelată ca o variabilă aleatoare complexă Gaussiană de medie nulă, înfășurătoarea amplitudinilor prezentând o distribuție Rayleigh, cu densitatea de probabilitate :

a _ a²

ρ(a) = — e 2σ² pentru a ≥ 0,

σ²

unde a este anvelopa semnalului rezultant.

Modelul canalului radio reprezintă un canal cu zgomot Gaussian alb aditiv și cu semnalul atenuat cu un factor aleatoriu cu distribuție Rayleigh.

Probabilitatea de eroare pe un canal cu zgomot Gaussian fără fading scade exponențial cu γ, raportul puterilor semnal/zgomot (SNR ). Pentru un canal cu fading Rayleigh probabilitatea de eroare scade direct cu γ*, media SNR.

Exemplu : pentru a obține aceeași probabilitate de eroare de 10-5 pe canalul Rayleigh este nevoie de SNR mai mare cu 40 dB față de SNR pe canalul Gaussian.

Creșterea puterii semnalului pentru a asigura o anumită limitare a efectului produs de fading nu este o soluție practică (costuri suplimentare mari – putere și complexitatea echipamentului).

2.2.2.3 Împrăștierea Doppler

Deplasarea (de frecvență) Doppler

Efectul Doppler este reprezentat în figura următoare :

S

Δl

θ θ

A v B

d

Fig.2.12 Efectul Doppler

Δl= d cosθ=νΔt cosθ; ΔΦ=(2π/λ)Δl; fd=ΔΦ/2πΔt=(ν/λ) cosθ;

fm=ν/λ (valoarea maximă pentru fd)

Deplasarea Doppler este fd –pozitivă când mobilul se apropie de sursa S și negativă când se îndepărtează.

Spectrul Doppler, când se transmite o sinusoidă pură de frecvență fc , este cuprins între fc-fd și fc+fd ;

Împrăștierea Doppler BD este o măsură a lărgirii spectrale a semnalului recepționat și este definită ca domeniul de frecvențe în care spectrul Doppler recepționat este practic nenul.

Timpul de coerență Tc≈1/BD este dual împrăștierii Doppler și reprezintă o măsură statistică a intervalului de timp în care răspunsul canalului la impuls Dirac este practic invariant sau , altfel spus, două semnale care ajung la recepție cu o separare în timp mai mare decât Tc sunt afectate în mod diferit de canal.

Efectul de fading datorit împrăștierii Doppler depinde de cât de rapid se schimbă semnalul în banda de bază transmis în comparație cu viteza de variație a canalului.

Pe canalele cu fading rapid (fast fading) TS>Tc (BS<BD), iar răspunsul la impuls Dirac se schimbă pe un interval de simbol, practic numai în cazul valorilor foarte mici pentru debitul datelor.

Pe canalele cu fading lent (slow fading) TS<<TC (BS >>BD), iar răspunsul la impuls Dirac se schimbă mult mai lent decât semnalul în banda de bază transmis.

2.2.2.4 Tipuri de fading (prezentare sintetică)

Tipul de fading suferit de semnalul transmis pe un canal radio mobil depinde de relațiile dintre :

-parametrii semnalului transmis (lărgimea spectrului de frecvențe –BS ,intervalul de simbol- TS) și

-parametrii canalului (banda canalului –B, împrăștierea timpului de propagare –TD, împrăștierea Doppler -BD)

și de viteza de deplasare a mobilului.

Fadingul se poate datora și propagării multicale (dispersia timpului de propagare). Acesta poate fi :

-fading plat (BS <B, TD <TS ,se manifestă prin variații mari ale nivelului semnalului recepționat, spectrul de amplitudini nu se modifică esențial) ;

-fading selectiv în frecvență (BS >B, TD >TS ,se manifastă prin modificarea spectrului de amplitudini al semnalului recepționat și interferența simbolurilor).

Fadingul datorit împrăștierii Doppler (dispersia de frecvență) poate fi :

-fading rapid (variațiile canalului mai rapide decât variația semnalului în banda de bază-BS <BD ,are un efect de distorsionare a semnalului) ;

-fading lent (TS <<TC sau BS >>BD).

Combinarea celor patru tipuri de fading este prezentată în figura următoare:

TS BS

Fading selectiv Fading

Fading plat Fading plat în frecvență selectiv în

lent rapid rapid frecvență lent

BC

TD Fading selectiv Fading selectiv Fading plat Fading plat

în frecvență în frecvență rapid lent

lent rapid

Tc Ts BD Bs

Fig.2.13 Tipuri de fading

2.2.2.5 Tehnici de diversitate

Diversitatea este o tehnică utilizată în sistemele de comunicații radio mobile pentru a combate fadingul semnalului recepționat , constând în obținerea și prelucrarea la recepție a mai multor copii independente ale semnalului transmis , probabilitatea ca toate aceste copii să sufere simultan o atenuare mare fiind foarte mică.

Diversitatea de ordin L se obține prin recepționarea a L copii independente ale semnalului și utilizarea apoi a unor tehnici de combinare optimală a acestora . Cu un ordin L al diversității, probabilitatea de eroare scade cu γ*L , astfel că pentru valori mari ale lui L se obțin performanțe apropiate de cele ale canalului Gaussian (fără fading).

Diversitatea poate fi :

-microscopică, pentru combaterea efectului fadingului pe scară mică (variații mari și rapide ale nivelului semnalului recepționat) ;

-macroscopică, pentru combaterea efectelor fadingului pe scară mare (scăderea însemnată a nivelului semnalului recepționat pe intervalle de timp relativ mari, dependente de viteza mobilului).

Tehnici de obținere a diversității microscopice

Diversitatea microscopică se poate obține în domeniul timp, prin transmiterea repetată a informației, la intervale de timp mai mari decât timpul de coerență al canalului, astfel încât variantele repetate ale semnalului să fie recepționate în condiții de fading independente. Utilizarea codurilor corectoare de erori asigură, de asemenea o diversitate în timp, totuși, în acest caz diversitatea se obține dacă fadingul pentru simbolurile succesive ale codului este necorelat și, pentru a asigura această independență, se folosește intercalarea simbolurilor codate.

Diversitatea spațială se obține prin utilizarea de antene multiple, de emisie sau/și de recepție, fie distanțate la câteva lungimi de undă, fie cu polarizări diferite sau cu diferite conuri de radiație (recomandabile pentru BS).

Diversitatea frecvenței se poate realiza prin multiplexarea cu diviziune în frecvență a unor semnale identice.

Tehnici de obținere a diversității macroscopice (spațiale)

Pentru recepția la stația mobilă, diversitatea macroscopică se obține prin alegerea stației de bază din celulele vecine.

Pentru recepția la stația de bază, se obține cu antene de recepție suficient de îndepărtate una de alta.

2.2.2.6 Tehnici de diversitate a transmisiei utilizate în sistemele 3G CDMA

Clasificarea tehnicilor de diversitate a transmisiei propuse pentru utilizarea în sistemele de comunicatii mobile 3G:

– cu buclă deschisă – se introduce o formă predeterminată de diversitate, utilizând antene multiple (la BS), fără a avea informatie despre situatia recepției, adică despre canalul de transmisiune (DL). Avantajele constau în absența semnalizării suplimentare (pe canalul UL) și o complexitate mai redusă a stației mobile. Unele sisteme transmit receptorului informație de instruire pe baza căreia receptorul estimează parametrii canalului;

-cu buclă închisă – tehnici adaptive, pe baza cunoașterii canalului DL prin intermediul semnalizării inverse (pe UL).

Tehnici de diversite utilizate în sistemele 3G:

-codarea spațiu-timp (metodă în buclă deschisă) – datele codate sunt transmise, după o conversie serie/paralel, formare spectrală și modulare, prin mai multe antene de emisie; la recepție se pot folosi mai multe antene sau una singură. În 3G se folosesc două antene la emisie și una la recepție(Fig.2.14).

Fig.2.14 Transmițător pentru diversitate spațiu-timp (BS)

-transmisie adaptivă (transmit adaptive array – TXAA, metodă cu buclă închisă) – se urmărește determinarea ponderilor cu care același semnal este transmis de mai multe antene (la stația de bază, două antene în 3G, Fig. 2.15) către o stație mobilă, astfel încât puterea recepționată de aceasta să fie maximă, puterea totală emisă fiind constantă. Ponderile optime sunt calculate

periodic de MS, pe baza informației despre canal obținute cu ajutorul piloților și transmise către BS pe canal de control.

Fig. 2.15 Metoda transmisiei adaptive

Sunt două moduri de lucru cu bucla închisă: ajustarea doar a fazelor semnalelor transmise de cele două antene (mod 1) sau ajustarea fazelor și a amplitudinilor (mod 2).

2.2.3 Canale necesare

În interfața radio sunt necesare mai multe tipuri de canale, utilizate fie pentru transmiterea informației utilizatorilor (voce, date), fie pentru transmiterea informației de semnalizare sau pentru alte scopuri.

2.2.3.1 Canale pentru trafic

Canalele pe care se transmite informația utilizatorilor sunt numite canale de trafic TCH (Traffic Channels). Aceste canale sunt bidirecționale și sunt alocate utilizatorilor pe toată durata apelului, motiv pentru care sunt numite canale dedicate.

După debitul lor, sunt de două tipuri :

-TCH/F (full rate – debit complet) –13 Kb/s pentru voce; 12, 6, 3.6 Kb/s pentru date;

-TCH/H (half rate – debit pe jumătate) – aproximativ 7 Kb/s pentru voce; 6, 3.6 Kb/s pentru date.

2.2.3.2Canale pentru semnalizări

Aceste canale pot fi de mai multe categorii :

În legătură cu un apel

-SACCH (Slow Associated Control Channel- canal de control asociat de debit mic)- este canal bidirecțional , asociat unui canal de trafic. Transportă parametrii de măsură și control sau date curente necesare pentru a menține o legătură între stația mobilă și stația de bază.

-FACCH (Fast Associated Control Channel- canal de control asociat rapid)- utilizează chiar canalul de trafic , în locul unor pachete cu date de utilizator , pentru semnalizări asociate ce trebuie transmise rapid (ex. efectuarea transferului la trecerea stației mobile dintr-o celulă în alta) ;distincția între pachet TCH și pachet FACCH se face prin biții S (stealing flag –2 biți într-un pachet , menționați la par.2.2.1).

Fără legătură cu un apel

Semnalizările care nu au legătură cu un appel sunt transmise fie de la stația mobilă , pentru redirecționarea apelurilor și pentru transmiterea de mesaje scurte, fie de la stația de bază, pentru actualizarea localizării. Un canal utilizat pentru astfel de semnalizări reprezintă a opta parte dintr-un canal TCH și se notează TCH/8 sau SDCCH (Stand-Alone Dedicated Control Channel- canal de control dedicat independent). Altfel spus, în locul unui canal de trafic TCH se pot forma opt canale de control TCH/8.

2.2.3.3 Canale pentru modul pasiv

În modul pasiv (idle) stația mobilă este în contact cu stația de bază pentru :

-interceptarea mesajelor paging (pentru a ști dacă este apelată) ;

-monitorizarea mediului (alegerea stației de bază adecvate) ;

-ascultarea mesajelor scurte difuzate în celulă.

Canale necesare pentru a permite accesul în rețea

-FCCH (Frequency Correction Channel- canal pentru corecția frecvenței).

Pe acest canal se asigură stațiilor mobile frecvența de referință a celulei.

-SCH (Sinchronization Channel –canal de sincronizare) –Permite stațiilor mobile să stabilească limitele intervalelor de timp și numerele de ordine ale lor (identificarea diferitelor canale logice).

Observație: Canalele FCCH și SCH , din celulele vecine, sunt ascultate și în timpul apelului, pentru măsurători în vederea unui posibil transfer.

-BCCH (Broadcast Control Channel -canal de control pentru difuzare)- Sunt difuzați parametrii specifici necesari stațiilor mobile să identifice rețeaua căreia îi aparține celula (pot fi mai multe rețele care acoperă aceeași arie geografică) și să obțină accesul în rețea : codul ariei de localizare , codul de identificare a operatorului , frecvențele celulelor vecine, etc.

-PAGCH (Paging and Access Grant Channel-canal pentru acordarea accesului și paging)- Stația mobilă este informată despre un apel intrând (paging) și canalul dedicat alocat pentru acces.

-RACH (Random Access Channel –canal pentru acces aleator)- Stațiile mobile transmit cererile lor, în mod aleator , pentru accesul în rețea (sunt posibile coliziuni între aceste cereri).

Canale pentru difuzarea mesajelor scurte în celulă

-CBCH (Cell Broadcast Channel- canal pentru difuzare în celulă). Corespunde unei jumătăți de canal TCH/8 de la stația de bază spre stațiile mobile și permite transmiterea a 80 de octeți la fiecare două secunde.

2.2.3.4 Clasificarea canalelor

O clasificare sintetică a canalelor necesare după diferitele criterii menționate mai sus este prezentată în tabelul de mai jos.

Tabelul 2.1.Clasificarea canalelor

2.2.4 Canale dedicate

2.2.4.1 TCH/F și SACCH

În figura 2.9 este prezentată structura multicadrului 26, format din 26 cadre TDMA. Pentru fiecare dintre cele opt canale fizice, notate C0-C7, rezultate pe un canal radio prin TDMA, se folosește aceeași numerotare (și notare) a intervalelor de timp, de la 0 la 25.

Din cele 26 intervale temporale aparținând unui canal fizic pe durata unui multicadru (120 ms) 24 intervale sunt alocate pentru formarea unui canal logic TCH/F (echivalent cu 6 segmente vocale), un interval va fi alocat pentru formarea unui canal logic SACCH, iar unul va fi liber.

Biții codați corespunzători unui segment de semnal vocal cu durata de 20 ms se transmit într-un ciclu de 8 pachete ; în fiecare pachet se includ biți rezultând din două segmente. Cele 24 pachete ale TCH/F (pe un interval de 120 ms) reprezintă 3 cicluri de codare, adică biții de la 6 segmente vocale (6×20=120 ms=durata multicadrului).

Pentru SACCH ciclul de codare este de 4 pachete , durata sa fiind 480 ms (4x26x8x15/26).

Pentru a evita recepția la stația de bază a mesajelor SACCH de la toate stațiile mobile aproape simultan, ciclurile SACCH corespunzătoare unor intervale adiacente (din cele opt canale fizice) se decalează : unui canal SACCH i se alocă cadrul 12 din multicadru (liber 25) , canalului SACCH adiacent i se alocă cadrul 25 (liber 12).

2.2.4.2 TCH/H și SACCH

T=TCH/H1, t=TCH/H2, S=SACCH1, s=SACCH2

Fig.2.16.Structura multicadrului 26 pentru formarea canalelor TCH/H și SACCH

Un canal TCH/H se formează prin alocarea a 12 intervale temporale din cele 26 corespunzătoare unui canal fizic pe durata unui multicadru 26. În felul acesta cu cele 26 intervale ale unui canal fizic se pot forma două canale TCH/H și două canale SACCH, notate în figura 2.11 cu T, t și respectiv S, s.

2.2.5 Canale comune

Formarea canalelor comune se bazează pe multicadrul 51, a cărui structură este prezentată în figura 2.10. Ciclul 51 și ciclul 26 nu au divizor comun, fapt ce permite stațiilor mobile aflate în modul dedicat (trafic) să asculte , în intervalul neutilizat (12 sau 25), canalul de sincronizare SCH și canalul de corecție a frecvenței FCCH (ale stațiilor de bază din celulele vecine- pentru presincronizare , înainte de transfer).

2.2.5.1 Canale BTS-MS

Canale descendente : FCCH, SCH, BCCH, PAGCH, CBCH.

Pe un canal fizic (un interval din cele 8 ale cadrului TDMA) alocarea celor 51 intervale ale multicadrului este următoarea : FCCH-5, SCH-5, BCCH-4, PAGCH/F-36, libere-1. În loc de un canal PAGCH/F (full-complet) se poate forma un canal PAGCH/T (third-o treime), ocupând 12 intervale (6-9 și 12-19) și rămânând libere încă 24 intervale . Un canal CBCH este derivat dintr-un canal TCH/8 (necesită jumătate din capacitatea acestuia, în jos) . Sunt constrângeri în definirea sa deoarece trebuie ascultat în paralel cu CBCH și PAGCH.

2.2.5.2 Canale MS-BTS

Canale ascendente : RACH/F și RACH/H

Un canal RACH/F ocupă un interval din cele opt ale fiecărui cadru TDMA, deci 51 intervale în multicadrul 51 . Un canal RACH/H ocupă 27 intervale din cele 51 (4, 5, 14-36, 45-46), acelea lăsate libere de 4 TACH/8 (1 TACH/8=1 TCH/8 +1 SACCH). Un canal TACH/8 este reprezentat de 6 intervale din 51 cadre (în medie pentru că ciclul este de 102 cadre : 8 intervale pentru TCH/8 și 4 pentru SACCH).

Se poate face combinația : 1 RACH/H+4 TACH/8≈1 TACH/F.

2.2.5.3 Combinații de canale comune

Fiecare celulă difuzează :

-câte un canal FCCH și un canal SCH ;

-cel puțin câte un canal BCCH, PAGCH și RACH.

Canalele FCCH și SCH utilizează întotdeauna canalul fizic 0 al unui purtător radio (primul interval din cele 8 ale cadrului TDMA) .

Se pot alcătui diferite combinații de canale de trafic și comune, pe unul sau mai multe canale radio într-o celulă, așa încât să satisfacă necesitățile de trafic din celulă și să lase cât mai puține intervale de timp libere sau nefolosite. În funcție de capacitatea celulei se pot alcătui combinațiieconomice așa cum sunt prezentate în exemplele ce urmează.

Varianta I (de bază, pentru celule de capacitate medie)

Pe canalul fizic C0 :

-descendent: 1 FCCH+1 SCH+1 BCCH+1 PAGCH/F;

-ascendent: 1 RACH/F.

Pe celelalte 7 canale fizice ale aceluiași purtător pot fi realizate 7 TCH/F.

Varianta II (pentru celule de capacitate mică)

-descendent : 1 FCCH+1 SCH+1 BCCH+1 PAGCH/T+4 TACH/8 ;

-ascendent : 1 RACH/H+4 TACH/8.

Observație : În loc de 1 TACH/8 se poate folosi 1 CBCH. Canalul TCH/8 este folosit pentru semnalizări și difuzare de mesaje scurte în celulă.

Varianta III (pentru celule de capacitate mare)

1 PAGCH și 1 RACH nu sunt suficiente.Soluțiile adoptate depind de mărimea traficului, utilizând o combinație de bază (varianta I) plus unul, două sau trei seturi de extensie. Un set de extensie este format dintr-o combinație de bază , mai puțin canalele FCCH și SCH (care trebuie să fie numai câte unul într-o celulă). Un canal BCCH apare în fiecare set de extensie pentru cel puțin două motive : a) informația difuzată pe BCCH se referă , parțial , și la RACH de pe același canal fizic, deci poate diferi de la un canal fizic la altul ; b) este mai simplu pentru stația mobilă să asculte pachetele de pe un singur canal fizic.

Seturile de extensie se realizează pe C2 (un set), C2 și C4 (două seturi), C2, C4 și C6 (trei seturi) ale aceleiași frecvențe (ca FCCH și SCH). Deoarece se permite pachetelor RACH să se întindă și în intervalul temporal următor se folosesc canale fizice neadiacente.

Canalul CBCH se realizează fie pe C0 al unei frecvențe diferite de cea pentru FCCH și SCH, fie pe C1, C2 sau C3 ale frecvenței FCCH.

2.2.6 Organizarea canalelor într-o celulă

Un transceiver elementar (TRX-noțiune introdusă ca măsură a capacității unei stații de bază) poate emite și recepționa continuu, dar în orice moment (interval) numai pe o singură frecvență, care se poate schimba de la un interval la altul. Alegerea canalelor și gruparea lor se face în așa fel încât fiecare TRX să emită în fiecare interval cel mult un pachet și să lase cât mai puține intervale libere. Fiecare TRX poate realiza opt grupuri de canale (pentru fiecare canal fizic câte un grup). Pentru a ușura alcătuirea unei variante eficiente de organizare a canalelor într-o celulă este util să se cunoască numărul de intervale ocupate de fiecare canal logic într-un multicadru.

Canalele bidirecționale se prezintă astfel : TCH/F ocupă 24 intervale din 26, SACCH –1 din 26, TCH/H –12 din 26, TACH/8 –12 din 2×51 (echivalent 6 din 51).

Canalele descendente: FCCH –5 din 51; SCH –5 din 51, BCCH –4 din 51, PAGCH –36 din 51, PAGCH/T –12 din 51.

Canale ascendente: RACH/F –51 din 51; RACH/H – 27 din 51.

Exemple (Grupuri de canale) :

Tabelul 2.2 Grupuri de canale

Celulă de capacitate mică (cu 1 TRX)

-C0, descendent : FCCH, SCH, BCCH, PAGCH/T (total 26 intervale din 51) ;

-C0, ascendent : RACH/H (27 din 51) ;

-C0, bidirecțional : 4 TACH/8 (24 din 51);

-C1-7, bidirecțional: 1 TACH/F fiecare.

Intervale nefolosite: pe C0-1 interval, în jos, din 51; pe fiecare C1-7 câte un interval din 26 în ambele sensuri.

Celule de capacitate medie (de exemplu cu 4TRX)

-C0, descendent : FCCH, SCH, BCCH, PAGCH/F (total 48 intervale folosite din 51) ;

-C0, ascendent : RACH/F (51 din 51) ;

-3C0+4C1-7 (31 canale fizice), bidirecțional : 2x8TACH/8+29TACH/F.

Celule de capacitate mare (de ex. cu 12 TRX)

-C0 : FCCH , SCH, BCCH, PAGCH/F descendent ; RACH/F ascendent ;

-C2, C4 și C6, fiecare cu : BCCH, PAGCH descendent ; RACH/F ascendent ;

-5C, fiecare cu 8TACH/8 ;

-87C, fiecare cu 1TACH/F.

2.2.7 Sincronizarea stației mobile

În momentul în care o stație mobilă este alimentată ea trebuie să identifice rețeaua căreia îi aparține, celula în care se află și ciclicitatea canalelor logice în acea celulă. Pentru aceasta ea trebuie, în primul rând, să realizeze sincronizarea de frecvență, adică să identifice canalul de radiofrecvență pe care se realizează canalele comune FCCH, SCH și BCCH.

Deoarece pe canalul C0 se transmit pachete pe aceeași frecvență, fixă, chiar și în intervalele libere, densitatea spectrală de putere prezintă un maxim în banda alocată acestui canal (pe alte frecvențe pachetele sunt mai rare). Găsind un canal radio cu densitatea de putere mare stația mobilă caută FCCH care se caracterizează printr-un vârf la aprox. 67 kHz de frecvența centrală. Dacă nu-l găsește caută un alt canal cu densitatea de putere mare și urmărește pachetul FCCH. Găsind pachetul FCCH stația mobilă realizează corecția de frecvență, se sincronizează pe frecvența canalului de bază, pe care se emit și pachetele SCH și BCCH, fiind astfel capabilă să demoduleze semnalele corespunzătoarecelorlalte tipuri de pachete.

Urmărind pachetele SCH (la 8 intervale temporale față de pachetul FCCH) și BCCH, stația mobilă va reuși sincronizarea cu rețeaua relativ la numerotarea ciclică a intervalelor temporale pentru formarea canalelor logice (sincronizarea TDMA și identificarea cadrului).

Pentru combinarea celor două structuri de multicadru în interfața radio, una utilizată pentru formarea canalelor de trafic, cealaltă pentru formarea canalelor de semnalizare, cu identificarea precisă a canalelor cărora aparțin intervalele temporale ale cadrului TDMA , se definește o nouă structură numită supercadru,cu lungimea 51×26 =1326 cadre, reprezentând cel mai mic multiplu comun al celor două multicadre. Supercadrul conține fie 51 de multicadre 25, fie 26 de multicadre 51. Se definește, de asemenea, o structură de hipercadru conținând 2048 supercadre. Rezumând, dimensiunile acestor structuri definite pentru identificarea canalelor logice sunt următoarele :

-cadrul TDMA=8 intervale ; durata 8×15/26 ms=4.615 ms ;

-multicadrul 26=26 cadre TDMA ; 26x8x15/26=120 ms ;

-multicadrul 51=51 cadre TDMA ; 51x8x15/26=235.38 ms ;

-supercadrul =26×51 cadre TDMA=1326 cadre=6.12 s ;

-hipercadrul =2048 supercadre =3 h 28 min 53 s 760 ms.

Multicadru 26=120 ms Multicadrul 51=235.38 ms

Supercadru =1326 cadre= 6.12 s

Hipercadru=2048supercadre =2.715.648 cadre=3h 28 min 53 s 760 ms

Fig.2.17 Structura cadrelor în GSM

Identificarea intervalului de 15/26 ms într-un hipercadru se face cu ajutorul a trei numărătoare :

-numărătorul T1 pentru supercadre (0-2047) ;

-numărătorul T2 pentru cadre în multicadrul 26 (0-25) ;

-numărătorul T3 pentru cadre în multicadrul 51 (0-50).

Valorile T1, T2 și T3 permit identificarea intervalului temporal în orice moment și cărui tip de canal aparține dacă se știe cărui tip de multicadru îi este alocat. Un număr prescurtat, constând din valorile lui T2 și T3, se transmite în pachetul SCH, permițând stației mobile să identifice cadrul. Stația obține apoi informația suplimentară din BCCH (când T3 arată 2-5).

2.2.8 Serviciul de date cu comutație de circuite

2.2.8.1 Aspecte generale ale serviciilor de date în GSM

Serviciile de date între utilizatorii mobili sunt mai puțin solicitate în prezent. Pentru a prezenta interes trebuie să apară terminale specifice, portabile.În schimb, serviciile de date între utilizatori GSM și utilizatori PSTN, ISDN, PDN prezintă un interes deosebit deoarece GSM oferă o mare parte dintre serviciile de date furnizate de aceste rețele. Serviciile de date se disting prin :

-natura corespondenților potențiali (utilizatori ai rețelei telefonice, ai ISDN, ai PDN) ;

-natura informației transmise (date propriu zise, facsimil, videotex etc.) ;

-modul de transmisiune (servicii cu comutație de pachete sau de circuite, digital cap-la-cap sau utilizând un modem de bandă vocală, sincron sau asincron) ;

-natura terminalului (mod pachet, mod caracter, protocol utilizat), etc.

Segmentul GSM, privit ca un segment de transport, implică două funcțiuni generice la capatele sale : TAF (Terminal Adaptation Function)- funcție de adaptare între terminalul de date și partea de transmisie radio și IWF (Interworking Function)- funcție de adaptare la frontiera GSM/rețea externă.

Comunicație cap-la-cap

GSM DTE- Echipament terminal

de date (Data Terminal

equipment)

MS

Fig.2.18 Funcții de adaptare pentru serviciile de date

Funcțiile TAF și IWF depind, în principal, de rețeaua externă (și de capacitatea de transport necesară) așa încât prezentarea aspectelor specifice serviciilor de date se va face după corespondenții potențiali ai utilizatorilor GSM.

Comutația de circuite presupune stabilirea în prealabil a unui circuit fizic între sistemele corespondente, care stă la dispoziția lor pe toată durata comunicației. Cele două sisteme trebuie să lucreze cu același debit. Dacă într-un sistem rulează mai multe programe de aplicație simultan, ele nu pot comunica decât cu procesele de aplicație din sistemul corespondent.Succesiunea datelor nu se modifică la recepție față de emisie, întârzierea fiind mică, constantă.În aceste condiții, comutația de circuite este adecvată traficului constant în timp.

2.2.8.2 Conexiuni cu rețelele externe

Conexiuni cu utilizatorii PSTN

O conexiune pentru transmisiuni de date între un utilizator GSM și un utilizator PSTN se realizează ca în figura 2.14.

canal vocal

PSTN
utilizator GSM utilizator

Fig.2.19 Circuit de date între utilizator GSM și utilizator PSTN

Probleme de rezolvat:

1.Interfața dintre modem și terminal, de tip V.24, constituită din circa 15 circuite . Semnalele de pe circuitele de interfață trebuie transmise pe segmentul GSM (TAF-IWF) în modul serial, multiplexate cu semnalele de date.

2.Transmisiunea în GSM este sincronă. Dacă transmisiunea de la terminal este asincronă este nevoie de conversia asincron-sincron și sincron-asincron , ceea ce înseamnă funcțiuni adecvate în TAF și IWF.

3.În cazul transmisiunii sincrone (de la terminal) este necesar să se facă trecerea de la baza de timp folosită în interfața terminal-modem , ce poate fi diferită de baza de timp GSM, la aceasta din urmă.

Conexiuni cu utilizatorii ISDN

Dificultatea care apare în acest caz este determinată de faptul că GSM permite

un debit de 9600 b/s iar ISDN asigură un debit de bază de 64 kb/s.

Soluția constă într-o adaptare de viteză, pentru trecerea de la debitele mici, permise de GSM, la debitul de 64 kb/s din ISDN.

Recomandarea V. 110

Specifică modul în care ISDN suportă terminale de date echipate cu interfață V.24. Specificările se referă la :

-cum se transmite informația auxiliară (din interfața V.24) ;

-cum se transmite un flux asincron pe o legătură sincronă ;

-cum se transportă un flux sincron pe o legătură sincronă folosind baze de timp independente.

Aceste specificări au fost adoptate fără modificări și în aplicațiile GSM.

Etapele de soluționare a problemei sunt următoarele :

-Funcția RA0 (Rate Adaptation 0-adaptare de viteză, etapa 0)-este o funcție de conversie asincron/sincron .

-Funcția RA1-conversie de la D ≤4800 b/s și 9600 b/s la D =8 kb/s,respectiv la D=16 kb/s.

-Funcția RA2- conversie de la D=8/16 kb/s la 64 kb/s.

Conexiuni între utilizatorii GSM

În cele mai multe cazuri, pentru conexiunile între utilizatori GSM, intervine și

o rețea externă : PSTN (acum) sau ISDN (în viitor). Serviciile de date ce pot fi oferite sunt cele asigurate între utilizatori GSM și utilizatori PSTN.

Transmisiunea în interiorul GSM

Interfața radio prezintă un coeficient mare de eroare, mai mare chiar decât 10‾³, acceptabil pentru transmiterea vocii, dar inacceptabil pentru cele mai multe servicii de date.

Tipuri de conexiuni

După strategia adoptată în GSM pentru corectarea erorilor se disting două categorii de conexiuni : transparente (T) și netransparente (NT).

Conexiuni transparente (T)

Se folosește un mecanism de corectare directă a erorilor, cu cod corector (FEC-Forward Error Correction), asigurat de interfața radio. Debitul datelor și întârzierea sunt constante. Valorile standard pentru debitul datelor la utilizator sunt : ≤2400 b/s, 4800 b/s, 9600 b/s.

Conexiuni netransparente (NT)

Se folosește mecanismul de corectare a erorilor , utilizat pe conexiunile T, plus o schemă adițională de corectare prin retransmiterea pachetelor cu erori necorectate.

Debitul de bază este 12 kb/s (6 kb/s pentru canalul pe jumătate -half), indiferent de debitul utilizatorului și cu aceeași schemă FEC ca și pentru conexiunile T.

Suplimentar se folosește un protocol de corectare a erorilor prin retransmitere (protocolul RLP-Radio Link Protocol), operând între TAF și IWF.Există două variante ale protocolului RLP folosite în GSM :

-L2R-COP (Level 2 Relay-protocol orientat pe caracter) ;

-L2R-BOP (Level 2 Relay-protocol orientat pe bit).

Trebuie creată posibilitatea de a transmite biții suplimentari necesitați de un astfel de protocol pentru detecția erorii, numerotarea cadrelor, repetări de cadre etc.

2.2.9 Serviciul de date cu comutație de pachete

În cazul comutației de pachete, nu se stabilește un circuit fizic între sistemele corespondente înainte de transferul datelor, eventual,se stabilește o conexiune logică prin rețea. Mesajul transmis e divizat înainte în pachete, acestea fiind transmise la comutatorul de pachete la care este conectat sistemul. Pachetele ajung la destinație pe căi diferite, în altă ordine decât cea de la emisie și pot chiar lipsi. Sistemele pot lucra cu debite diferite. Rețeaua este ocupată numai în timpul transferului datelor. În consecință taxarea se va face în funcție de volumul datelor transferate și nu după durata conexiunii.

Procesele de aplicație pot comunica simultan cu procesele de aplicație din sisteme diferite. Întârzierea este variabilă, comutația de pachete fiind adecvată traficului de date variabil. Timpii de acces la rețea sunt mult mai mici decât în serviciul cu comutație de circuite.

ETSI (European Telecommunications Standards Institute) a elaborat standardul GPRS pentru serviciul de transport, cu comutație de pachete, în sistemele GSM. GPRS folosește canalele temporale ale interfeței radio GSM, simultan și fără să interfere cu serviciul cu comutație de circuite oferit de GSM, cu care va coexista.

Un alt standard relativ la comutația de pachete este TDMA/136, care se referă la tehnologia CDPD (Cellular Digital Packet Data).

Serviciul de date pachetizate GPRS

3.1.Introducere

În prezent sistemul GSM oferă patru categorii de servicii: voce, SMS (Short Message Service), fax și servicii de date. În această ultimă categorie sunt incluse următoarele servicii:

– date transmise în mod transparent, fără corecție de erori, cu întârziere constantă;

– date transferate în mod transparent cu corecție de erori, cu întârziere variabilă.

Pentru aceste servicii de date viteza maximă este de 9,6 kb/s. Există de asemenea posibilitatea accesului la modemuri din rețeaua telefonică publică cu comutație, prin intermediul modemurilor instalate la MSC (Mobile Switching Center).

Serviciul radio de date pachetizate (GPRS- General Packet Radio Service) reprezintă o extensie a sistemului GSM care lărgește gama serviciilor de date oferite de către acesta și permite alocarea dinamică a resurselor fizice pentru servicii de date și pentru alte servicii. Printre aplicațiile posibile ale acestui nou serviciu se numără:

– acces la baze de date ("web browsing");

– transfer de fișiere, prin intermediul protocolului FTP (File Transfer Protocol);

– poștă electronică ("e-mail");

– transmisiuni video;

– acces distant la resurse, cu ajutorul protocolului Telnet;

– tele-acțiuni: transfer bancar, notificare de alarmă, etc;

– dispecerizare pentru aplicații RTTI (Road Traffic and Transport Information), precum ghidare de rute, control al zborurilor, etc.

Serviciul GPRS furnizează utilizatorilor mobili posibilitatea accesului radio în mod pachet. Necesitatea transmisiunii în mod pachet apare datorită faptului că în multe aplicații sursele emit date într-un mod intermitent. Principalul beneficiu care decurge din implementarea acestei tehnologii constă într-o mai bună utilizare a resurselor interfeței radio (acestea sunt alocate doar când există date de transmis și nu pe toată durata convorbirii ca în cazul serviciilor în mod circuit). De aici rezultă că este posibilă taxarea în funcție de volumul de date transferat, nu în funcție de intervalul de timp în care sunt ocupate resursele rețelei (se poate taxa suplimentar calitatea cerută pentru serviciu). Alte avantaje ale sistemului sunt:

– debitele oferite utilizatorilor pot fi mai mari în interfața radio, de maxim 170 kb/s (obținut prin alocarea tuturor celor 8 intervale ale cadrului TDMA unui singur utilizator);

– acces permanent la Internet, fără timp de conectare ca în cazul unui serviciu dial-up, unde trebuie făcută trecerea din modul "voce" in modul "date" prin negociere între modemuri.

Faptul că sistemul GSM a fost proiectat inițial pentru servicii de voce (cu care serviciul GPRS trebuie să coexiste) determină unele limitări ale sistemului GPRS. Întrucât toată comunicația se bazează pe comutarea de circuite și nu pe comutarea de pachete, întreaga proiectare (alocarea temporală a canalelor, mecanismele de căutare, avansul temporal, codarea canalului) este afectată. De asemenea toate apelurile de tip MT ("mobile terminated") trebuie să treacă prin registrul HLR (Home Location Register).

În sistemul GPRS se folosește transferul datelor și semnalizărilor (cu debite mari și mici) în mod pachet optimizându-se astfel utilizarea resurselor din interfața radio, dar și a celor din restul rețelei. Este menținută separarea strictă între subsistemul radio și subsistemul rețea, permițându-se astfel folosirea aceluiași subsistem rețea în combinație cu alte tehnologii de acces radio. Sunt definte noi tipuri de canale radio, alocarea acestora fiind flexibilă: unui utilizator i se pot aloca în interfața radio între 1 și 8 intervale temporale ("time-slots") pe același purtător. Intervalele temporale sunt partajate de utilizatorii activi, iar alocarea canalelor se face în mod diferit pe legătura ascendentă ("uplink") și pe cea descendentă ("downlink"). Resursele interfeței radio pot fi împărțite în mod dinamic între serviciile de voce și cele de date, în funcție de sarcina determinată de serviciul respectiv în rețea ca și de preferințele operatorului.

Serviciul GPRS suportă aplicațiile bazate pe protocoalele de date standard, fiind definită cooperarea cu rețelele de tip IP sau X.25.De asemenea este permis transferul mesajelor scurte (SMS) pe canalele radio GPRS. Comparativ cu sistemul GSM (care folosește comutația de circuite) infrastructura rețelei GPRS, bazată pe comutația de pachete, include noi elemente funcționale (nodurile SGSN și GGSN) și implică unele modificări la nivelul registrului HLR (acesta stochează și informații referitoare la abonații GPRS) și al nodurilor SMS-GMSC și SMS-IWMSC (care pot realiza transmisia mesajelor scurte și prin intermediul nodului SGSN). Opțional se pot aduce îmbunătățiri și centrului de comutație MSC pentru o mai bună coordonare între serviciile și funcțiunile GPRS și cele non-GPRS (ex: realizarea căutării pentru apeluri telefonice prin intermediul nodului SGSN, actualizări combinate ale localizării). Selecția celulei poate fi realizată de către stația mobilă sau sistemul stațiilor de bază, care îi poate comunica stației mobile identitatea celulei pe care trebuie să o selecteze. Stația mobilă va informa rețeaua de fiecare dată când selectează o altă celulă sau grup de celule (denumit arie de rutare).

Funcțiunile de securitate din GPRS sunt echivalente celor existente în GSM (nodul SGSN realizează procedurile de autentificare și de stabilire a cifrului cu ajutorul acelorași algoritmi existenți în GSM), algoritmul de cifrare fiind optimizat pentru transmisia datelor pachetizate. Un echipament mobil poate avea acces la serviciile GPRS cu cartele SIM specifice acestui serviciu ("GPRS-aware") sau cu cartele nespecifice.

Transferul datelor utilizatorului între stația mobilă (MS) și rețelele externe de date se face în mod transparent folosind încapsularea și tunelarea: pachetele de date sunt echipate cu informații specifice protocoalelor utilizate în GPRS și sunt transmise între stația mobilă și rețelele externe de date. Această metodă nu necesită prelucrarea informațiilor aparținând protocoalelor externe de date de către elementele rețelei GPRS și facilitează conlucrarea cu alte protocoale în viitor. Pentru eficiență și fiabilitate, datele utilizatorului pot fi comprimate și protejate cu protocoale de retransmisie.

Fiecare rețea GPRS are două puncte de acces: Um, folosit pentru accesul mobil, și punctul de referință R, plasat între echipamentul terminal (TE) și terminația mobilă (MT), care este utilizat pentru generarea și recepționarea mesajelor. Interfața Gp permite schimbul de mesaje între două rețele GPRS independente. Legătura între rețeaua GPRS și rețeaua fixă, care este de obicei o rețea de date pachetizate (PDN), se realizează prin punctul de referință Gi. Operatorul rețelei trebuie să negocieze interconectarea cu fiecare rețea externă (aceste rețele pot avea un proprietar diferit sau pot folosi un alt protocol de comunicație ).

În figura 3.1 sunt prezentate interfețele și punctele de referință prin care este posibil accesul la serviciile GPRS (printr-o interfață se transferă informații specifice GPRS).

Fig. 3.1 Interfețele de acces și punctele de referință GPRS.

MS-Mobile Station; TE-Terminal Equipment;

MT-Mobile Termination; PDN-Packet Data Network.

3.2 Arhitectura rețelei GPRS

Funcțiunile realizate într-o rețea GPRS pot fi grupate în șase categorii:

– funcții de control al acesului la rețea: înregistrare (asocierea, statică sau dinamică, a identității utilizatorului mobil cu protocoalele de date pachetizate, cu adresele din cadrul rețelei și cu punctele de acces la rețelele externe); autentificarea identității unui solicitant de serviciu și autorizarea utilizării unui anumit serviciu oferit de rețea; controlul admisiei (decizia de admitere se ia în funcție de cerințele de calitate a serviciului și de resursele disponibile); filtrarea, controlată de rețea, prin abonament sau de către utilizator, a pachetelor neautorizate sau nesolicitate; adaptarea pachetelor de date transmise sau recepționate pentru a putea fi transportate prin rețeaua GPRS; colectarea datelor necesare taxării;

– funcții de transfer și de rutare a pachetelor: funcția de tranzit (mijloacele prin care un nod transmite pachetele recepționate de la un nod către un alt nod din cadrul rutei); funcția de rutare, care determină următorul nod către care trebuie transmis mesajul în funcție de adresa de destinație a acestuia; translația adreselor folosite de protocoalele externe în adrese de rețea interne, pe baza cărora se pot ruta pachetele; încapsularea și decapsularea unităților de date; tunelarea unităților de date încapsulate (un tunel reprezintă o cale bidirecțională punct-la-punct); compresia și cifrarea unităților de date și a semnalizărilor; funcții DNS (Domain Name Service), cu ajutorul cărora se poate face corespondența între numele logice și adresele nodurilor GPRS;

– funcția de management al mobilității, care permit cunoașterea poziției curente a unei stații mobile în cadrul rețelei;

– funcții de management al legăturii logice: stabilirea legăturii logice, realizată atunci când stația mobilă se conectează la serviciul GPRS; menținerea legăturii logice (a canalului de comunicație din interfața radio între o stație mobilă și rețea), care implică supravegherea stării legăturii și controlarea schimbărilor de stare ale acesteia; eliberarea legăturii logice.

– funcții de management al resurselor radio: managementul canalelor fizice din fiecare celulă, care determină ce resurse radio sunt folosite de GPRS (resursele radio sunt folosite atât de serviciul GPRS cât și de serviciile în mod circuit); selecția de către stația mobilă a celulei optime pentru comunicație, prin evaluarea calității semnalului din celulele învecinate ca și prin detecția și evitarea congestiei în celulele candidate; funcția de transmisie în mod pachet prin interfața Um, care include controlul accesului la canalele radio, multiplexarea pachetelor pe canalele fizice, discriminarea pachetelor la nivelul stației mobile, detecția și corecția erorilor și proceduri de control al fluxului; funcția de administrare a căilor de comunicație dintre nodurile GPRS și subsistemul stațiilor de bază (Base Station Subsystem).

– funcții de management al rețelei (furnizează mecanisme pentru funcțiile de operare și mentenanță referitoare la serviciul GPRS).

Accesul la rețea reprezintă totalitatea mijloacelor prin care un utilizator este conectat la o rețea de telecomunicații pentru a beneficia de serviciile și facilitățile acelei rețele. Accesul unui utilizator la rețea se poate realiza atât din partea mobilă a rețelei GPRS, cât și din partea ei fixă. Interfața cu rețelele fixe poate suporta mai multe protocoale de acces la rețelele externe de date (ex: X.25, IP), setul acestor protocoale fiind ales de operatorul rețelei. Procedurile de acces pot depinde și de modul de administrare a rețelei (se poate limita setul de utilizatori care pot avea acces în rețea sau se pot limita tipurile de servicii disponibile pentru un abonat). Pe lângă accesul standard punct-la-punct, sistemul GPRS poate permite și accesul anonim al abonaților la rețea. În acest caz, stația mobilă poate schimba pachete – numai cu un număr limitat de destinatari și accesul în rețea se face fără a folosi identitățile IMSI (International Mobile Subscriber Identity) sau IMEI (International Mobile Equipment Identity).

Prin rută se înțelege o listă ordonată de noduri (nodul de origine, nodurile de tranzit și nodul de destinație) folosită pentru transferul mesajelor. Rutarea este procesul de determinare și de utilizare a rutei de transmisie a mesajului.

Implementarea serviciului GPRS se bazează pe structura sistemului GSM la care se adaugă două tipuri de noduri suport: nodul de serviciu (SGSN- Serving GPRS Support Node) și nodul pentru interfață (GGSN- Gateway GPRS Support Node). De asemenea sunt definite noi interfețe între elementele rețelei .

Nodul SGSN reprezintă nodul în a cărui arie de serviciu se găsește la un moment dat stația mobilă. Când se realizează operația de atașare la serviciul GPRS ("GPRS attach") nodul SGSN creează un context pentru managementul mobilității, care conține informații de mobilitate (atașare/detașare și localizare) și de securitate (cifrare și autentificare) privitoare la respectiva stație mobilă. Totodată, la activarea contextului PDP în nodul SGSN se creează un context PDP, care va fi folosit pentru rutarea pachetelor de date (pachete IP) de la și înspre stațiile mobile atașate, din aria de serviciu corespunzătoare nodului.. Nodul SGSN poate primi cereri de căutare ("paging") de la MSC/VLR și poate trimite către acesta informații de localizare (celula curentă, VLR curent) prin intermediul interfeței opționale Gs.Pe lângă informațiile privind localizarea, SGSN memorează și profilul abonaților GPRS (IMSI, adrese utilizate în rețeaua PS).

Alte funcții realizate de SGSN sunt managementul conexiunii logice spre stația mobilă și furnizarea informațiilor privind notele de plată.

Nodul GGSN este o interfață între rețeaua magistrală (backbone network) și rețelele de date cu comutație de pachete externe, realizând următoarele funcțiuni:

-comunică cu SGSN printr-o rețea IP proprie rețelei GPRS și asigură transformarea pachetelor GPRS, sosite de la SGSN, în formatul protocolului de date în pachete (PDP- Packet Data Protocol) adecvat (IP sau X.25) , transferându-le către rețeaua externă corespunzătoare;

-convertește adresele PDP ale pachetelor sosite de la rețelele externe în adresele GSM ale utilizatorilor destinatari și transferă aceste pachete către SGSN corespunzătoare. În acest scop GGSN memorează adresa SGSN curent pentru utilizatori și profilurile lor în registrul de localizare. Nodul GGSN poate solicita registrului HLR informații de localizare a stației mobile prin intermediul interfeței opționale Gc;

-furnizează informațiile necesare pentru notele de plată, ținând seama de utilizarea rețelelor externe;

-autentificare.

La un GGSN pot fi conectate mai multe SGSN, iar un SGSN poate fi conectat la mai multe GGSN, pentru a avea acces la mai multe rețele externe.

Funcțiunile celor două noduri, SGSN și GGSN, se pot implementa în același nod fizic sau în noduri diferite. Ambele noduri includ funcțiuni IP și interconecțarea lor se poate face folosind rutere IP. Dacă SGSN și GGSN se găsesc în rețele mobile aparținând unor operatori diferiți, conectarea lor se face prin interfața Gp care îndeplinește funcțiile interfeței Gn precum și funcții de securitate (determinate de înțelegerile existente între operatori), necesare pentru comunicația între două rețele mobile.

TE Terminal Equipment HLR Home Location Register

MT Mobile Terminal AuC Autentication Center

MS Mobile Station EIR Equipment Identity Register

BSS Base Station System SGSN Serving GPRS Support Node

BTS Base Transceiver Station GGSN Gateway GSN

BSC Base Station Controller Um Interfața Aer

MSC Mobile Switching Center A, Abis Interfețe (GSM)

GMSC Gateway MSC Gx ,Gp Interfețe (GPRS)

VLR Visitor Location Register PLMN Public Land Mobile Network

Fig. 3.2 Arhitectura GPRS

Funcțiuni GPRS ale celorlalte componente

– Stația mobilă (MS)

Terminalul mobil trebuie echipat cu software adecvat.

În funcție de capabilitățile stației mobile și ale rețelei, stațiile mobile GPRS pot funcționa în trei moduri diferite:

l. Clasa A – permite stației mobile să aibă o conexiune cu comutație de circuite (GSM convențional) simultan cu un transfer de pachete (funcționare GPRS);

2. Clasa B – permite stației mobile să fie atașată simultan în conexiuni cu comutație de circuite (CS) și cu comutație de pachete (PS), dar nu poate utiliza ambele servicii în același timp. Totuși, stația mobilă, implicată într-un transfer de pachete, poate întrerupe transferul pachetelor pentru a recepționa un mesaj într-o conexiune CS, după care reia transferul pachetelor;

3.Clasa C – permite stației mobile să fie atașată în orice moment numai la unul din cele două tipuri de servicii (CS și PS), exceptând mesajele SMS, acestea putând fi recepționate și transmise în orice moment.

– Sistemul stației de bază (BSS)

BTS trebuie să conțină software specific GPRS.

BSC trebuie să fie echipat cu hardware și software GPRS.

– Centrul de comutație pentru servicii mobile (MSC) – trebuie suplimentat cu software GPRS.

MSC are în responsabilitate o arie care se numește aria de serviciu a MSC/VLR (SA – Service Area).

Aria de serviciu este alcătuită din mai multe arii de localizare (LA – Location Area). O arie de localizare este alcătuită dintr-un grup de celule BSS, în care o stație mobilă se poate deplasa fără a raporta rețelei localizarea sa. Aria de rutare (RA – Routing Area) a unui SGSN este constituită dintr-un subset de arii de localizare MSC. Un SGSN poate fi conectat la mai multe MSC și un MSC poate fi conectat la mai multe SGSN.

– Centrul de comutație pentru servicii mobile gateway – la frontieră (GMSC)

Introducerea serviciului GPRS nu implică modificări în GMSC.

– Registrul de localizare acasă (HLR)

HLR este o bază de date cu informații pentru comunicații CS și PS despre fiecare abonat al operatorului GSM/GPRS, cum ar fi: servicii suplimentare, parametrii de autentificare, numele punctului de acces (APN – Access Point Name, spre exemplu fumizorul de servicii IP), dacă stației mobile îi este alocată o adresă IP statică, informații despre localizarea stației mobile.

Pentru GPRS tripleta de autentificare este transmisă direct, de la HLR la SGSN, fără a trece, așa cum se întâmplă pentru serviciile GSM cu comutație de circuite, prin MSC/VLR.

Transferul informației de la HLR spre SGSN are loc atunci când operatorul schimbă datele despre abonat sau când un nou SGSN are nevoie de datele unui abonat care s-a atașat la el ori este în roaming. În acest ultim caz vechiul SGSN trebuie să fie informat despre roaming.

De la SGSN la HLR se transferă informație de rutare ca urmare a acțiunii unei stații mobile de atașare sau de roaming. Pentru o stație mobilă în roaming HLR poate fi într-o rețea diferită de cea în care se află SGSN care o servește.

– Registrul de localizare a vizitatorilor (VLR)

VLR (Visitor Location Register) conține date despre toate stațiile mobile aflate temporar în aria de localizare a unui MSC (pentru CS) sau în aria de rutare a unui SGSN (pentru PS). Aceste date sunt obținute și memorate în urma solicitării făcute de VLR către HLR, atunci când o stație mobilă apare în roaming în aria de localizare a unui MSC, respectiv în aria de rutare a unui SGSN.

VLR pentru GPRS constă în software instalat în SGSN.

– Centrul de autentificare (AuC)

Pentru abonații GPRS autentificarea decurge la fel ca și pentru abonații GSM.

Cifrarea se realizează în alt mod, dar nu implică modificări ale AuC.

3.3 PROCEDURI DE APEL ȘI ACTUALIZARE

3.3.1 Procedurile de atașare și de activare a contextului PDP

Atașarea IMSI

Prin procedura de atașare IMSI se stabilește o conexiune între MS și rețea și, ca urmare, MS poate face sau poate recepționa un apel GSM (Fig. 3.3).

Fig. 3.3 Atașarea IMSI

Atașarea GPRS

Pentru a transmite sau pentru a recepționa date este necesar să se realizeze o procedură în două etape (Fig. 3.4), atașarea GPRS (1) și activarea contextului PDP (2) (Packet Data Protocol- Protocol pentru date în pachete).

Fig.3.4Atașarea GPRS și activarea contextului PDP

Atașarea GPRS are ca rezultat stabilirea unei conexiuni logice între stația mobilă și SGSN, iar procedura corespunzătoare, la rândul ei, se desfășoară în mai multe etape (Fig. 3.5):

1) Stația mobilă transmite o cerere de atașare către SGSN;

2) Dacă stația mobilă nu este cunoscută de către SGSN, acesta va solicita IMSI și tripleta de autentificare vechiului SGSN;

3) Dacă vechiul SGSN nu cunoaște stația mobilă, acesta va transmite un mesaj eroare către noul SGSN, iar noul SGSN va solicita IMSI stației mobile;

4) SGSN autentifică stația mobilă;

5) Se actualizează HLR (dacă este o nouă arie de serviciu SGSN);

6) Se actualizează MSC/VLR (numai dacă este o nouă arie de localizare);

7) SGSN comunică stației mobile noul TLLI (Temporary Location Link Id- Identitatea legăturii de localizare temporare).

("old")

Fig. 3.5Atașarea GPRS

Atașarea GPRS/IMSI combinată

Este posibil ca ambele atașări, GSM și GPRS, să fie realizate simultan.

Detașarea GPRS

Detașarea stației mobile de la rețea poate fi inițiată de de stația mobilă sau de rețea. Procedura implică, în ambele cazuri, comunicații între MS, BSS, SGSN și GGSN.

3.3.2 Activarea/dezactivarea contextului PDP

După atașarea GPRS, pentru a realiza un schimb de pachete cu o rețea de date cu comutație de pachete externă, stația mobilă cere să i se atribuie una sau mai multe adrese de tipul celor utilizate în rețeaua externă (adrese PDP – Packet Data Protocol).

Pentru fiecare sesiune se creează un așa numit context PDP, care descrie caracteristicile sesiunii. El descrie tipul PDP (spre exemplu IPv4), adresa PDP alocată stației mobile (adresă IP pentru exemplul considerat anterior), QoS cerut și adresa unui GGSN care servește ca punct de acces în rețeaua de date cu comutație de pachete.

Activarea contextului PDP echivalează cu înregistrarea (Jogging in) stației mobile în rețeaua externă cu comutație de pachete și permite acesteia să transmită și să recepționeze pachete de date. Deosebirea față de o conexiune stabilită prin apel pe circuite comutate constă în faptul că, în GPRS, utilizatorul poate activa simultan câteva contexte PDP, dacă terminalul său suportă mai multe adrese IP.

Activarea contextului PDP permite accesul stației mobile la o rețea externă.

Procedura de activare a contextului PDP se desfășoară în mai multe etape (Fig. 3.6):

Fig. 3.6 Activarea contextului PDP

Stația mobilă transmite către SGSN cererea de activare a contextului PDP;

2) Între stația mobilă și SGSN pot fi executate funcțiuni de securitate;

3) SGSN validează cererea;

4) SGSN verifică abonamentul și calitatea serviciului (pentru nota de plată), transmite numele punctului de acces (APN – Access Point Name) la GGSN, creează o identitate a tunelului (TID – Tunel IDentity), creează o legătură logică către GGSN, numită tunel GTP (GPRS Tunneling Protocol);

5) GGSN contactează o rețea externă (LAN) și cere o adresă IP;

6) Serverul din rețeaua externă transmite adresa IP către GGSN;

7) GGSN transmite adresa IP către stația mobilă.

După parcurgerea acestor etape conexiunea între stația mobilă și rețeaua externă este stabilită.

Dezactivarea contextului PDP poate fi inițiată de stația mobilă, SGSN sau GGSN.

Procedura se desfășoară în patru etape: cerere de eliminare a contextului PDP, răspuns eliminare context PDP, cerere de dezactivare a contextului PDP, răspuns dezactivare a contextului PDP.

Alocarea adreselor PDP poate fi statică sau dinamică. În cazul alocării statice operatorul rețelei mobile la care s-a înregistrat utilizatorul ("home PLMN") îi atribuie permanent o adresă PDP. În cazul alocării dinamice adresa îi este atribuită după activarea contextului PDP, fie de operatorul rețelei în care s-a înregistrat utilizatorul (dynamic home-PLMN PDP address), fie de operatorul rețelei în care utilizatorul se află în vizită (dynamic visited-PLMN PDP address), după cum a ales operatorul rețelei de acasă. În alocarea dinamică responsabilitatea alocării, activării și dezactivării adreselor PDP revine nodului GGSN.

3.3.3 Proceduri de actualizare

Administrarea localizării are sarcina principală de a ține evidența localizării curente a utilizatorului, astfel încât pachetele pe care el trebuie să le recepționeze să fie rutate către stația sa. În acest scop stația mobilă emite frecvent către SGSN curent mesaje pentru actualizarea localizării. Dacă mesajele de actualizare ar fi transmise rar, celula în care se află stația mobilă nu ar fi cunoscută exact și pentru fiecare pachet transmis către stația mobilă ar fi necesară o acțiune de ghidare (paging), ceea ce ar conduce la întârzieri mari în livrarea pachetelor. Pe de altă parte, dacă mesajele de actualizare a localizării ar fi transmise foarte des, localizarea stației mobile ar fi

foarte bine cunoscută de către rețea, livrarea pachetelor s-ar face fără întârzieri suplimentare

provocate de paging, dar s-ar consuma foarte mult din capacitatea canalelor ascendente (uplink) și, de asemenea, și sursa de alimentare a stației mobile ar fi solicitată mai mult. De aceea

se impune alegerea unei strategii bune pentru administrarea localizării, care va reprezenta un compromis între cele două situații extreme. În acest scop a fost definit un model al stărilor stației mobile în GPRS .

O stație mobilă poate fi într-una din trei stări distincte, depinzând de mărimea traficului curent, iar frecvența actualizărilor localizării depinde de starea stației. În starea IDLE stația mobilă nu este accesibilă. Ca urmare a atașării GPRS stația trece în starea READY. Prin detașarea GPRS toate contextele PDP sunt eliminate și stația trece din nou în starea IDLE. Dacă, după ce a trecut în starea READY, nu transmite nici un pachet într-un interval de timp limită, stația mobilă va trece în starea STANDBY.

În starea IDLE nu se realizează actualizarea localizării, rețeaua necunoscând localizarea curentă a stației. Stația aflată în starea READY informează SGSN despre fiecare deplasare spre o nouă celulă. În starea STANDBY a stației mobile, SGSN va fi informat doar la schimbarea ariei de rutare. Localizarea celulei curente în care se găsește stația mobilă, aflată în starea STANDBY, se realizează prin paging.

Trecerea stației mobile dintr-o celulă în alta poate implica schimbarea ariei de rutare (RA – routing area) și, eventual, chiar schimbarea ariei de localizare (LA – location area), așa încât, într-o astfel de situație, apare necesitatea rezolvării unuia din unnătoarele trei cazuri distincte:

– actualizarea celulei;

– actualizarea zonei de rutare;

– actualizarea combinată a zonei de rutare și a zonei de localizare.

În toate aceste cazuri stația mobilă stochează identitatea celulei în contextul administrării mobilității.

Actualizarea celulei

Actualizarea celulei se realizează atunci când stația mobilă, fiind în starea READY,trece într-o nouă celulă dar rămâne în aceeași zonă de rutare. Dacă la trecerea dintr-o celulă în alta se schimbă și aria de rutare va avea loc numai actualizarea RA.

Pentru actualizarea celulei stația mobilă va transmite către SGSN un cadru LLC, de orice tip, conținând identitatea stației. SGSN va înregistra schimbarea celulei pentru stația mobilă respectivă și va dirija apoi traficul către această stație prin noua celulă.

Actualizarea ariei de rutare

Actualizarea ariei de rutare este necesară atunci când stația mobilă a intrat într-o nouă arie de rutare, când contorul de timp pentru actualizarea periodică a ariei de rutare a expirat sau când o stație suspendată nu este înregistrată de stația de bază.

Procedura este inițiată de stația mobilă printr-o cerere de actualizare a ariei de rutare transmisă către SGSN. Actualizarea poate fi de tipul "intra SGSN", când SGSN deține informația necesară despre stația mobilă sau "inter SGSN", când noul SGSN obține această informație de la vechiul SGSN.

Procedura de actualizare combinată RA/LA

Actualizarea combinată RA/LA are loc într-o rețea funcționând în modul 1, când stația mobilă intră într-o nouă arie de rutare sau când o stație atașată GPRS realizează atașarea IMSI. Procedura este inițiată printr-o cerere de actualizare a ariei de rutare, indicând faptul că este necesară și actualizarea ariei de localizare. SGSN dirijează actualizarea LA către VLR.

3.4 Interfața radio GPRS

3.4.1 Caracteristici generale

Sistemul GPRS utilizează aceeași interfață radio care este implementată în GSM,cu mențiunea că schema de alcătuire a canalelor logice se bazează pe multicadrul 52. Canalele logice realizate pe canalele fizice oferite de cadrele TDMA sunt canale logice de trafic și de semnalizări control. Cele 52 de cadre se împart în 12 grupuri de câte 4 cadre TDMA (folosite pentru formarea canalelor logice de trafic), 2 cadre TDMA pentru semnalizări control și 2 cadre TDMA libere.

În GPRS unei stații îi pot fi alocate mai multe intervale temporale în același cadru TDMA, ceea ce înseamnă o mare flexibilitate în satisfacerea nevoilor de trafic (bandă) ale utilizatorilor. Mai mult, alocarea intervalelor temporale este independentă pentru cele două sensuri, permițând astfel traficul de date asimetric.

Spre deosebire de GSM, intervalele temporale în GPRS sunt alocate unui utilizator numai pe durata transmiterii sau recepționării pachetelor de date, ceea ce conduce la o utilizare mai eficientă a resurselor radio. În acest fel un canal fizic poate fi alocat mai multor utilizatori.

Resursele radio ( canalele fizice) ale unei celule care furnizează servicii GSM și GPRS sunt partajate de toate stațiile mobile GPRS și non-GPRS localizate în acea celulă.

Alocarea canalelor fizice serviciilor cu comutație de circuite (GSM) și serviciilor cu comutație de pachete (GPRS) poate fi dinamică, după principiul capacității (benzii) la cerere, în funcție de mărimea sarcinii de trafic, de prioritatea serviciului și de clasa de alocare a intervalelor temporale.

O procedură de supraveghere a sarcinii de trafic monitorizează încărcarea canalelor fizice de date în pachete (PDCH – Packet data channel) dintr-o celulă. În funcție de cererea curentă, numărul canalelor PDCH alocate pentru GPRS poate fi modificat.

Canalele fizice care nu sunt la un moment dat utilizate de GSM pot fi alocate pentru GPRS, crescând astfel calitatea acestor servicii.

3.4.2 Arhitectura protocoalelor

Planul de transmisiune

Arhitectura protocoalelor pentru planul de transmisiune GPRS este prezentată în figura 3.8.

GTP (GPRS tunneling protocol) transportă datele utilizatorului și semnalizările între nodurile suport GPRS (GSN), pe rețeaua magistrală (backbone) GPRS,împachetând unitățile de date ale protocolului de date în pachete punct-la-punct și asigurând, dacă este necesar, mecanisme pentru controlul fluxului. Protocolul este definit atât între noduri GSN din cadrul unei singure rețele mobile (interfața Gn), cât și între noduri GSN aparținând unor rețele mobile diferite (interfața Gp). În planul de transmisiune GTP folosește un mecanism tunel pentru transferul pachetelor de date ale utilizatorului. În planul de semnalizare GTP specifică un protocol de administrare și control de tip tunel, semnalizarea fiind utilizată pentru a crea, a modifica și a elimina tunelele.

Fig.3.8 Planul de transmisiune

Pachetele GTP transportă pachetele IP sau X.25 ale utilizatorului. Sub GTP protocoalele standard TCP sau UDP sunt folosite pentru a transporta pachetele GTP pe rețeaua magistrală. TCP este folosit în cazul pachetelor X.25, care necesită o legătură de date fiabilă, iar UDP este folosit în cazul pachetelor IP. Sub TCP/UDP, la nivelul rețea, se folosește protocolul IP pentru rutarea pachetelor pe rețeaua magistrală. Sub protocolul IP se pot folosi protocoalele rețelelor Ethernet, ISDN sau ATM. Rezumând, în rețeaua magistrală GPRS arhitectura de transport este alcătuită astfel: IP/X.25 peste GTP, GTP peste UDP/TCP, UDP/TCP peste IP.

SNDCP (Subnetwork dependent convergence protocol) este utilizat pentru transferul pachetelor de date între SGSN și MS, realizând următoarele funcțiuni:

-multiplexarea mai multor conexiuni ale nivelului rețea pe o singură conexiune logică a nivelului LLC;

-compresia și decompresia datelor utilizatorului și a informației pentru controlul protocolului redundante (spre exemplu compresia datelor conform avizului V.42 bis al ITU-T și compresia antetului IP);

-segmentarea (pentru a respecta lungimea maximă a cadrelor LLC) și reasamblarea.

Nivelul legătură de date între stația mobilă și rețea este împărțit în două subnivele: LLC (Logical link control), între MS și SGSN și RLC/MAC (Radio link control/Medium access control), între MS și BSS.

Protocolul LLC, derivat din HDLC (High-level data link control), este o versiune adaptată a protocolului LAPD utilizat în GSM. El asigură o legătură fiabilă între MS și SGSN asociat, incluzând controlul fluxului, recepția în ordine a tuturor cadrelor, detectarea erorilor și corectarea lor prin retransmitere (ARQ). Confidențialitatea datelor este asigurată prin funcțiuni de cifrare. Sunt posibile lungimi variabile ale cadrelor LLC și ambele tipuri de servicii, cu conexiune și fără conexiune.

Subnivelul RLC/MAC realizează două funcțiuni. Funcțiunea RLC constă în stabilirea unei legături fiabile între MS și BSS, incluzând segmentarea și reasamblarea cadrelor LLC în blocuri de date RLC, precum procedura ARQ pentru cuvintele de cod necorectabile. Funcțiunea MAC controlează procedurile de acces (cerere și alocare) pentru canalul radio și folosește algoritmi de rezolvare a coliziunilor. Protocolul MAC se bazează pe principiul Aloha în tranșe (Slotted Aloha)-se discretizează timpul în intervale egale și fiecare sistem are voie să intre în emisie numai la începutul unui astfel de interval. Dacă apare o coliziune se va relua transmisia după un interval de timp aleatoriu, dar numai la început de tranșă. Subnivelul RLC/MAC oferă atât servicii cu conexiune, cât și servicii fără conexiune.

Nivelul fizic între MS și BSS este împărțit în două subnivele: nivelul legăturii fizice (PLL-Physical link layer) și nivelul RFL (radio frequency layer). Nivelul PLL asigură un canal fizic între MS și BSS, funcțiunile sale constând în codarea canalului (detecția erorilor, corectarea directă a erorilor (FEC-Forward error correction), indicarea cuvintelor de cod necorectabile), intercalarea biților și detectarea congestiei pe legătura fizică. RFL operează sub PLL și asigură funcțiunile unui canal radio (modulație și demodulație).

Interfața BSS-SGSN

Protocolul de aplicație BSS GPRS (BSSGP- BSS GPRS application protocol) transportă informație de rutare și relativă la QoS între BSS și SGSN.

Protocolul nivelului "serviciu rețea" (NS- Network service) se bazează pe protocolul releu de cadre (FR-Frame relay).

Blocuri radio

Cadrele LLC primite de la SGSN într-un transfer spre stația mobilă (figura 3.9) sunt fragmentate de către unitatea de control al pachetelor (PCU- hardware specific GPRS aflat în BSC) în blocuri RLC/MAC mai mici, care vor fi apoi codate în blocuri radio în nivelul fizic.

Fig.3.9 Transformarea cadrelor LLC în blocuri radio

Un bloc radio, constituit din 456 biți care rezultă după codarea pentru protecția la erori, se transmite în patru pachete, de câte 114 biți fiecare, câte unul în același interval temporal din patru cadre TDMA consecutive.

Transmiterea pachetelor spre și de la stația mobilă este numită flux de blocuri temporar (TBF – Temporary block flow). Unei stații mobile i se poate aloca câte un TBF în fiecare sens, ascendent și descendent. Fiecare TBF este identificat printr-o adresă, identitate de flux temporar (TFI – Temporary flow identity), alocată de rețea. Stația mobilă este informată, când i se alocă un TBF, ce interval(e) temporal(e) trebuie să folosească și care este TFI corespunzătoare.

Unul sau mai multe intervale temporare pot fi alocate, în același timp, mai multor stații mobile. Antetul fiecărui bloc de trafic pe canale descendente (downlink) conține TFI, indicând cărei stații mobile îi este adresat blocul radio. Totodată, antetul fiecărui bloc de trafic descendent conține fanionul de stare ascendentă (USF – Uplink state flag), utilizat pentru a indica stațiilor mobile, cu TBF pentru sensul ascendent în acel intervalul temporal, care dintre ele poate emite în următorul grup de patru pachete.

Planul de semnalizare

Arhitectura protocoalelor din planul de semnalizare cuprinde protocoale de control și suport pentru funcțiunile planului de transmisiune: atașarea și detașarea GPRS, activarea contextului PDP, controlul căilor de rutare și alocarea resurselor rețelei.

Protocolul de administrare a sesiunii și mobilității GPRS (GMM/SM – GPRS mobility management and session management), realizând funcțiuni de atașare și detașare GPRS, funcțiuni de securitate, activarea contextului PDP și actualizarea ariei de rutare, acționează între stația mobilă și SGSN (Fig. 3.10).

Arhitectura semnalizării între SGSN și registrele HLR, VLR și EIR utilizează aceleași protocoale ca și GSM, completate cu funcțiuni specifice GPRS (Fig. 3.11 ). Între SGSN și HLR, ca și între SGSN și EIR, se folosește protocolul MAP (Mobile application part), o extensie a sistemului de semnalizare SS7, specifică rețelelor mobile. El transportă informația de semnalizare relativă la actualizarea localizării, informația de rutare, profilul utilizatorului și handover (transfer dintr-o celulă în alta).

Fig. 3.10 Planul de semnalizare MS-SGSN

Fig.3.11 Planul de semnalizare SGSN-HLR, Fig.3.12 Planul de semnalizare SGSN-MSC/VLR

SGSN-EIR

Schimbul de mesaje MAP se face pe suportul oferit de protocolul TCAP (Transaction capabilities application part) și, un nivel mai jos, de protocolul SCCP (Signalling connection control part).

Protocolul BSSAP+ include funcțiuni ale protocolului BSSAP din GSM și este folosit pentru a transfera informația de semnalizare între SGSN și VLR (interfața Gs), incluzând semnalizarea pentru administrarea mobilității atunci când este necesară coordonarea funcțiilor GPRS și GSM (cum sunt actualizarea localizării GPRS și non-GPRS, atașarea combinată GPRS/IMSI, paging pentru o stație mobilă prin GPRS pentru un apel GSM intrând).

3.4.3 Canale logice

În GSM fiecare dintre cele opt canale fizice, obținute prin diviziune în timp pe suportul unui canal radio, este folosit pentru a crea canale logice. Și pentru GPRS au fost definite mai multe canale logice, utilizate pentru transmiterea pachetelor de date și pentru realizarea unor funcțiuni, cum sunt: semnalizări, difuzarea informațiilor de sistem generale, sincronizare, alocarea canalelor, paging.

Tabelul 3.1

Canalul pentru traficul pachetelor de date (PDTCH – Packet data traffic channel) este alocat uneia sau mai multor stații mobile (în cazul serviciului punct la punct, respectiv în cazul serviciului punct – mutipunct) pentru transferul datelor utilizatorului. O stație mobilă poate utiliza simultan câteva canale de trafic.

Canalul de control difuzare de tip pachet (PBCCH – Packet broadcast control channel) este un canal de semnalizare punct-multipunct unidirecțional, de la stația de bază către stațiile mobile, utilizat pentru difuzarea în celulă a informației specifice privind organizarea rețelei radio GPRS. Pe acest canal se pot difuza și informații despre serviciile cu comutație de circuite, astfel încât să nu fie necesar ca o stație GSM/GPRS să asculte canalul de control difuzare, specific GSM (BCCH).

Canalul de control comun de tip pachet (PCCCH – Packet common control channel) este un canal de semnalizare bidirecțional punct-multipunct, care transportă informație pentru administrarea accesului în rețea (pentru alocarea resurselor radio și paging). EI constă din patru subcanale:

1 – canalul pentru acces aleatoriu de tip pachet (PRACH – Packet random access channel), utilizat de stația mobilă pentru a cere unul sau mai multe PDTCH;

2 – canalul pentru alocare acces de tip pachet (PAGCH – Packet access grant channel), utilizat pentru a aloca stației mobile unul sau mai multe PDTCH;

3 – canalul pentru paging de tip pachet (PPCH – Packet paging channel), utilizat de stația de bază pentru a afla unde se găsește o stație mobilă (paging) înainte de a transmite pachete către aceasta;

4 – canalul pentru notificare de tip pachet (PNCH), utilizat pentru a informa o stație mobilă despre mesajele de intrare de tip PTM (point-to-multipoint, punct-multipunct), în cazul unui apel multidestinatari (de grup).

Canalele de control dedicate sunt canale de semnalizare bidirecțională punct la punct. Acestea sunt:

1 – canalul de control asociat de tip pachet (PACCH – Packet associated control channel), asociat (alocat) totdeauna în combinație cu unul sau mai multe PDTCH alocate unei stații mobile și utilizat pentru a transporta informație de semnalizare privind stația mobilă (spre exemplu informație pentru controlul puterii);

2 – canalul pentru controlul avansului în timp de tip pachet (PTCCH – Packet timing advance control channel), utilizat pentru sincronizarea de cadru adaptivă.

Este foarte importantă coordonarea între canalele logice cu comutație de circuite și cele cu comutație de pachete. Astfel, dacă într-o celulă nu sunt disponibile canale de control comune de tip pachet (PCCCH), o stație mobilă poate utiliza canale de control comune, de tip GSM, pentru a iniția un transfer de pachete. În plus, dacă nu este disponibil canalul de control difuzare de tip pachet (PBCCH), stația mobilă va asculta canalul de control difuzare specific GSM (BCCH) pentru a obține informație despre rețeaua de comunicații mobile.

În figura 3.13 este ilustrat principiul alocării canalului ascendent (uplink) pentru un transfer de pachete inițiat de stația mobilă. Stația mobilă solicită alocarea de resurse radio, pentru un transfer de pachete, trimițând o "cerere de canal de tip pachet" (packet channel request) pe un canal PRACH sau RACH. Rețeaua va răspunde pe PAGCH sau, respectiv, pe AGCH, informând stația mobilă ce canal(e) PDCH poate folosi. Un grup de trei biți, numit fanionul stării ascendente (USF-uplink state flag),transmiși pe canalul descendent (downlink), va indica stației mobile dacă este liber sau nu canalul ascendent.

Fig.3.13 Alocarea canalului ascendent (transfer Fig.3.14 Paging (transfer de pachete inițiat

de pachete inițiat de stația mobilă); de stația de bază)

una sau două etape

Figura 3.14 prezintă procedura de paging pentru o stație mobilă (transfer de pachete inițiat de stația de bază).

Canalele fizice utilizate pentru comutația de pachete sunt numite canale de date de tip pachet (PDCH-Packet data channel). Canalele logice pentru date de tip pachet sunt formate pe structura canalelor fizice PDCH.

Pentru utilizarea eficientă a resurselor radio, canalele PDCH sunt administrate de unitatea de control de tip pachet (PCU – Packet control unit), aflată în controlerul stației de bază (BSC). PCU este responsabilă de alocarea canalelor diferitelor stații mobile. Canalele PDCH pot fi alocate în două moduri:

1 – canalele PDCH dedicate sunt alocate și eliberate la comanda operatorului;

2 – canalele PDCH la cerere, constituind resurse GPRS dinamice temporare, sunt alocate și eliberate în funcție de cererea de trafic GPRS.

Canalele alocate pentru GPRS sunt alocate ca grupuri de maximum patru intervale temporale succesive. Un astfel de grup este numit PSET (packet set) și constă atât din canale dedicate, cât și din canale la cerere. Toate canalele dintr-un PSET sunt pe aceeași frecvență și urmăresc același set de salturi de frecvență (dacă sistemul GSM folosește salturile de frecvență – frequency hopping). Unei stații mobile i se alocă canale PDCH dintr-un singur PSET, deci maximum patru intervale temporale (limită temporară).

Canalele dedicate sunt utilizate numai pentru GPRS, asigurând în felul acesta resurse GPRS permanente. Numărul canalelor la cerere depinde de mărimea traficului cu comutație de pachete, până la limita la care traficul cu comutație de circuite începe să diminueze traficul PDCH datorită congestiei în celulă. În lipsa oricărui trafic cu comutație de circuite este posibilă folosirea tuturor canalelor pentru traficul GPRS.

Standardul GPRS prevede un canal PDCH care transportă PBCCH. În soluția Ericsson pentru GPRS acest canal este notat MPDCH (Master PDCH). Canalul MPDCH transportă atât PBCCH și PCCCH, cât și trafic GPRS. PCCCH transportă toate semnalizările de control necesare pentru a iniția transferul pachetelor. Primul PDCH dedicat, care este alocat conform preferinței operatorului privind BCCH fără salt de frecvență, va fi configurat ca MPDCH. Următoarele PDCH alocate vor transporta numai trafic GPRS și semnalizarea asociată. Dacă operatorul va micșora numărul canalelor PDCH dedicate, MPDCH va fi menținut atâta timp cât cel puțin un PDCH dedicat va exista în celulă.

Operatorul poate decide dacă într-o celulă trebuie să fie un MPDCH sau nu. Într-o celulă fără MPDCH stațiile mobile trebuie să urmărească (să asculte) canalul BCCH pentru informația de difuzare și mesajele de paging. Mesajele paging vor conține informația necesară pentru a se face distincția între paging CS și paging PS. Stația mobilă transmite pachetele de acces pe RACH, specificând dacă cererea este pentru o conexiune CS sau PS. Informația despre resursele alocate este transmisă apoi spre MS pe AGCH.

Într-o celulă cu MPDCH alocat stația mobilă trebuie să asculte doar BCCH pentru a obține informația despre canalul fizic pe care pot fi depistate canalele PBCCH și PCCCH. Stația mobilă va asculta apoi PPCH pentru mesajele paging. Stația mobilă transmite mesajele de cerere de acces pe PRACH, pentru servicii PS sau pe RACH, pentru servicii CS. Oricum însă, traficul GPRS și semnalizarea asociată sunt transmise totdeauna pe canalele GPRS specifice, indiferent dacă există un MPDCH alocat sau nu.

Formarea canalelor logice de tip pachet, pe structura canalelor fizice, prezintă două aspecte: formarea în frecvență și formarea în timp. Formarea în frecvență este dependentă de frecvențele alocate celulei (BTS), iar formarea în timp se bazează pe definirea unor structuri de multicadru complexe.

O structură multicadru pentru PDCH constă în 52 cadre TDMA, așa cum este indicat în figura 3.15. Patru cadre TDMA consecutive formează un bloc, iar multicadrul conține 12 blocuri (BO – B11), două cadre rezervate pentru PTCCH și încă două cadre libere. Formarea canalelor logice din blocurile BO – B 11 poate varia de la bloc la bloc și este controlată de parametri difuzați pe PBCCH.

În afara multicadrului 52 , care poate fi utilizat de toate canalele logice GPRS, este definită și o structură de multicadru 51 (pentru GSM), utilizată și pentru formarea unor canale logice GPRS, dar numai PCCCH și PBCCH.

Fig 3.15 Structură multicadru cu 52 cadre

3.4.4 Scheme de codare pentru protecția la erori

Așa cum s-a mai menționat,un bloc radio, constituit din 456 biți care rezultă după codarea pentru protecția la erori, se transmite în patru pachete, de câte 114 biți fiecare, câte unul în același interval temporal din patru cadre TDMA consecutive.

TDMA 0 TDMA 1 TDMA 2 TDMA 3

Fig.3.16 Transmiterea blocului radio de 456 biți

Dacă unei stații mobile i se alocă un interval temporal din cele opt ale unui cadru TDMA, pe durata de 240 ms a unui multicadru 52 stația va avea la dispoziția sa 48 intervale temporale, pentru a transmite 12 blocuri radio. Dacă numărul biților de informație dintr-un bloc radio este M, debitul datelor va fi 12M/240 b/ms=0.05M Kb/s.

Sunt definite patru scheme de codare (CS-Coding scheme) ai căror parametri sunt prezentați în tabelul de mai jos.

Tabelul 3.2

Codarea se realizează pentru cei M biți de informație, precedați de trei biți care reprezintă fanionul stării ascendente (USF). Se realizează întâi o precodare a celor trei biți USF cu un cod bloc (în CS-1 nu se realizează această precodare). Urmează codarea biților de informație împreună cu biții USF după precodare, utilizând un cod bloc (BC). Cuvântul de cod astfel rezultat, completat cu patru biți zero, este apoi codat cu un cod convoluțional cu lungimea de constrângere 4. Adăugarea celor patru biți zero facilitează terminarea codării convoluționale. După codarea convoluțională sunt eliminați (procedeu "puncturing") un număr de biți, rezultând un cuvânt de cod

de 456 biți. În CS-4 nu se mai utilizează și codarea convoluțională.

Pentru codarea canalului de trafic se alege una din cele patru scheme, în funcție de calitatea canalului. Pentru canale de calitate foarte slabă se va alege schema de codare CS-l, iar pentru cele mai bune canale se va alege CS-4. Pentru un interval temporal GSM, cu CS-l se obține un debit al datelor de 9,05 Kb/s, iar cu CS-4 se obține un debit de 21,4 Kb/s. Alocând toate cele opt intervale temporale ale cadrului TDMA unui singur utilizator se obține debitul maxim de 171,2 Kb/s. Practic intervalele temporale sunt partajate de mai mulți utilizatori și debitul datelor asigurat fiecăruia va fi mai mic. Pentru canalele de semnalizare se folosește CS-l.

După codare cuvintele de cod sunt aplicate unui bloc de intercalare, de adâncime 4.În partea de recepție se realizează întâi deintercalarea și apoi decodarea cu algoritmul Viterbi.

4. Managementul mobilității În GPRS

4.1. Stările stației mobile

După cum a fost prezentat anterior, în GPRS, o stație mobilă se poate găsi (din punctul de vedere al protocolului de management al mobilității) într-una din următoarele trei stări (aceste stări mai sunt denumite și stări MM):

– starea de repaus ("idle");

– starea de așteptare ("standby");

– starea gata de transmisie("ready").

Fiecare stare corespunde unui anumit nivel de complexitate a prelucrărilor efectuate de către stația mobilă. În cazul accesului normal, starea MM a unei stații mobile se referă la activitățile de administrare a mobilității unui anumit abonat precizat. Dacă accesul este anonim, stația mobilă va fi identificată numai pe baza unei identități temporare auxiliare a legăturii logice (Auxiliary Temporary Logical Link Identity).

În starea de repaus, abonatul nu este atașat la funcțiunile de managementul mobilității. Contextul MM (Mobility Management) din stația mobilă și SGSN nu conțin informații valide de rutare sau de localizare pentru abonatul respectiv și nu se realizează proceduri de management al mobilității abonatului. Procesele de selectare a rețelei mobile și a celulei sunt realizate de către stația mobilă. Stația mobilă poate recepționa transmisii de tip multicast, însă nu poate fi localizată prin paging și nici nu poate realiza transferuri de date punct-la-punct. Pentru stabilirea contextelor MM în stația mobilă și în SGSN stația mobilă trebuie să realizeze procedura de atașare.

În starea de așteptare, abonatul este atașat la managementul mobilității, în stația mobilă și în SGSN există contexte MM pentru numărul IMSI al abonatului și stația mobilă poate fi localizată prin paging (atât pentru transferuri de date sau semnalizări, cât și pentru servicii cu comutație de circuite). Nu sunt posibile transmisii sau recepții de tip punct-la-punct. În această stare, stația mobilă realizează selecția locală a celulei și a ariei de rutare, informând nodul SGSN numai despre schimbarea ariei de rutare (RA- Routing Area). Prin urmare informațiile de localizare din contextul MM se reduc doar la identitatea ariei de rutare (RAI- RA Identity ). Starea de așteptare permite stației mobile să activeze sau să dezactiveze contextele PDP (activarea este necesară pentru a se putea realiza transmisia sau recepția datelor pentru acel context PDP). Din această stare se poate trece în starea de repaus, în urma procedurii de detașare, sau în starea gata de transmisie, în urma recepționării mesajului de paging sau a transmiterii de date sau semnalizări (în stația mobilă), respectiv în urma recepționării răspunsului la paging sau a datelor/semnalizărilor trimise de stația mobilă (în SGSN).

Fig. 4.1 Modelul stărilor unei stații mobile în GPRS

În starea gata de transmisie, contextul MM din SGSN este acela din cazul stării de așteptare, la care se adaugă informații de localizare a abonatului la nivel de celulă (în antetul BSSGP al pachetului de date trimis de stația mobilă se include identitatea globală a celulei).În această stare, stația mobilă poate trimite și recepționa unități de date ale protocolului de date pachetizate (IP sau X.25) și își poate activa sau dezactiva contextele PDP (Packet Data Protocol). Starea gata de transmisie este menținută indiferent dacă există sau nu resurse radio alocate stației mobile. Contextul MM trece în starea de așteptare la expirarea unui temporizator și în starea de repaus dacă s-a inițiat o procedură de detașare.

Fig. 4.2 Modelul stărilor MM în SGSN

În stația mobilă și în SGSN există un temporizator ("READY timer") care controlează cât timp stația mobilă este considerată a fi în starea gata de transmisie (atât în modelul existent în stația mobilă cât și în cel din nodul SGSN). Acest temporizator este resetat în stația mobilă la fiecare transmisie a unei unități de date a protocolului LLC (LLC PDU-LLC Protocol Data Unit)și în SGSN de fiecare dată când se recepționează corect o unitate de date LLC. La expirarea temporizatorului (care are aceeași mărime în stația mobilă și în SGSN) contextele MM din stația mobilă și din SGSN trec în starea de așteptare. Timpul cât este permisă rămânerea unei stații mobile în starea gata de transmisie poate fi modificat numai la inițiativa nodului SGSN. În cazul în care mărimea temporizatorului este fixată la valoarea zero atunci stația mobilă este forțată să treacă în starea de așteptare. Fixarea mărimii temporizatorului la valoarea maxim permisă de numărul de biți pe care este reprezentată (adică toți biții au valoarea 1) este echivalentă cu dezactivarea temporizatorului pentru starea gata de transmisie (stația mobilă rămâne în această stare).

În cazul accesului anonim se utilizează un model redus al stărilor MM care cuprinde numai starea de repaus (idle) și starea gata de transmisie (ready). Trecerea din starea de repaus în gata de transmisie în urma activării contextului PDP pentru accesul anonim ("AA PDP Context Activation"): stația mobilă solicită un acces anonim, se inițiază o legătură cu un nod SGSN, apoi sunt stabilite contextele MM în stația mobilă și în SGSN și contextele PDP în stația mobilă și în nodurile SGSN și GGSN. Tranziția în sens invers se produce fie în urma expirării temporizatorului pentru starea gata de transmisie (care determină ștergerea contextelor MM și PDP în stația mobilă, în SGSN și GGSN), fie datorită unor probleme la transmisia radio (în acest caz este șters contextul MM din SGSN) sau în urma dezactivării contextului PDP pentru accesul anonim ("AA PDP Context Deactivation"), inițiată de rețea (de SGSN sau de GGSN), care conduce la ștergerea contextelor MM și PDP în stația mobilă, SGSN și GGSN.

4.2 Moduri de funcționare a rețelei

Rețeaua poate transmite mesajele paging pentru servicii cu comutație de circuite pe același canal pe care se transmit și mesajele paging pentru serviciile cu comutație de pachete, un canal de paging GPRS sau un canal de trafic GPRS și stația mobilă trebuie să monitorizeze acest canal.

Sunt definite trei moduri de funcționare a rețelei.

– În modul I de funcționare rețeaua transmite un mesaj de căutare pentru servicii în mod circuit, adresat unei stații mobile atașată GPRS, fie pe același canal folosit pentru căutare în GPRS (canal de paging pentru modul pachet sau pe canalul de paging CCCH), fie pe un canal de trafic GPRS. Aceasta înseamnă că stația mobilă trebuie să monitorizeze numai un singur canal de paging și că va recepționa mesajele de paging pentru serviciile în mod circuit pe canalul de date de tip pachet, atunci când i-a fost alocat un astfel de canal.

– În modul II de funcționare rețeaua transmite un mesaj de paging pentru servicii în mod circuit,adresat unei stații mobile atașată GPRS, pe canalul de paging CCCH, canal utilizat și pentru paging GPRS. Aceasta înseamnă că stația mobilă trebuie să monitorizeze numai canalul CCCH de paging, mesajele de paging CS fiindu-i transmise pe acest canal chiar și atunci când i s-a alocat un canal de date pachet.

– În modul III de funcționare rețeaua transmite mesajele de paging pentru servicii în mod circuit, către o stație mobilă atașată GPRS, pe canalul de paging CCCH și mesajele de paging GPRS fie pe canalul de paging pachet (dacă este alocat un astfel de canal în celulă), fie pe canalul de paging CCCH. Aceasta înseamnă că o stație mobilă, care folosește ambele tipuri de servicii, CS și PS, trebuie să monitorizeze ambele canale de paging (dacă în celulă este alocat un canal de paging pachet). Rețeaua nu realizează o coordonare a soluțiilor de paging.

Fig.4.3 Moduri de funcționare a rețelei, cu și fără interfață Gs (mod I, respectiv II și III)

Atunci când interfața Gs există (Fig. 4.3), între MSC/VLR și SGSN, toate mesajele de paging generate de MSC, pentru o stație mobilă atașată GPRS, trec prin SGSN, permițând astfel rețelei să realizeze coordonarea pentru paging. SGSN coordonează procedurile de paging pe baza IMSI, dacă stația mobilă este în starea "ready" sau în "standby". Rețeaua funcționează în modul 1.

Dacă nu există interfața Gs mesajele de paging, generate de MSC pentru stațiile mobile atașate GPRS, trec prin interfața A, între MSC și BSC și coordonarea pentru paging nu este posibilă. Rețeaua trebuie să funcționeze fie în modul II, în care nu se alocă celulei un canal de control comun de tip pachet, fie în modul III, în care poate fi folosit, pentru paging GPRS, canalul de control comun de tip pachet, dacă un astfel de canal este alocat celulei.

Pentru o funcționare adecvată modul de funcționare a rețelei trebuie să fie același în fiecare celulă și trebuie transmis, ca informație de sistem, stațiilor mobile. În funcție de modul de funcționare furnizat de rețea, stația mobilă poate alege, corespunzător posibilităților ei, dacă se poate atașa serviciilor GPRS, serviciilor non-GPRS sau ambelor tipuri de servicii.

4.3 Transferul pachetelor pe canalul descendent (downlink)

Paging

Pentru paging, în cazul unei stații mobile în clasă A sau B, atașată GPRS și CS și dacă există interfața Gs între MSC și SGSN, MSC va transmite datele de paging către SGSN prin interfața Gs și nu direct către BSC. Deoarece SGSN cunoaște localizarea stației mobile la nivel de celulă când stația este în starea "ready" sau, altfel, la nivelul ariei de localizare, aria de paging va fi de aceeași mărime sau mai mică decât atunci când înformațiile de paging sunt transmise direct la BSC.

SGSN transmite datele de paging către PCU (în BSC), împreună cu informații despre celulă sau despre aria de localizare. Dacă stația mobilă este implicată într-un transfer de pachete PCU va transmite mesajul de paging pe canalul de control asociat canalului de trafic în pachete, PACCH. Altfel, mesajul de paging va fi transmis pe PPCH (canal de control comun de tip pachet pentru paging) sau pe PCH (paging GSM) dacă PPCH nu este disponibil.

Dacă rețeaua nu posedă interfața Gs, MSC nu poate transmite datele de paging către SGSN și le va transmite direct către BSC.

Dacă stația mobilă este în starea "standby" GPRS, transferul pachetelor spre stația mobilă este inițiat prin paging în aria de rutare, de către SGSN, care va transmite spre PCU o cerere de paging BSSGP. PCU va determina grupul de paging căruia îi aparține stația mobilă și va transmite cererea de paging într-un interval temporal în care stația ascultă (nu transmite). Stația mobilă va transmite către SGSN un mesaj de răspuns la paging, mesaj care este transparent pentru BSS, fiind conținut într-un cadru LLC. Din acest moment stația mobilă este în starea "ready" și SGSN poate începe să transmită cadre LLC către PCU, menționând celula și identitatea stației.

Stabilirea unui DL – TBF

Primind cadre LLC de la SGSN, PCU verifică dacă stația mobilă căreia îi sunt destinate aceste cadre este deja implicată într-un transfer de cadre.

1. Dacă MS are deja un DL – TBF, noile cadre LLC vor fi puse în coada celorlalte cadre LLC care așteaptă a fi transmise acelei stații.

2. Dacă MS are deja un UL – TBF, PCU îi poate aloca resurse pentru sensul descendent, cel puțin parțial, în aceleași intervale de timp ca și cele în care are alocate resurse pentru sensul ascendent. Mesajul de alocare este transmis pe canalul de control asociat alocării ascendente (PACCH).

3. Dacă MS nu are stabilit nici un fel de TBF i se va transmite, într-un interval temporal în care stația este în ascultare, corespunzător grupului ei de paging, un mesaj de alocare în sens descendent.

De notat că, după ce stația a fost implicată într-un transfer de pachete, ea rămâne în modul non-DRX (Discontinuous reception) un anumit interval de timp, interval în care ea este "trează" și nu este necesar să aștepte pentru grupul ei de paging, astfel încât mesajul de alocare îi poate fi transmis imediat.

4.4 Transferul pachetelor în sensul ascendent

Stabilirea unui UL – TBF

Dacă stația mobilă n-are stabilit un TBF, va transmite către PCU un mesaj de "cerere canal pachet". Alocarea resurselor după această cerere, în soluția Ericsson, se poate face în două moduri, într-o singură etapă sau în două etape.

1. Stației mobile îi sunt alocate resurse în mai multe intervale temporale, pentru un interval de timp mai mare, prin metoda alocării dinamice. Pentru fiecare interval temporal se alocă stației o valoare a USF, iar TFI este utilizată în semnalizare pentru a identifica stația mobilă.

2. Se alocă un singur interval temporal pentru a transmite un singur bloc RLC. Acesta poate fi utilizat pentru a pennite stației mobile să transmită un mesaj de cerere resurse de tip pachet și să specifice capabilitățile și/sau solicitările sale (resurse la cerere) sau poate fi folosit pentru a transmite un cadru LLC foarte scurt, când stația are de transmis numai acest cadru.

Dacă stația mobilă transmite o cerere de resurse de tip pachet în intervalul de timp alocat, PCU va aloca resurse și-i va transmite un mesaj de alocare ascendentă de tip pachet (Fig.4.4).

Fig.4.4 Stabilirea conexiunii RLC ascendente

TBF deja stabilit

Dacă MS are deja un DL TBF stabilit, ea va transmite un mesaj de cerere resurse de tip pachet pe canalul de control asociat cu DL TBF (PACCH). La alocarea resurselor pentru sensul ascendent PCU va ține seama de alocarea în sensul descendent și mesajul de alocare este transmis către MS pe PACCH.

Confirmări

Blocurile radio pot fi transmise în modul RLC cu confirmare sau fără confirmare. În ambele moduri sunt transmise mesaje ACK/NAK, dar retransmiterea pachetelor în interfața radio se face numai în modul RLC cu confirmare.

Motivele pentru care mesajele de confirmare se transmit și în modul fără confirmare sunt următoarele:

– să se verifice că nu s-a întrerupt comunicația;

– pentru a afla care este calitatea transmisiunii, astfel încât să se poată alege o schemă de codare care asigură cea mai bună performanță;

pentru a prioritiza MS în funcție de calitatea legăturii.

Terminarea unui TBF

Dacă în PCU nu mai sunt cadre LLC de transmis către o anumită stație mobilă, se va elibera DL TBF. Dacă, imediat după eliberare, PCU primește noi cadre LLC pentru aceeași stație, cadre care puteau fi în SGSN când s-a eliberat DL TBF, PCU va transmite o nouă alocare, corespunzătoare unui nou TBF, pentru aceeași stație.

Deoarece stația mobilă este încă în starea "ready" nu va fi nevoie de paging.

Când stația mobilă mai are de transmis doar câteva blocuri RLC, va semnala rețelei și se declanșează o procedură de contorizare. După ce toate blocurile au fost transmise și confirmate, TBF va fi eliberat. Dacă MS are mai mult cadre de transmis, după ce s-a declanșat procedura de contorizare, va trebui să se stabilească un nou TBF, pentru că nu i se permite să continue să transmită mai multe pachete decât avea la inițierea procedurii de contorizare.

Selecția și reselecția celulei

Într-o rețea GSM selecția celulei (și implicit transferul) pentru o stație mobilă este efectuată de BSC, pe baza rapoartelor de măsurători efectuate de stația mobilă și transmise la fiecare două secunde, atât timp cât stația este conectată în rețea (stările activă și de repaus).

În GPRS stația mobilă alege stația de bază cu care va comunica, pe baza măsurătorilor asupra celulelor învecinate. Algoritmii de selecție și reselecție sunt în stația mobilă și sunt dirijați de parametrii de selecție și reselecție a celulei difuzați de rețea pe PBCCH.

4.5 Atașarea stației mobile la serviciile GPRS

Prin procedura de atașare, contextul stației mobile trece din starea de repaus în starea gata de transmisie. Întrucât numai în această stare este permisă transmiterea și recepționarea de date, orice stație mobilă care dorește să transmită date, trebuie să efectueze mai întâi procedura de atașare.

O stație mobilă realizează atașarea la serviciile GPRS prin intermediul nodului SGSN. Dacă rețeaua operează în modul I, stația mobilă se poate atașa la alte servicii GSM ("IMSI attach") prin intermediul nodului SGSN și poate realiza procedura de actualizare combinată RA/LA; dacă rețeaua operează în modul II sau III (sau dacă stația mobilă nu este atașată GPRS), atunci stația mobilă realizează atașarea IMSI folosită în GSM. Dacă stația mobilă operează în clasa A și este angajată într-o conexiune la serviciile cu comutație de circuite atunci ea va folosi procedura de atașare GPRS (fără a mai fi necesară atașarea IMSI).

În procedura de atașare, stația mobilă trebuie să-și comunice identitatea și să indice ce tip de atașare dorește să execute. Identitatea comunicată rețelei la atașare este fie identitatea temporară a abonatului mobil pentru serviciul în mod pachet (P-TMSI- Packet Temporary Mobile Subscriber Identity), împreună cu numărul ariei de rutare (RAI – Routing Area Identity), fie identitatea internațională a abonatului mobil (IMSI- International Mobile Subscriber Identity). Numărul IMSI este folosit atunci când stația mobilă nu posedă un număr P- TMSI valid.

În cazul în care o stație mobilă, care este deja atașată GPRS, dorește să realizeze o atașare IMSI ea va fi identificată la nivelul protocolului RLC/MAC printr-o identitate temporară a legăturii logice (TLLI- Temporary Logical Link Identity).

Dacă o stație mobilă, care operează în clasa C, este deja atașată IMSI și dorește să se atașeze la serviciile GPRS atunci ea va trebui să realizeze mai întâi o detașare IMSI. Similar, dacă o astfel de stație mobilă este atașată GPRS și dorește să se atașeze la serviciile în mod circuit, atunci ea va efectua mai întâi detașarea de la serviciile GPRS.

Figura 4.5 înfățișează procedura de atașare combinată GPRS/IMSI.

Fiecare pas al procedurii este detaliat în lista ce urmează:

1.Stația mobilă inițiază procedura de atașare prin trimiterea către SGSN a mesajului Attach Request (IMSI/P-TMSI și vechiul RAI, Classmark, CKSN, Tipul atașării, Parametri DRX, Vechea semnătură P-TMSI). Numărul IMSI este inclus în mesaj, numai dacă stația mobilă nu are un număr P- TMSI valid (în caz contrar mesajul cuprinde numărul P- TMSI și identitatea vechii arii de rutare). Câmpul "classmark" conține performanțele de transmisie pe mai multe intervale temporale (multislot) în GPRS precum și algoritmii de cifrare, care pot fi folosiți de acea stație la transmisia în mod pachet. În mesaj se specifică și ce tip de atșare se dorește a fi efectuată (atașare la GPRS, atașare la GPRS când stația este deja atașată IMSI sau atașare combinată GPRS/IMSI). Parametrii DRX (Discontinuous Reception) indică, dacă se folosește recepția discontinuă și, în acest caz, precizează momentele în care stația mobilă este capabilă să recepționeze cereri de paging și mesaje de alocare a canalului. Dacă mesajul conține numărul P-TMSI, atunci stația mobilă include în cererea de atașare și vechea semnătură P- TMSI.

2. Dacă stația mobilă folosește pentru identificare numărul P-TMSI și nodul SGSN s-a schimbat de la ultima detașare, atunci noul SGSN trimite către vechiul SGSN mesajul ldentification Request (P- TMSI, Vechiul RAI, Vechea semnătură P- TMSI) prin care îi solicită acestuia să-i indice numărul IMSI al stației mobile. Vechiul SGSN răspunde cu mesajul ldentification Response (IMSI, Triplete de autentificare). Dacă stația mobilă nu este recunoscută de vechiul SGSN sau dacă acesta nu validează semnătura P- TMSI, atunci răspunsul este un mesaj de eroare.

3. Dacă stația mobilă nu este recunoscută de nici unul dintre cele două noduri SGSN implicate în această procedură, atunci nodul SGSN care a primit cererea de atașare trimite stației mobile mesajul Identity Request (Tip de identitate = IMSI) la care stația mobilă trebuie să răspundă cu mesajul ldentity Response (IMSI).

4. Dacă în rețea nu există nici un context MM pentru stația mobilă atunci este obligatorie autentificarea stației mobile.

Fig.4.5 Procedura de atașare combinată

5. Verificarea identității internaționale a echipamentului mobil este opțională.

6. În cazul în care este vorba de o primă atașare sau dacă numărul nodului SGSN s-a schimbat de la ultima detașare GPRS, atunci nodul SGSN trebuie să informeze registrul HLR:

a) Nodul SGSN trimite către HLR mesajul Update Location (Număr SGSN, Adresa SGSN, IMSI).

b) Registrul HLR îi trimite vechiului SGSN mesajul Cancel Location (IMSI, Tipul anulării = Procedură de actualizare).

c) Vechiul SGSN răspunde cu mesajul de confirmare Cancel Location Ack (IMSI); dacă există proceduri în desfășurare pentru acea stație mobilă, vechiul SGSN va aștepta mai întâi încheierea) acestora și apoi va șterge contextele 11M și PDP referitoare la respectiva stație mobilă.

d) Registrul HLR trimite mesajul Insert Subscriber Data (IMSI, Date de abonament GPRS) către noul SGSN.

e) Noul SGSN validează prezența stației mobile în noua arie de rutare. Dacă există restricții regionale în abonament care nu permit atașarea stației mobile în acea arie de rutare, nodul SGSN va respinge cererea de atașare și va returna către HLR mesajul Insert Subscriber Data Ack (IMSI, Arie interzisă). Dacă în urma verificării abonamentului, nodul SGSN respinge cererea de atașare pentru alte motive, atunci acesta va trimite către HLR mesajul Insert Subscriber Data Ack (IMSI, Cauză), indicând cauza eșecului. Dacă toate verificările se încheie cu succes, nodul SGSN construiește contextul MM pentru stația mobilă și returnează mesajul Insert Subscriber Data Ack (IMSI) către HLR.

f) Registrul HLR confirmă mesajul de actualizare a localizării, prin trimiterea mesajului Update Location Ack către SGSN după terminarea operațiilor de ștergere a vechiului context MM, respectiv de inserare a noului context MM. Dacă actualizarea localizării este refuzată de HLR, atunci nodul SGSN va respinge cererea de atașare, indicând motivul respingerii.

7. Dacă este vorba de o atașare GPRS a unei stații mobile care este deja atașată IMSI sau de o atașare combinată GPRS/ IMSI, atunci este necesară actualizarea registrului VLR (dacă interfața Gs este instalată), adică marcarea stației mobile ca fiind atașată GPRS în registrul VLR. Numărul registrului VLR este obținut din identitate a ariei de rutare (RAI).

a) Nodul SGSN îi trimite registrului VLR mesajul Location Update Request (Noul LAI, IMSI, numărul SGSN, tipul de actualizare a localizării). Tipul de actualizare a localizării va fi "atașare IMSI", dacă cererea inițială era pentru o atașare combinată GPRS/IMSI, și "actualizare normală a localizării" în orice altă situație. Registrul VLR creează o asociație cu nodul SGSN, prin memorarea numărului acestuia.

b) Dacă actualizarea ariei de localizare se face inter-MSC, atunci noul VLR trimite mesajul Update Location (IMSI, Noul VLR) către HLR.

c) Registrul HLR îi trimite vechiului VLR mesajul Cancel Location (IMSI) (în cazul actualizării inter-MSC a ariei de localizare).

d) Vechiul VLR răspunde cu mesajul Cancel Location Ack (IMSI).

e) Registrul HLR trimite mesajul Insert Subscriber Data (IMSI, datele abonatukui GSM) către noul VLR.

f) Noul VLR răspunde cu mesajul Insert Subscriber Data Ack (IMSI).

g) După încheierea procedurilor de actualizare inter-MSC a localizării, registrul HLR transmite mesajul Update Location Ack (IMSI) către noul VLR.

h) Noul VLR îi răspunde nodului SGSN cu mesajul Location Update Accept (VLR TMSI).

8. Nodul SGSN alege prioritatea radio pentru transmisia mesajelor scurte și trimite către stația mobilă mesajul Attach Accept (P- TMSI, VLR TMSI, Semnătura P- TMSI); numărul P- TMSI este inclus doar dacă nodul SGSN îi alocă statiei mobile un nou număr P- TMSI.

9. Dacă vreunul din numerele P- TMSI sau VLR TMSI s-a modificat,stația mobilă confirmă recepționarea acestor numere cu mesajul Attach Complete (P- TMSI, VLR TMSI).

10. Dacă numărul VLR TMSI s-a modificat, nodul SGSN confirmă realocarea acestui număr prin trimiterea mesajului TMSI Reallocation Complete (VLR TMSI) către registrul VLR. Dacă cererea de atașare nu poate fi satisfăcută, nodul SGSN îi returnează stației mobile mesajul Attach Reject (IMSI, Cauză).

4.6 Detașarea stației mobile de la serviciile GPRS

Procedura de detașare permite unei stații mobile să informeze rețeaua că dorește să renunțe la serviciile GPRS sau non-GPRS. În sens invers, prin procedura de detașare, rețeaua informează stația mobilă că a fost detașată de către rețea de la serviciile GPRS ("GPRS detach") sau de la celelalte servicii oferite în GSM ("IMSI detach"). Există trei tipuri de detașări: detașare IMSI, detașare GPRS sau detașare combinată GPRS/IMSI (acest tip de detașare poate fi inițiat numai de stația mobilă).

O stație mobilă poate fi detașată de la serviciul GPRS fie în mod explicit (rețeaua sau stația mobilă solicită detașarea), fie în mod implicit (rețeaua detașează fără avertisment stația mobilă după o perioadă de timp în care stația mobilă nu a putut fi contactată sau dacă se constată deconectarea legăturii logice ).

De cele mai multe ori detașarea este inițiată de stația mobilă. Procedura de detașare la ințiativa stației mobile este înfățișată în figura 4.6. În derulare a acestei proceduri apar următorii pași:

1. Stația mobilă îi trimite nodului SGSN mesajul Detach Request (tipul detașării, întreruperea alimentării). Detașarea poate fi: detașare GPRS, detașare IMSI sau detașare combinată GPRS/IMSI. În mesaj se indică de asemenea dacă detașarea se datorează sau nu întreruperii alimentării.

2. În cazul unei detașări GPRS, contextele PDP active din nodurile GGSN referitoare la o anumită stație mobilă, sunt dezactivate în urma recepționării de către aceste noduri a mesajului Delete PDP Context Request (TID). Nodurile GGSN confirmă acest mesaj trimițând mesaje de tipul Delete PDP Context Response (TID) către SGSN.

3. Dacă este vorba de o detașare IMSI nodul SGSN îi trimite registrului VLR mesajul IMSI Detach lndication (IMSI).

4. În cazul în care stația mobilă dorește să rămînă atașată la serviciile cu comutație de circuite și realizează o detașare de la serviciul GPRS, nodul SGSN trimite către VLR mesajul GPRS Detach lndication (IMSI). Registrul VLR șterge asociația logică cu nodul SGSN și va realiza procedurile de paging și de actualizare a localizării fără contribuția nodului SGSN.

5. Dacă în cererea de detașare s-a indicat că detașarea nu se datorează întreruperii alimentării, atunci nodul SGSN îi trimite stației mobile mesajul Detach Accept.

Fig. 4.6 Procedura de detașare combinată GPRS/IMSI la inițiativa stației mobile.

Procedura de detașare se mai poate executa și la inițiativa rețelei, ea putând fi inițiată de nodul SGSN sau de către registrul HLR. Figura 4.7 prezintă procedura de detașare GPRS, la inițiativa nodului SGSN. Această procedură cuprinde următorii pași:

1.Nodul SGSN informează stația mobilă că a fost detașată, trimițându-i mesajul Detach Request (Tipul detașării). Mesajul indică dacă stația mobilă este solicitată să realizeze o nouă atașare și o nouă activare de context PDP, pentru contextele care erau active (în această situație la terminarea procedurii de detașare se inițiază procedura de atașare).

2. Contextele PDP active din nodurile GGSN referitoare la respectiva stație mobilă sunt dezactivate în urma recepționării mesajului Delete PDP Context Request (TID). Nodurile GGSN returnează către SGSN mesaje de tipul Delete PDP Context Response (TID).

3. Dacă stația mobilă a fost atașată atât la serviciile cu comutație de circuite cât și la GPRS, nodul SGSN îi trimite registrului VLR mesajul GPRS Detach lndication (IMSI). Acesta șterge asociația cu nodul SGSN și va realiza procedurile de paging și de actualizare a localizării fără contribuția nodului SGSN.

4) În urma recepționării cererii de detașare, stația mobilă îi returnează nodului SGSN mesajul Detach Accept.

Fig. 4.7 Procedura de detașare GPRS la inițiativa nodului SGSN.

Procedura de detașare poate fi inițiată de registrul HLR atunci când se dorește, din motive administrative, ștergerea contextelor MM și PDP, referitoare la un anumit abonat din nodul SGSN. Procedura constă din următorii pași (fig. 4.8):

1. Dacă registrul HLR dorește să solicite ștergerea imediată a contextelor MM și PDP, referitoare la un anumit abonat, atunci el va trimite un mesaj de tipul Cancel Location (IMSI, Tipul anulării = Retragerea abonamentului) către SGSN.

2. Nodul SGSN informează stația mobilă că a fost detașată, prin trimiterea către aceasta a mesajului Detach Request (Tipul detașării). Parametrul mesajului va indica că stației mobile nu i se solicită să realizeze o nouă atașare și o nouă activare a contextului PDP.

3. Contextele PDP active referitoare la acea stație mobilă din nodurile GGSN sunt dezactivate în urma recepționării de către acestea a mesajului Delete PDP Context Request (TID). Nodurile GGSN îi returnează nodului SGSN mesaje de tipul Delete PDP Context Response (TID).

4. Dacă stația mobilă a fost atașată atât la serviciul GPRS, cât și la alte servicii GSM, nodul SGSN va trimite către registrul VLR mesajul GPRS Detach Indication (IMSI); acesta șterge asociația cu nodul SGSN și va executa procedurile de paging și de actualizare a 10calizării, fără a mai implica nodul SGSN.

5. După recepționarea cererii de detașare, stația mobilă returnează către SGSN mesajul Detach Accept.

6. Nodul SGSN confirmă ștergerea contextelor MM și PDP prin mesajul Cancel Location Ack (IMSI).

Fig. 4.8 Procedura de detașare GPRS la inițiativa registrului HLR

5. Evaluări de trafic

5.1. Interfața Gb

Interfața Gb realizează conectarea subsistemului stațiilor de bază (BSS) cu nodul SGSN, permițând transportul informațiilor de semnalizare și al datelor utilizatorului între cele două entități. În interfața Gb se permite multiplexarea mai multor utilizatori pe aceleași resurse fizice. Alocarea resurselor se face în mod dinamic, numai la transmisia sau recepția datelor (spre deosebire de interfața A, unde un utilizator beneficiază de o resursă fizică dedicată pe toată durata apelului, indiferent dacă acesta este activ sau nu).

Nivelul legătură de date se bazează pe tehnologia Frame Relay. Între SGSN și BSS se stabilesc circuite virtuale, pe care sunt multiplexate unitățile de date ale protocolului LLC, provenite de la mai mulți utilizatori. Aceste circuite virtuale pot traversa o rețea de noduri de comutație Frame Relay. O conexiune Frame Relay (FR) prezintă următoarele caracteristici:

câmpul de informație dintr-un cadru FR poate avea maxim 1600 de octeți;

adresa FR are o lungime de 2 octeți;

– în BSS și SGSN sunt implementate funcțiunile definite în standardul Frame Relay pentru echipamentul terminal de date (DTE- Data Terminal Equipment), iar nodul SGSN poate realiza opțional și funcțiuni ale echipamentului de terminație a circuitului de date (DCE Data Circuit-terminating Equipment);

– pentru transportul unităților de date ale protocolului BSSGP între BSS și SGSN se folosesc numai circuite virtuale permanente.

Serviciul de rețea (Network Service) este alcătuit din. două entități: serviciul subrețea (Sub-Network Service), care este dependent de rețeaua de transmisiune utilizată în interfața Gb (este vorba de rețeaua Frame Relay) și din controlul serviciului rețea (Network Service Control) (fig. 5.1).

Network Service Control

Network Service

Sub-Network Service

Fig. 5.1. Arhitectura internă a serviciului rețea.

Entitatea de control al serviciului rețea realizează următoarele funcțiuni:

– transmisia unităților de date ale protocolului BSSGP pe circuite virtuale, prin încapsularea acestora în unități de date ale protocolului de control al serviciului rețea (Network Service Control PDUs), care la rândullor sunt încapsulate în unități de date ale serviciului subrețea (Sub-Network Service PDUs);

– împărțirea sarcinii de trafic între circuitele virtuale disponibile dintr-un grup;

– managementul circuitelor virtuale, prin procedurile de blocare a circuitelor virtuale (acestea devenind indisponibile pentru transportul datelor utilizatorului), respectiv de deblocare a acestora, și prin prin proceduri de test și resetare a circuitelor virtuale.

Între BSS și SGSN se pot folosi fie conexiuni fizice punct-la-punct (în acest caz subsistemul BSS reprezintă partea de utilizator, iar nodul SGSN este partea de rețea în cadrul interfeței utilizator-rețea), fie o rețea intermediară Frame Relay (în acest caz atât nodul SGSN, cât și subsistemul BSS sunt tratați ca utilizatori din punctul de vedere al interfeței utilizator-rețea).

Gb

Fig. 5.2 Configurația legăturii directe între BSS și SGSN

Gb Gb

Fig. 5.3. Realizarea conexiunii între BSS și SGSN prin intermediul unei

rețele Frame Relay.

La nivelul protocolului de control al serviciului rețea, unitățile de date ale protocolului BSSGP sunt încapsulate în pachete de tip NS-UNITDATA (tabelul 6.1). Octetul de rezervă este inclus numai pentru completarea unității de date de protocol (PDU- Protocol Data Unit) până la un multiplu de 32 de biți. Lungimea "n" a câmpului de informație, care conține unitatea de date de serviciu (SDU- Service Data Unit), primită de la protocolul de nivel superior BSSGP, este limitată doar de protocolul de nivel inferior (în acest caz Frame Relay). Acesta impune ca lungimea întregului pachet NS-UNITDATA să fie maxim 1600 de octeți (deci câmpul de informație poate conține cel mult 1597 de octeți).

Tabelul 5.1. Structura pachetului NS-UNITDATA (n<1598)

M- Mandatory.

O conexiune virtuală BSSGP se definește ca o cale de comunicație între două entități ale serviciului de rețea. Fiecărei conexiuni virtuale îi este asociat un identificator (BVCI- BSSGP Virtual Connection Identifier), cu semnificație numai la capetele conexiunii, care, împreună cu identificatorul entității serviciului de rețea (NSEI- Network Service Entity Identifier), definesc în mod unic o conexiune virtuală prin interfața Gb.

În figura 5.4 este prezentată structura cadrelor Frame Relay:

Fig. 5.4 Structura cadrelor Frame Relay.

Fig. 5.5. Structura câmpului de adresă din cadrul FR:

DLCI- Data Link Connection Identifier;

FECN- Forward Explicit Congestion Notification;

BECN- Backward Explicit Congestion Notification;

C/R- Command/ Response;

DE- Discard Eligibility;

EA- Address Field Extension Bit.

Fanionul are structura 01111110 și este introdus pentru a asigura sincronizarea de cadru (permite recunoașterea începutului și sfârșitului de cadru). Câmpul de adresă (fig. 5.5) permite identificarea circuitului virtual căruia îi aparține acel cadru. Câmpul de adresă împreună cu cel de informație sunt protejate printr-un cod ciclic (cu un polinom generator de grad 16), care calculează biții suplimentari plasați în câmpul CRC (Cyclic Redundancy Check).

Principalele funcții ale protocolului BSSGP sunt:

– furnizează o legătură în modul fără conexiune între nodul SGSN și subsistemul BSS;

– realizează transferul fără confirmare al datelor între SGSN și BSS;

– pe legătura descendentă, nodul SGSN furnizează către BSS, cu ajutorul protocolului BSSGP, informații utile protocolului RLC/MAC;

-pe legătura ascendentă, subsistemul BSS îi furnizează nodului SGSN (prin intermediul protocolului BSSGP) informații legate de transmisia prin interfața radio obținute de la protocolul RLC/MAC;

– oferă instrumente pentru controlul bidirecțional al fluxului (prin mesaje care indică care este debitul permis la un moment dat) pentru datele transmise prin interfața Gb;

– inițiază procedura de paging la solicitarea nodului SGSN;

– realizează ștergerea mesajelor vechi din BSS (de exemplu, atunci când stația mobilă trece într-o celulă deservită de un alt BSS);

– suportă mai multe legături de nivel 2 între SGSN și BSS.

Pe legătura descendentă ("downlink"), unitățile de date ale protocolului LLC sunt încapsulate în pachete de tip DL-UNITDATA, a căror structură este prezentată în tabelul 5.2. În acest pachet, nodul SGSN poate include atât identitatea temporară a legăturii logice (TLLI- Temporary Logical Link Identity), corespunzătoare poziției curente a unei anumite stații mobile, cât și identitatea TLLI anterioară (dacă există), folosită pentru localizarea contextului MM existent pentru acea stație mobilă. Dacă nodul SGSN nu are un număr IMSI valid pentru o anumită stație mobilă (de exemplu, în timpul procedurilor de atașare sau de actualizare a ariei de rutare), el nu-l va include pe acesta în pachetul DL-UNITDATA. În nodul SGSN, protocoalele de nivel superior

stabilesc timpul de viață pentru fiecare unitate de date, cu ajutorul acestuia definindu-se intervalul de timp în care unitatea de date respectivă este considerată validă în BSS. O unitate de date este discardată, dacă ea este reținută la nivelul BSS un interval de timp, ce depășește timpul ei de viață. Capabilitățile de acces radio ale stației mobile sunt incluse în pachetul DL-UNITDATA, doar dacă la nivelul nodului SGSN există o astfel de informație validă. Octeții de aliniere sunt folosiți pentru a completa pachetul până la un multiplu de 32 de biți.

Tabelul 5.2 Structura pachetului BSSGP DL-UNITDATA

M-Mandatory; O-Optional

Pe legătura ascendentă ("uplink"), unitățile de date ale protocolului LLC sunt încapsulate în pachete de tip UL-UNITDATA. Subsistemul BSS primește identitatea TLLI în pachetele recepționate de la stația mobilă și o va trimite mai departe către SGSN împreună cu profilul QoS folosit de stația mobilă la transmisia unităților de date LLC prin interfața radio.

Protocolul LLC furnizează serviciile necesare menținerii unei legături de date cifrate între stația mobilă și nodul SGSN. Conexiunea LLC este menținută în timpul deplasării stației mobile atâta timp cât aceasta se găsește în celule deservite de același nod SGSN. Dacă stația mobilă se deplasează într-o celulă deservită de un alt nod SGSN, conexiunea existentă este eliberată și se stabilește o nouă conexiune cu noul SGSN.

Protocolul LLC este independent de protocoalele din interfața radio (asfel se pot introduce soluții radio alternative cu modificări minime ale subsistemului rețea). El suportă:

– primitive de serviciu, care permit transferul unităților de date ale protocolului SNDCP între nivelul SNDCP și nivelul LLC;

-proceduri pentru transferul unităților de date ale protocolului LLC între stația mobilă și nodul SGSN (punct-la-punct sau punct-la multipunct, cu confirmare sau fără confirmare);

– proceduri de detecție și corecție a erorilor; – proceduri de control al fluxului unităților de date LLC între stația mobilă și nodul SGSN; – proceduri de cifrare a unităților de date LLC.

Figura 5.6 prezintă formatul cadrului LLC. Câmpul de adresă conține identificatorul punctului de acces la serviciile protocolului LLC (SAPI- Service Access Point Identifier), care permite identificarea sursei și destinației cadrului (adică a entităților de protocol de nivel superior care generează, respectiv recepționează câmpul de informație din cadru). Lungimea câmpului de informație este cuprinsă între 140 și 1520 de octeți. Câmpul de control cuprinde 2 octeți (în cazul cadrelor de informație neconfirmate).

8 7 6 5 4 3 2 1

Fig. 5.6 Formatul cadrului LLC (FCS- Frame Check Sequence)

8 7 6 5 4 3 2 1

Fig. 5.7 Formatul câmpului de adresă din cadrul LLC:

PD- Protocol Discriminator; C/R- Command/Response

Protocolul SNDCP oferă nivelului superior următoarele servicii:

– transmisia și recepția unităților de date ale protocolului de nivel superior (cu confirmare sau fără confirmare) conform profilului QoS negociat;

– utilizarea unor tehnici de compresie (incluzând compresia antetului TCP/IP și compresia datelor), astfel încât să se transmită o cantitate minimă de informație între SGSN și stația mobilă;

– segmentarea și reasamblarea unităților de date după compresie, pentru ca acestea să nu depășească lungimea maximă impusă de nivelul LLC.

Formatul pachetului la nivelul protocolului SNDCP este prezentat în figurile 5.8 și 5.9. Un pachet conține date, care provin de la un singur pachet primit de la nivelul superior. Bitul M indică dacă segmentul respectiv este ultimul segment din pachetul de nivel rețea sau mai urmează și alte segmente. Bitul T precizează tipul transferului de date (cu sau rară confirmare) și deci tipul pachetului folosit (SN-DATA sau SN-UNITDATA). Cu ajutorul bitului F se indică dacă este vorba de primul segment din pachet (numai în acest caz se transmit câmpurile PCOMP și DCOMP, iar în cazul transferului cu confirmare este inclus și numărul de secvență N-PDU). X este un bit de rezervă, care este ignorat de entitate a SNDCP, care recepționează pachetul. Identificatorul punctului de acces la serviciile de rețea (NSAPI- Network Service Access Point Identifier) este utilizat de protocolul SNDCP ca un index către un anumit context PDP (la nivelul aceluiași protocol de date pachetizate pot exista mai multe contexte PDP). Câmpurile DCOMP, respectiv PCOMP permit precizarea algoritmului de compresie și a entității, care realizează compresia datelor, respectiva informației de control a protocolului de nivel rețea (de exemplu antetul TCP/IP). Numărul segmentului este un număr de secvență pentru segmentele care transportă părți ale aceluiași pachet primit de la nivelul superior. Numărul de secvență N-PDU este folosit atât în transferul cu confirmare, cât și în cel fără confirmare. Diferența între cele două moduri de transfer al datelor constă în existența, la nivelul entității SNDCP, a unui buffer de retransmisie, doar în cazul modului cu confirmare.

8 7 6 5 4 3 2 1

Octet 1

Octet 2

Octet 3

…….

Octet n

Fig.5.8 Formatul pachetului SN-DATA (modul cu confirmare).

8 7 6 5 4 3 2 1

Octet 1

Octet 2

Octet 3

……

Octet n

Fig. 5.9 Formatul pachetului SN-UNITDATA (modul fără confirmare).

5.2. Interfața Gn

Nodurile suport GPRS (GSN- GPRS Support Node), care se găsesec în aceeași rețea mobilă, sunt conectate între ele prin intermediul interfeței Gn. Aceasta permite transferul datelor utilizatorului între noduri, fiind folosită și pentru realizarea legăturilor de semnalizare între acestea.

În interfața Gn rețeaua de transport poate fi de tip Ethernet și în acest caz nivelul legătură de date este alcătuit din două subnivele: controlul accesului la mediu (MAC- Medium Access Control) și controlul legăturii logice (LLC-Logical Link Control). Subnivelul MAC pentru rețelele de tip Ethernet este descris în standardul IEEE 802.3, în care este definit formatul cadrului MAC (fig. 5.10). Principalele câmpuri din cadrul MAC sunt:

– preambulul, care cuprinde primii 7 octeți din cadru, permite realizarea sincronizării de bit la recepție;

– delimitatorul începutului de cadru (1 octet) este folosit pentru a marca începutul efectiv al cadrului;

– câmpurile de adrese (fiecare având câte 6 octeți) identifică sistemul sau sistemele destinatare ale mesajul. precum și sistemul care a generat mesajul;

– lungimea câmpului de informație (adică al pachetului de date primit de la protocolul LLC);

– câmpul de informație trebuie să aibă o lungime cuprinsă între 46 și 1500 de octeți (dacă lungimea pachetului LLC este mai mică de 46 de octeți, atunci câmpul de informație cuprinde și octeți de completare până la lungimea minimă);

– secvența de verificare a cadrului (FCS- Frame Check Sequence) permite detecția biților eronați, care pot apare în câmpurile de adrese, în câmpul de lungime și în câmpul de informație.

Funcțiile subnivelului LLC sunt definite în standardul IEEE 802.2. Acesta prevede existența a 3 tipuri de unități de date (LLC-PDU): de informație, de supervizare și nenumerotate. Cele trei categorii de pachete LLC se deosebesc prin câmpul de control (fig. 5.11). Lungimea sa este de 1 octet, în cazul unui pachet de informație nenumerotată.

Fig. 5.10. Formatul cadrului MAC IEEE 802.3.

Fig. 5.11. Formatul LLC PDU (în cazul unui pachet de informație nenumerotată).

Adresa SAP reprezintă identificatorul punctului de acces la serviciile LLC (SAP- Service Access Point), prin această adresă fiind identificată entitate a de nivel superior care generează, respectiv recepționează, mesajul cuprins în câmpul de informație al unității de date a protocolului LLC.

Protocolul IP (Internet Protocol) asigură rutarea pachetelor în rețeaua centrală ("backbone network"), care interconectează nodurile de suport GPRS, îndeplinind de asemenea și funcții de segmentare și reasamblare a pachetelor. Acest protocol oferă nivelului superior un serviciu nefiabil, în sensul că nu garantează livrarea pachetelor la destinatar. Formatul pachetelor IP este prezentat în figura 5.12.

4 biți 4 biți 8 biți 16 biți

Fig. 5.12. Formatul pachetului IP.

Structura pachetelor IP se bazează pe cuvinte de 32 de biți. Câmpurile pachetului IP au următoarea semnificație:

– versiune: indică versiunea protocolului IP, care generează pachetul (în prezent este utilizată versiunea 4);

– lungimea antetului: indică lungimea antetului măsurată în cuvinte de 32 de biți (lungimea minimă a antetului corespunde cazului când acesta nu conține câmpul de opțiuni și este de 20 de octeți);

– tipul serviciului: arată calitatea serviciului cerut pentru transportul pachetului în rețea (calitatea serviciului este exprimată prin 4 parametri: prioritate, întârziere, debit efectiv, fiabilitate);

– lungimea totală: specifică lungimea pachetului, măsurată în octeți, incluzând atât antetul cât și datele;

– identificare: conține un număr care identifică pachetul (când un ruter fragmentează un pachet IP, acest câmp este copiat în interiorul fiecărui fragment);

– decalajul fragmentului: indică, pentru fiecare fragment, numărul grupurilor de câte 8 octeți, transmis deja din pachetul căruia îi aparține fragmentul respectiv;

– fanioane: poate semnala interdicția de fragmentare a pachetului sau dacă un fragment este sau nu ultimul din pachet;

– durata de viață: arată cât timp îi este permis unui pachet să rămână în rețea;

– protocol: identifică protocolul de nivel superior (TCP sau UDP) asociat pachetului;

– secvența de verificare a antetului: permite verificarea corectitudinii valorilor din antet;

– câmpurile de adrese: conțin adresele IP ale sistemului sursă, respectiv destinație (pentru rutarea pachetelor în rețeaua centrală, nodurilor suport GPRS le sunt alocate de obicei adrese IP private);

– opțiuni: are o lungime variabilă și este rezervat pentru a introduce unele funcțiuni de control privind rutarea, securitatea rețelei, etc;

– câmpul datelor: are o lungime variabilă, cuprinsă între 576 octeți și 65535 octeti.

În cazul în care rețeaua GPRS este folosită pentru transportul pachetelor IP ale unui utilizator între o stație mobilă și rețeaua Internet, în rețeaua centrală este utilizat protocolul UDP. Acest protocol este utilizat și pentru transportul senmalizărilor în rețeaua centrală. Protocolul UDP este un protocol simplu, care permite identificarea programelor de aplicație între care se realizează transferul de aplicație (adresele IP permit identificarea sistemelor sursă și destinație pe care rulează aceste programe). Distincția între multiplele programe ce se execută pe un același sistem se realizează cu ajutorul unui set de puncte abstracte asociate acestora, care sunt denumite porturi de protocol (fiecare port este identificat printr-un număr). Antetul mesajului UDP (fig. 5.13) cuprinde 8 octeți, care precizează porturile de protocol ale sursei și destinației precum și lungimea totată a mesajului UDP (inclusiv antetul) măsurată în octeți.

16 biți 16 biți

Fig. 5.13. Formatul mesajului UDP.

În planul de transmisiune, protocolul GTP utilizează un mecanism de tunelare, care permite transportul pachetelor de date ale utilizatorului. În planul de semnalizare, acest protocol furnizează mecanisme de management al tunelurilor și de control al acestora (proceduri de creare, modificare, ștergere a tunelurilor), cu ajutorul cărora nodul SGSN îi oferă stației mobile accesul la rețeaua GPRS.

8 7 6 5 4 3 2 1

Octetul 1

Octetul 2

Octeții 3-4

Octeții 5-6

Octeții 7-8

Octetul 9

Octeții 10-12

Octeții 13-20

Fig. 5.14. Formatul antetului unui mesaj GTP

Orice mesaj GTP are un antet, care cuprinde următoarele câmpuri:

-versiune: indică versiunea protocolului GTP;

– SNN: este un fanion care indică dacă este inclus sau nu numărul pachetului SNDCP;

– tipul mesajului: precizează despre ce tip de mesaj GTP este vorba (un mesaj care transportă un pachet al utilizatorului, un mesaj de semnalizare, etc);

– lungime: indică lungimea în octeți a mesajului GTP, cu excepția antetului;

-numărul de secvență: reprezintă identitate a tranzacției, în cazul mesajelor de semnalizare, respectiv numărul de secvență, în cazul mesajelor ce transportă pachete de date;

– eticheta de flux: identifică un flux GTP; – numărul pachetului SNDCP: acest număr este folosit în procedura de actualizare inter-SGSN a ariei de rutare, pentru coordonarea transmisiei datelor între stația mobilă și SGSN;

-TID (Tunnel Identifier): reprezintă identificatorul tunelului (este alcătuit din numerele IMSI și NSAPI, indicând astfel contextele MM și PDP pentru o anumită stație mobilă).

5.3. Punctul de referință Gi

Sistemul GPRS permite conlucrarea cu rețelele externe bazate pe protocolul IP, permițând accesul, atât la rețelele de tip intranet cât și la Internet. Specificațiile GPRS prevăd posibilitatea conlucrării cu rețele externe, care folosesc atât versiunea 4, cât și versiunea 6 a protocolului IP (aceste două versiuni pot fi utilizate și în rețeaua centrală GPRS). Accesul la rețeaua IP externă se face prin intermediul nodului GGSN, care permite conlucrarea între cele două rețele ca și cum rețeaua GPRS ar fi o rețea (sau o subrețea) IP. Din punctul de vedere al rețelei externe IP, nodul GGSN este tratat ca orice ruter IP.

Operatorul rețelei GPRS poate configura echipamente de tip firewall, pentru a restricționa accesul la anumite aplicații care folosesc protocolul IP și poate administra un server pentru numele de domenii (server DNS). O altă soluție este folosirea unui server DNS administrat de operatorul rețelei IP externe.

Alocarea dinamică a adreselor IP este realizată, din punctul de vedere al rețelei GPRS, de către nodul GGSN. Acesta poate aloca el însuși adresele IP sau poate recurge la serviciile unui server DHCP (Dynamic Host Configuration Protocol) extern.

Stiva de protocoale utilizată în punctul de referință Gi, în cazul conlucrării cu rețele IP externe este prezentată în figura 5.15.

Fig. 5.15 Stiva de protocoale pentru punctul de referință Gi

(în cazul interconectării cu o rețea externă IP)

Transferul datelor prin punctul de referință Gi se poate face, utilizând la nivelul legătură de date, protocoalele LLC (IEEE 802.2) și MAC (IEEE 802.3) pentru rețelele de tip Ethernet.

5.4. Interfața Gr

Interfața Gr asigură conectarea nodului SGSN cu registrul HLR. Între cele două entități se transferă numai mesaje de semnalizare, nu și date ale utilizatorului. Stiva de protocoale utilizată în interfața Gr este aceea definită în cadrul sistemului de semnalizare nr. 7 (SS7).

Protocolul MTP2 asigură delimitarea unităților de date, detecția și corecția erorilor prin retransmisie, monitorizarea erorilor pe legătura de semnalizare, controlul fluxului, etc. Acest protocol transportă mesajele primite de la protocolul de nivel superior în cadre de tip MSU (Message Signal Unit), al căror format este prezentat în figura 5.16. Un cadru MSU conține următoarele câmpuri:

– fanion: delimitează începutul și sfârșitul cadrului MSU;

– numerele de secvență înapoi (BSN- Backward Sequence Number) și înainte (FSN- Forward Sequence Number): aceste numere sunt folosite în procedurile de control al erorilor și de control al fluxului pe ambele sensuri de transmisie;

– biții indicatori pentru sensul înainte (FIB- Forward Indicator Bit) și pentru sensul înapoi (BIB- Backward Indicator Bit): sunt folosiți pentru a indica o cerere de retransmisie a unui cadru recepționat eronat (numărul acestui cadru este precizat de FSN sau de BSN);

– indicatorul de lungime (LI- Length Indicator): specifică numărul de octeți primiți de la protocoalele de nivel superior (câmpurile SIO și SIF), acesta neputînd depăși valoarea de 273 de octeți pentru un cadru de tip MSU;

– octetul de serviciu (SIO- Service Information Octet): indică tipul protocolului care utilizează serviciile oferite de protocoalele MTP 1, MTP2, MTP3;

– câmpul de informație de nivel superior (SIF- Serviece Information Field): reprezintă mesajul primit de la nivelele superioare;

-biții de verificare (CK- Check bits): sunt folosiți pentru verificarea corectitudinii cadrului.

Fig. 5.16 Formatul cadrului de tip MSU

Protocolul MTP3 asigură rutarea mesajelor de semnalizare între sursă și destinație. Câmpul SIO specifică tipul de rețea de semnalizare (națională sau internațională), căreia îi este destinat mesajul precum și protocolul de nivel superior care trebuie să recepționeze mesajul. În cazul în care cadrul de tip MSU transportă informații provenite de la protocolul SCCP, câmpul SIF cuprinde, pe lângă câmpul de informație propriu-zisă, și o etichetă alcătuită din: SLS (4 biți) + OPC (14 biți) + DPC (14 biți). Codul SLS (Signalling Link Code) permite alegerea unui link dintr-un set pentru divizarea traficului între mai multe rute. Câmpurile OPC (Origin Point Code) și DPC (Destination Point Code) identifică punctele de semnalizare sursă, respectiv destinație.

Protocolul SCCP oferă facilități de transfer pentru semnalizări, oferind nivelelor superioare servicii cu conexiune (utile în cazul transferului unui volum mare de date) sau fără conexiume (utile în cazul transferului unui volum mic de date). În figura 5.17 este prezentată structura câmpului SIF. În SCCP se pot folosi două tipuri de adrese:

– adrese de tip titlu global, care identifică entitățile din rețeaua GSM sau PSTN/ ISDN, dar care nu conțin informații de rutare direct utilizabile de către protocolul MTP (acesta operează cu adrese de tip OPC, DPC) și de aceea este necesară translatarea acestor titluri globale în coduri ale punctelor de semnalizare;

-adrese de tip DPC (Destination Point Code) + SSN (Subsystem Number), care permit rutarea directă fără a mai fi necesară translatarea lor.

4 octeți

1 octet

1 octet

1 octet

1 octet

1 octet

1 octet

15 octeți

n octeți

Fig. 5.17 Structura câmpului SIF din mesajele MTP de tip MSU

În formatul adresei se precizează căruia dintre cele două tipuri îi aparține aceasta și se indică din ce plan de numerotare face parte adresa respectivă și dacă este vorba de o adresă națională sau internațională.

Protocolul SCCP oferă nivelelor superioare posibilitatea de a stabili conexiuni cap-la-cap. În acest caz, conexiunea primește un număr de referință unic, care o identifică la interfața între doi utilizatori, care va fi utilizat în mesajele transmise după stabilirea conexiunii.

5.5. Evaluarea încărcării determinate de procedurile de atașare, detașare, actualizarea ariei de rutare, activare/ dezactivare a contextului PDP și de accesul la Internet

Tabelul 5.4. prezintă mesajele de semnalizare (definite în cadrul standardului GPRS), care sunt schimbate între entitățile din rețeaua GPRS pe durata procedurii de atașare.

Tabelul 5.4. Mesajele corespunzătoare procedurii de atașare.

Mesajele utilizate în cadrul procedurii de detașare sunt prezentate în tabelul 5.5. Trebuie precizat că există un schimb de mesaje în interfața Gr, doar dacă procedura de detașare este inițiată de registrul HLR.

Tabelul 5.5. Mesajele corespunzătoare procedurii de detașare.

Procedura de actualizare a ariei de rutare necesită un schimb de mesaje în interfețele Gr și Gn, doar în cazul actualizării inter-SGSN a ariei de rutare. Tabelul 5.6 prezintă mesajele schimbate în cadrul procedurii de actualizare a ariei de rutare (în cazul în care protocolul de date pachetizate este IP, versiunea 4.

Tabelul 5.6. Mesajele corespunzătoare procedurii de actualizare a ariei de rutare.

Procedura de activare a contextului PDP necesită schimbul mesajelor prezentate în tabelul 5.7 (se consideră versiunea 4 a protocolului IP). Se observă că, în cadrul acestei proceduri nu se transferă mesaje prin interfața Gr.

Tabelul5 .7. Mesajele corespunzătoare procedurii de activare a

contextului PDP.

Tabelul 5.8 prezintă mesajele care sunt schimbate între entitățile GPRS pe durata procedurii de dezactivare a contextului. PDP (în cazul versiunii 4 protocolului IP).

Tabelul 5.8. Mesajele corespunzătoare procedurii de dezactivare a contextului PDP.

Pentru evaluarea încărcării pe interfețele Gb, Gn, Gr se iau în considerare următoarele elemente:

– protocolul Frame Relay limitează lungimea maximă a câmpului de informație din cadrul FR la 1600 de octeți;

– informația de control a protocolului FR totalizează 6 octeți;

– la nivelul protocolului Network Service Control, informația de control totalizează 3 octeți (se mai adaugă eventual un octet de rezervă pentru completarea unității de date de protocol până la un multiplu de 32 de biți);

– informația de control a protocolului BSSGP totalizează 26 de octeți (pentru transferul în sens descendent), respectiv 18 octeți (pentru transferul pe legătura ascendentă), la care se mai pot adăuga între 2 și 5 octeți pentru completarea unității de date de protocol până la un multiplu de 32 de biți;

-lungimea câmpului de informație din cadrele LLC este cuprinsă între 140 și 1520 de octeți;

-informația de control introdusă în cadrele LLC totalizează 6 octeți;

– în cazul protocolului MAC, definit de standardul IEEE 802.3,lungimea câmpului de informație din cadrul MAC este cuprinsă între 46 și 1500 de octeți, iar informația de control din cadrul MAC totalizează 26 de octeți;

– informația de control a protocolului LLC (IEEE 802.2) totalizează 3 octeți;

– antetul pachetului IP cuprinde 20 de octeți, iar lungimea câmpului de date este cuprinsă între 576 și maxim 65535 octeți (protocolul IP realizează fragmentarea pachetelor până la lungimea maximă impusă de rețeaua de transport);

antetul mesajului UDP este alcătuit din 8 octeți;

– informația de control din cadrele de tip MSU definite în cadrul protocolului MTP2 totalizează 7 octeți; .

– lungimea câmpului SIF din cadrele MSU este limitată la 272 de octeți;

– informația de control a protocoalelor MTP3 și SCCP totalizează 40 de octeți.

În tabelul 5.9 este prezentată încărcarea determinată de procedurile de atașare/ detașare, actualizare (inter-SGSN) a ariei de rutare, activare/ dezactivare a contextului PDP pe interfețele Gb, Gn, Gr.

Tabelul 5.9: Încărcarea pe interfețele Gb, Gn, Gr în cazul procedurilor de atașare/ detașare, actualizare a ariei de rutare, activare/ dezactivare a contextului PDP:

Na- număr de acțiuni în ora de trafic maxim ("busy hour")/ utilizator;

Nu- număr de utilizatori;

Lbu- încărcarea pe interfața Gb, datorată unui utilizator;

Lbt- încărcarea totală pe interfața Gb;

Lnu- încărcarea pe interfața Gn, datorată unui utilizator;

Lnt- încărcarea totală pe interfața Gn;

Lru- încărcarea pe interfața Gr, datorată unui utilizator;

Lrt- încărcarea totală pe interfața Gr.

În cazul accesului la Internet, se consideră o dimensiune medie a pachetelor IP de 4100 de octeți (aceste pachete trebuie transportate de infrastructura GPRS între terminalul mobil și rețeaua Internet). Se consideră de asemenea că un utilizator generează în medie 10 pachete într-o sesiune. Intervalul mediu de timp între două sosiri succesive ale pachetelor este de 10 s.Pentru evaluarea încărcării determinate de accesul la Internet se ține seama și de următoarele elemente:

– protocolul SNDCP realizează fragmentarea și reasamblarea pachetelor IP pentru a respecta limitările impuse de protocolul LLC (dimensiunea maximă a câmpului de informație în cadrele LLC este de 1520 de octeți);

– informația de control a protocolului SNDCP totalizează 4 octeți;

– dimensiunea antetului unui mesaj GTP este de 20 de octeți.

Tabelul 5.10 prezintă încărcarea pe interfețele Gb, Gn, Gi în cazul accesului la Internet.

Tabelul 5.10 Încărcarea și debitul necesar pe interfețele Gb, Gn, Gi în cazul accesului la Internet

6. Interfața radio GSM- simulare

Schema bloc a unui sistem transmițător-receptor GSM este reprezentată în figura de mai jos.

Figura 6.1 Diagrama de concepție a sistemului transmițător/receptor

Interfața incluzând microfon, convertor analog/digital, digital/analog, codor/decodor de vorbire si difuzor este inlocuită pentru implementare cu un generator de secvență de biți aleatoare. Performanța sistemului este estimată prin compararea secvenței aleatoare de intrare cu secvența furnizată de blocul de decodare/de-întrețesere a canalului în cadrul blocului de testare BER (Bit Error Rate). Canalul mobil este un bloc opțional.

Figura 6.2 Diagrama bloc pentru implementarea software.

I. Structura transmițătorului TRAINING OSR

I,Q

Figura 6.3 Structura transmițătorului

Secvența de intrare aleatoare este transformată după codare si întrețesere în pachet GSM. Parametrul TRAINING este secvența de instruire, acesta fiind folosit și în implementarea software. Modulatorul GMSK (Gaussian Minimum Shift Keying) realizează o codare diferențială a semnalului burst și o modulație GMSK. Semnalul rezultant este un semnal complex, căruia îi corespund semnalele I si Q. Produsul OSR*rb ( OSR-rata de supraeșantionare) definește numărul de eșantioane per bit, în cazul de față folosindu-se un număr de patru eșantioane per bit.

Blocurile ce alcătuiesc transmițătorul asigură generarea corectă a structurii de biți ce alcătuiesc pachetul GSM. Aceasta se realizează prin generarea inițială a unei serii aleatoare de biți, care este inserată într-o structură cadru prescrisă. Pentru implementarea acestei operații combinate se folosesc patru funcții : data_gen.m, channel_enc.m, interleave.m și burst_g.m .

Generarea datelor

Funcția data_gen.m este o funcție simplă bazată pe funcția rand din Matlab. Ca intrare, funcția acceptă un întreg INIT_L, care reprezintă lungimea dorită pentru secvența de biți aleatoare pe care funcția o întoarce ca ieșire. Variabila tx_data este folosită pentru obținerea datelor aleatoare de ieșire. Datele sunt generate folosind funcția rand, care produce 21492 numere aleatoare înainte de a se repeta. Numărul maxim de blocuri ce pot fi simulate înainte ca funcția rand să se repete este dat de formula:

Nr.max.blocuri= 21492/260≈ 500 •10444 (1)

Codarea canalului

Scopul codării canalului este de a permite receptorului GSM să detecteze erorile de transmisie și corectarea eventuală a acestora. Aceasta urmărește îmbunătățirea calității transmisiei din punctul de vedere al erorii de bit. Sunt folosite mai multe standarde de codare în GSM în funcție de modul de transmisie.

Codarea canalului este implementată cu funcția channel_enc.m. Ca intrare, tx_block, funcția de codare acceptă un vector cu lungimea de 260. Conținutul tx_block este codat astfel încât să producă un vector cu lungimea 456, care este găsit la ieșire ca variabila tx_enc.

Funcția de codare împarte cei 260 de biți de informație în trei clase diferite în funcție de importanța lor: clasa Ia, clasa Ib și clasa II. Efectul erorilor de transmisie asupra calității vorbirii din clasa Ia este mai mare decât cel din clasa II. Schema de codare utilizată în GSM este următoarea:

Figura 6.5 Codarea canalului în GSM. Sunt adăugați 196 de biți redundanți.

Biții din clasa Ia, reprezentând 50 din cei mai importanți biți ai clasei I, sunt extrași din secvență și codați cu codorul cu verificarea parității. Codorul utilizat în GSM este un codor ciclic sistematic bazat pe trei biți de verificare. Codorul se numește sistematic pentru că biții de paritate sunt adăugați secvenței de biți originale, clasa Ia. Astfel, biții din clasa Ia sunt lăsați neschimbați, iar cuvântul de cod rezultat are structura:

V={ [k biți de date][r biți de control]} (2)

Polinomul generator folosit pentru codare are lungimea de 4 biți și este dat de formula :

G(x) = x3 + x + 1 ―> G = {1011} (3)

Biții de verificare sunt găsiți în restul r(x) al împărțirii :

(xr D(x)) / G(x) = Q(x) + r(x)/ G(x) (4)

unde D(x) reprezintă biții de date de codat, iar Q(x) câtul împărțirii. Restul este folosit pentru formarea secvenței de biți de verificare, cerută în structura cuvântului de cod. Înmulțirea xrD(x) este echivalentă cu deplasarea lui D(x) spre stanga cu r poziții.

După codare, biții din clasa Ia sunt recombinați cu cei din clasa Ib, la care se adaugă un număr de 4 biți. Secvența rezultată, clasa I, formată din 189 biți este apoi încărcată în codorul convoluțional.

Codorul convoluțional are la intrare un bloc de k biți, iar la ieșire un bloc de n biți. Rata codorului este specificată în GSM ca fiind k/n=1/2 (pentru fiecare bit de intrare sunt generați 2 biți de ieșire). În codarea convoluțională, fiecare bit de ieșire cn depinde nu numai de bitul de intrare corespunzător bk ci și de o parte din biții anteriori de intrare. Numărul de biți de intrare cerut în procesul de codare se numește lungimea de constrângere a codorului. GSM specifică o lungime de constrângere egală cu 5, în schemele sale de codare definite ca:

c2k = bk bk-3 bk-4

c2k+1 = bk bk-1 bk-3 bk-4 (5)

unde k{0,1,2,…,189} și bk = 0 pentru – k < 0

Când operează ca un registru de deplasare, codorul convoluțional are structura :

Figura 6.6 Schema codorului convoluțional folosită în GSM pentru codarea pachetelor TCH/FS

Întrețeserea

Se realizează întrețeserea biților din blocurile de date de ieșire ale codorului de canal și distribuirea lor unui număr de burst-uri. Variabila de intrare este tx_enc ,iar ieșirea este transmisă unei variabile tx_data.Scopul procedurii este asigurarea faptului că erorile ce apar în datele de recepție nu sunt corelate. Se urmărește acest lucru datorită faptului că performanța codului convoluțional utilizat pentru protecția biților din clasa I este mai mare când erorile nu sunt corelate.

Întrețeserea se face respectând următoarele formule :

b= ((57*(Tmod 4) + t*32 + 196*(t mod 2)) mod 456)

B = ((T –(b mod 8)) div 4) (6)

ceea ce înseamnă că bitul t din secvența tx_data,din pachetul T, este găsit în pachetul B, însecvența tx_enc ca bitul b. (x mod y) reprezintă restul împărțirii x/y, iar (x div y) este câtul corespunzător. Operația descrisă de aceste două formule este ilustrată în figura următoare :

Figura 6.7 Procesul de intrețesere descris de formulele (6)

Pentru fiecare ciclu de intrețesere sunt întoarse patru seturi de variabile tx_data. Acestea vor fi procesate în multiplexor.

Întrețeserea este implementată în MATLAB cu funcția interleave.m, iar cele patru seturi de variabile tx_data sunt puse într-o matrice. Pentru optimizarea vitezei, pozițiile de întrețesere sunt precalculate cu funcțiile interleave_m.m și deinterleave_m.m.

Multiplexarea

Variabila de intrare în multiplexor este tx_data, iar ieșirea este tx_burst. Multiplexorul plasează variabila de intrare într-o structură cadru corespunzătoare. Recomandările GSM specifică o structură specifică a pachetului în funcție de scopurile transmisiei. Burst-ul implementat are structura din figura următoare.

3 57 1 26 1 57 3

000 {1/0} {1/0} 000

Figura 6.8 Structura pachetului GSM

Din cei 148 de biți, 114 sunt biți de date, considerați ca intrare în burst_g.m. Din cei 114 biți de date, doar 114*(260/456)=65 biți sunt biți de informație.

Modulația GMSK

Modulatorul GMSK realizează funcții de codare diferențială și modulație. Implementarea este realizată cu ajutorul funcțiilor diff_enc.m, gmsk_mod.m și ph_g.m.

1. Codarea diferențială

Ieșirea din multiplexor este o secvență binara {0,1}. Înainte de modulația GMSK, această secvență este mapată în format NRZ, din format RTZ. Aceasta se realizează cu funcția diff_enc.m. GSM folosește următoarea schemă combinată de codare diferențială și deplasare de nivel:

d^[n] = d[n] d[n-1]

a [n] = 1-2• d^[n ] (7)

unde d={0, 1} și a={-1, 1}.

Pentru evitarea problemelor de început, recomandările GSM prevăd ca o secvență de "1" să precede semnalul de procesat. Astfel, când calculăm a[0] și d^[0] presupunem că d[-1]=1.

Schema de codare este implementată în funcția diff_enc.m , unde variabila burst ca secvență de intrare este de fapt egală cu d, iar diff_enc_data ca secvență de ieșire este echivalentă cu a.

Modulația

Modulația GMSK, realizată după codarea diferențială, este implementată cu funcția gmsk_mod.m. Problema care apare odată cu reducerea lațimii benzii de frecvență este apariția interferenței intersimbol, ceea ce duce la creșterea ratei de eroare per bit (BER).

Fig. 6.9 Implementarea modulatorului GMSK

În figura 6.9, se realizează un produs de convoluție între secvența de simboluri a[n] și funcția de impulsuri în frecvență g(t), rezultatul fiind multiplicat cu π. Se obține funcția de fază θ(t,ā), care poate fi scrisă sub forma: t-ir

Θ(t, ā) = Σ a[i] πh ∫-∞ g(r)dr (8)

i

unde h este indicele de modulație, egal cu ½ în GSM.

Funcția g(t) este rezultatul produsului de convoluție dintre un impuls rectangular v(t) și funcția Gaussiană hg(t).

g`(t) = v(t) * hg(t) (9)

v(t) = 1/(2Tb), 0≤│t│≤ Tb/2

0 , în rest (10)

hg(t) = 1/ (√2π σ Tb) exp [-t2/2σ2Tb2]

unde σ = (√ln 2) / 2πBTb (11)

t/Tb

Fig.6.10 Funcția Gaussiană

t/Tb

Fig 6.11 Impulsul rectangular

Banda la 3 dB a funcției Gaussiene este normalizată pentru GSM la valoarea 0.3. Funcția Gaussiană are argumentul t Є (-∞, ∞) .Din motive de procesare, semnalul este trunchiat la lungimea L, unde OSR și L determină numărul de eșantioane folosite pentru reprezentarea profilului de impulsuri al clopotului Gaussian. Valoarea tipică aleasă pentru L este mai mare decât 3. Pentru ca funcția de impulsuri în frecvență să fie cauzală este deplasată în timp cu L•Tb/2 . Se obține astfel impulsul în frecvență trunchiat:

g(t) = g` (t- LTb / 2) * wL (t)

unde wL(t)= 1 pentru 0 ≤ t ≤ L•Tb

0 în rest (12)

Pentru obținerea acestei informații este folosită funcția ph_g.m, având ca și parametri de intrare pe OSR și LTb. Funcția calculează valorile cerute pentru modelările în frecvență și fază ale funcțiilor g(t) și respectiv q(t), prin aplicarea ei rezultând 3•OSR eșantioane ale funcțiilor g(t) și q(t), în intervalul 1 la 4t/Tb.

Funcția gmsk_mod.m, pe care se bazează structura implementată a modulatorului GMSK, calculează valoarea fazei Ө(t, ā). Aceasta se realizează printr-o aproximare cu fereastră glisantă, în care funcția g(t) este glisată pe linia secvenței de intrare pe masură ce acumulează informația de fază anterioară.

Structura receptorului

TRAINING, OSR, Lh

r dec _data

Figura 6.12 Structura receptorului

Demodulatorul determină cea mai probabilă secvență de bit pe baza pachetului GSM de intrare r, a informației privind rata OSR, a secvenței de TRAINING și a lungimii dorite pentru filtrul de la recepție, Lh. În cadrul blocului de demultiplexare sunt eliminați biții de control și secvența de test, obținându-se biții de date. Pentru extragerea biților transmiși se realizează decodarea și de-întrețeserea. Valorile parametrilor OSR și TRAINING, folosite la recepție, trebuie să fie identice cu cele de la emisie.

Secvența de test ,care este inserată în fiecare burst, este de forma :

TRAINING = [0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1]

Demodulatorul este format din trei blocuri după cum indică figura 6.13.

Lh

r, Lh, dec_data

T_SEQ

Fig. 6.13 Structura receptorului cu detalierea demodulatorului

În cele ce urmează vom prezenta componentele demodulatorului.

Estimarea și sincronizarea canalului și filtrarea adaptivă

Pentru ca filtrul adaptiv să funcționeze bine, trebuie mai întâi realizată estimarea și sincronizarea canalului. Atât blocul de estimare a canalului cât și filtrul adaptiv au ca semnale de intrare, semnalul r , care conține pachetul GSM, precum și factorul de supraeșantionare OSR= fs/rb, fs fiind frecvența de eșantionare, iar rb rata de simbol. Tot ca semnal de intrare în ambele blocuri este lungimea dorită pentru răspunsul la impuls al canalului, Lh, măsurată în perioade de bit.

Blocul ce realizează estimarea canalului oferă ca intrare filtrului adaptiv estimarea răspunsului la impuls, h.

Pentru a realiza o interfață corectă cu blocul de implementare MLSE, funcția mafi.m trebuie să ofere o versiune eșantionată (un eșantion per simbol) a pachetului filtrat adaptiv și funcția de autocorelație a raspunsului la impuls, Rhh.

Pentru a înțelege mai bine operația realizată de funcția mafi.m reamintim că secvența de test este inserată în fiecare pachet. Metoda pentru obținerea sincronizării se bazează pe proprietățile matematice ale acestei secvențe. Pentru secvența de test dată, echivalentul de mapare MSK este:

TSEQ = [1, j, 1, -j, 1, -j, -1, j, -1, -j, -1, -j, 1, j, 1, -j, 1, j, 1, -j, 1, -j, -1, j, -1, -j ]

Aceasta este una din cele opt secvențe de test predefinite atunci când este considerat un pachet. Din această structură, cele șaisprezece simboluri centrale sunt redenumite TSEQc . Dacă adăugăm câte cinci zerouri la ambele capete, obținem secvența TSEQE.

Tehnica ferestrei glisante utilizează faptul că în sistemul GSM sincronizarea grosieră se prezintă pe baza pachetelor sincronizate dedicate. Sincronizarea grosieră este folosită pentru împărțirea intervalului de timp al semnalului recepționat astfel încât burst-ul dorit să poată fi localizat. Această secvență eșantionată este r.

Primul pas în tehnica ferestrei glisante este produsul de convoluție între r și TSEQc[-] *, obținându-se semnalul v:

v = r* TSEQc [-]* (13)

v este un rezultat intermediar, toate eșantioanele din v fiind ridicate la pătrat pentru obținerea energiei estimate:

e[n] = v[n]2 (14)

Energia ferestrei se calculează cu formula:

m+L

we[m] = Σ e[k] (15)

k=m

pentru ultimile L eșantioane din e, unde L=(Lh*OSR)-1.

Eșantionul mmax din e conținând cea mai mare valoare a energiei, corespunde cu primul eșantion al răspunsului la impuls al canalului în v. Din mmax și rata de supraeșantionare putem extrage un răspuns la impuls estimat și să determinăm începutul pachetului.

Lungimea lui h a fost limitată la

Lh Є {2, 3, 4} (16)

Numărul de eșantioane din h este dat astfel nu de Lh ci de

OSR*(Lh + 1) (17)

Filtrarea adaptivă poate fi realizată aplicând:

Y = r*h*[-] (18)

Y trebuie să conțină un eșantion per simbol MSK în pachetul recepționat. Este folosită o tehnică specială astfel că sincronizarea nu este pierdută în timpul filtrării adaptive.

Toate aceste funcții sunt realizate de funcția din Matlab mafi.m.

2. Configurarea optimizării (MLSE- Minimum Least Square Error)

Partea receptorului ce realizează detecția semnalului recepționat este detectorul MLSE. Acesta este realizat ca un egalizor Vitebi. Intrările în detectorul MLSE sunt Y și Rhh . Ieșirea din MLSE este rx_burst care este o estimare a celei mai probabile secvențe de simboluri binare transmise.

Detectorul MLSE are structura din figura 6.14.

I Iest

tx

rx

Fig. 6.14 Sistemul de bază al detectorului MLSE.

În figură detectorul MLSE este prezentat ca un detector Viterbi, ceea ce presupune existența unui sistem în care o suită de simboluri MSK sunt transmise printr-un canal mobil. Existența acestui canal nu este reală, acesta asigurând calea semnalului de la ieșirea blocului de mapare MSK la intrarea filtrului adaptiv. Simbolurile MSK se obțin din secvența binară de transmis și vice versa. Simbolurile MSK sunt apoi mapate pentru a obține informație binară. Detectorul Viterbi realizează o estimare a secvenței de simboluri MSK de intrare în canalul mobil.

Pentru implementarea algoritmului este necesar un răspuns la impuls cauzal h, de durată finită Lh. Acesta nu trebuie să înregistreze modificări semnificative în timpul recepționării pachetului GSM.

Sistemul poate fi considerat ca o mașină de stări finite, fiecare stare, în timp discret n, depinzând doar de cele Lh simboluri MSK anterioare din I. Declanșatorul de simboluri MSK deplasează starea mașinii, starea următoare fiind unic determinată de simbolul MSK prezent, din I.

Starea mașinii la momentul n este :

σ[n] = [I[n], I[n-1],…, I[n-(Lh – 1)]] (19)

Partea din dreapta a egalității reprezintă secvența de Lh simboluri MSK. Stările generale, în care valoarea lui I[n] se presupune a fi j sau –j, se numesc stări complexe, iar cele pentru care I[n] are valoarea 1 sau –1, se numesc stări reale.

Pentru determinarea numărului de stări ținem cont de existența celor patru stări j, -j, 1, -1 și de faptul că o stare este descrisă de ultimile Lh simboluri. De asemenea ținem seama că dacă simbolul I[n] este real, atunci I[n+1] este complex și vice versa. Numărul de stări este :

M = 2Lh+1 (20)

Astfel, σ[n] este conținut într-un set de stări format din M stări. Dacă ne referim la stări individuale ca sm, setul poate fi exprimat sub forma:

σ[n] Є {s1, s2,…, sM} (21)

O stare este unic determinată printr-un întreg, numit numărul stării.

Referindu-ne la formula (20) și ținând seama că Lh ≤ 4, numărul de stări este mai mic sau egal cu treizeci și doi. În implementare nu există o mapare predefinită între simbolurile MSK și numărul de stări. Alternativ cu maparea predefinită se construiește o tabelă de mapare, care poate fi reprezentată prin patru simboluri MSK extractibile atunci când acestea sunt cerute. Căutarea în tabel se face folosind numărul stării ca index. Utilizând reprezentarea numerică a stărilor, o modificare a stării prezente pentru obținerea următoarelor stări, necesită o apelare a întregului din tabela de mapare, urmată de deplasarea actuală. Pentru evitarea depășirilor nedorite asociate, se construiește un set de tabele de tranziție. Aceste tabele de tranziție pot fi folosite pentru obținerea stărilor următoare și anterioară, folosind numărul stării prezente ca index. Cu excepția limitării stărilor următoare și anterioară la o singură stare, este posibilă reducerea numărului de stări la orice moment de timp discret. Aceasta datorită faptului că este posibilă determinarea unei stări de start unice cu ajutorul algoritmului. Pentru că simbolurile MSK sunt trecute de la valori complexe la valori reale, cunoașterea stării de start limitează numărul de stări la orice moment de timp până la M/2 . În consecință, dacă luăm ca exemplu starea de start la momentul n=0 ca fiind complexă, atunci și starea la momentul n=200 este tot complexă.

Problema găsirii celei mai probabile secvențe de simboluri MSK se schimbă acum în localizarea celei mai probabile căi către cadrul de stări. Conceptul de cadru de stări este ilustrat în figura 6.15, pentru Lh=1. Cadrele de stări actuale au M=21+1=4 stări diferite și atâtea tranziții câte eșantioane sunt în Y.

Fig. 6.15 Transmiterea unei secvențe de simboluri MSK, folosind Lh=1 și o secvență transmisă de tipul I=1,-j, 1, j, 1, j, -1. Mașina de stări presupune o stare nouă pentru fiecare moment de timp discret n.

Căutând calea cea mai probabilă către cadrul de stări, se introduce conceptul de metrică. La toate momentele de timp n discrete, stările m au asociate o metrică de salvare. În implementarea calculului metricei este cu atât mai bine cu cât valoarea metricei este mai mare. Termenul „ salvare”

înseamnă în cazul de față că există două căi către fiecare stare. Fiecare cale duce la existența unei metrice a stării. Metrica de salvare are valoarea cea mai mare dintre cele două metrice ale stării. Metrica unei căi la o stare este găsită pornind de la metrica stării anterioare de pe aceeași cale, la care se adaugă o contribuție generată de tranziția de la starea anterioară la starea curentă.

Pentru a găsi cea mai probabilă cale în cadrul de stări, se pornește de la starea de start predeterminată și se continuă până la sfârșitul cadrului de stări. În timpul traversării cadrului, se calculează metrica „de salvare” pentru toate stările, la toate momentele de timp discrete. Mai mult, se reține pentru toate aceste stări starea următoare care a fost aleasă ca și contribuitor la metrica „de salvare” a fiecărei stări. Starea cu cea mai mare metrică la momentul de timp final este aleasă să fie ultima stare în secvența de stări cea mai probabilă. Pornind de la aceasta se determină pe rând stările anterioare, până la determinarea întregii secvențe de stări din calea cea mai probabilă stabilită.

Calculul creșterii metricii relativ la tranziția unei stări se interpretează ca un câștig, dat de formula (22). n-1

Gain(Y[n], sa, sb) = 2R{I*[n] Y[n]} – 2R{I*[n] ∑ I[m]Rhh[n-m]}- |I[n]|2Rhh[0] (22)

m=n-Lh

în care sa și sb sunt stările anterioară și curentă, descrise de simbolurile MSK corespunzătoare.Yn este eșantionul cu numărul n din Y. Se folosesc doar valorile Rhh etalonate cu indexul de la 0 la Lh.

Din secvența de stări se determină secvența de simboluri MSK, pornind de la primul simbol, care completează fiecare stare.

Detectorul Viterbi este implementat în Matlab. Implementarea este împărțită în două funcții, datorită faptului că structura datelor folosite de algoritm nu depinde de Y.

Demultiplexarea, de-întrețeserea și decodarea canalului

Cele trei procese sunt implementate în trei blocuri diferite și realizate cu funcțiile channel_dec.m, deinterleave.m, și DeMUX.m.

Demultiplexarea

Variabila de intrare în demultiplexor este rx_burst. Ieșirea din demultiplexor este conținută în două câmpuri de date din burst-ul standard GSM, variabila de ieșire fiind rx_data. Demultiplexorul localizează câmpul de date în rx_burst și le copiază în rx_data.

De-întrețeserea

Se sintetizează datele codate rx_enc din datele recepționate rx_data. Operația de de-întrețesere se face respectând formulele următoare:

R = 4*B + ( b mod 8)

r = 2*((49*b) mod 57) + ((b mod 8) div 4) (23)

ceea ce înseamnă că bitul b din secvența rx_enc, din pachetul B, poate fi extras din secvența rx_data,din pachetul R, de la poziția r . Pentru fiecare trecere prin de-întrețesere se obține un exemplu rx_enc.

Figura 6.16 Operația de de-întrețesere cu coada de așteptare. Blocul de de-întrețesere citește toată coada. La fiecare trecere prin acesta, patru noi seturi rx_data avansează în coadă, cele patru seturi vechi fiind îndepărtate. La fiecare trecere prin de-întrețesere se obține câte un exemplu rx_enc.

Decodarea canalului

Schema de codare utilizată în sistemul GSM are două niveluri de codare. Aceasta este ilustrată în figura 6.18.

zgomot

Fig. 6.18 Schema de codare utilizată în GSM

O posibilă diagramă de tranziție a stărilor folosită pentru decodarea secvenței recepționate este ilustrată în figura de mai jos:

Figura 6.19 Diagrama de tranziții a stărilor pentru sistemul GSM.

Diagrama este dedusă după codarea de la emisie, stările fiind ordonate într-o manieră binară. Starea 1 reprezintă situația în care codorul are în registrul său numai zerouri s1={0000}, iar starea 2 reprezintă situația s2 ={0001}. În acest fel poate fi caracterizat complet codorul. Decodorul optim pentru un semnal codat convoluțional este decodorul Viterbi.

Ne interesează numai metrica folosită pentru determinarea celei mai probabile secvențe pentru că diferă de cea folosită de demodulatorul GMSK. Pentru că decodorul convoluțional operează cu simboluri binare de informație, este definită o metrică mai simplă:

k-1

λ(s0k) = Σ λ(ζi) (24)

i=0

unde sk0= {s0, s1, s2, …, sk} reprezintă o secvență de stări dată , iar ξi reprezintă tranziția cu numărul i. Măsura distanței Euclidiene se folosește aici pentru determinarea metricii mărite pentru o tranziție de stări cunoscută.

λ (ζi) = (yk – xk)2 = xor(ykbin , xkbin) (25)

unde ykbin este simbolul binar recepționat , iar xkbin simbolurile care se presupune că vor determina o tranziție de stări cunoscută.

Simplificarea relației anterioare este posibilă dacă decodorul lucrează cu informație binară.

Stări Dibiți recepționați

λ1 = XOR {11, 00} =2 λ1 = XOR {01, 00} =1

λ9 = XOR {11, 11} =0 λ9 = XOR {01, 11} =1

M1 = 0+2 = 2 M1 = 2+1 = 3

M9 = 0+0 = 0 M9 = 2+1 = 3

Fig. 6.21 Calculul metricii care compromite o parte din implementarea decodorului de canal.

Pe baza principiului din figura de mai sus și al metricii „de salvare” , întreaga structură de cadru este formată ca și cum ar fi fost în demodulatorul GMSK.

Fiind determinată starea de final cu cea mai mică valoare a metricii, cadrul este parcurs pentru determinarea celei mai probabile secvențe de stări. Aceasta poate fi apoi decodată pentru a extrage secvența de cod transmisă. Decodorul are la intrare semnal alcătuit din dibiți, iar la ieșire din biți, ceea ce duce la o rată de bit egală cu 2.

Utilizând funcția GSMsim_demo_2, se obțin patru tipuri de BER:

– tipul Ia- rata de eroare per bit în cazul decodării biților de tip Ia.

– tipul Ib- rata de eroare per bit în cazul decodării biților de tip Ib.

– tipul II- rata de eroare per bit în cazul biților de tip II neprotejați.

– tipul II-Cheat- pentru acest tip de rată de eroare per bit, se consideră toți biții din blocurile recepționate ca fiind de tip II. Acest tip de BER este asemănătoare cu cel anterior, având însă o bază statistică mai substanțială.

Funcția este folosită pentru estimarea convergenței tuturor tipurilor de BER, rezultate. Pentru ilustrarea convergenței, sunt rulate trei simulări pentru 10000 de blocuri, însemnând 40000 de burst-uri, pentru Lh= 2, 3 și respectiv 4. Cele patru tipuri de BER sunt reprezentate în figurile următoare.

Numărul de blocuri

Fig. 6.22 Proprietățile de convergență, utilizând Lh=2. Tipurile Ia și Ib sunt reprezentate prin linia punctată de la nivelul aproximativ egal cu zero. Linia continuă reprezintă tipul II de BER, iar linia punctată de deasupra reprezintă tipul II-CHEAT.

Numărul de blocuri

Fig. 6.23 Proprietățile de convergență pentru Lh=3. Cele două tipuri II de BER sunt aproape identice, fiind reprezentate de liniile de sus ale graficului. De asemenea și cele două tipuri I sunt aproape identice.

Numărul de blocuri

Fig. 6.24 Proprietățile de convergență pentru Lh=4. Cele două reprezentări ale tipului II sunt aproape identice.

Utilizarea setului de funcții GSMsim

GSMsim conține funcții de bază, la care se mai adaugă câteva subfuncții, printre acestea numărându-se următoarele:

data_gen.m: Generează date aleatoare pentru transmisie

channel_enc.m: Realizează paritatea și codarea convoluțională a biților de

date

interleave.m: Realizează întrețeserea secvenței de date codate

gsm_mod.m: Modulează și multiplexează pachetele

mf.m: Realizează estimarea canalului, sincronizarea, filtrarea

adaptivă și eșantionarea

channel_simulator.m: Asigură simularea părții frontale a transmițătorului, a

canalului și a părții frontale a receptorului.

viterbi_init.m: Setează structura datelor pentru detectorul Viterbi.

viterbi_detector.m: Implementează o decizie hard numai dacă blocul MLSE se

bazează pe algoritmul modificat Ungerboeck.

DeMUX.m: Realizează demultiplexarea simplă a secvenței de date

recepționate

deinterleave.m: Realizează de-întrețeserea secvenței de date recepționate

channel_dec.m: Realizează decodarea canalului.

În continuare este prezentată implementarea funcțiilor în Matlab.

*Funcția gsm_set.m – inițializează valorile necesare pachetului GSMsim și trebuie rulată înaintea acestuia.

Tb=3.692e-6;

BT=0.3;

OSR=4;

// inițializarea generatorului de numere aleatoare, utilizând aceeași valoare

// SEED în toate simulările.

SEED=931316785;

rand('seed',SEED);

// numărul de biți generați de generatorul de date

INIT_L=114;

// setarea secvenței de test utilizată pentru construirea pachetului de transmis

TRAINING=[0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1]

// setarea secvenței de test pentru maparea MSK, pornind de la secvența TRAINING

T_SEQ=T_SEQ_gen(TRAINING);

function [tx_data]=data_gen(INIT_L);

//funcția generează un bloc de biți aleator

//lungimea vectorului de date este dată de parametrul INIT_L.

//tx_data reprezintă vectorul ce conține secvența de date aleatoare, de

//lungime INIT_L.

tx_data=round(rand(1,INIT_L));

//funcția se bazează pe funcția rand, care asigură distribuția uniformă a

// datelor în intervalul [0.0 ; 1.0]

function [tx_enc]=channel_enc(tx_block)

//funcția acceptă ca intrare un vector de 260 biți, tx_block, conținând

//secvența de date de transmis.

//cei 260 biți sunt împărțiți în trei clase, astfel:

// | clasa Ia| clasa Ib | clasa II |

// | 50 | 132 | 78 |

// biții din clasa Ia sunt supuși codării cu verificarea parității, fiind

// adăugați 3 biți de control al erorii. Biții din clasa Ia sunt combinați apoi // cu biții din clasa Ib, fiind codați convoluțional conform standardului GSM

// 05.05 .Biții din clasa II sunt lăsați neprotejați.

// Lungimea vectorului de intrare este expandată prin codare, obținându-se un

//bloc de date de lungime 456 biți.

L= length(tx_block);

// se verifică lungimea secvenței de intrare

if L~=260

disp('')

disp('violarea dimensiunii secvenței de date de intrare.program terminat')

disp('')

break;

end

//se separă biții de intrare în cele trei clase

c1a=tx_data(1:50);

c1b=tx_data(51:182);

c2=tx_data(183:260);

//codarea convoluțională.sunt adăugați trei biți de control.

g=[1 0 1 1];

d=[c1a 0 0 0];

[q,r]=deconv(d,g);

//se reprezintă rezultatul sub formă binară

L=length(r);

out=abs(r(L-2:L));

for n=1:length(out),

if ceil(out(n)/2)==floor(out(n)/2)

out(n)=1;

else

out(n)=0;

end

end

c1a=[c1a out];

//biții din clasa I sunt combinați, adăugându-se și cei 4 biți reprezentând

//fanionul, conform standardului GSM 05.03

c1=[c1a c1b 0 0 0 0];

//codare convoluțională a biților de date, conform standardului GSM 05.05

register=zeros(1,4);

data_seq=[register c1];

enc_a=zeros(1,189);

enc_b=zeros(1,189);

encoded=zeros(1,378);

for n=1:189 ,

enc_a(n)=xor(xor(data_seq(n+4),data_seq(n+1)),data_seq(n));

enc_temp=xor(data_seq(n+4),data_seq(n+3));

enc_b(n)=xor(xor(enc_temp,data_seq(n+1)),data_seq(n));

encoded(2*n-1)=enc_a(n);

encoded(2*n)=enc_b(n);

clear enc_temp

end

// datele de ieșire

tx_enc=[encoded c2];

function [tx_data_matrix]=interleave(tx_enc0,tx_enc1)

//funcția realizează intrețeserea a două blocuri de informație,tx_enc0 și

//tx_enc1,fiecare de lungime 456 biți.recomandările avertizează că nu toți cei

//2×456 biți se vor regăsi la ieșire.

//ieșirea este o matrice cu 4 linii, fiecare conținând 114 biți de informație

//urmând a fi impărțită în două și fiind aplicată la intrarea multiplexorului.

tx=[tx_enc0;tx_enc1] ;

Blocks=1

BitsInBurst=113

out=fopen('interleave.tmp','w')

for T=0:3

for t=0:BitsInBurst

b=mod((57*mod(T,4)+t*32+196*mod(t,2)),456)

B=floor((T-mod(b,8))/4)

fprintf(out,'tx_data_matrix(%d,%d)=tx_enc%d(%d);\n',T+1,t+1,B+1,b+1)

tx_data_matrix(T+1,t+1)=tx(B+1+1,b+1);

end

end

fclose(out)

function tx_burst=burst_g(tx_data, TRAINING)

//funcția generează o secvență de biți, reprezentând un pachet de date GSM.

//sunt incluse fanioanele, biții de control, biții de date și secvența de test.

//burstul GSM conține un număr de 148 de biți,după cum este reprezentat mai jos:

// fanion|biți de date|biți de control|secvența de test|control|date|fanion

// 3 | 57 | 1 | 26 | 1 | 57 | 3

// [fanion]=[000]

// [control]=[0] sau [1], aici [1]

// [secvența de test] este definită în funcție

TAIL = [000];

CTRL = [1];

//formarea secvenței de biți

tx_burst =[TAIL tx_data(1 : 57) CTRL TRAINING CTRL tx_data(58 : 114) TAIL];

function DIFF_ENC_DATA=diff_enc(BURST)

// intrarea: D(i) , ieșirea: A(i)

// D'(I)= D(i) (+) D(i-1) ; (+)= xor

// D(i), D'(i)={0,1}

// A(i)=1-2*D'(i)

// A(i)={-1,1}

L=length (BURST);

//vectorii intermediari pentru procesarea datelor

d_hat=zeros(1,L);

alpha=zeros(1,L);

//codarea diferențiala conform standardului GSM 05.05

//burstul este precedat de o secvență de '1'

data=[1 BURST];

for n=1+1:(L+1),

d_hat(n-1)=xor( data(n) ,data(n-1));

end

alpha=1-2.*d_hat;

//datele de ieșire

DIFF_ENC_DATA= alpha;

function [tx_burst,I,Q]=gsm_mod(Tb,OSR,BT,tx_data,TRAINING)

// funcția generează pachetul format din biții de date , fanion, secvența de

// test și biții de control. Biții de date sunt codați convoluțional.

// se realizează codarea diferențială și apoi modulația GMSK, obținându-se

// reprezentările semnalelor I și Q.

// parametri de intrare: Tb, osr, BT-generate de funcția gsm_set.m;

// tx_data- conține cele două câmpuri de date în ordine;

// TRAINING- secvența de test inserată în burst.

// parametrii de ieșire:tx_burst, I, Q.

// avertisment: nu s-a facut codarea si intrețeserea. Simularea folosind acest

// format se poate utiliza doar pentru clasa a II-a de predicție.

// generarea secvenței

tx_burst=burst_g(tx_data,TRAINING);

// codarea diferențială

burst=diff_enc(tx_burst);

// modulația GMSK a secvenței

[I,Q]=gmsk_mod(burst,Tb,OSR,BT);

function [I,Q] = gmsk_mod(BURST,Tb,OSR,BT)

// funcția acceptă ca parametru de intrare secvența de biți codată A(i)=(-1,1),

// realizând modulația GMSK conform standardului GSM 05.05

// perioada de bit este Tb = 3.692e-6 Sec

// osr reprezintă rata de supraeșantionare și determină numărul de pași de

// simulare per bit de informație.

// BT este lațimea benzii, în GSM: BT=0.3

// semnalele de ieșire sunt i si q-reprezentarea în fază și respectiv în

// cuadratură a secvenței de intrare modulată GMSK.

// subfuncția ph_g.m generează impulsul de frecvență și faza.

// semnalele de ieșire îndeplinesc condițiile:

// 1) I^2 + Q^2 = Cos(a)^2 + Sin(a)^2 = 1

// 2) atunci când semnalul de intrare este compus numai din simboluri '1',

// semnalele de ieșire sunt sinusoidale de frecvență rb/4,

// (perioada 4*Tb = 4*3.692e-6 s = 1.48e-5 s).

//asigurarea impulsului de frecvență GMSK și a fazei

[g,q] = ph_g(Tb,OSR,BT);

// pregătirea vectorului pentru procesarea datelor

bits = length(BURST);

f_res = zeros(1,(bits+2)*OSR);

// generarea secvenței de impulsuri de frecvență

for n = 1:bits,

f_res((n-1)*OSR+1:(n+2)*OSR) = f_res((n-1)*OSR+1:(n+2)*OSR) + BURST(n).*g;

end

//calculul fazei rezultate

theta = pi*cumsum(f_res);

// datele de ieșire

I=cos(theta);

Q=sin(theta);

function [ INCREMENT ] = make_increment(SYMBOLS,NEXT,Rhh)

// funcția oferă o tabelă de căutare conținând deplasările metricei relativ la

// trecerea de la starea n la starea m.

// Incrementarea asociată cu o trecere de la starea n la starea m este

// INCREMENT(n, m)

// parametrii de intrare: SYMBOLS: tabela de simboluri conținând numerele

// stărilor

// NEXT: tabela de tranziții conținând stările următoare

// generate de funcția make_next.

// Rhh: funcția de autocorelație estimată de funcția mf.m.

// parametrul de ieșire: INCREMENT-tabela de incrementare descrisă anterior.

// această secvență de cod se execută la recepționarea fiecărui pachet.

// determinarea numărului de simboluri

[M,Lh]=size(SYMBOLS);

// inițializarea matricei de incrementare

INCREMENT=zeros(M);

// secvența I este reprezentată astfel:

// [ I(n-1) I(n-2) I(n-3) … I(n-Lh) ]

// Rhh este reprezentată ca:

// [ Rhh(1) Rhh(2) Rhh(3) … Rhh(Lh) ]

// formula folosită este:

// INCREMENT(n,m) =real(conj(I(n))*(I(n-Lh)*Rhh(Lh)+I(n-Lh+1)*Rhh(Lh-1)+…+

// +I(n-// 1)*Rhh(1))

//bucla de stări, formată din simbolurile din liniile tabelei.

for n=1:M,

//există numai două stări următoare, astfel că bucla este nerulată

m=NEXT(n,1);

INCREMENT(n,m)=real(conj([SYMBOLS(m,1)])*SYMBOLS(n,:)*Rhh(2:Lh+1).’);

m=NEXT(n,2);

INCREMENT(n,m)=real(conj([SYMBOLS(m,1)])*SYMBOLS(n,:)*Rhh(2:Lh+1).’);

end

function [ NEXT ] = make_next(SYMBOLS)

// funcția oferă o tabelă de căutare conținând o mapare între starea curentă și

// următoarele stări.Fiecare linie corespunde unei stări, iar cele două stări

// corespunzătoare stării n sunt localizate în NEXT(n,1) și în NEXT(n,2).

// stările sunt reprezentate prin numerele lor corespunzătoare.

// parametrul de intrare: SYMBOLS-tabela de simboluri corespunzând numerelor

// stărilor.

// parametrul de ieșire: NEXT-tabela de tranziții descriind stările următoare

// așa cum au fost descrise anterior.

// determinăm numărul de bucle de rulat.

// acesta este egal cu numărul de simboluri. De asemenea este necesară și

// determinarea parametrului maxsum, pentru operațiile viitoare.

[ states , maxsum ]=size(SYMBOLS);

search_matrix=SYMBOLS(:,2:maxsum);

maxsum=maxsum-1;

// buclă de simboluri.

for this_state=1:states,

search_vector=SYMBOLS(this_state,1:maxsum);

k=0;

for search=1:states,

if (sum(search_matrix(search,:)==search_vector)==maxsum)

k=k+1;

NEXT(this_state,k)=search;

if k > 2,

error(’Eroare: s-au identificat prea multe stări viitoare’);

end

end

end

end

function [ PREVIOUS ] = make_previous(SYMBOLS)

// funcția oferă o tabelă de căutare conținând maparea între starea curentă

// și stările viitoare. Fiecare linie corespunde unei stări, iar cele două

// stări caracteristice stării n sunt localizate în PREVIOUS(n,1) și în

// previous(n,2). Stările sunt reprezentate prin numerele caracteristice.

// parametrul de intrare: SYMBOL-tabela de simboluri corespunzătoare numerelor

// stărilor.

// parametrul de ieșire: PREVIOUS- tabela de tranziții descriind stările

// viitoare.

// determinăm numărul de bucle de rulat. acesta este egal cu numărul de

// simboluri

// determinăm și parametrul maxsum pentru operațiile viitoare.

[ states , maxsum ]=size(SYMBOLS);

maxsum=maxsum-1;

search_matrix=SYMBOLS(:,1:maxsum);

// buclă de simboluri

for this_state=1:states,

search_vector=SYMBOLS(this_state,2:maxsum+1);

k=0;

for search=1:states,

if (sum(search_matrix(search,:)==search_vector)==maxsum)

k=k+1;

PREVIOUS(this_state,k)=search;

if k > 2,

error(’Eroare: s-au identificat prea multe stări anterioare’);

end

end

end

end

function [ START ] = make_start(Lh,SYMBOLS)

// funcția oferă numărul stării corespunzătoare stării de start, Lh.

// metoda este folosirea tabelei de stări de start simbolice.

// se realizează maparea din reprezentarea sub formă de simboluri în

// reprezentarea sub formă de număr de stare.

// parametrii de intrare: SYMBOLS-tabela de simboluricorespunzătoare

// numerelor stărilor.

// Lh: lungimea răspunsului la impuls estimat.

// parametrul de ieșire: START- reprezentarea sub formă de număr a stării de

// start.

START_NOT_FOUND = 1;

// obținerea simbolurilor din Lh (reprezentarea stărilor este schimbată).

if Lh==1,

start_symbols = [ 1 ];

elseif Lh==2,

start_symbols = [ 1 -j ];

elseif Lh==3,

start_symbols = [ 1 -j -1 ];

elseif Lh==4,

start_symbols = [ 1 -j -1 j ];

else

fprintf(’\n\nEroare: valoare ilegală a lui Lh, terminare…’);

end

// maparea simbolurilor în numere de stări prin căutarea simbolurilor.

START=0;

while START_NOT_FOUND,

START=START+1;

if sum(SYMBOLS(START,:)==start_symbols)==Lh,

START_NOT_FOUND=0;

end

end

function [ STOPS ] = make_stops(Lh,SYMBOLS)

// funcția oferă un număr de stare corespunzător setului de stări de stop, dat // de Lh.

// metoda este folosirea tabelei de stări de stop simbolice, menționată în

// raportul 95gr870T. Se realizează maparea de la reprezentarea sub formă de

// simboluri la reprezentarea numerică a stărilor.

// parametrii de intrare: SYMBOLS-tabela de simboluri corespunzând numerelor

// stărilor.

// Lh- lungimea răspunsului la impuls estimat.

// parametrul de ieșire: STOPS-reprezentarea numerică a setului de stări de stop

// obținerea simbolurilor din Lh (reprezentarea stărilor este schimbată).

if Lh==1,

stop_symbols = [ -1 ];

count=1;

elseif Lh==2,

stop_symbols = [ -1 j ];

count=1;

elseif Lh==3,

stop_symbols = [ -1 j 1 ];

count=1;

elseif Lh==4,

stop_symbols = [ [ -1 j 1 -j ] ; [ -1 j 1 j ] ];

count=2;

else

fprintf(’\n\nError: valoare ilegală a lui Lh, terminare…’);

end

// având reprezentarea simbolurilor, trebuie să mapăm simbolurile MSK în numere //de stări.

index = 0;

stops_found=0;

while stops_found < count,

index=index+1;

if sum(SYMBOLS(index,:)==stop_symbols(stops_found+1,:))==Lh,

stops_found=stops_found+1;

STOPS(stops_found)=index;

end

end

function [ SYMBOLS ] = make_symbols(Lh)

// funcția oferă o tabelă conținând maparea de la numerele stărilor la simboluri

// Tabela se află într-o matrice, iar configurația este:

// | Symboluri pentru starea 1 |

// | Symboluri pentru starea 2 |

// | Symboluri pentru starea M |

// unde M este numărul total de stări și poate fi calculat ca:

// 2^(Lh+1). Lh este lungimea răspunsului la impuls estimat, găsit în rutina mf

// În simboluri, pentru numărul unei stări, ordinea este::

// I(n-1) I(n-2) I(n-3) … I(n-Lh)

// acestea corespunzând cu { 1 , -1 , j , -j }.

// parametrul de intrare: Lh

// parametrul de ieșire: SYMBOL-tabela de simboluri corespunzând numărului de

// stări

// funcția nu suportă Lh=1 sau Lh>4.

if Lh==1,

error(’GSMsim-Eroare: Lh trebuie să aparțină intervalului[1:4].’);

elseif Lh > 4,

error(’GSMsim-Eroare: Lh trebuie să aparțină intervalului [1:4].’)

end

// simbolurile de inițiere

SYMBOLS=[ 1; j; -1 ; -j];

for n=1:Lh-1

SYMBOLS=[[ SYMBOLS(:,1)*j , SYMBOLS ] ; [ SYMBOLS(:,1)*(-j) , SYMBOLS ]];

end

// starea cu numărul unu trebuie să fie complexă. această cerință este impusă de

// implementarea algoritmului VITERBI

if isreal(SYMBOLS(1,1)),

SYMBOLS=flipud(SYMBOLS);

end

function [r]=channel_simulator(I,Q,OSR)

// funcția oferă o medie necesară pentru detecția erorilor din pachetul GSMsim

// parametrul de ieșire: r –semnalul recepționat după predicția realizată de

// simularea canalului.

// simularea canalului inclusă în pachetul GSMsim adaugă zgomot, limitat numai

// de rata de eșantionare.

Var=0.02;

FACTOR=sqrt(Var);

samples=length(I);

random=randn(1,2*samples);

r= I + j.*Q + random(1:samples).*FACTOR;

r= r + random(samples+1:2*samples).*FACTOR.*j;

function [Y, Rhh] =mafi(r,L,T_SEQ,OSR)

// funcția asigură estimarea răspunsului la impuls al canalului, sincronizarea

// de bit, filtrarea adaptivă și deconversia ratei de eșantionare a semnalului.

// parametrii de intrare: r- reprezentarea complexă a semnalului modulat GMSK;

// Lh- lungimea dorită pentru răspunsul la impuls al filtrului adaptiv măsurată

// în perioade de bit.

// T_SEQ- reprezentarea MSK a unei secvențe de test de 26 biți, folosită în

// semnalul de la transmisie, secvența de test utilizată pentru generarea lui r.

// OSR- rata de supraeșantionare, OSR=f_s/r_b.

//parametrii de ieșire: Y- reprezentarea complexă a filtrării

// adaptive și a semnalului recepționat .

// Rhh- autocorelația răspunsului canalului estimat la impuls. Formatul este

// un vector coloană de lungime Lh+1, începând cu Rhh[0] și sfârșind cu Rhh[Lh].

DEBUG=0;

// ca un compromis se iau 16 biți centrali [A|B|C].Conjugare complexă.

T16=conj(T_SEQ(6:21));

// extragerea părții relevante din semnalul recepționat. Se folosesc intervale

// de gardă pentru extragerea părții ce începe la 10Tb înaintea secvenței de

// test de 16 biți și se termină la 10Tb după aceasta. Presupunem că această

// parte a semnalului va fi centrată într-un lanț de eșantionare.

GUARD=10;

center_r=round(length(r)/2);

start_sub=center_r-(GUARD+8)*OSR;

end_sub=center_r+(GUARD+8)*OSR;

r_sub=r(start_sub:end_sub);

if DEBUG,

// corecția verifică dacă am ales partea corectă a semnalului

count=1:length(r);

figure

plot (count,real(r));

plug=start_sub:end_sub;

hold on;

plot(plug,real(r_sub),'r')

hold off;

title ('Partea reală a lui r și r_sub (red)');

end

// vectorul pentru procesarea datelor

chan_est=zeros(1,length(r_sub)-OSR*16);

// estimarea răspunsului canalului la impuls utilizând doar eșantioanele

// OSR în semnalul recepționat.

for n=1:length(chan_est),

chan_est(n)r_sub(n:OSR:n+15*OSR)*T16.';

end

if DEBUG,

// corecția oferă un grafic al răspunsului canalului la impuls

figure;

plot (abs(chan_est));

title('Valoarea absolută a corelației');

end

chan_est=chan_est./16;

// extragerea răspunsului la impuls prin estimarea puterii maxime, folosind

// o fereastră de dimensiune OSR*(L+1)

WL=OSR*(L+1);

search=abs(chan_est).^2;

for n=1:(length(search)-(WL-1)),

power_est(n)=sum(search(n:n+WL-1));

end

if DEBUG,

//corecția indică puterea estimată

figure;

plot(power_est);

title('Ferastra puterii');

end

// cautăm în fereastra de putere valoarea maximă și selectăm coeficienții

// filtrului adaptiv corespunzători. Estimăm eșantionul de sincronizare

// corespunzător primului eșantion din secvența de test T16.

[peak,sync_w]=max(power_est);

h_est=chan_est(sync_w:sync_w+WL-1);

[peak, sync_h] = max(abs(h_est));

sync_T16 = sync_w + sync_h – 1;

if DEBUG,

// corecția arată puterea estimată

figure;

plot(abs(h_est));

title(’valoarea absolută a răspunsului la impuls extras’);

end

// vom folosi primul eșantion al răspunsului la impuls și eșantioanele

// corespunzătoare din semnalul recepționat.

// variabila sync_w conține prima parte din secvența de test folosită, de

// 3+57+1+6=67 biți. sync_T16 reprezintă primul eșantion în bitul numărul 67.

burst_start = ( start_sub + sync_T16 – 1 ) – ( OSR * 66 + 1 ) + 1;

// compensăm întârzierea de 2Tb introdusă în modulatorul GMSK.

// fiecare bit este extins pe o perioadă de 3 Tb cu valoarea sa maximă în

// ultima perioadă de bit. deci burst_start este deplasat cu 2*OSR.

burst_start = burst_start – 2*OSR + 1;

// calculul autocorelației răspunsului canalului la impuls

R_temp = xcorr(h_est);

pos = (length(R_temp)+1)/2;

Rhh=R_temp(pos:OSR:pos+L*OSR);

// filtrarea adaptivă

m = length(h_est)-1;

// un singur zero este inserat la inceputul lui r

// este necesară o supraeșantionare pentru evitarea intersectării marginilor

// suprafețelor.

GUARDmf = (GUARD+1)*OSR;

r_extended = [ zeros(1,GUARDmf) r zeros(1,m) zeros(1,GUARDmf)];

// conjugarea se face cu operațiile din Matlab

for n=1:148,

aa=GUARDmf+burst_start+(n-1)*OSR;

bb=GUARDmf+burst_start+(n-1)*OSR+m;

Y(n) = r_extended(aa:bb)*h_est’;

end

function [G_FUN, Q_FUN] = ph_g(Tb,OSR,BT)

// funcția calculează frecvența și faza necesare pentru modulația GMSK.

// aceste funcții sunt generate conform standardelor GSM 05.05.

// parametrii de intrare: Tb = 3.692e-6 Sec; OSR; BT=0.3

// parametrii de ieșire: vectorii g_fun,conținând frecvența și faza

// semnalelor de ieșire, în cazul evaluării osr*tb

// simularea frecvenței de eșantionare

Ts = Tb/OSR;

// vectorii pentru procesarea datelor

PTV = -2*Tb:Ts:2*Tb;

RTV = -Tb/2:Ts:Tb/2-Ts;

// generarea impulsului Gaussian de formare

sigma = sqrt(log(2))/(2*pi*BT);

gauss = (1/(sqrt(2*pi)*sigma*Tb))*exp(-PTV.^2/(2*sigma^2*Tb^2));

// generarea impulsului rectangular

rect = 1/(2*Tb)*ones(size(RTV));

// calculul impulsului de frecvență rezultant

G_TEMP = conv(gauss,rect);

// trunchierea funcției la 3xTb

G = G_TEMP(OSR+1:4*OSR);

// trunchierea implică integrarea pulsurilor de frecvență

// funcția nu va fi egală cu 0.5, deci trebuie făcuta re-normalizarea

G_FUN = (G-G(1))./(2*sum(G-G(1)));

// calculul impulsului de fază rezultant

Q_FUN = cumsum(G_FUN);

function T_SEQ=T_SEQ_gen(TRAINING)

// funcția furnizează versiunea mapată MSK a secvenței de test, pentru folosirea

// în pachetul de funcții GSMsim

// parametrul de intrare: secvența de test TRAINING reprezentată sub formă

// binară.

// parametrul de ieșire: T_SEQ- reprezentarea secvenței de test sub formă mapată

// MSK

// verificarea corectitudinii lui Ic. Dacă nu este corectă se abandonează.

if length(TRAINING) ~= 26

error('TRAINING nu este de lungime 26, terminare.')

end

// obținerea unei reprezentări polare a secvenței de test

TRAININGPol=(2.*TRAINING)-1;

// codarea diferențială a biților

for n=2:length(TRAININGPol)

a(n)=TRAININGPol(n)*TRAININGPol(n-1);

end

// maparea GMSK, opțională, a secvenței polare a(n)

T_SEQ(1)=1;

for n=2:length(TRAININGPol)

T_SEQ(n)=j*a(n)*T_SEQ(n-1);

end

function [ SYMBOLS , PREVIOUS , NEXT , START , STOPS ] = viterbi_init(Lh)

// funcția furnizează tabelele necesare demodulatorului Viterbi, implementat în

// pachetul GSMsim.

// parametrul de intrare: Lh- lungimea răspunsului la impuls al canalului minus // 1.

// parametrii de ieșire: SYMBOLS- numărul stării din tabela de mapare a

// simbolurilor MSK.

// PREVIOUS- starea anterioară din tabela de mapare

// NEXT- starea următoare din tabela de mapare

// START- starea de start a algoritmului Viterbi

// STOPS- setul de stări de stop pentru algoritmul Viterbi

// subfuncții ale acestei funcții sunt:

// make_symbols,make_previous,make_next,make_start,make_stops.

SYMBOLS = make_symbols(Lh);

PREVIOUS = make_previous(SYMBOLS);

NEXT = make_next(SYMBOLS);

START = make_start(Lh,SYMBOLS);

STOPS = make_stops(Lh,SYMBOLS);

function [ rx_burst ] =viterbi_detector(SYMBOLS,NEXT,PREVIOUS,START,STOPS,Y,Rhh)

// funcția realizează detecția secvenței recepționate. Algoritmul folosit

// este algoritmul Viterbi. Se abordează algoritmul modificat Ungerboeck.

// parametrii de intrare: SYMBOLS- tabela de simboluri corespunzătoare numerelor

// stărilor Formatul este realizat de funcția make_symbols.m

// NEXT: tabela de tranziții conținând stările următoare

// așa cum sunt generate de funcția make_next.m

// PREVIOUS: tabela de tranziții descriind următoarele

// stări generate de funcția make_previous.m

// START: starea de start a algoritmului

// STOPS: stările de stop.

// Y: reprezentarea complexă în banda de bază a

// filtrării adaptive și a semnalului recepționat

// filtrat așa cum este obținut din funcția mafi.m

// Rhh: funcția de autocorelație dată de funcția mafi.m

// parametrul de ieșire: rx_burst: cea mai probabilă secvență de simboluri.

// subfuncție: make_increment

// cunoașterea lui Lh și M este necesară pentru operarea algoritmului

[ M , Lh ] = size(SYMBOLS);

// numărul de pași în algoritmul Viterbi

STEPS=length(Y);

// inițializarea tabelelor

METRIC = zeros(M,STEPS);

SURVIVOR = zeros(M,STEPS);

// determinarea părții precalculabile a metricei

INCREMENT=make_increment(SYMBOLS,NEXT,Rhh);

// rularea algoritmului prin întinderea de la starea de start la toate celelalte

// stări

PS=START;

// starea de start se consideră a fi la momentul de timp 0 și nu are metrică.

S=NEXT(START,1);

METRIC(S,1)=real(conj(SYMBOLS(S,1))*Y(1))-INCREMENT(PS,S);

SURVIVOR(S,1)=START;

S=NEXT(START,2);

METRIC(S,1)=real(conj(SYMBOLS(S,1))*Y(1))-INCREMENT(PS,S);

SURVIVOR(S,1)=START;

PREVIOUS_STATES=NEXT(START,:);

// marcarea stărilor următoare ca fiind reale. reprezentarea complexă indică

// polaritatea stării următoare. starea a doua este reală.

COMPLEX=0;

for N = 2:Lh,

if COMPLEX,

COMPLEX=0;

else

COMPLEX=1;

end

STATE_CNTR=0;

for PS = PREVIOUS_STATES,

STATE_CNTR=STATE_CNTR+1;

S=NEXT(PS,1);

METRIC(S,N)=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N))-INCREMENT(PS,S);

SURVIVOR(S,N)=PS;

USED(STATE_CNTR)=S;

STATE_CNTR=STATE_CNTR+1;

S=NEXT(PS,2);

METRIC(S,N)=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N))-INCREMENT(PS,S);

SURVIVOR(S,N)=PS;

USED(STATE_CNTR)=S;

end

PREVIOUS_STATES=USED;

end

// la orice rată vom avea Lh stări prelucrate la acest moment de timp

PROCESSED=Lh;

//dorim să rămână un număr egal de stări.

if ~COMPLEX,

COMPLEX=1;

PROCESSED=PROCESSED+1;

N=PROCESSED;

for S = 2:2:M,

PS=PREVIOUS(S,1);

M1=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N)-INCREMENT(PS,S));

PS=PREVIOUS(S,2);

M2=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N)-INCREMENT(PS,S));

if M1 > M2,

METRIC(S,N)=M1;

SURVIVOR(S,N)=PREVIOUS(S,1);

else

METRIC(S,N)=M2;

SURVIVOR(S,N)=PREVIOUS(S,2);

end

end

end

// restul de metrice vor fi calculate în maniera potrivită.

// numai stările relevante sunt calculate, ceea ce înseamnă că starea reală

// o urmează pe cea complexă și vice versa.

N=PROCESSED+1;

while N <= STEPS,

for S = 1:2:M-1,

PS=PREVIOUS(S,1);

M1=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N)-INCREMENT(PS,S));

PS=PREVIOUS(S,2);

M2=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N)-INCREMENT(PS,S));

if M1 > M2,

METRIC(S,N)=M1;

SURVIVOR(S,N)=PREVIOUS(S,1);

else

METRIC(S,N)=M2;

SURVIVOR(S,N)=PREVIOUS(S,2);

end

end

N=N+1;

for S = 2:2:M,

PS=PREVIOUS(S,1);

M1=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N)-INCREMENT(PS,S));

PS=PREVIOUS(S,2);

M2=METRIC(PS,N-1)+real(conj(SYMBOLS(S,1))*Y(N)-INCREMENT(PS,S));

if M1 > M2,

METRIC(S,N)=M1;

SURVIVOR(S,N)=PREVIOUS(S,1);

else

METRIC(S,N)=M2;

SURVIVOR(S,N)=PREVIOUS(S,2);

end

end

N=N+1;

end

// după calculul metricelor,cea mai probabilă secvență de stări este

// inițializată prin alegerea celei mai mari metrice între stările de stop.

BEST_LEGAL=0;

for FINAL = STOPS,

if METRIC(FINAL,STEPS) > BEST_LEGAL,

S=FINAL;

BEST_LEGAL=METRIC(FINAL,STEPS);

end

end

// după găsirea stării finale secvența de simboluri MSK este stabilită

IEST(STEPS)=SYMBOLS(S,1);

N=STEPS-1;

while N > 0,

S=SURVIVOR(S,N+1);

IEST(N)=SYMBOLS(S,1);

N=N-1;

end

// estimarea este găsită cu formula:

// IEST(n)=j*rx_burst(n)*rx_burst(n-1)*IEST(n-1)

// formula se rescrie ca:

// rx_burst(n)=IEST(n)/(j*rx_burst(n-1)*IEST(n-1))

// pentru inițializare se folosește:

// IEST(0)=1 , rx_burst(0)=1

rx_burst(1)=IEST(1)/(j*1*1);

for n = 2:STEPS,

rx_burst(n)=IEST(n)/(j*rx_burst(n-1)*IEST(n-1));

end

// rx_burst este reprezentat sub formă polară (-1 și 1), aceasta corespunzând

// formei binare (0 și 1).

rx_burst=(rx_burst+1)./2;

function [rx_data]=DeMux(rx_burst)

// este realizată demultiplexarea semnalului recepționat

// parametrul de intrare este semnalul de 148 biți, având următorul format:

// fanion|biți de date|biți de control|secvența de test|control|date|fanion

// 3 | 57 | 1 | 26 | 1 | 57 | 3

// parametrul de ieșire: rx_data conține câmpul de date din semnalul recepționat

rx_data=[rx_burst(4:60),rx_burst(89:145)];

function [rx_block, FLAG_SS, PARITY_CHK]=channel_dec(rx_enc)

// parametrul de intrare: rx_enc este un vector de 456 biți.

// parametrii de ieșire: rx_blck este un vector de 260 biți conținând secvența

// finala de date de informație;

// FLAG_SS indică corectitudinea stării stop; este setat

// la '1' dacă avem eroare.

// PARITY_CHK – 3 biți de paritate inserați la transmisie

// testarea datelor de intrare

if L~=456

disp(' ')

disp('violarea dimensiunii secvenței de date de intrare.program terminat')

disp(' ')

break;

end

// separarea datelor din clasa I, c1, și clasa a II-a , c2. biții din clasa

// I sunt decodați, iar cei din clasa a II-a sunt lăsați neschimbați.

c1=rx_enc(1:378);

c2=rx_enc(379:456);

// inițializarea matricelor

// decodoarele operează cu dibiți, astfel că vom avea doar 378/2=189 de

// stări de tranziție.

START_STATE=1;

END_STATE=1;

STATE=zeros(16,189);

METRIC=zeros(16,2);

NEXT=zeros(16,2);

zeroin=1;

onein=9;

for n=1:2:15,

NEXT(n,:)=[zeroin,onein];

NEXT(n+1,:)=NEXT(n,:);

zeroin=zeroin+1;

onein=onein+1;

end

PREVIOUS=zeros(16,2);

offset=0;

for n=1:8,

PREVIOUS(n,:)=[n+offset n+offset+1];

offset=offset+1;

end

PREVIOUS=[PREVIOUS(1:8,:);PREVIOUS(1:8,:)];

// setarea tabelei de decodare. dibiții binari sunt reprezentați prin

// numere zecimale. dibitul 00 este reprezentat prin 0, iar dibitul 11 prin // 3.

// apeland DIBIT(X,Y) se obtin dibiții ce rezultă în urma tranziției de la

// starea X la starea Y.

DIBIT=[ 0 NaN NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN NaN NaN NaN NaN;

3 NaN NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN;

NaN 3 NaN NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN;

NaN 0 NaN NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN NaN NaN NaN;

NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN NaN NaN;

NaN NaN 3 NaN NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN;

NaN NaN NaN 3 NaN NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN;

NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN NaN;

NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 2 NaN NaN NaN;

NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN;

NaN NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN;

NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 2 NaN NaN;

NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 2 NaN;

NaN NaN NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN 1 NaN;

NaN NaN NaN NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN 1;

NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 2];

// setarea tabelei de biți de decodare.

// apelarea BIT(X,Y) se obține bitul decodat rezultat în urma tranziției de la

// starea X la starea Y.

BIT = [ 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN;

0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN;

NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN;

NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN;

NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN;

NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN;

NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN;

NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN;

NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN;

NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN;

NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN;

NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN;

NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN;

NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN;

NaN NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1;

NaN NaN NaN NaN NaN NaN NaN 0 NaN NaN NaN NaN NaN NaN NaN 1];

// se calculează metrica pentru reducerea numărului de calcule cerut.

// se rulează doar pentru patru perechi de dibiți.

VISITED_STATES = START_STATE;

for n = 0 : 3 ,

rx_DIBITXy = c1(2*n+1);

rx_DIBITxY = c1(2*n+1+1);

for k = 1:length(VISITED_STATES),

PRESENT_STATE = VISITED_STATES(k);

next_state_0 = NEXT(PRESENT_STATE,1);

next_state_1 = NEXT(PRESENT_STATE,2);

symbol_0 = DIBIT(PRESENT_STATE,next_state_0);

symbol_1 = DIBIT(PRESENT_STATE,next_state_1);

if symbol_0 == 0

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,0);

end

if symbol_0 == 1

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,1);

end

if symbol_0 == 2

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,0);

end

if symbol_0 == 3

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,1);

end

METRIC(next_state_0,2) = METRIC(PRESENT_STATE,1) + LAMBDA;

if symbol_1 == 0

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,0);

end

if symbol_1 == 1

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,1);

end

if symbol_1 == 2

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,0);

end

if symbol_1 == 3

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,1);

end

METRIC(next_state_1,2) = METRIC(PRESENT_STATE,1) + LAMBDA;

STATE([next_state_0,next_state_1],n+1)= PRESENT_STATE;

if k == 1

PROCESSED = [next_state_0 next_state_1];

else

PROCESSED = [PROCESSED next_state_0 next_state_1];

end

end

VISITED_STATES = PROCESSED;

METRIC(:,1) = METRIC(:,2);

METRIC(:,2) = 0;

end

// secțiune în care toate stările sunt rulate

for n = 4 : 188 ,

rx_DIBITXy = c1(2*n+1);

rx_DIBITxY = c1(2*n+1+1);

for k = 1 : 16 ,

prev_state_1 = PREVIOUS(k,1);

prev_state_2 = PREVIOUS(k,2);

symbol_1 = DIBIT(prev_state_1, k);

symbol_2 = DIBIT(prev_state_2, k);

if symbol_0 == 0

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,0);

end

if symbol_0 == 1

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,1)

end

if symbol_0 == 2

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,0)

end

if symbol_0 == 3

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,1)

end

if symbol_1 == 0

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,0)

end

if symbol_1 == 1

LAMBDA = xor(rx_DIBITXy,0) + xor(rx_DIBITxY,1)

end

if symbol_1 == 2

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,0)

end

if symbol_1 == 3

LAMBDA = xor(rx_DIBITXy,1) + xor(rx_DIBITxY,1)

end

METRIC_1 = METRIC(prev_state_1,1) + LAMBDA_1;

METRIC_2 = METRIC(prev_state_2,1) + LAMBDA_2;

if METRIC_1 < METRIC_2

METRIC(k,2) = METRIC_1;

STATE(k,n+ 1) = prev_state_1;

else

METRIC(k,2) = METRIC_2;

STATE(k,n+ 1) = prev_state_2;

end

end

METRIC(:,1) = METRIC(:,2);

METRIC(:,2) = 0;

end

// determinarea celei mai probabile secvențe de tranziție de stări.

STATE_SEQ = zeros(1,189);

[STOP_METRIC,STOP_STATE] = min(METRIC(:,1));

STATE_SEQ(189) = STOP_STATE

for n = 188 :-1:1

STATE_SEQ(n)=STATE(STATE_SEQ(n+1),n+1)

end

STATE_SEQ=[START_STATE STATE_SEQ]

for n=1:length(STATE_SEQ)-1

DECONV_DATA(n)=BIT(STATE_SEQ(n) , STATE_SEQ(n+1))

end

DATA_Ia = DECONV_DATA(1:50)

PARITY_CHK = DECONV_DATA(51:53)

DATA_Ib = DECONV_DATA(54:185)

TAIL_BITS = DECONV_DATA(186:189)

rx_block = [DATA_Ia DATA_Ib c2]

function [rx_enc]=deinterleave(rx_data_matrix)

BitsInBlock=455

out=fopen('deinterleave.tmp','w')

B=0

for b=0:BitsInBlock

R=4*B+mod(b,8)

r=2*mod((49*b),57)+floor(mod(b,8)/4)

fprintf(out,'rx_enc(%d)=rx_data_matrix(%d,%d);\n',b+1,R+1,r+1)

end

fclose(out)

function [rx_enc]=deinterleave(rx_data_matrix)

// funcția realizează de-întrețeserea secvenței de informație demultiplexate.

// sunt extrași 114 biți din burst-ul GSM.

// intrarea este formată din 8×114 biți, iar ieșirea constă în secvența de

// informație de 456 biți.

// parametrul de intrare: rx_data_matrix- ultimile 8 exemple de rx_data, având

// lungimea totală de 114 biți, trebuie stocate ca linii ale matricei

// rx_data_matrix. Dacă numerotăm burst-urile din matrice în ordinea

// recepționării, atunci burst-ul de pe linia 1 va avea numărul 1, etc.

// parametrul de ieșire: rx_enc- bloc dedate de 114 biți, demultiplexat.

rx=rx_data_matrix;

BitsInBlock=455

out=fopen('deinterleave.tmp','w')

B=0

for b=0:BitsInBlock

R=4*B+mod(b,8)

r=2*mod((49*b),57)+floor(mod(b,8)/4)

fprintf(out,'rx_enc(%d)=rx_data_matrix(%d,%d);\n',b+1,R+1,r+1)

rx_enc(b+1)=rx(R+1,r+1);

end

fclose(out)

*Funcția GsmSim_config.m adaugă caile necesare pentru rularea corectă. Dacă se schimbă structura directoarelor din pachetul GSMsim, trebuie editată această funcție. Ea se execută în directorul GSMtop/config.

cd .. ;

// localizarea pe disc a directorului GSMtop

GSMtop=pwd ;

// setarea căii

path(path,[ GSMtop ’/config’ ]);

path(path,[ GSMtop ’/examples’ ]);

path(path,[ GSMtop ’/utils’ ]);

path(path,[ GSMtop ’/src/modulator’ ]);

path(path,[ GSMtop ’/src/demodulator’ ]);

// întoarcerea în directorul config

cd config

*Apelarea funcțiilor definite anterior se face în modulele următoare:

*GsmSim_demo.m

function [ ] = GSMsim_demo(LOOPS,Lh)

// funcția asamblează corect funcțiile pachetului GSMsim.

// parametrii de intrare: LOOPS- numărul de bucle pe care funcția le rulează.

// fiecare buclă conține 10 burst-uri.

// Lh- lungimea răspunsului la impuls al canalului minus 1

// nu există parametru de ieșire, rezultatul simulării fiind vizibil pe ecran.

tTotal=clock;

B_ERRS=0;

// se rulează funcția gsm_set.m , aceasta realizând setarea valorilor necesare

// simulărilor viitoare.

gsm_set;

// pregătirea tabelelor necesare algoritmului Viterbi.

[SYMBOLS, PREVIOUS, NEXT, START, STOPS] = viterbi_init(Lh);

// simularea buclei

A_Loop=0;

for Loop=1:LOOPS

// stabilirea momentului de timp

t0=clock;

for n=1:10;

// pregătirea datelor pentru un burst

tx_data = data_gen(INIT_L);

// apelarea funcției care realizează generarea și modularea datelor.

[ burst , I , Q ] = gsm_mod(Tb,OSR,BT,tx_data,TRAINING);

// rulăm funcția de simulare a canalului, care adaugă zgomot pachetului GSMsim

r = I + j*Q;

// rularea funcției de filtrare adaptivă, responsabilă cu sincronizarea

// filtrării și recuperarea caracteristicilor canalului.

[Y, Rhh] = mafi(r,Lh,T_SEQ,OSR);

// apelarea funcției furnizând informația din semnalul recepționat și funcția

// de autocorelație.

rx_burst = viterbi_detector(SYMBOLS,NEXT,PREVIOUS,START,STOPS,Y,Rhh);

// rularea funcției de demultiplexare.

rx_data=DeMUX(rx_burst);

// numărarea erorilor

B_ERRS=B_ERRS+sum(xor(tx_data,rx_data));

end

// determinarea duratei de timp a buclei

elapsed=etime(clock,t0);

// determinarea timpului mediu al buclei

A_Loop=(A_Loop+elapsed)/2;

// determinarea timpului rămas

Remain = (LOOPS-Loop)*A_Loop;

// actualizarea afișării rezultatelor

fprintf(1,’\r’);

fprintf(1,’Loop: %d,timpul mediu al buclei: %2.1f secunde’,Loop,A_Loop);

fprintf(1,’, Remaining: %2.1f secunde ’,Remain);

end

Ttime=etime(clock,tTotal);

BURSTS=LOOPS*10;

fprintf(1,’\n%d burst în curs de procesare %6.1f Secunde.\n’,BURSTS,Ttime);

fprintf(1,’Used %2.1f secunde per burst\n’,Ttime/BURSTS);

fprintf(1,’There were %d erori de bit\n’,B_ERRS);

BER=(B_ERRS*100)/(BURSTS*148);

fprintf(1,’This equals %2.1f Procente din biții verificați.\n’,BER);

*GsmSim_demo_2.m

function [] = GSMsim_demo_2(NumberOfBlocks,Lh,LogName)

// funcția apelează funcțiile din pachetul GSMsim

// parametrii de intrare: NumberOfBlocks- numărul de blocuri cod GSM de procesat

// fiecare bloc corespunde la 4 burst-uri GSM

// Lh

// LogName- numele fișierului în care rezultatul

// simulării va fi scris.

// ieșirea către fișierul numit „logname.NumberOfBlocks.Lh”

// rezultatele simulării vor fi reprezentate și pe ecran.

tTotal=clock;

// crearea numelui fișierului pentru reprezentarea rezultatelor viitoare

LogFile=[LogName ’_' num2str(NumberOfBlocks,’%9d’) '_' ];

LogFile=[LogFile num2str(Lh,’%3d’) ’.sim’];

// adăugarea unui header la fișier, abandonare dacă acesta există deja.

fid=fopen(LogFile,’r’);

if fid==-1

LogFID=fopen(LogFile,’w’);

fprintf(LogFID,’%% GSMsim_demo_2 – rezultatele simulării.\n’);

fprintf(LogFID,’%%\n’);

fprintf(LogFID,’%% Settings: NumberOfBlocks=%d\n’,NumberOfBlocks);

fprintf(LogFID,’%% Lh=%d\n’,Lh);

fprintf(LogFID,’%%\n’);

fprintf(LogFID,’%% numărul blocului’);

fprintf(LogFID,’%% B_ERRS_Ia B_ERRS_Ib B_ERRS_II B_ERRS_II_CHEAT\n’);

fprintf(LogFID,’%%\n’);

fclose(LogFID);

%else

%error(’fișierul de rezultate există deja, abandonarea simulării…’);

end

B_ERRS_Ia=0;

B_ERRS_Ib=0;

B_ERRS_II=0;

B_ERRS_II_CHEAT=0;

// se rulează funcția gsm_set.m , aceasta realizând setarea valorilor necesare

// simulărilor viitoare.

gsm_set;

// pregătirea tabelelor pentru algoritmul Viterbi

[ SYMBOLS , PREVIOUS , NEXT , START , STOPS ] = viterbi_init(Lh);

// inițializarea rutinei de întrețesere, pentru ca să putem apela, atunci când

// avem nevoie, primul burst pentru întrețesere, care nu va fi recepționat în

// totalitate.

tx_enc1=round(rand(1,456));

// avem nevoie de tx_data_matrix pentru începerea procesului de deîntrețesere

// biții eronați vor fi verificați în acest bloc.

tx_block2=data_gen(260);

// codarea datelor

tx_enc2=channel_enc(tx_block2);

// întrețeserea datelor

tx_data_matrix=interleave(tx_enc1,tx_enc2);

// memorarea înainte de începerea buclei

tx_enc1=tx_enc2;

tx_block1=tx_block2;

// transmitere și recepționare a burst-ului

rx_data_matrix1=tx_data_matrix;

// raportul de alunecare al timpului mediu

A_Loop=0;

for N=2:NumberOfBlocks+1,

// raportarea timpului

t0=clock;

// colectarea datelor pentru un nou bloc de date, numărul doi este ultimul

tx_block2=data_gen(260);

// codarea datelor

tx_enc2=channel_enc(tx_block2);

// tx_data_mnatrix conține date pentru patru burst-uri, generate de două blocuri

tx_data_matrix=interleave(tx_enc1,tx_enc2);

for n=1:4,

// apelarea funcției care realizează generarea și modularea datelor.

[ tx_burst , I , Q ] = gsm_mod(Tb,OSR,BT,tx_data_matrix(n,:),TRAINING);

// rulăm funcția de simulare a canalului, care adaugă zgomot pachetului GSMsim

r=channel_simulator(I,Q,OSR);

// rularea funcției de filtrare adaptivă, responsabilă cu sincronizarea

// filtrării și recuperarea caracteristicilor canalului.

[Y, Rhh] = mafi(r,Lh,T_SEQ,OSR);

// apelarea funcției furnizând informația din semnalul recepționat și funcția

// de autocorelație.

rx_burst = viterbi_detector(SYMBOLS,NEXT,PREVIOUS,START,STOPS,Y,Rhh);

// rularea demultiplexorului

rx_data_matrix2(n,:)=DeMUX(rx_burst);

end

// generarea unui bloc, folosind opt pachete

rx_enc=deinterleave( [ rx_data_matrix1 ; rx_data_matrix2 ] );

//toți biții codați sunt folosiți pentru estimarea BER de tipul II.

B_ERRS_II_CHEAT_NEW=sum(xor(tx_enc1,rx_enc));

// decodarea canalului

rx_block=channel_dec(rx_enc);

// numărarea erorilor

B_ERRS_ALL=xor(rx_block,tx_block1);

B_ERRS_Ia_NEW=sum(B_ERRS_ALL(1:50));

B_ERRS_Ib_NEW=sum(B_ERRS_ALL(51:182));

B_ERRS_II_NEW=sum(B_ERRS_ALL(183:260));

// actualizarea afișării rezultatelor

LogFID=fopen(LogFile,’a’);

fprintf(LogFID,’%d %d ’,N-1,B_ERRS_Ia_NEW);

fprintf(LogFID,’%d %d ’,B_ERRS_Ib_NEW,B_ERRS_II_NEW);

fprintf(LogFID,’%d\n’,B_ERRS_II_CHEAT_NEW);

fclose(LogFID);

// sumarea erorilor

B_ERRS_Ia=B_ERRS_Ia+B_ERRS_Ia_NEW;

B_ERRS_Ib=B_ERRS_Ib+B_ERRS_Ib_NEW;

B_ERRS_II=B_ERRS_II+B_ERRS_II_NEW;

B_ERRS_II_CHEAT=B_ERRS_II_CHEAT+B_ERRS_II_CHEAT_NEW;

// memorarea înainte de începerea buclei

rx_data_matrix1=rx_data_matrix2;

tx_enc1=tx_enc2;

tx_block1=tx_block2;

// determinarea duratei buclei

elapsed=etime(clock,t0);

// determinarea timpului mediu al buclei

A_Loop=(A_Loop+elapsed)/2;

// determinarea timpului rămas

Remain = (NumberOfBlocks+1-N)*A_Loop;

// actualizarea afișării rezultatelor

fprintf(1,’\r’);

fprintf(1,’Block: %d, Timpul mediu al blocului: %2.1f seconds’,N-1,A_Loop);

fprintf(1,’, Remaining: %2.1f secunde ’,Remain);

end

Ttime=etime(clock,tTotal);

BURSTS=NumberOfBlocks*4;

// determinarea BER

TypeIaBits=NumberOfBlocks*50;

TypeIaBER=100*B_ERRS_Ia/TypeIaBits;

TypeIbBits=NumberOfBlocks*132;

TypeIbBER=100*B_ERRS_Ib/TypeIbBits;

TypeIIBits=NumberOfBlocks*78;

TypeIIBER=100*B_ERRS_II/TypeIIBits;

TypeIIBitsCHEAT=NumberOfBlocks*456;

TypeIIBER_CHEAT=100*B_ERRS_II_CHEAT/TypeIIBitsCHEAT;

fprintf(1,’\n%d Burst în curs de procesare %6.1f Secunde.\n’,BURSTS,Ttime);

fprintf(1,’Used %2.1f secunde per burst\n’,Ttime/BURSTS);

fprintf(1,’\n’);

fprintf(1,’Type Ia BER: %3.2f\n’,TypeIaBER);

fprintf(1,’Type Ib BER: %3.2f\n’,TypeIbBER);

fprintf(1,’Type II BER: %3.2f\n’,TypeIIBER);

fprintf(1,’Type II BER-CHEAT: %3.2f\n’,TypeIIBER_CHEAT);

Bibliografie

Adelaida Mateescu, Ion Bănică ș.a. "Sisteme și rețele GSM", Editura Tehnică, București, 1999.

"GPRS System Survey", Documentație Ericsson, 2001.

"General Packet Radio Service (GPRS) Overview", Documentație Ericsson 2001.

Siegmund M. Redl, Matthias K. Weber and Malcolm W. Oliphant, "An Introduction to GSM", Artech House, 1995.

Christian Bettstetter, Hans-Jorg Vogel and Jorg Eberspacher, "GSM Phase 2+ General Packet Radio Service GPRS: Architecture, Protocols and Air Interface", IEEE Communications Surveys – The Electronic Magazine of Original Peer-Reviewed Surveys Articles, Third Quarter 1999, vol. 2 no.3.

Ion Bănică "Interfața radio în sistemele de comunicații mobile" (prelegere în cadrul cursului "Comunicații mobile integrate", sesiunea martie-mai 2004).

GSM 03.60: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Service description; Stage 2".

GSM 04.60: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Mobile Station (MS)- Base Station System (BSS) interface; Radio Link Control/ Medium Access Control (RLC/MAC) protocol".

GSM 04.64: "Digital cellular telecommunications system (Phase 2+);General Packet Radio Service (GPRS); Logical Link Control (LLC)".

GSM 04.65: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Subnetwork Dependent Convergence Protocol (SNDCP)".

GSM 07.60: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Mobile Station supporting GPRS".

GSM 08.14: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Base Station System (BSS)-Serving GPRS Support Node (SGSN) interface; Gb interface layer 1".

GSM 08.16: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Base Station System (BSS)-Serving GPRS Support Node (SGSN) interface; Network Service".

GSM 08.18: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); Base Station System (BSS)-Serving GPRS Support Node (SGSN) interface; BSS GPRS Protocol (BSSGP)".

GSM 09.02: "Digital cellular telecommunications system (Phase 2+); Mobile Application Part (MAP) specification".

GSM 09.60: "Digital cellular telecommunications system (Phase 2+); General Packet Radio Service (GPRS); GPRS TUnnelling Protocol (GTP) across the Gn and Gp interface".

Johan Brondum: „ GSM data receiver structures. Tehnical report,Institute for Electronic

Systems Department of Communications Technology”, 1993.

G. David Forney, Jr. „The Viterbi Algorithm”. In Proceedings of the IEEE, volume 61, pages 268-273, Martie 1973.

European Telecommunications Standards Institute. GSM 05.03: „ Channel Coding”. Version : 4.6.0, Iulie 1993.

European Telecommunications Standards Institute. GSM 05.04: „Modulation”. Version : 4.6.0, Iulie 1993.

European Telecommunications Standards Institute. Digital Cellular Telecommunications System (Phase 2); Radio Transmission and Reception (GSM 05.05). Ediția a noua, Noiembrie 1996.

Abrevieri

Similar Posts