Un code PRN (Pseudo-Random Noise) génère une séquence binaire qui semble aléatoire mais qui reste déterministe et reproductible. Les systèmes de navigation par satellite, tels que GPS, Galileo et BeiDou, ainsi que diverses applications de communication, s'appuient sur ces codes.
Les codes PRN présentent des caractéristiques clés qui les rendent essentiels pour la navigation et la communication.
Ils suivent un modèle déterministe puisque des algorithmes les génèrent, garantissant ainsi une reproduction précise. Malgré leur conception structurée, ils présentent des propriétés statistiques similaires à celles du bruit blanc, ce qui les fait apparaître comme aléatoires.
Les ingénieurs conçoivent différents codes pour qu'ils soient orthogonaux ou uniques, ce qui réduit la corrélation croisée et minimise les interférences.
Dans les applications GPS et GNSS (p. ex. systèmes d'aéronefs sans pilote), chaque satellite de la constellation transmet un code PRN unique.
Ces codes ont plusieurs fonctions : ils aident les récepteurs GPS à distinguer les signaux provenant de différents satellites, permettent de calculer la portée en comparant les codes transmis avec une version générée localement pour déterminer le temps de parcours du signal, et prennent en charge la modulation à spectre étalé.
Cette technique de modulation permet aux signaux d'être transmis sur une large bande passante, ce qui accroît la résistance aux interférences et au brouillage.
Le GPS utilise différents types de codes PRN. Le code C/A (Coarse/Acquisition) prend en charge la navigation GPS standard et se répète toutes les 1 millisecondes. Le code P(Y), conçu pour les applications militaires, crypte ses données et se répète tous les sept jours.
Le code M, une version militaire avancée, améliore les capacités anti-brouillage.
Les registres de décalage à rétroaction linéaire(LFSR) génèrent des codes PRN, produisant des séquences avec des propriétés de corrélation souhaitables pour un suivi précis des signaux.
En maintenant des caractéristiques pseudo-aléatoires tout en garantissant la prévisibilité et la répétabilité, les LFSR rendent ces codes très fiables pour la navigation et la communication.
Code PRN Représentation mathématique
Pour G1 et G2, la relation de récurrence est la suivante :
G1(n) = G1(n-3) ⊕ G1(n-10)
G2(n) = G2(n-2) ⊕ G2(n-3) ⊕ G2(n-6) ⊕ G2(n-8) ⊕ G2(n-9) ⊕ G2(n-10)
Où ⊕ (XOR) est l'opération d'addition binaire.
Le code PRN est alors formé comme suit :
PRN(n) = G1(n) ⊕ G2 (n+délai)
Le délai varie pour chaque satellite GPS, ce qui garantit des séquences PRN uniques.