Les systèmes de navigation et de positionnement par satellite occupent et occuperont une place de plus en plus importante dans la vie quotidienne pour un nombre grandissant d'applications. Les récepteurs captent et analysent les signaux émis par une constellation de satellites. Les systèmes les plus connus sont GPS et GLONASS; vers 2012 le système Galileo sera opérationnel. Malgré la simplicité apparente de la technique, le traitement des signaux et le calcul de la position d'un récepteur sont complexes. Le récepteur décrit ici concerne le système GPS, mais la description est généralisable aux autres systèmes.
Les satellites émettent en permanence sur deux fréquences L1 (1575,42 MHz) et L2 (1227,60 MHz). Elles sont modulées en phase par la combinaison des données numériques et de deux codes; cette combinaison est une addition modulo 2. Les codes sont un code pseudo aléatoire C/A (acronyme de coarse acquisition, acquisition grossière) qui est une séquence à 1,023 Mbit/s et de période 1 milliseconde et un code pseudo aléatoire P, pour précision, à 10,23 Mbit/s avec une période de 280 jours. Le premier est librement accessible, le second est réservé aux utilisateurs autorisés ; il est le plus souvent crypté.
En ce qui concerne les signaux accessibles librement c'est la porteuse L1 qui est utilisée. Chaque satellite GPS transmet sur cette porteuse le code d’acquisition C/A et les données. Le code C/A est unique pour chaque satellite parmi un ensemble de 31. Les données transmises à 50 bit/s incluent des informations sur la totalité de la constellation GPS : éphémérides permettant de calculer la position des satellites, correction d'horloge, données pour la correction ionosphérique, ainsi que les messages spéciaux du système. Les données des satellites sont transmises dans une trame toutes les 30 secondes. Le temps requis pour transmettre l'almanach complet du système est de 12,5 minutes. L'éphéméride contient les paramètres orbitaux détaillés pour tous les satellites. Les données d'éphéméride changent d'heure en heure, mais sont valables pendant quatre heures environs. La partie contrôle de la trame GPS met à jour l'almanach du système chaque semaine et met à jour à chaque heure l’éphéméride à travers trois stations de contrôle terrestres. En fonctionnement normal continu, un récepteur GPS met à jour ces éphéméride stockés dans sa mémoire de façon continue et souvent toutes les 30 minutes.
Le calcul de la position du récepteur est effectué à partir des données numériques de l'almanach et du repérage temporel de moments caractéristiques des séquences de code C/A. Les récepteurs actuels peuvent suivre un grand nombre de satellites simultanément sur autant de canaux dédiés; 12 canaux est un chiffre courant. La performance d'un récepteur GPS lors de sa mise sous tension est déterminée en grande partie par les satellites en visibilité et la disponibilité dans la mémoire du récepteur d'un almanach du système de GPS.
Au Démarrage à tiède, le récepteur possède un almanach à jour, une première position, à moins de 3000 kilomètres, et l’heure précise, à cinq minutes près, stockés en mémoire. Pour forcer un démarrage à chaud, l'almanach, le temps, et la position d'initiale doivent être téléchargés par le récepteur.
Pendant un démarrage à tiède, le récepteur identifie les satellites qu'il s'attend à recevoir, grâce aux données de l'almanach, de la position initiale et de l’heure. Le récepteur calcule l'altitude et l'effet Doppler de chaque satellite dans cet ensemble prévu, et il assigne à ses différents canaux une recherche parallèle de ces satellites. Si l'erreur interne de l'oscillateur est connue, le récepteur compense ce décalage afin d’optimiser la recherche. Si le décalage n'est pas connu, les algorithmes de recherche sont élargis pour tenir compte de la tolérance d'oscillateur, du vieillissement, et des erreurs liées à la température.
Si le récepteur possède un almanach et une première position, mais s’il n'a pas l’heure actuelle, il déclenche une recherche de démarrage à froid jusqu'à ce que le premier satellite soit acquis. Une fois que ces données du premier satellite sont acquises, le récepteur GPS peut obtenir une heure approximative et ensuite basculera en mode démarrage à chaud pour acquérir les satellites additionnels. Bien que le temps de la première acquisition soit légèrement plus long dans ce cas, il est sensiblement plus court qu’un démarrage à froid complet. La durée de démarrage à la première acquisition est habituellement inférieur à 50 secondes.
Si le récepteur ne récolte pas l'ensemble des données des satellites prévus dans un délai de quelques minutes lors d'un démarrage à chaud, par exemple parce que l’antenne GPS est dans un environnement obstrué, un des canaux est attribué afin de mener une recherche en mode démarrage à froid. Cette stratégie réduit au minimum le temps d’acquisition à la première position dans les cas où l'almanach, la position et l’heure stockés sont invalides.