Design of BDS / INS deep combination improved tracking loop based on B1C new signal
-
摘要: 针对北斗卫星导航系统/惯性导航系统(BDS/INS)的深组合定位系统,提出了一种利用惯性导航系统(INS)辅助B1C正交分量的信号跟踪算法,以解决定位过程中信号较弱致深组合定位系统失锁的问题. 该算法使用了考虑INS数据的卡尔曼滤波算法,并同时利用导频分量和数据分量构成本地码,对信号进行跟踪. 由该算法对实测数据计算,并利用传统算法进行对比,可以得出在弱信号的环境下跟踪环路较为稳定,伪距精度较高.
-
关键词:
- B1C信号 /
- 北斗卫星导航系统/惯性导航系统(BDS/INS)深组合 /
- 信号跟踪环路 /
- 卡尔曼滤波 /
- 正交分量
Abstract: Aiming at the BeiDou Navigation Satellite System/inertial navigation system (BDS/INS) deep integrated positioning system, a signal tracking algorithm using inertial nartgation system (INS) assisted B1C orthogonal component is proposed to solve the problem of lock-out of the deep integrated positioning system caused by weak signal in the positioning process. The algorithm uses the Kalman filter algorithm considering the inertial navigation data, at the same time, it uses the pilot component and data component to form a local code to track the signal. The algorithm is used to calculate the measured data, and compared with the traditional algorithm. It can be concluded that the tracking loop is more stable in the weak signal environment, the positioning accuracy is significantly improved, and the pseudo range also has a higher accuracy. -
0. 引 言
目前,随着北斗卫星导航系统(BDS)全面组网成功,对新信号的研究和利用已经成为国内外的研究热点之一. 在卫星信号强度较差的环境中,如何得到一个较为准确且高实时率的位置及姿态信息是亟待解决的问题,利用惯性导航系统(INS)辅助全球卫星导航系统(GNSS)进行组合导航是解决这个问题的重要方法之一.
深组合系统将GNSS和INS在信号层面进行结合,这种结合方式可以在弱信号的环境下提供稳定、可靠的定位结果,并在一定程度上提高观测值质量. 深组合是伴随着早期GPS系统的发展而逐渐产生和发展的一门技术[1],国内外学者均对此展开了深入的研究. 金东阳等[2]提出了一种改进的通道滤波器数学模型,通过去除通道滤波器中信号幅值状态变量,增加载波相位变化率加速度误差,提高了定位精度,但是该方法在去除通道滤波器中信号幅值状态变量后,会导致信噪比(SNR)有所损耗,因此必须要在较好地观测环境下才能有效. 王睿等[3]设计了一种基于渐消记忆指数加权的自适应量测噪声估计器,实时估计和修正噪声统计量并自适应调节估计周期,因此在定位精度上比一般的无迹卡尔曼滤波(UKF)算法有所提升,捕获速度也有明显加快. 但是该算法只能运用于低速、通视较好地环境下,当环境恶劣时仍会快速失锁. 丁翠玲等[4]设计了一种适用于级联式深组合的矢量跟踪算法,通过分析各跟踪误差与鉴别器输出之间的关系,搭建了预滤波器动态模型. 在高动态环境下,相较于标量跟踪算法具有更好地码相位和载波频率跟踪性能.
白玉栋等[5]对GNSS民用频点的弱信号接收技术进行实验得到了弱信号在SNR极差环境下的定位结果,虽利用全比特补零的算法进行计算,定位结果依旧较差. 文献[6]把超紧组合技术应用于高动态、弱信号环境下. 文献[7-8]重点研究了数据融合中的非线性问题,并进行了仿真实验.
为此文中将通过INS辅助BDS的深组合算法在动态、弱信号复杂场景下的定位情况进行研究,将主要深入信号的跟踪环路,在原有的卡尔曼跟踪环路的前提下,利用INS信息对接收到的中频数据进行改善,同时使用导频和数据分量依据其功率构建本地相关码,对信号进行解码,并对最终结果进行定位. 使用INS辅助及正交码构成环路的目的是在弱信号和动态性较大的情况下,提高环路稳定性,降低失锁概率,改善数据内部噪声情况,并在保证环路更新频率的情况下,提高最终的定位精度.
1. INS辅助卡尔曼滤波跟踪环原理
传统跟踪环路在低速且SNR较好的情况下,能得到较为精确的定位结果. 但是在恶劣环境或者高动态的情况下,载波相位值的瞬时变化较大,利用卡尔曼滤波可以有效地解决这个问题. 而使用INS对卡尔曼滤波约束,可以延缓最终失锁时间.图1为 INS辅助卡尔曼滤波跟踪环路基本原理图.
1.1 卡尔曼滤波基本原理
$$ \left\{ {\begin{array}{*{20}{l}} {{{\boldsymbol{X}}_{{k}}} = {\boldsymbol{\varPhi }}{{\boldsymbol{X}}_{k,k - 1}} + {{\boldsymbol{\varGamma }}_{k,k - 1}}{{\boldsymbol{W}}_{k - 1}}} \\ {{{\boldsymbol{Z}}_k} = {{\boldsymbol{H}}_k}{{\boldsymbol{X}}_k} + {{\boldsymbol{V}}_k}} \end{array}} \right. . $$ (1) 式中:
${{\boldsymbol{X}}_k}$ 和${{\boldsymbol{Z}}_k}$ 分别为k时刻的状态向量和观测向量;${\boldsymbol{\varPhi }}$ 为系统的状态转移矩阵;${{\boldsymbol{\varGamma }}_k}$ 为噪声矩阵;$ {{\boldsymbol{V}}}_{k}{\text{、}} $ $ {{\boldsymbol{W}}}_{k-1}{\text{和}}{{\boldsymbol{H}}}_{k} $ 分别为观测噪声矩阵、系统的过程噪声矩阵和观测矩阵.进行卡尔曼滤波分为以下6步:
1)首先计算k时刻预测的状态向量
$$ {{\overline{\boldsymbol{X}}}_{k}} = {{\boldsymbol{\varPhi }}_{k,k - 1}}{{\boldsymbol{\hat X}}_{k - 1}}; $$ (2) 2)计算该时刻对应状态向量对应的协方差矩阵
$$ {{\boldsymbol{\varSigma }}_{{{\overline{\boldsymbol{X}}}_k}}} = {{\boldsymbol{\varPhi }}_{k,k - 1}}{{\boldsymbol{\varSigma }}_{{{{\boldsymbol{\hat X}}}_{k - 1}}}}{{\boldsymbol{\varPhi }}^{\text{T}}}_{k,k - 1} + {{\boldsymbol{\varSigma }}_{{{\boldsymbol{W}}_k}}} = {\boldsymbol{P}}_{{{\overline{\boldsymbol{X}}}_k}}^{ - 1} ; $$ (3) 3)计算速度向量及其协方差矩阵
$$ \begin{array}{l}{\overline{{\boldsymbol{V}}}}_{k}={{\boldsymbol{A}}}_{k}{\overline{{\boldsymbol{X}}}}_{k}-{{\boldsymbol{L}}}_{k},\\ {{\boldsymbol{\varSigma}} }_{{\overline{{\boldsymbol{V}}}}_{k}}={{\boldsymbol{A}}}_{k}{{\boldsymbol{\varSigma }}}_{{\overline{{\boldsymbol{X}}}}_{k}}{{\boldsymbol{A}}}_{k}{}^{\text{T}}+{{\boldsymbol{\varSigma}} }_{k};\end{array} $$ (4) 4)计算增益矩阵
$$ {{\boldsymbol{K}}_k} = {{\boldsymbol{\varPhi }}_{k,k - 1}}{{\boldsymbol{A}}_k}{{\boldsymbol{\varSigma }}^{ - 1}}_{{{\overline {\boldsymbol{V}}}_k}}; $$ (5) 5)更新状态估值
$$ {{\boldsymbol{\hat X}}_k} = {{\overline{\boldsymbol{X}}}_k} - {{\boldsymbol{K}}_k}{{\overline {\boldsymbol{V}}}_k}; $$ (6) 6)计算新的协方差矩阵
$$ {{\boldsymbol{\varSigma }}_{{\boldsymbol{\hat X}}}} = ({\boldsymbol{I}} - {{\boldsymbol{K}}_k}{{\boldsymbol{A}}_k}){{\boldsymbol{\varSigma }}_{{{\overline{\boldsymbol{X}}}_{k - 1}}}}({\boldsymbol{I}} - {\boldsymbol{A}}_k^{\text{T}}{\boldsymbol{K}}_k^{\text{T}}) + {{\boldsymbol{{\boldsymbol K}}}_k}{{\boldsymbol{\varSigma }}_k}{\boldsymbol{K}}_k^{\text{T}} . $$ (7) 之后重复步骤计算下一个历元.
1.2 INS辅助跟踪环路卡尔曼滤波构建
用卡尔曼滤波来进行环路跟踪时,能根据加速度的变化动态调节环路带宽大小,但是若短时间内信号失锁或因为速度变化过大,导致多普勒值不稳定,使用的匀加速卡尔曼滤波模型也无法对信号进行跟踪,使用INS对卡尔曼滤波跟踪环路进行辅助能较为有效地解决这个问题.
因为卫星在运动过程中,短时间内可以看成匀速运动过程. 而载体速度是变加速的,具有随机性,很难确定其系数阵系数,在这里使用匀加速模型进行替代.
因此其状态转移矩阵如式(8)表示:
$$ {\left[ \begin{array}{l} \varphi \\ f\\ {\dot f} \end{array} \right]_{k + 1}} = \left[ {\begin{array}{*{20}{c}} 1&{\Delta t}&{\Delta {t^2}}\\ 0&1 &{\Delta t}\\ 0&0 &1 \end{array}} \right]{\left[ \begin{array}{l} \varphi \\ f\\ {\dot f} \end{array} \right]_k} - \left[ \begin{array}{l} \Delta t\\ 0\\ 0 \end{array} \right]N_{\varphi} . $$ (8) 式中:
$ \varphi $ 为载波相位值;$ f $ 为当前时刻的多普勒频移值;$ \dot f $ 为多普勒频移值的变化量. 因为计算相位值使用了式(8),因此导航电文的跳变因为两者相除,被相互抵消.依据上述公式 可得其量测模型为
$$\begin{aligned} {\varphi }_{k+\text{1}}=\begin{bmatrix}\text{1},& \displaystyle\frac{\Delta t}{\text{2}},& \displaystyle\frac{\Delta {t}^{\text{2}}}{\text{6}}\end{bmatrix}{\begin{bmatrix}\varphi \\ f\\ \dot{f}\end{bmatrix}}_{k}-\displaystyle\frac{\Delta t}{\text{2}}{N}_{\varphi }+v{}_{k+\text{1}} \end{aligned}.$$ (9) 其中,多普勒频移的初值由捕获得到,量测噪声的初值为0.114 rad.
利用INS辅助跟踪环路时,INS利用上一个历元INS自身推估的位置或者由接收机计算出的位置,结合其姿态信息和加速度信息. 计算当前时刻的位置和姿态信息,依据广播星历计算出接收机至相应卫星的伪距值,将其反馈给跟踪环路的卡尔曼滤波阵中,从而提高系统的稳定性,公式如式(10)所示:
$$ {\rho _{\text{1}}} = {\left[ {\left( {{x_{r_1}} - {x_{{\text{sat1}}}}} \right)} \right]^2} + {\left[ {\left( {{y_{r_1}} - {y_{{\text{sat1}}}}} \right)} \right]^2} + \hfill {\left[ {\left( {{z_{r_1}} - {z_{{\text{sat1}}}}} \right)} \right]^2} \hfill . $$ (10) 式中:
${\;\rho _{\text{1}}}$ 为跟踪卫星到接收机位置的伪距值;$\left({x}_{r_1}, {y}_{r_1}, {z}_{r_1}\right)$ 和$({x}_{\text{sat1}}, {y}_{\text{sat1}}, {z}_{\text{sat1}})$ 分别为接收机和卫星在WGS-84坐标系下的坐标.在真实时刻接收机所得到的伪距值为
$$ \rho = {r_i} + c\delta {t_u} + {v_{pi}} . $$ (11) 式中:
$\;\rho$ 为接收机测量所得的伪距;$ {r_i} $ 为伪距实际值;$ {v_{pi}} $ 为测量噪声.由式(10)~(11)可得观测方程为
$$ \delta \rho = {e_1}\delta x + {e_2}\delta y + {e_3}\delta z +c \delta {t_u} + {v_{pi}} . $$ (12) 式中,
$$ e = \frac{{x - {x_i}}}{{{r_i}}} . $$ (13) 计算出伪距率之后就可以将其与接收机卡尔曼滤波的跟踪环路计算出的伪距率进行平差,从而获得最优的伪距值.
2. B1C跟踪环路构建及情况分析
2.1 B1C跟踪环路构建
利用B1C信号构建的信号跟踪环路具有较为优良的特性,因为B1C具有导频分量和数据分量两个信号支路. 因此在进行载波和伪距的跟踪时,不需要使用损耗SNR的Costas环而可以使用更为优良的纯锁相环或是导频分量和数据分量混合计算的双支路,进而获得精度更高的载波和伪距值.
使用经过捕获得到的多普勒值和伪码位置之后,需要对其进行信号跟踪,从而获得相应的载波值和伪距值:
1) 首先对基本参数进行初始化,包括载波相位初值、码相位初值、遗留码片个数等;
2) 在进行跟踪环路处理同时使用了导频分量和数据分量两个分量的数据,因此其具体结构为
$$ \begin{split} R = & {C_{{\text{pilot}}}}*{\text{BOC(6,1)}} + (D \cdot {C_{{\text{data}}}} \cdot \hfill {\text{BOC(1,1)}} +\\ & {C_{{\text{pilot}}}}*{\text{BOC(1,1)}}) \cdot j \hfill . \\ \end{split} $$ (14) 式中:
$ R $ 为数据;${C_{{\text{pilot}}}}$ 为导频测距码;${\text{BOC(6,1)}}$ 和${\text{BOC(1,1)}}$ 代表信号调制方式;D为数据电文;$ {C_{{\text{data}}}} $ 为数据测距码.3) 因为B1C信号需要至少32.736 MHz的采样率才能捕获成功,因此在跟踪阶段的数据也对应此采样率. 需要对跟踪阶段的信号进行下变频,并分别与本地生成的测距码相乘. 信号在发出时导频和数据分量的功率比为29:4,因此这里与下变频之后的数据相乘也以29:4的比例构成实部、虚部.
4) 对上一步所得的数据进行积分,并分别通过锁相环和码环. 之后计算其相位变化值和伪距变化值.
5) 之后对环路是否锁定进行检测:
$$ B{W_{{\text{gain}}}} = {\text{10}} \cdot \lg \left(\frac{{\text{1}}}{T}\right); $$ (15) $$ {\text{Ac}}{{\text{c}}_I} = {\text{Ac}}{{\text{c}}_I}\frac{{{\text{255}}}}{{{\text{256}}}} + \frac{{{\text{abs}}(I)}}{{{\text{256}}}}; $$ $$ {\text{Ac}}{{\text{c}}_Q} = {\text{Ac}}{{\text{c}}_Q}\frac{{{\text{255}}}}{{{\text{256}}}} + \frac{{{\text{abs}}(Q)}}{{{\text{256}}}}; $$ (16) $$ \begin{split} {{temp}} =& {\text{10}} \cdot \lg \left(\frac{{{\text{Ac}}{{\text{c}}_I}^2 - {\text{Ac}}{{\text{c}}_Q}^2}}{{{\text{Ac}}{{\text{c}}_Q}^2}}\right) + \\& B{W_{{\text{gain}}}} - {\text{3CNO}} = {\text{real}}({temp}) \end{split} ; $$ (17) $$ {\text{PL}}{{\text{L}}_{{\text{lock}}}} = \frac{{{\text{Ac}}{{\text{c}}_I}^{\text{2}} - {\text{Ac}}{{\text{c}}_Q}^{\text{2}}}}{{{\text{Ac}}{{\text{c}}_I}^{\text{2}} + {\text{Ac}}{{\text{c}}_Q}^{\text{2}}}}. $$ (18) 式(15)计算噪声基底,即噪声的均值SNR. 式(16)计算I、Q支路的积分值. 式(17)计算B1C信号相应卫星的SNR. 最后式(18)计算锁相环的锁值. 若该值大于0.9,则证明锁定成功. 若该值小于0.9,需对跟踪环路重新锁定.
6) 若信号锁定成功,则持续进行跟踪模式. 并逐渐将其牵入窄相关. 即
${\text{PL}}{{\text{L}}_{{\text{lock}}}}$ 值小于0.7.7) 记录卫星载波及伪距直至采集信号末端.
2.2 环路跟踪情况分析
因为实验数据采集时,卫星数量较少且无法满足定位的要求,因此在环路跟踪情况分析时未对其进行位置定位.
首先记录其环路跟踪情况.
2.3 B1C跟踪环路跟踪情况分析
图2和图3分别为BDS 29号卫星B1C信号在20 s内的锁相环锁定值和SNR值的变化图,由图2~3可知,锁相环值和SNR值只有在刚开始的时候处于较低的位置,在环路锁定后始终处于一个捕获最佳环路锁定值和SNR附近,且并没有因为运动的原因导致其失锁的情况.
2.4 B1C导航电文情况和伪距精度分析
图4~5为对B1C导航电文和伪距误差值变化进行了分析,图4为B1C导航电文比特图,图5为B1C伪距值变化图. 由图4可知,B1C导航电文成功解码,除刚开始未跟踪成功之外,之后都在±4 000的位置来回波动. 由图5可知,B1C第29号星其误差基本在0.273 8 m之间来回波动,除刚开始的时候未跟踪成功之外,误差基本在允许范围之内且情况良好.
由此可知B1C信号伪距精度较高及导航电文效果较好,但因为实验数据采集时卫星数量有限无法满足最低的四星定位要求,因此这里无法给出定位精度分析,且后续也未对跟踪环路做出优化.
3. 结束语
本文作者首先对接收机的传统跟踪环路和最近结合卡尔曼滤波模型所提出的跟踪环路基本原理进行了阐述,然后对B1C信号进行分析,结合该信号存在正交分路且两者构造不同的特点,对跟踪环路进行了优化,并通过采集的数据对其进行分析处理,成功获得了跟踪后的信号处理结果,从结果可以看出信号成功捕获,导航电文解调正常且伪距误差情况较为良好. 下一步会采集长时间数据对其定位精度进行分析.
-
[1] 牛小骥, 班亚龙, 张提升, 等. GNSS/INS深组合技术研究进展与展望[J]. 航空学报, 2016, 37(10): 2895-2908. [2] 金东阳, 刘党辉, 夏长峰. 一种改进的GNSS/INS非相干深组合导航[J]. 全球定位系统, 2014, 39(6): 19-23, 28. [3] 王睿, 黄清华, 李世玲. 自适应UKF算法在GNSS/INS深组合系统中的应用[J]. 太赫兹科学与电子信息学报, 2019, 17(2): 221-226. DOI: 10.11805/TKYDA201902.0221 [4] 丁翠玲, 陈帅, 刘亚玲. 一种基于预滤波器的矢量跟踪算法[J]. 电光与控制, 2016, 23(5): 42-44, 59. [5] 白玉栋, 彭少磊. 弱信号GNSS接收机技术研究[J]. 数字技术与应用, 2018, 36(4): 119-120. [6] LI D, WANG J L. Performance analysis of the ultra-tight GPS/INS integration based on an improved Kalman filter design for tracking loops[C]//International Global Navigation Satellite Systems Society Symposium, 2006: 113.
[7] BABU S R, WANG J L. Ultra-tight GPS/INS/PL integration: a system concept and performance analysis[J]. GPS solutions, 2009, 13(1): 75-82. DOI: 10.1007/s10291-008-0097-9
[8] BABU S R. Ultra-tight integration of GPS/pesudolites/INS: system design and performance analysis[D/OL]. [2021-03-15]. Sydney: University of New South Wales, 2006. http://unsworks.unsw.edu.au/fapi/datastream/unsworks:4716/SOURCE02
[9] 杨元喜. 动态系统的抗差Kaliman滤波[J]. 解放军测绘学院学报, 1997, 14(2): 79-84. [10] 杨元喜. 自适应动态导航定位[M]. 北京: 测绘出版社, 2006. -
期刊类型引用(1)
1. 刘已豪,牛晓晓. 基于模糊数学的通信设备异常信号跟踪方法. 长江信息通信. 2023(11): 66-68 . 百度学术
其他类型引用(1)