Un código de ruido pseudoaleatorio (PRN) genera una secuencia binaria que parece aleatoria pero sigue siendo determinista y repetible. Los sistemas de navegación por satélite, como GPS, Galileo y BeiDou, junto con varias aplicaciones de comunicación, se basan en estos códigos.
Los códigos PRN ofrecen características clave que los hacen esenciales para la navegación y la comunicación.
Siguen un patrón determinista, ya que los algoritmos los generan, lo que garantiza una reproducción precisa. A pesar de su diseño estructurado, exhiben propiedades estadísticas similares al ruido blanco, lo que hace que parezcan aleatorios.
Los ingenieros diseñan diferentes códigos para que sean ortogonales o únicos, lo que reduce la correlación cruzada y minimiza la interferencia.
En las aplicaciones de GPS y GNSS (por ejemplo, sistemas de aeronaves no tripuladas), cada satélite de la constelación transmite un código PRN único.
Estos códigos cumplen múltiples funciones: ayudan a los receptores GPS a distinguir las señales de diferentes satélites, permiten el cálculo del alcance comparando los códigos transmitidos con una versión generada localmente para determinar el tiempo de viaje de la señal y admiten la modulación de espectro ensanchado.
Esta técnica de modulación permite que las señales se transmitan a través de un ancho de banda amplio, lo que aumenta la resistencia a las interferencias y al bloqueo.
El GPS utiliza diferentes tipos de códigos PRN. El código C/A (Coarse/Acquisition) admite la navegación GPS estándar y se repite cada 1 milisegundo. El código P(Y), diseñado para aplicaciones militares, cifra sus datos y se repite cada siete días.
El código M, una versión militar avanzada, mejora las capacidades anti-interferencia.
Los registros de desplazamiento de retroalimentación lineal (LFSR) generan códigos PRN, produciendo secuencias con propiedades de correlación deseables para un seguimiento preciso de la señal.
Al mantener características pseudoaleatorias al tiempo que garantizan la previsibilidad y la repetibilidad, los LFSR hacen que estos códigos sean altamente confiables para la navegación y la comunicación.
Representación matemática del código PRN
Para G1 y G2, la relación de recurrencia es:
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)
Donde ⊕ (XOR) es la operación de adición binaria.
El código PRN se forma entonces como:
PRN(n) = G1(n) ⊕ G2 (n+delay)
El retardo varía para cada satélite GPS, lo que garantiza secuencias PRN únicas.