Pour obtenir une position GPS semi-précise, vous avez besoin d'au moins trois satellites (mais généralement quatre ou plus sont nécessaires pour obtenir un degré de précision décent) pour trianguler votre position. Plus vous en avez, meilleure est la précision.
Un récepteur GPS doit alimenter son antenne et traiter en permanence le signal envoyé par chaque satellite. N'oubliez pas que les satellites transmettent continuellement des messages. (50 bits/sec autant que je m'en souvienne)
Les satellites émettent des messages spécifiant leur position exacte, leur trajectoire, leur vitesse, l'heure à laquelle chaque message a été envoyé et la position approximative de tous les autres satellites de la constellation.
En comparant cette information à l'heure de réception du signal, on peut déterminer la distance entre le satellite et le récepteur. Lorsque vous avez trois satellites ou plus, vous pouvez trianguler votre position en trois dimensions par rapport aux positions des satellites.
L'iPhone (et d'autres téléphones) utilise le système A-GPS, qui est conçu (croyez-le ou non), entre autres choses, pour que le GPS fonctionne mieux dans les zones de mauvaise réception (villes ?) et pour réduire la quantité d'informations que le récepteur a besoin de recevoir des satellites, ce qui permet d'économiser la batterie de l'antenne.
Les parties du signal GPS relatives à la localisation, à la vitesse et à la trajectoire orbitale sont généralement perdues en premier lorsque la réception est faible. C'est là que l'A-GPS intervient, en fournissant au téléphone ces informations pour chaque satellite dans cette partie du monde, à partir d'une base de données centrale via le réseau mobile. Le téléphone n'a plus qu'à rechercher les signaux de synchronisation courts de chaque satellite, qui sont plus faciles à recevoir que les autres parties de la transmission.
Lorsque toutes ces informations sont calculées, un algorithme (il y en a plusieurs à ma connaissance) est utilisé pour calculer la position du récepteur réel.
Ajoutez à cela le fait que les messages GPS sont codés et que les satellites diffusent les messages à environ 50 bits par seconde. Et que chaque message est en réalité un sous-ensemble de trames avec l'heure, la position, la correction d'erreur, etc, etc.
D'autres facteurs entrent en jeu, mais pour simplifier, le processeur du GPS doit constamment utiliser la radio (déjà gourmande en énergie) pour capter le signal (qui peut être faible !) de quatre satellites ou plus (parfois jusqu'à 20 !) qui envoient constamment des paquets, puis il doit les décoder et les traiter, effectuer des calculs pour analyser les résultats et, dans certains cas, dessiner une carte ou alimenter une application avec les informations.
Comme vous pouvez le constater, cela semble facile, mais ce n'est pas le cas. Il y a beaucoup de traitement CPU impliqué à l'arrière (plus l'alimentation de l'antenne !).
La consommation d'énergie du GPS provient donc généralement de la nature en temps réel de l'opération. L'alimentation de l'antenne, l'écoute des informations et leur traitement consomment de l'énergie, plus qu'une antenne radio en veille (le téléphone) qui attend un appel. De plus, l'A-GPS utilise également la radio du téléphone et (si disponible) les réseaux Wi-Fi pour déterminer sa position (et utilise moins d'informations GPS), ce qui signifie qu'une plus grande quantité d'énergie est utilisée en même temps.
Le site Wikipedia GPS contient de nombreuses informations détaillées si vous souhaitez obtenir les détails et/ou vous plonger dans les détails du GPS, y compris les mathématiques et la correction des erreurs.