伪随机噪声 (PRN) 码生成一个看起来是随机的但保持确定性和可重复性的二进制序列。卫星导航系统(如 GPS、Galileo 和 BeiDou)以及各种通信应用都依赖于这些代码。
PRN 码提供了一些关键特性,使其对于导航和通信至关重要。
它们遵循确定性模式,因为算法会生成它们,从而确保精确的再现。尽管它们的设计结构化,但它们表现出类似于白噪声的统计特性,使其看起来是随机的。
工程师设计不同的代码是正交的或唯一的,这减少了互相关并最大限度地减少了干扰。
在 GPS 和 GNSS 应用(例如,无人驾驶飞行器系统)中,星座中的每颗卫星都传输一个唯一的 PRN 码。
这些代码具有多种功能:它们帮助 GPS 接收器区分来自不同卫星的信号,通过将传输的代码与本地生成的版本进行比较来确定信号传输时间,从而实现范围计算,并支持扩频调制。
这种调制技术允许信号在宽带宽上传输,从而提高对干扰和阻塞的抵抗力。
GPS 使用不同类型的 PRN 码。C/A(粗捕获)码支持标准 GPS 导航,每 1 毫秒重复一次。P(Y) 码专为军事应用而设计,对其数据进行加密,每 7 天重复一次。
M 码是一种先进的军事版本,增强了 抗干扰能力。
线性反馈移位寄存器 (LFSR) 生成 PRN 码,产生具有理想相关特性的序列,用于精确的信号跟踪。
通过保持伪随机特性,同时确保可预测性和可重复性,LFSR 使这些代码对于导航和通信高度可靠。
PRN 码的数学表达形式
对于 G1 和 G2,递推关系为:
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)
其中 ⊕ (XOR) 是二进制加法运算。
PRN 码的形成方式如下:
PRN(n) = G1(n) ⊕ G2 (n+delay)
每个 GPS 卫星的延迟各不相同,从而确保唯一的 PRN 序列。