A helymeghatározás geometriai alapelve a térbeli ívmetszés feladata: ha feltesszük, hogy az ismeretlen helyzetű pont a földfelszín közelében helyezkedik el és ismerjük három műholdtól mért távolságát, akkor a három gömbfelület két pontban metszi egymást. A két megoldás közül egyszerűen kizárható az a pont, amelyik a valahol a világűrben helyezkedik el. Az egyértelmű megoldást egy negyedik műholdtól mért távolság szolgáltatja, de a gyakorlatban több, akár tíz műhold is részt vesz a helyzetmeghatározásban, a megoldást az összes mérés alapján kiegyenlítéssel kapjuk.
A vevő és a műhold közötti távolság d (m) meghatározása közvetett módon, időmérésre visszavezetve történik. A rádióhullámok terjedési idejének t (s) és a rádióhullám terjedési sebességének - a fénysebességnek – ismeretében: d (m) = t(s) x 3x108 (m/s)
A jel terjedési idejének mérését, amely kb. 0,06 mp-nyi időtartam megmérését jelenti, a következőképpen valósították meg a helymeghatározó rendszerekben: a műholdon és a vevőben is egy-egy órát helyeztek el. Az órák kb. egy ezredmásodpercenként ugyanazt a – műholdanként különböző, közel véletlenszerű - kódsorozatot generálják. A műhold jele a vevőhöz a közöttük lévő távolság megtételéhez szükséges idővel később érkezik. A vevő összeveti (elcsúsztatja) a saját jelsorozatát a műholdról érkezett jelsorozattal és a különbség éppen a késési időt adja meg, ha mindkét óra tökéletesen szinkronizált és pontos.
Azonban a nagypontosságú időmérés (rubidium és cézium atomórákkal) csak a műholdakon oldható meg, míg a vevőkben egyszerű kvarcórákat helyeznek el. A pontatlan időmérés viszont minden egyidejű észlelést azonos hibával terhel, így egy negyedik műholdtól való mérésből az órahiba (dt) számítható. Az alábbi ábrán a síkbeli helyzet látható, térben négy mérés szükséges az órahiba meghatározásához és az egyértelmű geometriai megoldáshoz:
A fentiekből következik, hogy a vevőknek legalább négycsatornásnak kell lenniük. A gyakorlati számításokban a meghatározandó pont 3 térbeli koordinátáját és a vevő órahibáját is ismeretlennek tekintve, a négy műholdra történő mérésből származó 4 egyenletből a feladat egyértelmű megoldását kapjuk. A helymeghatározás egyenletrendszere tehát a következő alakú:
s = 1..n
ahol Xs, Ys, Zs az s jelű műhold ismert térbeli derékszögű koordinátái
Prsaz s jelű műholdra az r jelű vevővel mért és javított kódtávolság
Xr, Yr, Zr az r jelű vevő ismeretlen térbeli derékszögű koordinátái
Cr a vevő óraigazítatlanságának hatása távolságegységben
n az észlelt műholdak száma
A GPS műholdak két jelet sugároznak: L1=1575,42 MHz és a L2=1227,60 MHz vivőhullám hosszakon. Az L1 és L2 frekvenciát modulálják a nagyobb mérési pontosságot biztosító P (precision) kóddal, amelynek hullámhossza 30 m. Az L1 frekvenciát a C/A (coarse/acquisition - durva/elérés) kóddal modulálják, amely 300 m hosszú és kisebb mérési pontosságot tesz lehetővé.
A C/A kód véletlen kód, zérusokból és egyesekből áll. Egy elem frekvenciája u=1,023 MHz, a kód 1023 bit hosszú. Időben kifejezve egy elem 1 mikroszekundumnak (0,000001 mp-nek) felel meg, a teljes kód 1 milliszekundumnak (0,001 mp-nek) felel meg, így:
• egy elem hossza: l=c/u=2,99792458*108*0,977517106*10-6=293,052 [m]
• az egész kódsorozat hossza: 293,052*1023 = 299792,458 [m].
A jobb minőségű vevők mérési pontossága a kódelem (~300 m) 1 %-ára tehető, így ennél a mérési módszernél megközelítőleg 3 méteres mérési zajra számíthatunk.
A vivőjel frekvenciája (L1 : 19,05 cm; L2 : 24,45 cm) kb. 1000-szerese a kódfrekvenciának, így ennél a mérési módszernél a pontosság növekedése is 1000-szeres a kódméréssel összehasonlítva, vagyis a jelkiértékelés mm-es pontossággal végezhető el (1 %-os mérési zajjal számolva). Problémaként jelentkezik a módszernél, hogy az egész periódusok száma nem ismert (fázis többértelműség). A probléma megoldására matematikai modelleket (szoftver függő), illetve kétfrekvenciás vevőket alkalmaznak.
A GPS műholdak helyzetét: X,Y,Z geocentrikus koordinátáit ismernünk kell a helymeghatározáshoz. A műholdak a kódsorozatok mellett közlik a navigációs üzeneteikben az aktuális pályaadatokat, az efemeridákat. A földi vezérlőállomások meghatározott időközönként frissítik, javítják az adatokat és visszajuttatják azt a műholdakra. A műholdak pozíciójának hibáját kerethibának nevezik a geodéziában.
Legjelentősebb hibaforrásként a földi légkörnek a GPS jelre gyakorolt késleltető hatását említhetjük. A terjedés sebességére az egyenletes fénysebesség csak vákuumban igaz, az ionoszférában és troposzférában az elektromágneses sugárzás késleltetést szenved, amelynek a távolságmérésre gyakorolt hatása több tízméteres nagyságrendű is lehet. Kiküszöbölésére modellezést, illetve kétfrekvenciás mérésre alkalmas (drágább) készülékeket használnak, mivel a hatás frekvenciafüggő.
További hibajelenségként értelmezhető a többutas terjedés (multipath) problémája, amely akkor jelentkezik, ha a műhold jele nem közvetlenül, hanem valamely közeli visszaverő felületről közvetetten érkezik a vevőhöz. Ez a jelenség a nagyobb pontosságú méréseket érinti és különböző típusú, speciális antennákkal küszöbölik ki a jelenséget.
A műholdgeometria is hatással van a mérés pontosságára. A műholdak elhelyezkedése az égbolton jelentősen befolyásolhatja a mérést. Ideális a helyzet, ha az égbolton minden irányban egyenletesen találhatók műholdak, míg romlik a geometria, ha a holdak egymáshoz közel, „egy csomóban” helyezkednek el. Ezt a hatást fejezi ki a DOP (Dilution of Precision) érték. A kisebb DOP érték nagyobb mérési pontosságot tesz lehetővé, ideálisan pl. a GDOP értékének 2-4 között kell lennie.
Szelektív elérhetőség
Az eredeti katonai célokkal összhangban a DoD a szelektív elérhetőség (selective availability, röviden SA) politikáját gyakorolja, ami azt jelenti hogy esetenként (pld. az öbölháború idején) korlátozza a teljes rendszer használatát a polgári alkalmazóknak. Gyakorlatilag ez korábban úgy történt, hogy csonkolták azokat az üzeneteket, melyek a műhold koordinátáit továbbítják a vevőknek. A C/A kódra műholdanként változó, alacsony frekvenciás (hosszú idő alatt ismétlődő) torzítást vittek, mely az eredeti 30 m-es pontosságot 100 méter körülire csökkentette. A SA-et 2000. május 1-től Clinton elnök megszűntette.