rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)

如果看到第二次了,该关注我们了,点击上面关注,分享IT技术知识。

1 ,概述

共视法是利用2个不同地点观测站的卫星接收机同时跟踪同一颗卫星,从而降低2站间共同误差,提高时间同步精度的方法。高精度的共视授时技术不仅是满足世界标准时间(UTC)形成和准确度保持的需要,而且也是卫星系统高精度系统时间建立和维持的基础。原创今日头条:卧龙会IT技术

2,卫星共视算法原理

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(1)

3,卡尔曼滤波算法

卡尔曼滤波采用最优化递归数据处理方法,是一个不断预测和修正的过程,采用递推处理方法,用上一个采样时刻的估计值和当前时刻的观测值来估计当前时刻的估计值。基于卫星共视比对系统中,卫星信号的传播过程中会受到电离层、对流层等的影响,故对收到的卫星数据在处理分析过程中会出现很强的噪声[2]。卡尔曼滤波能够在数据有噪声的情况下实现对信号的最优估计、平滑测量数据,提高共视时间比对精度。原创今日头条:卧龙会IT技术

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(2)

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(3)

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(4)

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(5)

卡尔曼滤波用反馈控制的方法估计过程状态,滤波器估计过程某一时刻的状态,然后以测量变量的方式获得反馈。卡尔曼算法分为两个部分,时间更新方程和测量更新方程。其中(7)、(8)式为时间更新方程,负责及时向前推算当前状态变量和误差协方差估计值,以便为下一个时间状态构造先验估计。(9)、(10)、(11)三个方程为测量更新方程负责反馈,将先验估计和新的测量变量结合以得到当前状态的最优化估算值。

卡尔曼算法处理如图1所示:

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(6)

图1卡尔曼算法处理流程

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(7)

4卡尔曼滤波在卫星共视中的应用

4.1 卡尔曼算法对鉴相数据处理

卫星共视比对中出现的主要误差源由多径效应和大气折射引起,在进行共视比对时,接收机天线除接受直接来自卫星方向的信号外,还接收到其他物体反射回来的信号,由于这两种信号路径不同,从而使接收到的组合信号变形,产生测量误差,多路径主要由接收机附近的反射表面引起[3]。卫星信号在传播时,由于受到大气折射的影响,传播路径会发生弯曲,造成信号的传播误差。

误差源对接收机输出1PPS信号的稳定性产生影响,具体表现为1PPS输出信号跳变,一般为几十纳秒,偶尔会达到几百纳秒。如果直接用它来进行共视比对,则会产生较大波动,造成共视系统输出信号不稳定。为了尽量减小接收模块输出的1PPS信号中存在的随机抖动对共视系统的影响,首先必须对接收到的对卫星数据进行滤波处理。由于卡尔曼滤波能解决最佳线性过滤和估计的问题,通过状态方程和递推方法进行处理。用前一个估计值和最近一个观测数据来估算,卡尔曼滤波算法适用于卫星1PPS抖动处理。原创今日头条:卧龙会IT技术

由卫星共视原理可知,接收机输出1PPS信号质量会直接影响共视比对输出性能。而实际应用中,卫星接收机易受信号干扰等特点,如图2所示,其输出的1PPS信号具有一定的抖动。

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(8)

图2卫星接收机输出1PPS

卫星1pps鉴相数据采集是通过对比铯钟1PPS与接收机1PPS获取,采集了86400个鉴相数据。从上图我们可看出,卫星接收机在较好状态下可以输出抖动范围约50ns的1PPS鉴相数据。而在受信号干扰等影响输出时,出现了三次突变数据,约1000ns左右的抖动数据,持续时间约为300s,这些测量数据比正常测量值偏大。

下面分别采用卡尔曼算法进行滤波处理如图3所示。

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(9)

图3正常卫星数据卡尔曼滤波

从图3可以看出卡尔曼滤波算法可以有效的过滤卫星接收机的信号抖动,平滑测量数据,减小了卫星接收机1PPS信号抖动带来的影响。而从图4可以看出卫星采集数据抖动范围在0ns~1000ns,经卡尔曼滤波处理后0ns~860ns。可以看出对具有大跳变的数据滤波后,数据跳变值有所衰减,但仍然存在。

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(10)

图4具有抖动卫星数据卡尔曼滤波

从以上分析可知,卡尔曼滤波算法可以过滤卫星接收机的1PPS信号微抖动,效果较好。而对较大扰动信号不能全部过滤,不能实现系统高精度,高可靠性要求。根据出现扰动数据明显偏大或者偏小正常值的特点,提出了一种抖动检测机制。在卡尔曼滤波算法过程中引入检测机制。对时间间隔数据进行预处理,检测时间间隔增量,如果大于统计均值的n倍我们可以认为出现了异常抖动,则将该异常数据过滤,然后再将正常的数据使用卡尔曼滤波算法进行处理。改进后滤波数据如下图5所示:

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(11)

图5改进后卡尔曼滤波数据

经过改进后的卡尔曼滤波算法,无论采集数据是否出现大的跳变,都可以有效的进行滤波处理,较大的跳变数据被有效的过滤掉。经过卡尔曼滤波后对系统高精度、高可靠性控制输出提供了有力保障。

4.2 卡尔曼滤波在卫星共识中的比对结果

A站与B站采集的鉴相原始数据如图 6所示,A站鉴相数据范围为-7ns~99ns,B站鉴相数据范围为6ns~77ns。

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(12)

图 6 A站与B站原始鉴相数据

A站与B站的鉴相数据通过卡尔曼滤波算法后,A站的鉴相数据范围-9ns~15ns,B站的鉴相数据范围2ns~18ns。鉴相数据经过卡尔曼滤波后过滤掉了噪声,平滑了测量数据。原创今日头条:卧龙会IT技术

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(13)

图 7 A站与B站卡尔曼滤波后的数据

根据图 8所示,A站与B站原始鉴相钟差范围-89ns~76ns, A站与B站鉴相数据滤波后的钟差范围-6ns~4ns。通过卡尔曼滤波算法,提高了卫星共视系统信号的输出精度。

rtklib卡尔曼滤波(基于卫星共视的卡尔曼滤波算法)(14)

图 8 A站与B站的钟差数据

原创:卧龙会 大漠苍狼

卧龙会,卧虎藏龙,IT高手汇聚!由多名十几年的IT技术设计师组成,欢迎关注!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页