多导航系统互操作定位方法及系统的制作方法
【技术领域】
[0001] 本发明属于GNSS导航定位技术领域,具体涉及一种多导航系统互操作定位方法 及系统。
【背景技术】
[0002] 目前,世界上已经形成了 GPS、BDS (北斗系统)、GALILEO (伽利略系统)和GLONASS 四大导航系统并存的局面,相比于单一系统的导航定位,GNSS多系统的集成在可用性、可靠 性、精度等各方面都更具优势。然而,对于多模GNSS组合定位,由于各导航系统时间基准不 统一,各系统都要估计一个接收机钟差,在卫星数量特别少的情况下(例如一颗GPS卫星、 一颗BDS卫星、一颗GLONASS卫星和一颗GALILEO卫星)会出现观测值数量少于参数数量 的秩亏问题,导致无法定位。为了实现多系统兼容统一处理,必须统一多系统的时间基准。
【发明内容】
[0003] 针对现有技术存在的不足,本发明提供了一种多导航系统互操作定位方法及系 统,适用于可视卫星数量较少情况下的多系统组合定位。
[0004] 为解决上述技术问题,本发明采用如下的技术方案:
[0005] 一、多导航系统互操作定位方法,包括:
[0006] (1)基于卡尔曼滤波的定位模型的构建,包括:
[0007] 以一系统接收机钟差为基准钟差dt',,采用基准钟差表示其他系统接收机钟差 dtr= dt' r+ 5,5表不系统间钟差偏差;
[0008] 基于基准钟差构建各系统的观测方程;
[0009] 由位置参数、基准钟差和系统间钟差偏差构成状态参数向量;
[0010] 构建基于卡尔曼滤波法的状态方程xk=①kn ?Xh+Kin,其中,XpXH分别为第 k、(k-1)个历元的状态参数向量;为第(k-1)个历元到第k个历元的状态转移矩阵;K 为噪声输入矩阵,当各系统广播星历均不更新时,K为零向量,当有系统广播星历更新时,K =[0 0 0 0 AD]1,向量AD中元素表示各系统间钟差偏差的跳变,分别根据广播星历更新 时各系统时间基准的跳变获得,系统时间基准跳变为各系统所有卫星从当前历元广播文件 读取的卫星钟差治,"'(/)和根据上一历元卫星钟差推算的卫星钟差沿之差的平均值,
分别表示从上一历元广 播文件读取的上一历元时刻h卫星的时钟偏差和时钟漂移,(t-tj表示当前历元时刻与上 一历元时刻间的时间差;为过程噪声;
[0011] (2)每次接收机定位结束时,存储本次定位结束时估算的系统间钟差偏差;
[0012] (3)每次接收机定位时,若本次定位与上次定位时间间隔小于预设间隔,引入上次 定位结束时估算的各系统间钟差偏差作为当前历元时刻的各系统间钟差偏差,采用定位模 型进行定位;
[0013] (4)每次接收机定位时,若本次定位与上次定位时间间隔不小于预设间隔,采用定 位模型实时解算各历元时刻下各系统间钟差偏差的变化值,进而获得当前历元时刻的各系 统间钟差偏差,采用定位模型进行定位;
[0014] 上述系统即导航系统的简称。
[0015] 步骤(3)中所述的入上次定位结束时估算的各系统间钟差偏差作为当前历元时 刻的各系统间钟差偏差,采用定位模型进行定位,具体为:
[0016] 引入上次定位结束时估算的各系统间钟差偏差构建虚拟观测方程;
[0017] 以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束信息,结合各系统的观 测方程,解算状态参数向量,从而实现定位解算。
[0018] 步骤(4)中所述的采用定位模型进行定位,具体为:
[0019] 引入当前历元时刻的各系统间钟差偏差构建虚拟观测方程;
[0020] 以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束信息,结合各系统的观 测方程,解算状态参数向量,从而实现定位解算。
[0021] 二、多导航系统互操作定位系统,包括:
[0022] 模型构建模块,用来基于卡尔曼滤波的定位模型的构建,包括:
[0023] 以一系统接收机钟差为基准钟差dt',,采用基准钟差表示其他系统接收机钟差 dtr= dt' r+ 5,5表不系统间钟差偏差;
[0024] 基于基准钟差构建各系统的观测方程;
[0025] 由位置参数、基准钟差和系统间钟差偏差构成状态参数向量;
[0026] 构建基于卡尔曼滤波法的状态方程xk=①kn ? x^+K ? wk_i,其中,xk、xk_i分别为 第k、(k-1)个历元的状态参数向量;为第(k-1)个历元到第k个历元的状态转移矩 阵;K为噪声输入矩阵,当各系统广播星历均不更新时,K为零向量,当有系统广播星历更新 时, K = [0 0 0 0 AD]T,向量AD中元素表示各系统间钟差偏差的跳变,分别根据广播星 历更新时各系统时间基准的跳变获得,系统时间基准跳变为各系统所有卫星从当前历元广 播文件读取的卫星钟差成>'(0和根据上一历元卫星钟差推算的卫星钟差叱°w(〇之差的 平均值,
分别表示从上一 历元广播文件读取的上一历元时刻h卫星的时钟偏差和时钟漂移,(t-tj表示当前历元时 刻与上一历元时刻间的时间差;为过程噪声;
[0027] 系统间钟差偏差存储模块,用来每次接收机定位结束时,存储本次定位估算的系 统间钟差偏差;
[0028] 第一定位模块,用来每次接收机定位时,若本次定位与上次定位时间间隔小于预 设间隔,引入上次定位结束时估算的各系统间钟差偏差作为当前历元时刻的各系统间钟差 偏差,采用定位模型进行定位;
[0029] 第二定位模块,用来每次接收机定位时,若本次定位与上次定位时间间隔不小于 预设间隔,采用定位模型实时解算各历元时刻下各系统间钟差偏差的变化值,进而获得当 前历元时刻的各系统间钟差偏差,采用定位模型进行定位;
[0030] 上述系统即导航系统的简称。
[0031]上述第一定位模块进一步包括子模块:
[0032] 虚拟观测方程构建子模块,用来引入上次定位结束时估算的各系统间钟差偏差构 建虚拟观测方程;
[0033] 定位解算子模块,用来以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束 信息,结合各系统的观测方程,解算状态参数向量,从而实现定位解算。
[0034] 上述第二定位模块进一步包括子模块:
[0035] 虚拟观测方程构建子模块,用来引入当前历元时刻的各系统间钟差偏差构建虚拟 观测方程;
[0036] 定位解算子模块,用来以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束 信息,结合各系统的观测方程,解算状态参数向量,从而实现定位解算。
[0037] 和现有技术相比,本发明具有如下特点和有益效果:
[0038] 在卫星遮挡严重的地区(例如高楼林立的城市),一般可视卫星数量较少,这种 情况下多系统组合定位时,若估计各系统的接收机钟差,会导致观测方程秩亏,从而无法定 位。对于多导航系统组合定位,本发明只需估计一个接收机钟差即可进行定位解算,在可视 卫星数量较少情况下也可实现多模解算,从而解决了可视卫星数量较少情况下无法定位的 问题。
【附图说明】
[0039] 图1为本发明方法的具体流程示意图。
【具体实施方式】
[0040] 为了使本发明目的、技术方案及有益效果更加清楚明白,下面将结合附图及具体 实施方式,进一步说明本发明。应当理解,以下描述的【具体实施方式】仅用以解
释本发明,并 不用于限定本发明。
[0041] 下文公式中,G代表GPS,C代表BDS,R代表GLONASS,E代表GALILEO。
[0042] 各GNSS系统的观测方程如下:
[0044] 式(1)中,〇1^<:、〇111(^、〇111(^、〇111(^分别表示6?5、805、611)隱35、6六111^0系统的观测 值;A x、A y、A z表示位置参数;1G、mG、以为GPS系统观测方程的系数,1 G、mG、nG为BDS系 统观测方程的系数,lK、m K、nKS GLONASS系统观测方程的系数,1 E、mE、nE为GALILEO系统观 测方程的系数;c为真空光速
5分别为GPS、BDS、GLONASS、GALILEO系 统的接收机钟差参数。
[0045] 式⑴可简化表示为:
[0046] zk= Hkxk+vk (2)
[0047] 式⑵中,zk、Hk、xk、v k分别表示第k个历元的观测值、观测设计矩阵、状态参数向 量和观测值残差。
[0048] 观测设计矩阵Hk可以表示如下:
[0050] 状态参数向量xk可表示为:
[0052]多模接收机中,各导航系统共用一个接收机时钟,但由于各导航系统时间基准以 及接收机对不同导航系统卫星信号跟踪和捕获时延不同,导致各导航系统接收机钟差存在 数天内为常数的偏差,以GPS系统接收机钟差沿f作为参考,其他导航系统接收机钟差可以 表示为:
[0054] 式(5)中,l、m、n表示导航系统间钟差偏差,在数天内具有较高的短期稳定性。将 式(5)带入式(1),可以得到:
[0056] 新状态参数向量xk可表示为:
[0058] 其中,<是GPS系统的接收机钟差,即基准钟差;1、m、n分别是BDS、GLONASS和 Galileo系统与GPS系统的接收机钟差间偏差。需要指出的是,公式(5)中选取的基准钟 差,可以是GPS接收机钟差,也可以是BDS、Galileo或GLONASS接收机钟差。
[0059] 因此,在GNSS多系统定位中,可以将某个导航系统的接收机钟差设置为基准钟 差,其它导航系统的接收机钟差可表达为该基准钟差加上偏差,定位解算只需估计一个接 收机钟差即可。
[0060] Kalman滤波进行参数估计的状态方程可以表示为:
[0061] xk=①…?Xh+K?Wh(8)
[0062] 式⑶中,XpXH分别为第k、(k-1)个历元的状态参数向量;〇为第(k-1)个 历元到第k个历元的状态转移矩阵,K为7X 1噪声输入矩阵,Wh为过程噪声。
[0063] 状态转移矩阵可表示为:
[
[0065] 式(9)中,I,I At均为3X3单位矩阵,状态转移矩阵不会随时间(或历元)的 变化而变化。
[0066] 过程噪声协方差矩阵可以表示为:
[0068] 式(10)中,E[wwT]是过程噪声Wh的协方差矩阵,I是3X3单位矩阵,Sp是位置 参数的噪声因子,st是基准钟差的噪声因子,s At是导航系统间钟差偏差的噪声因子。位置 参数和基准钟差的过程噪声较大,一般噪声因子取值为1〇 4量级;导航系统间钟差偏差为常 数,噪声因子取值为零。
[0069] 在导航系统广播星历不更新时,K为零向量;当某导航系统或多个系统广播星历 更新时,K为一个非零向量:
[0070] K = [0 0 0 0 A1 Am An]T (11)
[0071] 式(11)中,A 1、Am、An为广播星历的更新导致的各导航系统间偏差的跳变,A 1 =A dTc- A dTG,A m = A dTK- A dTG,A n = A dTE- A dTG; A dT G、A dTc、A dTK、A dTE为广播 星历更新导致的GPS、BDS、GLONASS、GALELIO系统时间基准的跳变,多卫星平均可以得到准 确的跳变值。
[0072] 假设t时刻发生广播星历更新,导航系统时间基准跳变的计算方法如下:
[0074] 式(12)中,u、v、w、q分别为GPS、BDS、GLONASS、GALELIO卫星导航系统各广播星历 中卫星数。也)'_(〇、沿r w(0分别为各导航系统第i颗卫星在t时刻根据新历元广播星历 文件中读取的卫星钟差和根据旧历元推算得到的卫星钟差,它们的差值即为导航系统时间 基准跳变。治可以从新历元广播星历中直接读取,治可以通过如下公式计算:
[0076]
|分别表示旧历元文件中上一历元时刻h第i颗卫星的时 钟偏差和时钟漂移;(t-tj表示当前历元时刻与上一历元时刻间的时间差。
[0077] 若本次开机的环境就在城市等卫星遮挡较严重区域,可见卫星数太少,则公式(1) 中模型存在秩万,无法解算。但利用之前解算的l、m、n先验彳目息可以有效解决秩万问题,该 l、m、n先验信息可通过以下两种方法获取:
[0078] (1)接收机定位结束时,存储本次定位结束时得到的l、m、n估值(l、m、n估值具体 可采用公式(6)式及Kalman滤波公式(8)),用于下次定位。
[0079] 下次定位中,若本次定位时间与上次定位时间相隔小于一天,则直接读取存储的 l、m、n参数的先验信息1'、m'、n',加入到当前历元滤波器,可通过虚拟观测值形式实现,如 下式所示:
[0080] 1 = l,,m = m,,n = n,P=°° (14)
[0081] 式(14)中,l'、m'、n'为上一定位结束后存储于文件中导航系统间钟差偏差,P为 虚拟观测方程权,值为无穷大。
[0082] (2)若两次定位时间间隔大于一天,就需要在服务端部署接收机基于公式(6)以 及上述Kalman滤波公式实时解算l、m、n的时间序列。用户端可以向服务端请求从上次定 位结束到当前时刻的1、m、n的变化值,在上次定位结束时存储的1、m、n上加入变化值,进 而得到当前时刻的l、m、n ;基于式(14)将这个约束信息加到式⑶中的滤波模型中。
[0083] 以下根据实施例和【附图说明】本发明技术方案:
[0084] 参考附图1,实施例的基本流程为:
[0085] (1)读取文件中的1、m、n先验观测信息,若本次定位时间与上一定位时间间隔过 长,则从服务器读取1、m、n先验观测信息的变化值,将变化值加到1、m、n中;否则,直接将 l、m、n应用到本次定位过程中。(2)读取历元,在Kalman滤波中引入各导航系统间钟差偏 差1、m、n,建立虚拟观测方程和递推模型,最后根据观测方程、虚拟观测方程和递推模型进 行kalman递推估计,实现kalman滤波估计方式。(3)若历元读取完毕则退出,否则继续下 一历元。
[0086] -、读取历元先验信息
[0087] 若本次定位环境在城市等卫星遮挡较严重区域,可见卫星数太少,则公式(6)中 模型会存在秩亏,无法解算。但利用之前解算的l、m、n先验信息可以有效解决秩亏问题,该 l、m、n先验信息可通过以下两种方法获取:
[0088] (1)某次接收机定位结束,存储本次定位估计得到的l、m、n,用于下次定位。
[0089] 下次定位中,若当次定位时间与上次定位时间相隔不长,可直接读取1、m、n参数 的先验信息1'、m'、n',加入到当前历元滤波器,可通过虚拟观测值形式实现,如下式所示:
[0090] 1 = l',m
= m',n = n'P=°°
[0091]其中,1'、m'、n'为上次定位结束后存储于文件中导航系统间钟差偏差,P为虚拟 观测方程权,值为无穷大。
[0092] (2)若两次定位时间间隔较长,就需要在服务端部署接收机基于公式(6)以及上 述Kalman滤波公式实时解算l、m、n的时间序列。用户端可以向服务端请求从上次定位结 束到当前时刻的l、m、n的变化值,进而得到当前时刻的l、m、n,再基于式(14)将这个约束 信息加到式(6)中的滤波模型中。
[0093] 二、Kalman 滤波
[0094]以GPS系统接收机钟差作为基准钟差,其他导航系统接收机钟差可表示为:
[0096] 其中,l、m、n为导航系统间钟差偏差,在数天内具有较高的短期稳定性。
[0097] 将上式代入各导航系统的观测方程,得到:
[0099] 新状态向量xk可表示为:
[0101] Kalman滤波进行参数估计的状态方程为:
[0102] xk=①…?Xh+K?wk_i
[0103] 利用状态方程,结合导航系统观测方程进行定位解算。
[0104] 三、判断历元是否读取完毕
[0105] 若读取完毕,则结束;否则读取下一历元,重复执行步骤一~二。
【主权项】
1. 多导航系统互操作定位方法,其特征在于,包括: (1) 基于卡尔曼滤波的定位模型的构建,包括: 以一系统接收机钟差为基准钟差dt',,采用基准钟差表示其他系统接收机钟差Clti = (Ι?',δ,δ表不系统间钟差偏差; 基于基准钟差构建各系统的观测方程; 由位置参数、基准钟差和系统间钟差偏差构成状态参数向量; 构建基于卡尔曼滤波法的状态方程Xk= Φ kn ?Xh+K· Wlrf,其中,XpXlrf分别为第k、 (k-1)个历元的状态参数向量;为第(k-1)个历元到第k个历元的状态转移矩阵;K 为噪声输入矩阵,当各系统广播星历均不更新时,K为零向量,当有系统广播星历更新时,K =[0 O O O AD]T,向量AD中元素表示各系统间钟差偏差的跳变,分别根据广播星历更新 时各系统时间基准的跳变获得,系统时间基准跳变为各系统所有卫星从当前历元广播文件 读取的卫星钟差Λ('ΗΛΙ'(〇和根据上一历元卫星钟差推算的卫星钟差之差的平均值,分别表示从上一历元广 播文件读取的上一历元时刻h卫星的时钟偏差和时钟漂移,(t-t J表示当前历元时刻与上 一历元时刻间的时间差;Wlrt为过程噪声; (2) 每次接收机定位结束时,存储本次定位结束时估算的系统间钟差偏差; (3) 每次接收机定位时,若本次定位与上次定位时间间隔小于预设间隔,引入上次定位 结束时估算的各系统间钟差偏差作为当前历元时刻的各系统间钟差偏差,采用定位模型进 行定位; (4) 每次接收机定位时,若本次定位与上次定位时间间隔不小于预设间隔,采用定位模 型实时解算各历元时刻下各系统间钟差偏差的变化值,进而获得当前历元时刻的各系统间 钟差偏差,采用定位模型进行定位; 上述预设间隔根据实验验证获得,上述系统即导航系统的简称。2. 如权利要求1所述的多导航系统互操作定位方法,其特征在于: 步骤(3)中所述的入上次定位结束时估算的各系统间钟差偏差作为当前历元时刻的 各系统间钟差偏差,采用定位模型进行定位,具体为: 引入上次定位结束时估算的各系统间钟差偏差构建虚拟观测方程; 以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束信息,结合各系统的观测方 程,解算状态参数向量,从而实现定位解算。3. 如权利要求1所述的多导航系统互操作定位方法,其特征在于: 步骤(4)中所述的采用定位模型进行定位,具体为: 引入当前历元时刻的各系统间钟差偏差构建虚拟观测方程; 以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束信息,结合各系统的观测方 程,解算状态参数向量,从而实现定位解算。4. 多导航系统互操作定位系统,其特征在于,包括: 模型构建模块,用来基于卡尔曼滤波的定位模型的构建,包括: 以一系统接收机钟差为基准钟差dt',,采用基准钟差表示其他系统接收机钟差dt,= dt',5,δ表不系统间钟差偏差; 基于基准钟差构建各系统的观测方程; 由位置参数、基准钟差和系统间钟差偏差构成状态参数向量; 构建基于卡尔曼滤波法的状态方程Xk= Φ kH ?Xh+K· Wlrf,其中,XpXlrf分别为第k、 (k-1)个历元的状态参数向量;为第(k-1)个历元到第k个历元的状态转移矩阵;K 为噪声输入矩阵,当各系统广播星历均不更新时,K为零向量,当有系统广播星历更新时,K =[0 O O O AD]T,向量AD中元素表示各系统间钟差偏差的跳变,分别根据广播星历更新 时各系统时间基准的跳变获得,系统时间基准跳变为各系统所有卫星从当前历元广播文件 读取的卫星钟差和根据上一历元卫星钟差推算的卫星钟差屯'°w(〇之差的平均值,分别表示从上一历元广 播文件读取的上一历元时刻h卫星的时钟偏差和时钟漂移,(t-t J表示当前历元时刻与上 一历元时刻间的时间差;Wlrt为过程噪声; 系统间钟差偏差存储模块,用来每次接收机定位结束时,存储本次定位估算的系统间 钟差偏差; 第一定位模块,用来每次接收机定位时,若本次定位与上次定位时间间隔小于预设间 隔,引入上次定位结束时估算的各系统间钟差偏差作为当前历元时刻的各系统间钟差偏 差,采用定位模型进行定位; 第二定位模块,用来每次接收机定位时,若本次定位与上次定位时间间隔不小于预设 间隔,采用定位模型实时解算各历元时刻下各系统间钟差偏差的变化值,进而获得当前历 元时刻的各系统间钟差偏差,采用定位模型进行定位; 上述预设间隔根据实验验证获得,上述系统即导航系统的简称。5. 如权利要求4所述的多导航系统互操作定位系统,其特征在于: 所述的第一定位模块进一步包括子模块: 虚拟观测方程构建子模块,用来引入上次定位结束时估算的各系统间钟差偏差构建虚 拟观测方程; 定位解算子模块,用来以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束信 息,结合各系统的观测方程,解算状态参数向量,从而实现定位解算。6. 如权利要求4所述的多导航系统互操作定位系统,其特征在于: 所述的第二定位模块进一步包括子模块: 虚拟观测方程构建子模块,用来引入当前历元时刻的各系统间钟差偏差构建虚拟观测 方程; 定位解算子模块,用来以虚拟观测方程作为基于卡尔曼滤波法的状态方程的约束信 息,结合各系统的观测方程,解算状态参数向量,从而实现定位解算。
【专利摘要】本发明公开了一种多导航系统互操作定位方法及系统,包括:(1)基于卡尔曼滤波的定位模型的构建;(2)每次接收机定位结束时,存储本次定位结束时估算的系统间钟差偏差;(3)每次接收机定位时,若本次定位与上次定位时间间隔小于预设间隔,引入上次定位结束时估算的各系统间钟差偏差,采用定位模型进行定位;(4)每次接收机定位时,若本次定位与上次定位时间间隔不小于预设间隔,采用定位模型实时解算各历元时刻下各系统间钟差偏差的变化值,采用定位模型进行定位。本发明可用于多导航系统组合定位,仅需估计一个接收机钟差即可进行定位解算,从而可解决可视卫星数量较少情况下无法定位的问题。
【IPC分类】G01S19/33
【公开号】CN104898138
【申请号】CN201510282175
【发明人】刘炎炎, 袁兵, 赵乐文
【申请人】武汉大学
【公开日】2015年9月9日
【申请日】2015年5月28日