Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

SISTEMUL GPS - PRINCIPII DE BAZA

SISTEMUL GPS

  1. Prezentare generala

GPS (Global Positioning System) reprezinta un sistem de radionavigatie prin satelit. Acest sistem a fost dezvoltat de Departamentul de Aparare al Statelor Unite si permite localizarea oricarui utilizator prin determinarea pozitiei tridimensionale si vitezei acestuia oriunde pe glob 24h/zi indiferent de conditiile meteo, cu o precizie si acuratete mult mai bune decat alte sisteme de radionavigatie folosite in zilele noastre, prin receptionarea semnalelor de pozitionare prin satelit. A fost conceput initial pentru aplicatiile din domeniul militar si folosea 4 sateliti. Cunoscand timpul de propagare intre acestia si utilizand un receptor GPS se putea determina longitudinea, latitudinea, altitudinea si ora precisa in orice moment de timp.




  1. Orbite


Constelatia satelitilor




GPS-ul consta in 3 segmente : spatial, de control si utilizator


Segmentul Spatial consta intr-un numar de minim 24 de sateliti operationali dispusi pe 6 orbite circulare la o inclinatie de aproximativ 55 de grade, la o altitudine de aproximativ 20200 km deasupra Pamantului , separate intre ele de cu un unghi de 60 de grade. S-a ales un numar de 24 de sateliti pentru a asigura in orice punct de pe suprafata Pamantului vizibilitatea a minim 4 sateliti, numar necesar pentru a putea calcula pozitia si timpul. Perioada in care un satelit parcurge o orbita completa este de 11 ore si 58min astfel ca satelitul realizeaza 2 parcurgeri complete ale orbitei in timpul unei zile siderale (23 ore si 56 sec) iar la sfarsitul acestei zile satelitul se afla din nou in acelasi punct pe bolta cereasca.Daca ne referim la ziua solara (24 ore) atunci satelitul se afla in acelasi punct pe bolta cereasca cu 4 minute mai devreme in fiecare zi.

Orbita pe care satelitul o urmareste in jurul Pamantului nu se modifica cu exceptia unei mici abateri de 0.03 grade a planului orbitei spre vest.


Segmentul de Control consta intr-o statie principala de control aflata in Colorado Springs, 5 statii de monitorizare si 3 antene de sol dispuse pe suprafata Pamantului. Statiile de monitorizare urmaresc toti satelitii GPS si colecteaza informatiile date de acestia. Aceste informatii sunt trimise mai departe statiei centrale, care calculeaza orbite extrem de precise pentru sateliti. Aceste informatii actualizate sunt trimise fiecarui satelit prin intermediul antenelor de sol.

Segmentul utilizatorilor consta in receptoare, procesoare si antene care permit operatorilor de sol sa primeasca informatiile difuzate de sateliti si in felul acesta sa isi calculeze cu precizie pozitia, viteza si timpul.

  1. Istorie

La inceputul anilor 1960, in SUA a fost conceput un sistem destinat fortelor armate aeriene si navale, cu ajutorul caruia se putea determina cu o precizie de 200-500m pozitia unui punct pe glob. Acest sistem putea oferi utilizatorului doua dimensiuni: longitudinea si latitudinea. Odata cu perfectionarea sistemului, prin marirea numarului de sateliti lansati si prin utilizarea unor noi tehnologii de realizare a echipamentelor, s-a ajuns ca sistemul de navigatie sa ofere si o a treia dimensiune: altitudinea.

- In 1972, Armata SUA testeaza 2 prototipuri de receptoare GPS folosind statii de sol pe post de pseudo-sateliti .

- In 1978 se lanseaza primul Bloc I de GPS

- In 1983,dupa ce un avion sovietic a doborat un avion civil american aflat intr-o zona interzisa din spatiul aerian sovietic, incident soldat cu moartea a 269 de oameni, presedintele Regan a decis ca sistemul GPS sa fie disponibil si pentru uz civil

- Pana in 1985, sunt lansati inca 10 sateliti din Blocul I

- In februarie 1989 se lanseaza primul satelit din Blocul II

- Pana in 1993 sistemul GPS a devenit operational.

- Pana in ianuarie 1994 o constelatie completa de 24 de sateliti se afla pe orbita

- Sistemul a fost declarat de catre Navstar complet din toate punctele de vedere in aprilie 1995

- In 1998, vicepresedintele american Al Gore a anuntat planurile de dezvoltare a sistemului GPS prin introducerea a doua semnale pentru utilizatorii civili, care sa aduca un plus de acuratete si securitate

- In Mai 2000 s-a renuntat la conceptul de Disponibilitate Selectiva, prin care utilizatorii civili primeau intentionat un semnal degradat avand astfel o acuratete mai scazuta fata de utilizatorii militari

- In 2004, guvernul SUA a semnat un acord cu Comunitatea Europeana stabilind bazele unei cooperari pentru dezvoltarea sistemului GPS (Galileo).

c. Frecventele si puterile de lucru

Satelitii GPS trasnmit un semnal in banda L pe frecventa 1575.42 MHZ (semnal cunoscut si sub numele de L1 si care are o Polarizare Circulara). Semnalul este transmis cu o putere suficient de mare astfel incat sa asigure la suprafata Pamantului un nivel de -160 dBW. Acest nivel de putere este definit pentru receptoarele GPS aflate pe sol , ele dispunand de antene cu un castiga de 3dBi si cu un unghi de vizibilitate mai mare de 5 grade.

L1 este modulat cu o modulatie BPSK , fiecare satelit avand un PRN (Pseudo Random Noise) (1.023 Mhz) unic, acest cod purtand denumirea de C/A . Aceasta secventa de cod se repeta la fiecare milisecunda.

Mai exista si alte tipuri de semnale, folosite in diverse scopuri, cum ar fi:

Semnal L2 pe frecventa 1227.60 MHz folosit pentru satelitii din blocul IIR-M si sateliti mai noi.

Semnal L3 pe frecventa 1381.05 MHz folosit de (NUDET) Nuclear Detonation Detection System Payload (NDS) pentru a detecta semnalele determinate de exploziile nucleare sau alte evenimente puternice in spectrul infrarosu.Acest semnal ajuta la determinarea infractiunilor comise in acest domeniu.

Semnal L4 pe frecventa1379.913 MHz folosit pentru a vedea efectele corectiei ionosferice.

Semnal L5 pe frecventa 1176.45 MHz propus pentru uzul civil, safety-of-life (SoL).Primul satelit care va asigura acest serviciu va fi lansat in 2008.

Puterea la nivelul satelitului 13.4 dBW

Castigul antenei satelitului 13.4 dB

Puterea radiate EIRP este 26.8 dBW

Pierderea datorata polarizarilor diferite -3.4 dB

Atenuarea semnalului in spatiu -184.4 dB

Atenuarea semnalului in atmosfera -2dB



d. Sateliti


Segmentul spatial: se compune din cei 24 sateliti. Acesti sateliti, aflati pe orbite circulare, sunt plasati pe sase plane orbitale inclinate la 55 de grade, la o altitudine de 20200Km. Ei au o perioada de revolutie de aproximativ 12 ore si o viteza de circa 3.9Km/s. Amplasarea lor orbitala va permite ca de pe orice pozitie de pe glob sa existe in vizibilitate directa intre 6 si 10 sateliti.

Satelitii au o durata de viata de 7,5 ani si sunt echipati cu ceasuri atomice si doua emitatoare in banda D. Cele doua frecvente purtatoare sunt f1=1575,42MHz si f2=1227,6MHz. Semnalele sunt emise in tehnica spectrului imprastiat si utilizeaza doua coduri pseudoaleatoare: un cod C/A (Clear Acquisition) pe frecventa f1 si un cod P (Precise) pe frecventele f1 si f2.
Segmentul de control transmite parametrii de amplasare, controleaza traiectoriile si datele emise si modifica orbitele satelitilor. Cele mai numeroase statii de control sunt amplasate in Japonia si SUA, tari in care sistemul GPS are cea mai larga raspandire si dezvoltare.



2.     Aplicabilitate

Navigatie

Automobilele pot fi echipate cu receptoare GPS care in combinatie cu harti speciale pot ajuta utilizatorul sa ajunga la o destinatie pe drumul optim

Aviatie

Barci si vapoare

Alte utilizari

Supravegherea unor zone, localizarea persoanelor disparute, agricultura, geofizica si geologie, arheologie

Accesul la sistemul GPS actual este caracterizat de norme si reguli foarte precise. Din punct de vedere al calitatii utilizatorului, in sistemul GPS sunt definite doua categorii: utilizatorii autorizati (legaturi militare sau oficiale) si utilizatori comuni (legaturi comerciale sau individuale). Aceasta deosebire este evidentiata de clasa de precizie in care sunt incadrate cele doua categorii de utilizatori. Din acest motiv sunt definite doua tipuri de servicii oferite prin sistemul GPS: PPS (Precise Positioning Service) si SPS (Standard Positioning Sevice).

De asemenea, pentru diferentierea si protejarea utilizatorilor, se utilizeaza modalitatea de accesare cu acces selectiv, SA (Selective Availability) si cu acces restrictiv, AS (Anti Spoofing).



Accesul selectiv este modalitatea si diferentierea a tipului de serviciu oferit de sistemul GPS (PPS sau SPS). Aceasta este exprimata printr-o programare preferentiala a preciziei datelor oferite prin satelit, in functie de tipul utilizatorului si prin preformantele receptorului GPS oferit.

Un receptor GPS ce lucreaza in serviciul PPS este echipat cu un procesor de gestiune a cheilor si cu module specializate care coreleaza datele obtinute de la sateliti, eliminand eroarea obtinuta printr-un serviciu de tip SPS.

Pentru protejarea serviciului oferit prin sistemul GPS, datele provenite de la sateliti prin codul P sunt codificate devenind un alt cod Y. Receptorii GPS, capabili sa decodifice codul Y, sunt echipati cu un procesor de gestiune a cheilor si cu moduri de functionare:

- navigatia in sistemul GPS autonom;

- navigatia cu un sistem GPS ce utilizeaza modul diferential (DGPS);

- traiectografie in sistemul DGPS;

- geodezie;

- masurarea altitudinilor etc


Noi directii de promovare a sistemului GPS

Datorita dezvoltarii tehnologice actuale, ceea ce a dus la micsorarea pretului de cost al receptorului si la posibilitatea interconectarii cu sistemele de procesare si analiza computerizate, sistemul GPS a patruns rapid in domeniul comercial si individual.

Sistemul GPS individual, cel care potrivit estimarilor efectuate va deveni in scurt timp de neinlocuit in asigurarea navigatiei terestre, aeriene sau navale, constituie la aceasta ora preocuparea principala a cercetatorilor din domeniul sistemelor de telecomunicatii si radionavigatie.

Practic, cu ajutorul noilor receptoare GPS, montate pe orice tip de vehicul, nava sau aparat de zbor, se poate calcula distanta de la pozitia de destinatie, se pot memora ruta ce urmeaza a fi parcursa si informatiile legate de punctul de destinatie, se poate afisa ruta deja parcursa etc.

Prin realizarea unor receptoare cu 3,4,5 sau 6 canale s-a permis obtinerea tuturor parametrilor necesari navigatiei, putand fi astfel urmariti toti satelitii ce se gasesc in zona de vizibilitate directa.

Prin racordarea receptorului la un microcomputer a fost creat un sistem de achizitii de date pentru exploatarea resurselor de titei si gaz metan.

Sistemele GPS montate in autoturisme au o mare dezvoltare in Japonia, unde pana in prezent sunt in functiune aproape 500.000 de receptoare GPS, care ofera lista cu obiectivele turistice importante care se gasesc pe ruta ce urmeaza a fi parcursa pana la destinatie, iar mai recent au fost montate sisteme de televiziune care permit descrierea rutei, gasirea cu precizie a pozitiei vehicului pe harta, precum si informatii cu privire la traseele ce pot fi urmate pana la destinatie.

Prin arhivarea si inregistrarea datelor intr-un sistem centralizat, computerizat se pot realiza harti ale teritoriului care pot fi folosite in gasirea rutei optime, a distantei pana la destinatie, a pozitiei curente, a distantei parcurse etc.

Un alt domeniu de utilizare a sistemului GPS il reprezinta navigatia maritima si aeriana. Pentru marirea preciziei in determinarea pozitiei curente, specialistii au pus la punct un sistem GPS mai performant denumit DGPS. Prin acest sistem informatiile provenite de la doua sau mai multe receptoare sunt comparate in permanenta cu date precise stabilite intr-o statie teritoriala, astfel incat erorile de calcul provenite de la un receptor uzual GPS sa fie micsorate.

In sistemul DGPS (GPS diferential), un receptor GPS conectat la un sistem de calcul si programare adecvat, care poate oferi informatii de pozitie foarte precise, va transmite in permanenta date catre celelalte receptoare GPS cu care se afla in legatura. Dupa ce sunt prelucrate si analizate, aceste date sunt utilizate in calculul corectiilor ce se impun pentru stabilirea pozitiei precise. Precizia masuratorii poate ajunge la doar 3m.


3.     Principiul de baza in determinarea pozitiei


Pentru a determina pozitia unui receptor aflat pe suprafata Pamantului e nevoie de minim 4 sateliti de la care se receptionez semnale care contin informatia legata de timp. (timpul de propagare al semnalului de la satelit pana la receptor)



Baza GPS-ului este 'triangulatia' de la sateliti.Pentru a triangula , un receptor GPS masoara distanta folosind timpul de propagare al undelor radio.Pentru a masura timpul de propagare

GPS-ul are nevoie de o cronometrare precisa care poate fi obtinuta cu ajutorul unor trucuri.

Pe linga distanta este nevoie a se cunoaste exact unde se afla satelitii in spatiu, lucru realizat cu ajutorul orbitelor aflate la mare altitudine si a unei monitorizari atente.

La sfirsit , trebuie corectat semnalul radio de orice erori aparute la propagarea prin atmosfera.


 Din punct de vedere geometric:
Presupunind ca masuram distanta de la un satelit si aflam ca este 11.000 mile.
Stiind ca ne aflam la 11.000 mile de un satelit fixeaza toate posibilele locatii in care ne putem afla in Univers la suprafata unei sfere al carei centru este satelitul si are o raza de 11.000 mile.
In continuare vom masura distanta pina la cel de al doilea satelit si vom afla ca este la 12.000 mile distanta.
Aceasta ne spune ca nu suntem doar pe prima sfera,ci suntem si pe o sfera aflata la 12.000 mile de al doilea satelit.Cu alte cuvinte suntem pe un cerc,undeva unde cele doua sfere se intersecteaza.
Daca in acest moment facem o masuratoare de la al treilea satelit si aflam ca suntem la o distanta de 13.000 mile de el, aceasta ne fixeaza pozitia mai bine,pina la doua puncte acolo unde sfera cu raza de 13.000 mile taie cercul care este rezultatul intersectiei primelor doua sfere.
Deci prin masurarea distantei de la trei sateliti putem fixa pozitia la doar doua puncte in spatiu.
Pentru a decide care dintre ele este pozitia corecta putem face o a patra masuratoare.Dar de obicei unul din cele doua puncte este un raspuns ridicol.(ori este prea aproape de pamint ori se deplaseaza cu o viteza imposibila)si poate fi refuzata fara o masuratoare.
In continuare vom vedea cum sistemul masoara distanta pina la sateliti.Acest lucru se realizeaza

calculind cit timp ii ia semnalului trimis de la satelit sa ajunga la receptor.


Din punct de vedere matematic:

In cazul GPS-ului masuram un semnal radio, cu viteza luminii(186.000 mile/sec)
Problema este masurarea timpului de propagare.
Cronometrarea este foarte problematica.Mai intii timpii sunt foarte mici.Daca satelitul este chiar deasupra ,timpul de propagare va fi de circa 0,06 secunde.Deci vom avea nevoie de niste ceasuri foarte precise. Sa presupunem ca avem niste ceasuri foarte precise si ca exista o cale de a face amindoi satelitii si receptorul sa emita o melodie exact la ora 12.00.Daca sunetul ar ajunge la noi din spatiu(ceea ce este ridicol bineinteles)si stand langa receptor vom auzi doua versiuni ale melodiei,una de la receptor si una de la satelit.
Aceste doua versiuni vor fi desincronizate.Versiunea care vine de la satelit va fi intirziata pentru ca semnalul trebuie sa parcurga mai mult de 11.000 mile.
Daca dorim sa aflam cit de intirziata va fi versiunea de la satelit, va trebui sa intirziem semnalul de la receptor pina la o sincronizare perfecta.
Valoarea este trimisa inapoi si versiunea receptorului este egala cu timpul de programare a versiunii satelitului.Deci multiplicam acest timp cu viteza luminii si gata avem distanta pina la satelit.
In mare cam asa functioneaza GPS-ul.
Numai ca in loc de acea melodie satelitii si receptoarele 'Pseudo Random Code
'Pseudo Random Code'-ul (PRC)este o parte fundamentala a GPS-ului.Din punct de vedere fizic este un cod digital foarte complicat,cu alte cuvinte este o secventa complicata de pulsuri 1 si 0.
Sunt citeva cauze bune care explica aceasta complexitate.Mai intii constructia complexa asigura ca receptorul sa nu se sincronizeze accidental cu alte semnale.Tiparul este atit de complex incit este aproape imposibil ca un semnal ratacit sa aiba aceeasi forma.
Pentru ca fiecare satelit are propriul si unicul 'Pseudo-Random Code' ceea ce garanteaza ca receptorul nu va capta accidental semnalul altui satelit.Deci toti satelitii pot folosi aceeasi frecventa fara a se bruia unul cu celalalt,ceea ce face si mai dificil pentru o forta ostila sa bruieze sistemul.De fapt 'Pseudo Random Code' ofera Departamentului de Aparare al S.U.A o cale de a controla accesul in sistem.
Dar este alta cauza pentru complexitatea acestui 'Pseudo Random-Code',motiv care este crucial pentru a face GPS economic.Codul face posibila folosirea 'teoriei informatiei' pentru a 'amplifica' semnalul GPS.De aceea receptoarele GPS nu au nevoie de antene mari de satelit pentru a receptiona semnalele GPS.

Masurarea distantei:
1.Distanta pina la un satelit este determinata prin masurarea timpului in care semnalul ajunge la noi de la satelit.
2.Pentru a face masurarea presupunem ca si satelitul si receptorul genereaza acelasi 'Pseudo Random-Code' exact in acelasi timp.
3.Comparind cit de tirziu apare 'pseudo-random code'-ul, fata de codul receptorului,determinam de cit timp a avut nevoie sa ajunga la noi.
4.Multiplicam timpul de propagare cu viteza luminii si obtinem distanta.



Daca masurarea timpului de propagare a semnalului radio este secretul bunei functionari a GPS,ceasurile trebuie sa fie cu adevarat bune pentru ca daca ar avea o eroare de o miime dintr-o secunda,la viteza luminii asta inseamna aproape 200 mile eroare!
Din punct de vedere al satelitilor cronometrarea este aproape perfecta pentru ca detin ceasuri atomice care sunt incredibil de precise.
Atit satelitul cit si receptorul trebuie sa-si poata sincroniza cu precizie 'pseudo-random code' pentru a face sistemul sa functioneze.
Daca receptoarele ar avea nevoie de ceasuri atomice , GPS ar fi o tehnologie pe care nimeni nu si-ar putea-o permite.
Din fericire proiectantii GPS-ului au avut ideea excelenta care ne permite sa avem niste ceasuri mai putin precise in receptoare.Aceasta idee este una din elementele-cheie ale GPS-ului si consta dintr-un element in plus care face ca fiecare ceas din receptor sa nu fie mai putin precis decit ceasurile atomice de pe satelit.
Secretul unei sincronizari perfecte este efectuarea a inca unei masuratori la satelit.
Daca trei masuratori perfecte pot localiza un punct in spatiul 3-D , atunci patru masuratori imperfecte pot face acelasi lucru.
Masuratoarea in plus rezolva erorile de sincronizare.
Daca ceasurile receptoarelor ar fi perfecte atunci toate domeniile satelitilor s-ar intersecta intr-un singur punct (care este practic pozitia noastra).Dar cu ceasuri imperfecte , o a patra masuratoare , facuta ca o verificare , nu se va intersecta cu primele trei.
Pentru ca orice eroare de la timpul universal va afecta masuratorile , receptorul cauta un factor de corectie care poate reduce masuratorile de sincronizare pina se intersecteaza intr-un singur punct.Aceasta corectie face ceasul receptorului sa se sincronizeze cu timpul universal.
Din moment ce aceasta corectie se aplica si la restul masuratorilor avem o pozitionare precisa.
O consecinta a acestui principiu este ca orice GPS rezonabil va avea nevoie de patru canale pentru a face patru masuratori simultan.
Cu acest 'pseudo-random code' si o extra-masuratoare care ne fac perfect sincronizati la timpul universal avem tot ce ne trebuie pentru a masura distanta pina la un satelit in spatiu.
Dar pentru a face triangulatia sa functioneze nu este de ajuns sa stim distanta , mai trebuie sa stim exact unde se afla satelitii.




4       Specificatii complete sateliti. Almanac. Explicarea parametrilor raportati in Almanac.


Satelitii raporteaza saptamanal coordonatele lor centrului principal de comanda, astfel incat se scoate un astfel de raport saptamanal (Almanac). Almanacul contine o serie de parametri referitori la fiecare satelit din sistemul GPS:


PRN Number (numar de identificare) ( ID): ofera statiei de receptie posibilitatea identificarii satelitilor GPS
SVN Number: nu este esential in functionarea sistemului; in mod normal este inclus doar la solicitarea sistemului operational de control (OCS)
Health 000=utilizabil
Eccentricity = Deviatia de la orbita circulara si este egala cu distanta dintre focar si semi-axa majora a elipsei( e=c/a).
Inclination Offset: Unghiul pe care orbita satelitului il face cu planul ecuatorului. (aproximativ 55 de grade latitudine).
Time of Applicability(s): Numarul de secunde in care Almanacul a fost generat.
Orbital Inclination(rad): Unghiul pe care orbita satelitului il face cu planul ecuatorului. (aproximativ 55 de grade latitudine).
Rate of Right Ascension: Rata de schimb in masurarea unghiului de ascensiune.
SQRT(A) Square Root of Semi-Major Axis(m^1/2): Distanta din centrul orbitei pana la apogeu.
Right Ascension at Time of Almanac (TOA)(rad/s): Longitudinea nodului ascendent.
Argument of Perigee(rad): Unghiul facut de dreapta nodului ascendent (ON) cu punctul de perigeu (OP), in sensul miscarii satelitului.
Mean Anomaly(rad): Anomalia medie (M).
Af(0): SV clock bias in seconds
Af(1): SV clock Drift in seconds per seconds
Week GPS week (0000-1024), every 7 days since 22 Aug 1999

Exemplu:


******** Week 433 almanac for PRN-01 ********
ID: 01
Health:000
Eccentricity:0.7111549377E-002
Time of Applicability(s): 319488.0000
Orbital Inclination(rad):0.9908103943
Rate of Right Ascen(r/s): -0.7908965927E-008
SQRT(A) (m 1/2): 5153.550293
Right Ascen at Week(rad): -0.1289685726E+001
Argument of Perigee(rad): -1.795158625
Mean Anom(rad): 0.2170897722E+001
Af0(s):0.1726150513E-003
Af1(s/s): 0.3637978807E-011
week:433


5       Determinarea pozitiei oricarui subsatelit la orice moment de timp.

6       Determinarea satelitilor vizibili dintr-un punct pe suprafata Pamantului la un anumit moment de timp.

7       Graficul atenuarii in intervalul de vizibilitate din statia de sol specificata la punctul 6.

8       Determinarea timpului de vizibilitate penrtru un satelit aflat in aria de vizibilitate a statiei de sol specificata la punctul 6.





Program Matlab

% proiect_cs.m


% Functie care calculeaza DOPS pentru o locatie fixa de pe Pamant

% Calculeaza DOPS, azimut si elevatia

% satelitilor GPS si afiseaza elevatie vs. timp, azimuth vs. timp, # nr sateliti

% vizibili, griafic cu statia de sol centrata in mijlocul unui cerc, precum si atenuarea unuia dintre sateliti.



% functii apelate:

%LLA2ECEF- calculeaza coordonate ECEF(X,Y,Z-cu centrul Pamantului ca punct 0 de referinta) din coordonate de lat,long,alt

%READYUMA-citeste fisierul Yuma din almanac

% ALM2GEPH-converteste din format Yuma in format efemeric

% UTC2GPS-converteste matricea timpului in format de timp GPS (saptamani ,zile, secunde)

% PROPGEPH-calculeaza pozitiile satelitilor in format ECEF, citind informatia de intrare din format efemeric

% LOS-calculeza line-of-sight intre sateliti si statia de sol

% ECEF2LLA-functia inversa LLA2ECEF

% ECEF2NED-converteste coordonatele din format ECEF in format Nord-Est-Down

% NED2AZEL-converteste coordonatele in format azimut elevatie,

% VIS_DATA-calculeaza perechile (azimut/elevatie) care trec testul elevatiei minime

% NED2DOPS-calculeaza valorile DOP-s (dilution of precision)-care arata cat

% de precis se calculeaza coordonatele

% GPST2SEC-transforma formatul de timp GPS in format data

% NUM_VIS-calculeza numarul de sateliti vizibili la momentul dorit (se face testul de elevatie minimia),

% PASSDATA-determina numarul satelitilor care au trecut testul LOS

% GPS2UTC-transforma formatul de timp GPS in format UTC (universal time)



% MAKEPLOT-creaza graficele solicitate

clear

close all % close all open windows

% Parametrii de simulare

sta_name = ['Paris' % Numele Statiei

location = [45.63333*pi/180, -5.73*pi/180, 55]; % Lat, long, alt (rad, m)

mask = 0; % elevatia minima (radians)

start_time = [2008 1 17 23 00 0]; % Start Date (yr, mon, day, hr, mn, sec)

stop_time = [2008 1 17 23 05 0]; % Stop Date (yr, mon, day, hr, mn, sec)

time_step = 10; % Time step (sec)

gps_start_time = utc2gps(start_time);

alm_file = find_alm(gps_start_time(1)); % fisierul almanac GPS -utilizat

%%%%% ALGORITMUL DE CALCUL %%%%%


% converteste coordonatele statiei de sol in format ECEF

location_ecef = lla2ecef(location);

% incarca almanacul curent in format YUMA

alm_2_use = readyuma(alm_file);

% sorteaza satelitii care nu sunt folositi (param 0-health)

I_gps_good = find(alm_2_use(:,2) == 0);

alm_2_use = alm_2_use(I_gps_good,:);

%convertesc din format almanac in format efemeric

[gps_ephem] = alm2geph(alm_2_use);

% convertesc timpul de pornire si oprire in format GPS

start_gps = utc2gps(start_time);

stop_gps = utc2gps(stop_time);

% calculez pozitiile satelitilor in format ECEF pentru acel interval stabilit

[t_gps,prn_gps,x_gps,v_gps] = propgeph(gps_ephem,start_gps,stop_gps,time_step);

% calculez LOS in format ECEF

[t_los_gps, gps_los, los_ind] = los(t_gps(1,:), location_ecef, t_gps, [prn_gps x_gps]);

prn_gps_los = prn_gps(los_ind(:,2));


location = ecef2lla(location_ecef(los_ind(:,1),:));

% convertesct LOS din ECEF in NED

[gps_los_ned] = ecef2ned(gps_los, location);

% Calculez ce e deasupra unghiul de elevatie minima

[az, el] = ned2azel(gps_los_ned);

[az_el_pass, I_pass] = vis_data(mask, [az el]);

% Calculez DOPS folosind unghiul de elevatie minima pentru a determina satelitii vizibili

[dops,t_dops] = ned2dops(gps_los_ned(I_pass,:),t_los_gps(I_pass,:));

%Resetez valorile distantelor doar la cele care au trecut testul

if any(I_pass),

% resetez matricile astfel incat sa contina numai informatia despre satelitii vizibili(elevatie>0)

t_los_gps = t_los_gps(I_pass,:);

az = az(I_pass);

el = el(I_pass);

prn_gps_los = prn_gps_los(I_pass);

end

%calculez numarul de satelilti vizibili

[t_vis, num_sats] = num_vis(t_los_gps);

% creez variabilele pe care le voi reprezenta grafic

visible_data = [az_el_pass t_los_gps prn_gps_los];

[pass_numbers, pass_times, pass_summary] = passdata(t_los_gps, time_step,

[ones(size(prn_gps_los)) prn_gps_los], visible_data(:,1:2));

number_vis = [t_vis,num_sats];

gps_dops = [t_dops dops];

% Informatia referitoare la pozitia satelitilor aflati in aria de

% vizibilitate

pass_times_utc = gps2utc(pass_times(:,2:3));

output_array = [pass_times_utc(:,2:3) pass_times_utc(:,1) pass_times_utc(:,4:6)

pass_times(:,4)/60 pass_times(:,5:6) pass_summary(:,1,1)*180/pi

pass_summary(:,2,1)*180/pi pass_summary(:,1,2)*180/pi

pass_summary(:,2,2)*180/pi pass_summary(:,2,4)*180/pi];

fprintf('Start Time of Pass Duration Ground S/C Rise Az. Elev. Set Az. Elev. Max Elev.n'

fprintf(' (UTC) (min) Station PRN (deg) (deg) (deg) (deg) (deg)n'

fprintf('%2d/%2d/%4d %2d:%2d:%4.1f %7.2f %5d %5d %7.2f %6.2f %7.2f %6.2f %7.2fn'

output_array');

fig_handles = makeplot(visible_data, pass_numbers, number_vis, gps_dops,

'GPS Visibility for Paris'),grid;



%calculez atenuarea in timpul de observatie pentru unul din satelitii din

%aria de observatie

%aleg un satelit din aria de observatie (primul)


prnsat=prn_gps_los(1);

k=1;

for i=prnsat:30:length(gps_los_ned)

d(k,:)=gps_los_ned(i,:);

k=k+1;

end

dist=zeros(length(d),1);

for i=1:length(d)

for j=1:3

dist(i)=dist(i)+d(i,j)^2;

end

end

%calculez atenuarea

f=1575*10^6;

gain=1000;

c=3*10^8;

for i=1:length(dist)

aten(i)=10*log10(gain*((4*pi*dist(i)*f/c)^2));

end

timp=1:length(aten);

figure(6), plot(timp, aten),grid,

title('Minute peste ora stabilita initial'),ylabel('dB'),xlabel('min'


Rezultate

Start Time of Pass Duration Ground S/C Rise Az. Elev. Set Az. Elev. Max Elev.

(UTC) (min) Station PRN (deg) (deg) (deg) (deg) (deg)

1/17/2008 23: 0: 0.0 5.00 1 2 197.806.48 196.914.65 6.48

1/17/2008 23: 0: 0.0 5.00 1 8 207.85 67.73 208.53 70.2470.24

1/17/2008 23: 0: 0.0 5.00 1 10 149.84 39.65 150.72 37.3339.65

1/17/2008 23: 0: 0.0 5.00 1 1380.10 44.0482.11 42.2144.04

1/17/2008 23: 0: 0.0 5.00 1 15 316.32 17.47 314.39 18.3818.38

1/17/2008 23: 0: 0.0 5.00 1 17 262.18 36.58 259.46 35.5736.58

1/17/2008 23: 0: 0.0 5.00 1 21 307.53 21.02 305.39 21.5721.57

1/17/2008 23: 0: 0.0 5.00 1 24 210.28 18.23 209.22 16.2318.23

1/17/2008 23: 0: 0.0 5.00 1 2752.84 22.7153.19 20.7822.71

1/17/2008 23: 0: 0.0 5.00 1 28 100.55 37.7697.86 38.6938.69

1/17/2008 23: 0: 0.0 5.00 1 2930.07 75.3638.48 74.5875.36

Grafice