本发明涉及一种动态环境下单频周跳检测与修复方法,属于卫星导航高精度定位领域。
背景技术:
在使用载波相位进行高精度定位的时候,关键是实时整周模糊度的确定。由于接收机在求解出整周模糊度之后,在后续观测期间,可能受到多种干扰影响,导致接收机对卫星的载波观测值可能发生周跳。周跳会影响定位结果的可靠性,并且由于引入较大误差,若不修复会影响之后所有时刻的定位精度,因此持续的周跳检测与实时修复是高精度卫星导航定位系统中不可缺少的关键部分。
静态环境下,由于接收机相对静止,伪距载波等观测量变化较小,环境稳定,且位置无变化,因此易于周跳检测与修复。动态环境下,由于接收机载体运动复杂,受到信号阻挡、环境变化及大气扰动等影响,可能导致多周跳和连续周跳等现象出现,使得动态环境下周跳探测与修复变得更加困难。
目前周跳检测与修复的方法有很多,如多项式拟合法、高次差法、电离层残差法、伪距载波相位组合法等,但是这些方法都不适用于动态环境下的单频接收机。由于电离层残差法、伪距载波相位组合法需要对多个频点的载波进行组合,而单频接收机只能提供一个频点的载波观测值,因此不能使用电离层残差法、伪距载波相位组合法。多项式拟合法、高次差法可以用于单频接收机,但是需要接收机处于静止或低速运动的状态,因此也不适用于处于快速运动状态下的单频接收机。针对这一问题,本发明提出一种适合于快速运动状态下单频接收机的周跳检测与修复方法,克服现有技术的不足。
技术实现要素:
本发明要解决的技术问题是:克服现有技术的不足,提出一种动态环境下单频周跳检测与修复方法,该方法,克服了现有周跳检测修复方法的缺点,电离层残差和伪距组合法利用双频且不能同时检测大周跳和小周跳,利用定位残差的方法计算量大需多次重复最小二乘计算,而本发明提供的方法既能同时检测和修复大周跳和小周跳,又可以仅利用单频数据,且不依赖于接收机的运动状态,在定位的同时即可进行周跳检测与修复,计算量小且速度快。
本发明采用了如下所述的技术方案:
一种动态环境下单频周跳检测与修复方法,包括如下步骤:
步骤1、建立接收机的初始定位矩阵为:
y=gα+ε
其中,y为双差载波观测量减去双差载波整周模糊度,g为双差载波观测矩阵,α为待求解的差分位置三维坐标,ε为载波观测误差;
在进行双差计算时,选取某个卫星作为基准星,其他各个卫星为非基准卫星,其他各个卫星与基准星做双差计算,共有n个非基准卫星;
步骤2、在g矩阵中最后加入一列,数值为载波观测量对应的波长λ,将该增广矩阵记为x,相对应的,在待求解的差分位置三维坐标α最后加入一个未知参数,将该四维未知参数记为β,此时扩展定位矩阵为y=xβ+ε;
步骤3、对扩展定位矩阵y=xβ+ε进行最小二乘定位解算,然后计算残差平方和
步骤4、将
步骤5、计算扩展定位矩阵的投影矩阵h,如下:
h=x(xtx)-1xt
步骤6、计算x矩阵的每一行对定位结果的影响因子di;
其中i=1,2,...,n;
hi为投影矩阵h的第i个对角元;
步骤7、将步骤6得到的影响因子di与第二门限值进行比较,如果存在影响因子di高于第二门限值,则表示第i个非基准卫星发生周跳,进入步骤8;如果所有影响因子di均不高于第二门限值,则表示所有非基准卫星均未发生周跳,则使用步骤3中进行最小二乘定位解算时得到的
步骤8、去掉di最大的非基准卫星,进入步骤3,直至剩余的非基准卫星的个数小于5时,定位失败;
步骤9、将输出的定位结果
步骤10、对定位结果
定位结果
有益效果
(1)本发明的优点在于克服了经典的周跳检测与修复方法的缺点,将动态场景下位置求解与周跳检测结合起来,而传统方法需要双频差分消除位置变化的影响,不能用于单频接收机,本发明将高精度的位置解算与周跳检测同时求解,因此只需单频数据就可以完成周跳检测与修复,从而可以在单频接收机上进行快速高精度的周跳检测与修复。同时,考虑到传统方法需要分两步先修复大周跳后再对小周跳进行修复的步骤,本发明可以直接对任意大小的周跳一次性检测与修复,提高了效率。
(2)在运算量的考虑上,其他周跳检测方法需在最小二乘定位之后,逐个剔除卫星后,对每一种卫星排列组合都需再次进行最小二乘定位解算,将所有排列组合对应的解算结果进行比较并判断是否有卫星发生了周跳,本发明所提供的方法不需要逐个组合进行定位解算,而是利用了定位影响因子d统计量,该统计量可衡量剔除单个观测量后对原方程的影响大小,比单纯的判断残差更能解释单个卫星对位置解算的影响大小,且由于该统计量利用了矩阵和统计学的知识进行推导和化简,从而避免了逐个排列组合进行矩阵求解的运算,可以直接计算出结果,大大减少了运算量,使得检测准确率高的同时,运算速度大大加快。
(3)本发明并不局限于单频动态场景下周跳检测与修复,也可以稍加修改用于静态、多频、非差环境下的周跳检测与修复。由于静态环境比动态环境更单纯,可以直接将本方法应用于静态环境下的周跳检测与修复,无需任何修改。对于多频点下的周跳检测与修复,只需在步骤2的g矩阵后再增加多列,每一列对应不同的波长,即可用后面相同的步骤进行周跳检测与修复。对于非差环境如ppp高精度定位等,只需要将步骤1中的定位方程改为非差定位观测方程即可。
(4)本发明实施了一种动态环境下单频周跳检测与修复方法,该方法包括以下步骤:求解出整周模糊度后构建定位方程,在定位方程中增加一列作为基准卫星是否发生周跳的估计量,进行最小二乘估计,计算出各个非基准卫星对应的最小二乘残差,根据残差平方和计算出载波误差方差
附图说明
图1为本发明动态环境下单频周跳检测与修复方法的流程图。
具体实施方式
一种动态环境下单频周跳检测与修复方法,包括以下步骤:
步骤1、建立接收机的初始定位矩阵为:
y=gα+ε
其中,y为双差载波观测量减去双差载波整周模糊度,g为双差载波观测矩阵,α为待求解的差分位置三维坐标,ε为载波观测误差;
步骤2、在g矩阵中最后加入一列,数值为载波观测量对应的波长λ,将该增广矩阵记为x,相对应的,在待求解的差分位置三维坐标α最后加入一个未知参数,将该四维未知参数记为β,此时扩展定位矩阵为y=xβ+ε;
步骤3、对扩展定位矩阵y=xβ+ε进行最小二乘定位解算,然后计算残差平方和
步骤4、将
步骤5、计算扩展定位矩阵的投影矩阵h,如下:
h=x(xtx)-1xt
步骤6、计算x矩阵的每一行对定位结果的影响因子di;
步骤7、将步骤6得到的影响因子di与第二门限值进行比较,如果存在影响因子di高于第二门限值,则表示第i个非基准卫星发生周跳,进入步骤8;如果所有影响因子di均不高于第二门限值,则表示所有非基准卫星均未发生周跳,则使用步骤3中进行最小二乘定位解算时得到的
步骤8、去掉di最大的非基准卫星,进入步骤3,直至剩余的非基准卫星的个数小于5时,定位失败;
步骤9、将输出的定位结果
步骤10、对定位结果
其周跳检测与定位计算同时进行,所用的矩阵为双差几何矩阵g的增广矩阵x,在g矩阵中最后加入一列,数值为载波观测量对应的波长λ,将该增广矩阵记为x。与此对应的,待求解的位置三维向量最后增加一个整数待估参数,为基准卫星的周跳值。
投影矩阵h=x(xtx)-1xt,其中x是最小二乘定位时所用到的几何矩阵。
第i个卫星的d统计量di的计算方法为:
其中hi为h矩阵的第i个对角元,
d统计量的门限值为多次重复观测试验获得多个d统计量的95%分位点。
定位结果的最小二乘估计为
可以略加修改的应用于单频或双频、差分或非差、静态或动态环境下,对于大周跳、小周跳仅需一次就可检测并完成修复。
下面将就结合图1对本发明动态环境下单频周跳检测与修复方法作进一步的解释说明。
如图1所示,步骤1、求解出双差整周模糊度后,生成双差载波观测方程组,定位矩阵形式为y=gα+ε,其中y为双差载波观测量减去已经求解出的双差载波整周模糊度,g为双差载波观测矩阵,α为待求解的差分位置三维坐标
在步骤1中,计算双差时,选取某个卫星作为基准星,其他各个卫星与基准星做双差计算。这里全部卫星为全部满足一定条件的可见星,即载噪比、仰角等大于预先设置好的门限值,且整周模糊度已经成功求解出的卫星。经过双差之后,观测方程数n比卫星数少一个。
步骤2、在g矩阵中最后加入一列,数值为载波观测量对应的波长λ,将该增广矩阵记为x,相对应的,在待求解的三维参数α最后加入一个未知参数,将该四维未知参数记为β。此时定位矩阵形式为y=xβ+ε。
步骤3、进行最小二乘定位解算,计算残差平方和
步骤4、将
这里,第一门限值可以根据经验选取,也可以根据多次重复观测试验获得的多个
步骤5、根据最小二乘定位矩阵计算对应的投影矩阵。
投影矩阵h=x(xtx)-1xt,其中x是最小二乘定位时所用到的几何矩阵。
在步骤5中,如果存在非基准卫星的周跳,那么根据步骤2中最小二乘定位最后一次使用的定位几何矩阵x计算出h矩阵的值。
步骤6、计算非基准卫星即x矩阵的每一行对定位结果的影响因子d。
在步骤6中,需要根据步骤6中所计算出的h矩阵的n个对角元,以及步骤3中计算出的残差
步骤7、将步骤6得到的影响因子di与第二门限值进行比较,如果存在影响因子di高于第二门限值,则表示第i个非基准卫星发生周跳,进入步骤8;如果所有影响因子di均不高于第二门限值,则表示所有非基准卫星均未发生周跳,则使用步骤3中进行最小二乘定位解算时得到的
步骤7中计算出的d统计量为向量,每一颗非基准卫星对应一个di值,将每一个卫星的di值与门限值对比,作为判断卫星是否发生周跳的依据。d统计量的门限值可以根据多次重复观测试验获得多个d统计量的95%分位点。
步骤7与其他基于定位残差的方法的主要区别就是其他基于定位残差的方法需要将全部非基准卫星分成很多组,每组含有除了某一个或几个卫星之外的卫星,卫星的选取一般基于定位误差的大小和排序,然后对每组分别进行最小二乘解算,解算后计算相关的统计量,然后将这些统计量与门限值对比,作为是否发生周跳的依据,而本实施方案则利用d统计量,d统计量可以直接衡量剔除单个卫星后对定位结果的影响,由于d统计量其实本质上是经过矩阵运算推导出的结果,所以无需逐个卫星组合再次定位,简化了剔除卫星后再定位的运算,可以直接得到单个卫星对定位结果的影响大小,按影响大小依次剔除,没有冗余重复的运算,直到满足步骤4中的条件,因此在提高准确率的同时,大大减少了运算量。
步骤8、去掉di最大的非基准卫星,进入步骤3,直至剩余的非基准卫星的个数小于5时,定位失败;
步骤9、将输出的定位结果
每个定位周期执行卫星周跳检测与修复,下一定位周期重新进入步骤1时,重新使用全部卫星参与定位。
步骤10、判断定位结果
其中,定位结果的最小二乘估计为
通过实验表明本发明针对动态环境下单频周跳检测与修复方法可以快速准确的识别出基准卫星与非基准卫星是否发生了周跳,是用户端接收机的一种简单高效快捷的高精度定位方法,为利用gps、北斗及多模单频、多模多频联合高精度实时定位导航提供了可靠性保证。
实施例1
一种动态环境下单频周跳检测与修复方法,有十颗非基准卫星,包括如下步骤:
步骤1、建立接收机的初始定位矩阵为
y=gα+ε
有10颗卫星,卫星号从1到10,选取第10颗卫星作为基准星,经过差分后得到定位矩阵如下:
步骤2、在g矩阵中最后加入一列,数值为载波观测量对应的波长λ=0.19,将该增广矩阵记为x,相对应的,在待求解的差分位置三维坐标α最后加入一个未知参数,将该四维未知参数记为β,此时扩展定位矩阵为y=xβ+ε;
步骤3、对扩展定位矩阵y=xβ+ε进行最小二乘定位解算,然后计算残差平方和
步骤4、将
步骤5、计算扩展定位矩阵的投影矩阵h,如下:
h=x(xtx)-1xt
得到h的对角元为
(0.15,0.22,0.75,0.06,0.15,0.21,0.42,0.43,0.58);
步骤6、计算x矩阵的每一行对定位结果的影响因子di;
其中i=1,2,...,9;
hi为投影矩阵h的第i个对角元;
步骤7、将步骤6得到的影响因子di与第二门限值进行比较,第二门限值根据多次实验选取经验值1.0,可以发现d3>1.0,表示第3个非基准卫星发生周跳,进入步骤8;
步骤8、去掉di最大的非基准卫星,即去掉y,x的第三行,进入步骤3,再次计算
步骤9、将输出的定位结果
步骤10、对定位结果
实施例2
一种动态环境下单频周跳检测与修复方法,有十颗非基准卫星,包括如下步骤:
步骤1、建立接收机的初始定位矩阵为
y=gα+ε
有10颗卫星,卫星号从1到10,选取第10颗卫星作为基准星,经过差分后得到定位矩阵如下:
步骤2、在g矩阵中最后加入一列,数值为载波观测量对应的波长λ=0.19,将该增广矩阵记为x,相对应的,在待求解的差分位置三维坐标α最后加入一个未知参数,将该四维未知参数记为β,此时扩展定位矩阵为y=xβ+ε;
步骤3、对扩展定位矩阵y=xβ+ε进行最小二乘定位解算,然后计算残差平方和
步骤4、将
步骤10、对定位结果
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。