Das GPS sendet Informationen auf zwei Trägerwellen. Für die zivile, freie und kostenlose Nutzung steht bisher nur die sog. L1-Trägerwelle (1575,42 MHz) zur Verfügung. Für militärische Nutzungen ist daneben die L2-Trägerwelle (1227,60 MHz) verfügbar.
Das GPS verwendet zur Modulation mehrere Codes.
- Der C/A-Code (C/A = Coarse Access, grobe Aufnahme) moduliert nur die L1-Trägerwelle. Diese allgemein zugängliche Codierung kann jedermann entschlüsseln und nutzen, so dass die GPS-Signale allgemein verfügbar sind.
- Der P-Code (P = Precise) moduliert sowohl die L1 wie auch die L2 Trägerwelle und ermöglicht eine besonders genaue Ortung. Seine Entschlüsselung erfordert eine Autorisierung durch die US-Militärbehörden.
- Der D-Code (D = Data) überträgt die Navigationsnachrichten (die neuesten Satellitenbahndaten, Daten über die atmosphärischen Bedingungen, Informationen über Fehler der Satellitenuhr und den allgemeinen Zustand des Satelliten).
Die Übermittlung der Satelliteninformationen an den GPS-Empfänger erfolgt entsprechend dem in der Radiotechnik üblichen Prinzip. Auf eine Trägerwelle wird durch Phasenmodulation ein regelmäßiges Signal aufgesetzt. Im Empfänger kann bei bekannter Modulation das Signal entschlüsselt werden.
Bis zum 1. Mai 2000 wurde die Genauigkeit mit Absicht vom US-Verteidigungsministerium heruntergesetzt (sog. Selective Availability SA). So wurde die Navigationsnachricht der Satelliten durch Schwankungen im Signal verstümmelt. Dabei waren diese Manipulationen unregelmäßig angelegt und konnten daher nicht korrigiert werden. Insbesondere veränderten sich diese Verfälschungen nach wenigen Stunden, so dass Korrekturen auf der Basis des sog. Differential GPS zeitnah erfolgen mussten.
Die Navigationsgenauigkeit lag damals beim Standard-GPS (d.h. zivile Nutzung, kein Differential GPS) bei etwa 100m. Inzwischen kann beim Standard-GPS eine Genauigkeit von bis zu fünf Meter erreicht werden (u.a. abhängig von der Satellitenkonfiguration). Allerdings kann jederzeit wie z.B. in internationalen Krisen vom US-Militär die Selective Availability wieder eingeschaltet werden.