一种卫星导航数据合理性检测方法 【技术领域】
本发明属于导航技术领域, 涉及一种用于惯性 / 卫星组合导航所用的卫星导航数 据合理性检测方法。背景技术
目前, 对于机载惯性 / 卫星导航组合导航系统的卫星导航数据的合理性判别, 一般是在卫星导航接收机中对卫星导航数据做完好性检测, 此类方法专门在卫星接收机 内部设置, 计算较为复杂、 实现难度较大。文献 [1]RTCA/DO-208 MINIMUM OPERATIONAL PERFORMANCE STANDARDS FOR AIRBORNE SUPPLEMENTAL NAVIGATION EQUIPMENT USING GLOBAL POSITIONING SYSTEM(GPS).RTCA.Inc.1993.CHANGE NO.1TO RTCA/DO-208 , September 21, 1993(RTCA/DO-208 使用全球定位系统 (GPS) 的机载辅助导航设备的最低使 用性能标准。RTCA.Inc.1993.1993 年 9 月 21 日第一次更改。RTCA 是美国政府和工业部门 的航空学组织协会, 致力于解决航空业务中的电子和无线电通讯应用中出现的问题, 它的 目标是通过它的组织成员达成协议来解决这些问题, RTCA 的决定对于它所有的相关组织具 有推荐的性质。文献 [1] 在 “附录 F 最小平方残差 RAIM(Receiver Autonomous Integrity Monitoring, 接收机自主完好性监控 ) 方法” 详细介绍了 RAIM 方法的内容, 其主要思路是 连续检测具有余度的伪距测量值, 至少要有 5 个导航卫星的伪距测量值才能报出故障。由 于计算步骤较为复杂这里不一一列出。文献 [2][ 美 ]Elliott D.Kaplan 和 Christopher J.Hegarty 主编, 寇艳红译, GPS 原理与应用 ( 第二版 ), 电子工业出版社, 2007 年 1 月, 北 京, 则在 “7.5GPS 完好性” 中详细描述了 RAIM 和 FDE( 故障检测和排除 ) 方法, 除了与文献 [1] 相关的内容外, 还描述了用至少 6 个导航卫星的伪距测量值确定故障卫星并从导航解 中排除故障卫星的方法, 由于方法法较为复杂这里不一一列出。
本发明是直接对卫星导航数据做检测, 与前述的完好性检测方法相比, 减少了实 现的难度, 可对卫星导航数据的跳变、 波动和异常值做出比较有效的检测。 发明内容 本发明的目的是提出一种操作简便的卫星导航数据合理性检测方法。 本发明的技 术解决方案是 :
(1) 卫星导航数据自身合理性判别
①根据惯导使用要求, 确定载体经度、 纬度的不合理数值区域 ;
②根据惯导使用要求, 确定载体海拔高度的不合理数值区域 ;
③根据惯导使用要求, 确定载体水平和天向速度的不合理数值区域 ;
④对接收到的卫星导航数据分别按照①至③判据的顺序进行判别 ;
⑤只有全部满足判别要求, 确定为通过自身合理性判别, 发出本秒卫星导航数据 可用的信息, 回到④等待判断下一秒卫星导航数据 ;
⑥如果其中任意一个数值不满足判别要求, 确定为不通过自身合理性判别, 发出
本秒卫星导航数据不可用的信息, 回到④等待判断下一秒卫星导航数据 ;
(2) 卫星导航连续两秒数据的合理性判别
分别选择设置位置差绝对值判据、 速度差绝对值判据和时间差判据。按照下列步 骤检测 :
I) 判断本秒卫星数据状态字是否有效, 如果状态字无效, 则不存储本秒数据, 重新 等待和判断下一秒卫星数据状态字是否有效 ; 如果状态字有效, 则从卫星导航的位置、 速度 和时间数据中选择并在内存单元中存储指定的数据 ;
II) 如果第二秒导航数据的状态字无效, 则不存储数据, 并且将上一秒存储的数据 清除 ; 重新等待和判断下一秒卫星数据状态字是否有效 ;
III) 如果连续 2 秒数据有效, 则将第 2 秒相应数据存储到内存单元中 ;
IV) 将内存中存入的连续 2 秒数据, 同类数据相减并求绝对值 ;
V) 将得到的若干个绝对值分别与预先设置的每类数据的判据作比较 ;
VI) 如果有任何 1 个绝对值超过判据, 发出本秒卫星导航数据不可用的信息, 清掉 内存单元中已存储的连续两秒的卫星导航数据, 回到 I), 重新等待和判断下一秒卫星数据 状态字是否有效 ;
VII) 如果全部绝对值通过判据, 则当前卫星导航数据通过连续两秒合理性判别, 发出本秒卫星导航数据可用的信息 ;
VIII) 如果前两秒的卫星导航数据通过判断, 下 1 秒卫星导航数据有效, 则存入内 存单元, 顶掉最先存入的第 1 秒的卫星导航数据, 再转到 IV) ;
IX) 如果前两秒的卫星导航数据通过判断, 下 1 秒卫星导航数据无效, 则将连续两 秒存储的数据全部清除, 再转到 I), 重新等待和判断下一秒卫星数据状态字是否有效。
(3) 卫星导航数据 “离散度” 检测
分别选择设置位置和速度的离散度判据, 并设置每个修正时间周期内的有效卫星 导航数据的的总秒数判据。按照下列步骤检测 :
<1> 在闭环修正或开环修正的时间周期内, 在内存单元中分别从位置和速度的数 据中选择存储惯导和卫星导航对应的同步数据 ;
<2> 本个修正时间周期内的有效卫星导航数据的的总秒数是否达到判据。 否, 发出 本次修正的时间周期内卫星导航数据不合格的信息, 清掉已存储的本次修正的时间周期内 存储的全部惯导和卫星导航对应的同步数据, 回到 <1>, 等待和判断下一个修正时间周期内 的数据 ; 是, 则做下列处理 :
(a) 分别计算存储的惯导和卫星导航对应同步数据的差值, 同一种数据的差值要 通过两两比较, 确定出一个最大值和一个最小值 ;
(b) 同一种数据的最大值和最小值相减之后再取绝对值, 就得到这种数据的离散 度;
(c) 每一种数据都按上述步骤计算, 分别得到对应的离散度 ;
(d) 将每一种数据的离散度分别用预先设定的离散度判据做判断, 如果至少有一 种数据的离散度达不到要求, 则确定本闭环修正或开环修正时间周期内卫星导航数据的离 散度超标, 不能用于组合导航, 发出本次修正的时间周期内卫星导航数据不可用的信息 ; 如 果全部达到要求, 则确定本闭环修正或开环修正时间周期内卫星导航数据满足离散度要求, 发出本次修正的时间周期内卫星导航数据可用的信息 ;
<3> 清掉已存储的本次修正的时间周期内存储的全部惯导和卫星导航对应的同步 数据, 回到 <1>, 等待和判断下一个修正时间周期内的数据。
本发明具有的优点和有益效果, 本发明卫星导航数据合理性判别措施是根据实际 需要提出的, 简便易行, 有较好的效果。 针对卫星导航数据异常问题提出的自身合理性判别 方法简便实用, 较为有效地发现和排除了卫星导航数据明显异常的问题 ; 而针对卫星导航 数据跳变和波动问题提出的连续两秒卫星导航数据检测方法、 针对修正时间周期内卫星导 航数据跳变和波动问题提出的离散度判别方法, 都具有较强实用价值。因为卫星导航接收 机所处的动态环境十分复杂, 即便卫星导航接收机内部采用了 RAIM 和 FDE 等方法, 由于涉 及到检测门限较难设置等多方面原因, 无法检测出卫星导航数据的所有问题, 采用本发明 的方法, 是对卫星导航接收机内部检测方法比较有效的补充, 实际的应用已证明了其有效 性。 附图说明
图 1 是本发明的流程图 ;
图 2 是本发明自身合理性判别流程图 ; 图 3 是本发明连续两秒合理性判别流程图 ; 图 4 是本发明卫星导航数据离散度检测流程图。具体实施方式
(1) 对卫星导航数据自身合理性判别
①根据惯导使用要求, 确定载体经度、 纬度的不合理数值区域 ;
②根据惯导使用要求, 确定载体海拔高度的不合理数值区域 ;
③根据惯导使用要求, 确定载体水平和天向速度的不合理数值区域 ;
说明 : 以上三种判据预先在程序中设定, 具体数值既可固化在程序中, 也可设置在 非易失存储器中。
④对接收到的卫星导航数据分别按照①至③判据的顺序进行判别 ;
⑤只有全部满足判别要求, 确定为通过自身合理性判别, 发出本秒卫星导航数据 可用的信息, 回到④等待判断下一秒卫星导航数据 ;
说明 : 全部通过①至③判据后, 可不更改原来默认的卫星导航数据可用的自定义 的标志字, 比如 A = 1 为卫星导航数据可用 (A = 0 为不可用 )。
⑥如果其中任意一个数值不满足判别要求, 确定为不通过自身合理性判别, 发出 本秒卫星导航数据不可用的信息, 回到④等待判断下一秒卫星导航数据 ;
说明 : 只要①至③判据至少有一个不满足, 就要将本秒卫星导航数据的自定义的 标志字置为不可用, 比如置 A = 0。
(2) 卫星导航连续两秒数据的合理性判别
分别选择设置位置差绝对值判据、 速度差绝对值判据和时间差判据。( 说明 : 这些 判据可选择若干种预先在程序中设定, 具体数值既可固化在程序中, 也可设置在非易失存 储器中。) 按照下列步骤检测 :I) 判断本秒卫星数据状态字是否有效, 如果状态字无效, 则不存储本秒数据, 重新 等待和判断下一秒卫星数据状态字是否有效 ; 如果状态字有效, 则从卫星导航的位置、 速度 和时间数据中选择并在内存单元中存储指定的数据 ;
说明 : 要预先在程序中设置专门存储两秒卫星导航数据的内存单元, 做好特定的 标志, 第一秒和第二秒的数据分别存入不同的内存单元。
II) 如果第二秒导航数据的状态字无效, 则不存储数据, 并且将上一秒存储的数据 清除 ; 回到 I), 重新等待和判断下一秒卫星数据状态字是否有效 ;
说明 : 注意要彻底清除上一秒存储的数据。
III) 如果连续 2 秒数据有效, 则将第二秒相应数据存储到内存单元中 ;
说明 : 第二秒数据要存入指定的内存单元。
IV) 将内存中存入的连续 2 秒数据, 同类数据相减并求绝对值 ;
说明 : 比如第一秒的纬度和第二秒的纬度相减, 第一秒的东向速度和第二秒的东 向速度相减。
V) 将得到的若干个绝对值分别与预先设置的每类数据的判据作比较 ;
说明 : 比如 3 维位置差判据对应卫星导航的第一秒和第二秒的位置差绝对值。 VI) 如果有任何 1 个绝对值超过判据, 发出本秒卫星导航数据不可用的信息, 清掉 内存单元中已存储的连续两秒的卫星导航数据, 回到 I), 重新等待和判断下一秒卫星数据 状态字是否有效 ;
说明 : 如果本秒卫星导航数据不可用, 下一秒的卫星数据状态字即便有效也不能 给出可用信息, 只有再下一秒的卫星数据可能是有用的。
VII) 如果全部绝对值通过判据, 则当前卫星导航数据通过连续两秒合理性判别, 发出本秒卫星导航数据可用的信息 ;
说明 : 只是本秒卫星导航数据可用。
VIII) 如果前两秒的卫星导航数据通过判断, 下一秒卫星导航数据有效, 则存入内 存单元, 顶掉最先存入的第一秒卫星导航数据, 再转到 IV) ;
说明 : 注意是清掉最先存入的第一秒卫星导航数据, 再把已存入的第二秒卫星导 航数据搬到第一秒卫星数据对应的内存单元中, 当前秒的卫星数据则存入第二秒卫星数据 对应的内存单元中。
IX) 如果前两秒的卫星导航数据通过判断, 下 1 秒卫星导航数据无效, 则将连续两 秒存储的数据全部清除, 再转到 I), 重新等待和判断下一秒卫星数据状态字是否有效。
(3) 卫星导航数据 “离散度” 检测
分别选择设置位置和速度的离散度判据, ( 说明 : 比如可选择设置经度、 纬度、 东 向速度、 北向速度判据, 具体数值既可固化在程序中, 也可设置在非易失存储器中。), 并设 置每个修正时间周期内的有效卫星导航数据的的总秒数判据。按照下列步骤检测 :
<1> 在闭环修正或开环修正的时间周期内, 在内存单元中分别从位置和速度的数 据中选择存储惯导和卫星导航对应的同步数据 ;
说明 : 最好是按卫星接收机秒脉冲同步的惯导和卫星导航对应的数据, 比如经度、 纬度、 东向速度、 北向速度。
<2> 本个修正时间周期内的有效卫星导航数据的的总秒数是否达到判据。 否, 发出
本次修正的时间周期内卫星导航数据不合格的信息, 清掉已存储的本次修正的时间周期内 存储的全部惯导和卫星导航对应的同步数据, 回到 <1>, 等待和判断下一个修正时间周期内 的数据 ; 是, 则做下列处理 :
说明 : 判断本个修正时间周期内的有效卫星导航数据的的总秒数, 是按照卫星接 收机每秒给出的卫星数据是否有效的状态字来判断并累积计秒数。
(a) 分别计算存储的惯导和卫星导航对应同步数据的差值, 同一种数据的差值要 通过两两比较, 确定出一个最大值和一个最小值 ;
说明 : 比如惯导和卫星导航的同步纬度数据相减, 相减的顺序要固定, 如惯导纬 度 - 卫星导航纬度, 再比较每一组同步数据的差值, 要考虑正负号。
(b) 同一种数据的最大值和最小值相减之后再取绝对值, 得到这种数据的离散 度;
说明 : 实际上是求数据波动的峰 - 峰值的绝对值。
(c) 每一种数据都按上述步骤计算, 分别得到对应的离散度 ;
(d) 将每一种数据的离散度分别用预先设定的离散度判据做判断, 如果至少有一 种数据的离散度达不到要求, 则确定本闭环修正或开环修正时间周期内卫星导航数据的离 散度超标, 不能用于组合导航, 发出本次修正的时间周期内卫星导航数据不可用的信息 ; 如 果全部达到要求, 则确定本闭环修正或开环修正时间周期内卫星导航数据满足离散度要 求, 发出本次修正的时间周期内卫星导航数据可用的信息 ; <3> 清掉已存储的本次修正的时间周期内存储的全部惯导和卫星导航对应的同步 数据, 回到 <1>, 等待和判断下一个修正时间周期内的数据。
实施例 :
(1) 卫星导航数据自身合理性判别
先设置三类判据 :
①纬度在 -20’ ~ +20’ (+ 为北纬, - 为南纬 ) 作为不合理数据区 ;
②海拔高度 -200m ~ 20000m 之外作为不合理数据区 ;
③三维合成速度绝对值> 600m/s 作为不合理数据区, 天向速度绝对值> 300m/s 为不合理数据区。
已知本秒的卫星导航数据为纬度 N30°, 经度 E109°, 东向速度 Ve = 430m/s, 北向 速度 Vn = -370m/s, 天向速度 Vu = 280m/s, 海拔高度为 h = 9000m。
则:
④纬度 N30°和经度 E109°通过判据① ;
海拔高度为 h = 9000m 通过判据② ;
天向速度 Vu = 280m/s 通过判据②, 但三维合成速度绝对值为
位于三维合成速度绝对值> 600m/s 的不合理数据区, 因此不通过判据③。
⑤因此本秒的卫星导航数据没有通过自身合理性判别, 本秒卫星导航数据的自定 义的标志字置为不可用 ( 比如 A = 1 为可用, A = 0 为不可用, 则 A = 0)。
(2) 卫星导航连续两秒数据的合理性判别
空间 3D 位置差绝对值判据设置为 600m ;空间 3D 速度差绝对值判据设置为 100m/s。
卫星导航数据 :
第一秒纬度 N30.530°, 经度 E109.251°, 东向速度 Ve = 430m/s, 北向速度 Vn = -370m/s, 天向速度 Vu = 280m/s, 海拔高度为 h = 9600m, 卫星数据状态字有效 ;
第二秒纬度 N30.520°, 经度 E109.252°, 东向速度 Ve = 438m/s, 北向速度 Vn = -470m/s, 天向速度 Vu = 260m/s, 海拔高度为 h = 9680m, 卫星数据状态字有效 ;
第三秒纬度 N30.524°, 经度 E109.257°, 东向速度 Ve = 368m/s, 北向速度 Vn = -350m/s, 天向速度 Vu = 210m/s, 海拔高度为 h = 8780m, 卫星数据状态字有效 ;
第四秒纬度 N30.523°, 经度 E109.258°, 东向速度 Ve = 298m/s, 北向速度 Vn = -350m/s, 天向速度 Vu = 240m/s, 海拔高度为 h = 8890m, 卫星数据状态字有效 ;
第五秒纬度 N30.525°, 经度 E109.259°, 东向速度 Ve = 278m/s, 北向速度 Vn = -340m/s, 天向速度 Vu = 210m/s, 海拔高度为 h = 8990m, 卫星数据状态字有效 ;
则:
I) 判断 : 第一秒卫星数据状态字有效 ;
在内存单元中存储第一秒卫星导航数据 ;
判断 : 第二秒卫星数据状态字有效 ;
III) 在内存单元中存储第二秒卫星导航数据 ;
IV) 计算内存单元中存储的第一秒和第二秒卫星导航数据纬度差绝对值 ΔL = 0.01°, 经度差绝对值 Δλ = 0.001°, 海拔高度差绝对值 Δh = 80m, 东向速度差绝对值 ΔVe = 8m/s, 北向速度差绝对值 ΔVn = 100m/s, 天向速度差绝对值 ΔVu = 20m/s :
V) 空间 3D 位置差绝对值为 (L 为前后两秒纬度的均值 ) :
已经超过了空间 3D 位置差绝对值 600m 的判据 ;
VI) 立刻发出本秒卫星导航数据不可用的信息, 比如可用自定义的标志字 A( 也可 另外定义标志字 B) 表示, 置 A = 0。) 清掉已存储的连续两秒的卫星导航数据, 回到 I) ;
I) 再判断下一秒 ( 第三秒 ) 卫星数据状态字是否有效, 结果是 “有效” ;
在第一秒对应的内存单元中存储第三秒卫星导航数据 ;
判断下一秒 ( 第四秒 ) 卫星数据状态字是否有效, 结果是 “有效” ;
III) 在第二秒对应的内存单元中存储下一秒 ( 第四秒 ) 卫星导航数据 ;
IV) 计算内存单元中存储的第一秒和第二秒 ( 即第三秒和第四秒 ) 纬度差绝对值 ΔL = 0.004°, 经度差绝对值 Δλ = 0.001°, 海拔高度差绝对值 Δh = 100m, 东向速度 差绝对值 ΔVe = 30m/s, 北向速度差绝对值 ΔVn = 0m/s, 天向速度差绝对值 ΔVu = 30m/ s;
V) 空间 3D 位置差绝对值为 (L 为前后两秒纬度的均值 )
通过了空间 3D 位置差绝对值 600m 的判据 ; 空间 3D 速度差绝对值为 :也通过了空间 3D 速度差绝对值 100m/s 的判据 ;
VII) 发出本秒卫星导航数据可用的信息。比如置 A = 1。
判断下一秒 ( 第五秒 ) 卫星数据状态字是否有效, 结果是 “有效” ;
VIII) 用内存单元中存储的第二秒 ( 即按本流程顺序的第四秒 ) 卫星导航数据直 接替换掉内存单元中存储的第一秒 ( 即按本流程顺序的第四秒 ) 卫星导航数据, 再把第五 秒卫星数据存储在原来存储第二秒 ( 即按本流程顺序的第四秒 ) 卫星导航数据的内存单元 中。然后回到 IV), 继续计算和判断。
(3) 卫星导航数据 “离散度” 检测 闭环修正时间周期设置为 10s 经度、 纬度的 “离散度” 判据均设置为 0.1’ ; 高度的 “离散度” 设置为 200m ; 东向速度、 北向速度的 “离散度” 判据均设置为 1m/s ; 天向速度的 “离散度” 判据设置为 10m/s ; 每个修正时间周期内的有效卫星导航数据的的总秒数判据为 6。 某个修正时间周期内的惯导和卫星导航数据如表 1 和表 2 所示 : 表 1 某个修正时间周期内的惯导数据表 2 某个修正时间周期内同步的卫星导航数据则:
<1> 在本次修正时间周期内, 在内存单元中分别从位置和速度的数据中选择存储 惯导和卫星导航对应的同步数据。如表 1 和表 2 所示, 共存储了 7 秒钟的惯导和卫星导航 对应的同步数据, 由于第二秒、 第六秒和第十秒的卫星数据无效, 按秒脉冲存储的惯导数据 则不再使用 ;
<2> 判断本次修正时间周期内的有效卫星导航数据的的总秒数是否达到判据, 根 据表 2 的结果是 7 秒, 达到了 6 秒的判据 ;
分别计算存储的惯导和卫星导航对应同步数据的差值。 如表 3 所示, 分别计算 了 6 种数据的差值 ;
同一种数据的差值要通过两两比较, 确定出一个最大值和一个最小值。如表 3 所示, 倒数第二行和第三行分别是每种数据的最大值、 最小值。
同一种数据的最大值和最小值相减之后再取绝对值, 得到这种数据的离散度。 如表 3 所示, 倒数第一行是每种数据的离散度。
判断这些数据的离散度是否达到全部的离散度判据。依次判断, 结果第五列 数据即北向速度差的离散度是 1.1m/s, 超过了 1.0m/s 的判据。发出本次修正时间周期内 卫星导航数据不可用的信息, 比如可用自定义的标志字 C(1 为可用, 0 为不可用 ) 表示, 置C =0;
<3> 清掉已存储的本次修正时间周期内存储的全部惯导和卫星导航对应的同步数 据, 回到 <1>, 继续等待和判断下一个修正时间周期内卫星导航数据的离散度。
表 3 某个修正时间周期内惯导和卫星导航数据的 “离散度” 计算结果