基于GPS L1 C/A 辅助的L1C 快速捕获算法
2023-04-20陈佳林曾庆化
罗 凯, 许 睿, 陈佳林, 曾庆化
(南京航空航天大学自动化学院导航研究中心, 南京 211106)
0 引言
美国全球定位系统(Global Positioning System,GPS)在L1 频点上同时播发传统民用信号L1 C/A和最新民用信号L1C[1]。 其中, L1C 信号由BOC(Binary Offset Carrier) 调 制 的 数 据 分 量 和TMBOC(Time-multiplexed BOC)调制的导频分量组成。 与传统L1 C/A 信号相比, L1C 信号具有测距精度更高、 多径干扰抑制强等优势, 其测距码码周期为10ms, 为L1 C/A 的10 倍。 因此在信号捕获时,数据量、 计算量以及处理耗时方面均显著增加。
为了提高L1C 信号的捕获速度, 一方面可将常用的快速捕获方法应用于L1C 信号的捕获中,如降采样捕获[2]、 分级捕获[3]、 多星联合捕获[4]等;另一方面, 则充分利用同一卫星播发的L1 C/A 信号进行联合捕获或者辅助捕获。 Sun 等[5]针对L1C信号提出了一种稀疏Fourier 变换的快速捕获算法,仿真并论证了该算法可使L1C 信号捕获耗时有所降低。 许睿等[2]提出了一种基于自相关侧峰消除的快速捕获算法, 针对北斗B1C 信号的捕获耗时降低至原来的1/3, 捕获速度的提升主要得益于降采样率。 Yuan 等[6]提出了一种利用L1 C/A 与L1C 码相位信息进行预检测的捕获算法, 理论分析了两种信号的码相位关系可使捕获灵敏度提高。 Macchi-Gernot 等[7]使用L1 C/A 码、 L1C 导频与数据码的线性组合生成本地复合码, 实现了同时对L1 信号的捕获跟踪, 主要考虑了两种信号的码相位和Doppler 频率之间关系。 纪元法等[8]提出了一种基于单元相关的L1 C/A 与L1C 联合捕获算法, 对本地L1 C/A 和L1C 码的单元相关函数进行重组, 提高了捕获的准确性。 类似地, Gao 等[9]在大带宽情况下使用了B1I 辅助B1C 信号的捕获算法, 得益于两个信号Doppler 频率和码相位关系, 缩小了B1C 捕获频率搜索范围, 提高了捕获速度。
目前对于L1C 信号的研究主要为常用快速捕获算法和结合L1 C/A 信号联合捕获, 在低成本前端上利用L1 C/A 信号对L1C 信号进行快速捕获的研究较少, 因此如何利用L1 C/A 信号提高L1C 信号的捕获速度将是本文研究的重点。 L1 C/A 信号辅助L1C 信号捕获的基础是: 同一颗卫星播发的L1 C/A 信号与L1C 信号传播路径相同、 卫星与接收机相对运动情况相同、 所调制的导航电文信息同步。 因此, 两个信号在码序列、 载波Doppler 频率和测距码延时上存在对应关系[7]。
本文针对L1C 信号设计了一种L1 C/A 信号信息辅助的L1C 快速捕获算法。 首先, 基于L1 C/A和L1C 信号关系分析两者Doppler 频率相同、 码相位存在的对应关系; 再利用L1 C/A 信号捕获频率和码相位值作为L1C 信号的辅助信息, 加快L1C信号码相位和频率搜索, 提高L1C 信号捕获速度;最后, 基于真实信号的实验结果验证了该算法对捕获速度的提升。
1 GPS L1 C/A 和L1C 信号关系
如图1 所示, GPS L1 C/A 信号和L1C 信号均为L1 频点上播发的卫星信号, 并且是由同一个卫星播发的两种民用信号, 两种信号对于接收机具有相同的相对运动、 码序列、 码延时和Doppler频率。
图1 GPS L1 频段播发民用信号示意图Fig.1 Schematic diagram of civilian signals broadcasting in GPS L1 band
GPS L1 C/A 与L1C 信号特性如表1 所示[10-11]。L1C 信号的测距码是长度10230 码片的Weill 码,码频率为1.023MHz, 码周期为10ms; L1 C/A 信号的测距码则是长度1023 码片的金码, 码频率为 1.023MHz, 码周期为1ms。
表1 GPS L1 频段信号特性Table 1 Characteristics of GPS L1 band signals
L1C 和L1 C/A 码相位关系如图2 所示。 当接收机在采集GPS L1 频段信号时, 可同时采集L1C和L1 C/A 信号。 由于接收机在采集时刻对两种信号测距码相位搜索范围不同, 得到的码相位值不同。 L1C 和L1 C/A 信号由同一颗卫星播发, 信号传播路径相同, 因此两个信号的码相位之间存在严格对应关系, L1C 测距码10ms 周期的初始码片一开始就与L1 C/A 测距码1ms 周期是严格对齐的。 所以, 采集时刻L1C 测距码相位和L1 C/A 测距码相位存在若干个1ms 周期L1 C/A 码码长的模糊度差值, 即0 ~9 个1023 码片的差距。
图2 L1C 和L1 C/A 码相位关系Fig.2 Relationship of code phase between L1C and L1 C/A
GPS L1 频段信号采集过程中对于当前时刻t,1ms 测距码周期的L1 C/A 信号码延迟为ΔτC/A,10ms 测距码周期的L1C 信号码延迟为ΔτL1C, 则两者之间对应关系为
式(1)中,i为两种信号模糊度差值, 取值为0 ~9;NC/A为L1 C/A 码长度。
在GPS L1 信号调制方面, L1 C/A 信号采用BPSK 调制, L1C 信号由导频分量SL1Cp(t)和数据分量SL1Cd(t)组成, 其低成本窄带接收机中基带信号形式表达分别为
式(2) ~式(4)中,DC/A(t)、DO(t)和Dd(t)分别为C/A 信号导航电文、 L1C 信号导频和数据分量上调制的子码和电文,CC/A(t)、CL1Cp(t) 和CL1Cd(t)分别为L1 C/A 信号测距码、 L1C 信导频和数据分量上调制的测距码, sign(·)为符号函数, 测距码副载波频率fsc为1.023MHz。 因此, 接收机中接收的GPS L1 频段中频信号可表达为
式(5) 中,fIF为接收机中频,fD为Doppler 频率,τ为测距码码延时,φ为初始码相位,n(t)为接收机噪声(简化为高斯白噪声),A为复合信号幅值; 通过表1 信号功率比和文献[7], 可得略去高频分量后各分量参数值α=0.4142、β=0.1470、γ=0.4388。
2 GPS L1 C/A 辅助L1C 信号捕获算法
据上述分析, 由于存在无法确定PRN 的码延时模糊度差值i的问题, 则L1 C/A 码的码相位值可作为L1C 码本地码NCO 的输入。 本地生成10 个具有不同码相位偏移的L1C 码序列, 同时结合L1 C/A 码Doppler 参考值, 进行辅助L1C 码的捕获过程。
对于L1C 信号, 其10ms 码长意味着需要低于80Hz 频率的短步长进行搜索[3], 使得L1C 信号并行码相位捕获中的FFT 过程耗时长。 短步长意味着在较大Doppler 范围下要进行多次搜索, 使得整个捕获过程占用极大运算资源和时间, 因此可利用L1 C/A 信号的码相位和Doppler 频率实现辅助L1C 信号的捕获过程。 通过L1 C/A 码相位和Doppler 频率信息, 将并行码相位捕获算法转化为10 次串行搜索, 可提高运算效率, 捕获结构图如图3 所示。
图3 码序列和载波辅助示意图Fig.3 Schematic diagram of code sequences and carrier wave-assisted
中频信号进行500Hz 步长L1 C/A 码的捕获,获得L1 C/A 码的码相位值, 并作为L1C 码NCO的输入。 根据上一节分析的L1C 和L1 C/A 码的关系, 通过L1 C/A 码相位生成10 个不同延迟的L1C本地码片序列D0 ~D9。 L1C 信号的跟踪环路带宽通常设置得比较窄, 码环带宽不超过1Hz, 载波环带宽不超过10Hz。 环路带宽比较窄时, 初始化环路的剩余频偏不能太大[12]。 L1 C/A 码捕获Doppler频率粗值的误差较大, 不能作为L1C 信号Doppler频率, 则利用L1 C/A 跟踪环路Doppler 频率, 作为L1C 信号的载波Doppler 频率输入。
由于L1 C/A 码的码环路跟踪过程存在调整的码相位误差, 当环路收敛时, 码相位值与捕获时刻的码相位存在差异。 在利用L1 C/A 信号环路收敛时的Doppler 频率和码相位值作为辅助时, 考虑到时序对齐, 需要在捕获时刻获得的码相位上增加对码相位的修正。 L1C 信号获得的码相位和Doppler 频率表达式如下
式(6)中, ΔτC/A(t0)为L1 C/A 信号捕获时刻t0获得的码相位值;为从捕获时刻到跟踪收敛时刻码环鉴相器输出的鉴相误差, 作为误差修正量来修正捕获时码相位粗值。 式(7)中,fD,L1C(ts)和fD,C/A(ts)为L1C 和L1 C/A 信号跟踪环路收敛时刻ts的Doppler 频率。
同时, L1 C/A 码进行跟踪环节获得Doppler 频率, 将Doppler 频率作为L1C 载波NCO 的输入,生成正交的两路载波与原始L1 信号进行混频。 混频后的信号与本地L1C 码NCO 生成的10 个不同延时的L1C 码序列相关, 再进行积分清除操作, 获得I、 Q 路时域相关积分值, 表达式如下
式(8)、 式(9)中,TL1C为L1C 码周期,SIF(t)为接受中频信号, ΔτL1C(i)为本地L1C 码NCO 生成码序列的10 个不同码延时,和分别为本地生成信号的载波Doppler 频率和载波相位,分别为本地信号载波与接收信号载波之间的频率差和相位差,RL1C(t)为L1C 窄带信号的自相关函数。RL1C(t)的表达式为
式(10)中,为宽度为2y、 中心τ=0 处幅值为1 的三角形曲线。
对10 组由NCO 生成的L1C 本地码进行相关积分, 得到积分幅值P, 再进行幅值判决, 幅值判决值表达式为
将最大相关值P(i)对应的码相位和Doppler 频率值传入L1C 信号的跟踪环路中, 完成L1 C/A 码辅助L1C 捕获的过程。
3 实验测试
实验中使用前端采集器采集GPS L1 信号进行测试, 数据采集地点为南京航空航天大学自动化学院1 号楼无遮挡的楼顶, 前端与采集数据主要参数如表2 所示。
表2 采集的L1C 信号主要参数Table 2 Main parameters of collected L1C signal
表3 显示了采集的3 组数据中L1 C/A 信号与L1C 信号在同一PRN 号下的Doppler 频率、 码相位和信号载噪比的对比, 两种信之间的关系符合上述理论讨论过程。
表3 L1 C/A 与L1C 信号捕获参数实测数据对比Table 3 Acquisition parameters comparison of the data for L1 C/A and L1C signals
特别的, 对于数据1 的捕获结果如图4 所示。由图4 可知, 捕获GPS L1 信号的卫星为PRN15、PRN18、 PRN23 和PRN24。 根据GPS 官网描述当前播发L1C 信号的卫星为PRN4、 PRN14、 PRN18和PRN23[13], 则捕获结果中有两颗L1C 卫星。
图4 L1 C/A 辅助L1C 码捕获结果Fig.4 Acquisition result of L1 C/A signal-assisted L1C signal
以数据1 的可见星PRN18 为例, 由表3 可知,捕获的 L1 C/A 码和 L1C 码相位值分别为134.3125chip 和1157.3125chip。 通过L1C 幅值判决模块获得时域相关幅值结果如图5 所示。 L1C(PRN18) 信 号 在1 处 获 得 最 大 峰 值, 即L1C(PRN18)相对于L1 C/A(PRN18)码相位相差1 个L1 C/A 码周期长度。 通过幅值判决模块, 推算的码相位结果符合L1C 捕获的理论情况。
图5 L1C(PRN18)信号辅助算法相位延迟捕获判决Fig.5 Verification diagram of L1C(PRN18)signal code phase delay
采用辅助捕获算法的L1C(PRN18)信号的跟踪结果如图6 所示。 通过获得L1 C/A 的码序列信息、 载波频率和码相位信息进行辅助捕获后, 相比非辅助算法, L1C 信号载波跟踪环路快速收敛,码跟踪环路收敛过程中过渡过程时间缩短约57.1%。
图6 GPS L1C(PRN18)码环及载波环跟踪误差Fig.6 Code loop and carrier loop tracking error of GPS L1C(PRN18)
同时将辅助捕获算法与非辅助捕获算法进行比较, 根据L1C 星选取不同Doppler 值搜索带宽±2kHz、±4kHz、 ±5kHz、 ±7kHz 作为比较的依据, 结果如表4 所示。 由于辅助算法结合L1 C/A码捕获跟踪的优势, 整体耗时大幅减少。 在带宽增加的情况下, 捕获时间明显降低, 最大降低了90.58%, 平均降低约85.56%。
表4 运算速度对比Table 4 Comparison of operation speeds
4 结论
根据GPS 系统L1 频段上具有同频双信号的特点, 通过分析L1 C/A 码与L1C 码之间的码序列、码相位和Doppler 频率关系, 给出了L1 C/A 码相位和Doppler 辅助L1C 信号的快速捕获算法。 该算法可有效避免L1C 信号捕获过程计算量大的问题,使得捕获时间明显降低, 计算效率提升。 最后,通过实测数据验证了算法的正确性, 实验结果表明: 可通过L1 C/A 码相位和Doppler 频率获得正确L1C 码相位和Doppler 频率, 使其捕获成功并使得跟踪环路快速收敛。 在±7kHz 搜索带宽的情况下, L1C 卫星信号捕获耗时最大降低了90.58%,对单颗L1C 卫星信号捕获耗时下降约85.56%。 相比非辅助算法, L1C 信号载波跟踪环路和码跟踪环路快速收敛。 接下来, 将在环路跟踪精度提高方面做进一步的研究。