Un code de bruit pseudo-aléatoire (PRN) génère une séquence binaire qui semble aléatoire mais reste déterministe et reproductible. Les systèmes de navigation par satellite, tels que le GPS, Galileo et BeiDou, ainsi que diverses applications de communication, s'appuient sur ces codes.
Les codes PRN présentent des caractéristiques essentielles qui les rendent indispensables pour la navigation et la communication.
Ils suivent un modèle déterministe puisqu'ils sont générés par des algorithmes, assurant une reproduction précise. Malgré leur conception structurée, ils présentent des propriétés statistiques similaires au bruit blanc, ce qui les fait apparaître 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 (par ex. les systèmes d'aéronefs sans pilote), chaque satellite de la constellation transmet un code PRN unique.
Ces codes remplissent plusieurs fonctions : ils aident les récepteurs GPS à distinguer les signaux des différents satellites, permettent le calcul de la portée en comparant les codes transmis avec une version générée localement pour déterminer le temps de propagation du signal, et prennent en charge la modulation par étalement de spectre.
Cette technique de modulation permet de transmettre des signaux sur une large bande passante, augmentant ainsi 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 milliseconde. Le code P(Y), conçu pour les applications militaires, chiffre 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 à 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 du signal.
En maintenant des caractéristiques pseudo-aléatoires tout en garantissant la prévisibilité et la reproductibilité, les LFSR rendent ces codes très fiables pour la navigation et la communication.
Représentation mathématique du code PRN
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 ensuite formé comme suit :
PRN(n) = G1(n) ⊕ G2 (n+delay)
Le délai varie pour chaque satellite GPS, garantissant des séquences PRN uniques.