GPS-satellietenzenden twee soorten draaggolfsignalen uit, namelijk de L1-draaggolf met een frequentie van 1575,42 MHz en de L2-draaggolf met een frequentie van 1227,60 MHz. Hun frequenties zijn respectievelijk 154 keer en 120 keer die van de basisfrequentie 10,23 MHz, en hun golflengten zijn 19,03 cm. En 24,42 cm. Op L1 en L2 wordt een verscheidenheid aan signalen afzonderlijk gemoduleerd. Deze signalen omvatten voornamelijk:
C/A-code
De C/A-code wordt ook wel een grove acquisitiecode genoemd. Het wordt gemoduleerd op de L1-draaggolf en is een 1 MHz pseudo-willekeurige ruiscode (PRN-code) met een codelengte van 1023 bits (periode van 1 ms). Omdat de C/A-code van elke satelliet verschillend is, gebruiken we vaak hun PRN-nummers om ze te onderscheiden. De C/A-code is een hoofdsignaal dat door gewone gebruikers wordt gebruikt om de afstand tussen het station en de satelliet te bepalen.
P-code
De P-code wordt ook wel de fijne code genoemd. Het wordt gemoduleerd op de L1- en L2-draaggolven en is een 10 MHz pseudo-willekeurige ruiscode met een periode van zeven dagen. Bij de implementatie van AS worden P-code en W-code modulo twee toegevoegd om een geheime Y-code te genereren. Op dit moment kunnen algemene gebruikers de P-code niet gebruiken voor navigatie en positionering.
Y-code
Zie P-code.