Alle GPS-satellieten zenden op dezelfde frequenties. Hoe houdt de ontvanger ze dan uit elkaar? Met CDMA (Code Division Multiple Access): elke satelliet moduleert zijn signaal met een unieke, pseudo-willekeurige PRN-code (Pseudo-Random Noise). De ontvanger kent al die codes en kan door correlatie elk satellietsignaal apart terugvinden — ook al liggen ze boven op elkaar én onder de ruis (§ 14.6).
De code bepaalt drie dingen tegelijk: de nauwkeurigheid (snellere code = scherpere afstandsmeting), de jam-weerbaarheid (bredere code = meer processing gain) en de toegang (open of versleuteld). GPS kent drie hoofdcodes.
C/A-code
De C/A-code (Coarse/Acquisition) is de open, civiele code op L1. Eigenschappen:
- Chip rate 1,023 Mcps (mega-chips per seconde) — relatief traag.
- Een korte code van 1023 chips die zich elke 1 ms herhaalt; daardoor snel te vinden ("acquisition") door een koude ontvanger.
- Openbaar bekend: iedereen kan hem ontvangen — en dus ook nabootsen. Dat maakt C/A het makkelijkst te spoofen (§ 14.8).
- Smal spectrum (~2 MHz) → de laagste processing gain → het meest gevoelig voor jamming van de drie.
De C/A-code is dus de zwakste schakel: open, smal en kort. Bijna alle "civiele" GPS-storingsincidenten en spoofing-aanvallen richten zich op C/A op L1.
P(Y)-code
De P-code (Precise) is de militaire precisiecode op L1 én L2. Eigenschappen:
- Chip rate 10,23 Mcps — tien keer sneller dan C/A → nauwkeuriger afstandsmeting en breder spectrum (~20 MHz).
- Een zeer lange code die zich pas na ~een week herhaalt.
- Versleuteld: de P-code wordt met de geheime W-code versleuteld tot de Y-code; samen heet dit P(Y). Dit is anti-spoofing (A-S): zonder de sleutel kun je het signaal niet nabootsen. Ontvangst vereist een crypto-sleutel (klassiek via SAASM-ontvangers).
- Hogere processing gain dan C/A → robuuster tegen jamming, en het gebruik van twee frequenties (L1+L2) maakt ionosfeercorrectie en extra weerbaarheid mogelijk.
Een praktisch nadeel: P(Y) is moeilijk "koud" te vinden vanwege de zeer lange code. Klassiek vinden militaire ontvangers daarom éérst de C/A-code en springen dan over naar P(Y) — maar dat betekent dat een C/A-jammer ook de toegang tot P(Y) kan blokkeren. De M-code lost precies dat op.
M-code
De M-code (Military) is de moderne militaire code (onderdeel van de GPS-modernisering), op L1 en L2. Hij is ontworpen met de lessen van C/A en P(Y) in het achterhoofd:
- Nieuwe, sterkere versleuteling en een ontwerp dat directe acquisition toestaat: de M-code kan rechtstreeks gevonden worden, zónder eerst de C/A-code te hoeven oppikken. De C/A-jammer-achterdeur uit § 14.4.2 is daarmee dicht.
- BOC-modulatie (Binary Offset Carrier, BOC(10,5)): in plaats van één lob in het midden van de band splitst de M-code zijn energie in twee lobben aan weerszijden van het bandmidden. Zo zit hij spectraal "naast" de C/A- en P(Y)-energie — minder onderlinge hinder, en moeilijker selectief te verstoren.
- Spot beams: moderne satellieten kunnen de M-code met een gerichte, krachtigere bundel boven een operatiegebied uitzenden, wat extra vermogen geeft tegen jamming (een hogere J/S-drempel, § 14.7).
- Hoge processing gain en autonome, veilige werking → de meest jam- en spoof-bestendige GPS-code.