抗差滤波算法在GNSS导航定位粗差处理中的应用——基于Huber函数和最大相关熵
GNSS导航定位是一种广泛使用的定位技术,但是在实际应用中,由于多种因素的影响,如多径效应、电离层延迟等,会导致定位误差及出现粗差点。为了提高定位精度和可靠性,需要对粗差进行处理。本文介绍一种抗差滤波算法,在GNSS导航定位中用于粗差点的处理。
抗差滤波算法通过剔除异常值,提高了对数据的鲁棒性。而对于GNSS导航定位中的粗差处理,传统的抗差滤波算法存在着减小可用卫星数量和精度损失的问题。为了解决这些问题,我们利用Huber函数和最大相关熵方法进行抗差滤波。
首先,我们定义Huber函数,它是一种抗差损失函数。在估计参数时,根据Huber函数对样本数据进行分类,将数据分为正常值和异常值两类。对于正常值,使用均方误差(MSE)作为损失函数;对于异常值,使用绝对值误差(MAE)作为损失函数。这种方式可以同时考虑异常值和正常值的影响,提高了对异常值的处理能力。
其次,我们使用最大相关熵方法进行模型参数的估计。最大相关熵方法是一种基于信息论的估计方法,它可以在保证数据约束条件下,获得具有最大熵值的模型参数。
下面,我们给出基于Huber函数和最大相关熵的抗差滤波算法的matlab代码实现:
function [xhat] = robust_filter(y)
% 基于Huber