分享

大漠苍狼:卫星知识科普,一种基于卫星共视的卡尔曼滤波算法

 wwdragonfly 2019-03-12

1 ,概述

2,卫星共视算法原理

3,卡尔曼滤波算法

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


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

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

图1卡尔曼算法处理流程

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

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

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

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

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

图2卫星接收机输出1PPS

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

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

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

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

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

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

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

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

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

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多