基于改进自适应无迹卡尔曼滤波的国产民机导航数据滤波算法

2022-01-12 02:31杨军利王立新
科学技术与工程 2021年35期
关键词:协方差滤波阈值

杨军利, 王立新, 钱 宇, 刘 瑜

(中国民用航空飞行学院飞行技术学院, 广汉 618307)

国产飞机的导航主要依靠全球定位系统(global positioning system,GPS)/惯性导航系统(inertial navigation system,INS)的组合导航系统[1],将来随北斗技术日趋完善,有望早日实现导航技术的国产化。组合导航系统以抗干扰性强、自主性完好及定位精度高等优点著称,它是将GPS和INS二者进行了优势互补。然而即使导航系统的精度再高,信号的传输难免会受到传输路径过长等因素的影响,使其包含一定的杂波,从而导致导航精度降低,为解决此问题,需对导航数据进行滤波处理。

Kalman滤波[2-3]是组合导航数据处理算法之一,它对平稳随机过程、多维随机过程及非平稳的随机过程均有很好的滤波效果,可最大限度降低噪声等干扰信息对系统的影响,且计算过程较简单,但Kalman滤波只对包含较特殊噪声系统(如高斯白噪声系统)的线性系统有效,导致其适用性受限。为解决非线性系统滤波问题,Bucy等提出扩展卡尔曼滤波(extended Kalman filter,EKF),它采用非线性系统一阶线性化的方法,但此方法会产生近似误差,导致滤波发散,精度降低[4]。无迹卡尔曼滤波(unscented Kalman filter,UKF)以无迹变换(unscented transform,UT)为基础,结合Kalman滤波基本框架,与EKF相比,精度更高[5-7],但它的缺点在于对系统初始值要求较高,不准确的系统噪声、扰动异常等因素均会影响滤波精度。将UKF与Sage-Husa噪声滤波器结合构成改进自适应无迹卡尔曼滤波(adaptive unscented Kalman filter,AUKF)[8-9],这样可降低UKF对系统初始值的要求,准确估计出状态预测的协方差,同时滤波器可实时更新和修正系统噪声,有效解决了导航数据滤波精度低和系统不稳定的问题,但传统AUKF的Sage-Husa噪声滤波器在更新随机变量和观测变量系统白噪声协方差时,当二者的推导式中非零元素的绝对值大于某特定阈值,或自协方差元素出现负值时,容易导致随机变量系统白噪声协方差失去非负性或者观测变量系统白噪声协方差失去正定性,从而使得AUKF滤波发散,精度降低。

现对AUKF算法的Sage-Husa噪声估计器进行改进以克服滤波发散的问题。对比改进AUKF算法、维纳滤波器及小波阈值法对国产ARJ21飞机实际运行导航数据的滤波效果,以说明改进AUKF算法可有效提高国产民机导航数据的精度。

1 改进AUKF算法

1.1 改进Sage-Husa滤波器

Sage-Husa[10]实时估计UKF的随机变量和观测变量系统白噪声协方差的递推过程为

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

1.2 UKF算法

UKF系统噪声为白噪声,并求解状态向量和协方差矩阵,推导过程包括系统初始化、时刻更新、测量更新及滤波值更新。

1.2.1 UT变换

UT变换由三部分组成:选取采样点、计算采样点均值和协方差、计算采样点权值。

选取2n+1个采样点,n为状态向量维数。令采样点与原始状态分布的均值和协方差相等,具体推导为

(9)

(10)

式(10)中:m为均值;c为协方差;β为非负权系数。

1.2.2 UKF推导

UKF利用包含白噪声的随机变量和观测变量对非线性系统进行描述,非线性系统可表示为

(11)

式(11)中:f为非线性状态方程函数;h为非线性观测方程函数;X(t)为t时刻系统状态值;W(t)为随机变量X(t+1)的白噪声,设其协方差阵为Q;V(t)为观测变量Z(t)的白噪声,设其协方差阵为R。

改进的AUKF算法步骤如下。

(1)计算采样点权值,即

(12)

(2)计算采样点一步预测值,即

Xi(t+1)=f[t,Xi(t)],i=1,2,…,2n+1

(13)

(3)计算状态随机向量一步预测和协方差,即

(14)

(15)

(4)对式(14)的预测值进行二次UT变换,即

(16)

(5)将二次UT变换得到的预测值代入系统观测方程,计算出观测值的预测值,即

Zi(t+1)=h[Xi(t+1)]

(17)

(6)计算系统预测均值和协方差,即

(18)

(19)

(20)

(7)计算Kalman滤波增益,即

(21)

(8)更新系统状态和协方差,即

(22)

P(t+1)=P(t+1)-K(t+1)PZkZkKT(t+1)

(23)

利用改进AUKF[14]实现国产民用飞机导航数据滤波的算法流程如图1所示。

图1 改进AUKF导航数据滤波算法流程图Fig.1 Flow chart of improved AUKF navigation data filtering algorithm

2 维纳滤波器

维纳滤波[15-16]是一种最佳非递归估计,利用最小均方误差法进行估计。将信号和噪声同时输入,通过滤波器处理,最终在输出端较为精准的信号,而噪声被尽可能地抑制。维纳滤波器的具体推导过程如下。

已知希望输出为

(24)

均方误差为

(25)

对式(25)中的h(m)(m=0,1,…,N-1)进行求导得

(26)

式中:Rxs(j)=E[s(n)x(n-j)],Rxx(j-m)=E[x(n-m)x(n-j)],j=0,1,…,N-1。

通过上述推导可得N个线性方程,即

(27)

将式(27)写为矩阵形式可得

(28)

式中:H=[h(0)h(1)…h(N-1)]T为滤波器的系数;Rxs=[Rxs(0),…,Rxs(N-1)]T为互相关序列。

自相关矩阵为

(29)

通过上述推导过程可知,维纳滤波器实质就是求解维纳-霍夫方程。

3 小波阈值滤波

小波分析是由傅里叶分析发展而来。小波阈值滤波认为对于小波系数包含有信号的重要信息,其幅值较大,但数目较少,然而信号中的噪声对于小波系数是一致分布的,个数较多,但幅值较小。

采用小波阈值法滤波的步骤[17-18]为以下3步。

(1)选择一个小波,并确定其分解的层次M,采用离散小波变换对噪声信号进行M层小波分解,并得到不同的尺度系数。

(2)对这M层高频系数进行阈值量化处理。

(3)根据小波分解的第M层的低频系数和经量化处理之后的第一层到第M层的高频系数,进行信号的小波重构。

常用的阈值量化处理方法有硬阈值和软阈值,具体表达式如下。

硬阈值法:

(30)

软阈值法:

(31)

小波阈值的选取规则如下。

(1)固定阈值T1。假设含噪信号f(t)在尺度1~m(1

(32)

(2)Stein无偏风险阈值T2。它是一种基于Stein的无偏似然估计原理的自适应阈值选择。设W为一向量,它所包含的元素是小波系数的平方并将值进行由大到小的顺序排列,记为T2。设风险向量为R,它的元素为

i=1,2,…,n

(33)

式(33)中:rb为R元素中的最小值,令其为风险值;由rb的下标求出对应的ωn。则

(34)

(3)试探法的Stein无偏风险阈值T3。试探法的Stein无偏风险阈值是以上两种方法的综合,是一种最优预测变量阈值选择。若信噪比较小,适用这种固定的阈值。设W为n个小波系数的平方和,令σ=middle(W1,k,0≤k≤2J-1-1)/0.674 5,具体阈值选择规则为

(35)

(36)

(4)极大极小准则阈值T4。这种方法采用的也是固定阈值,产生一个最小均方误差的极值,而不是误差。具体的阈值选取规则为

(37)

σ=middle(W1,k,0≤k≤2J-1-1)/0.674 5

(38)

式中:n为小波系数的个数;σ为噪声信号的标准差;W1,k表示尺度为1的小波系数。

上述四种阈值选取规则各有优缺点,为选择更合适的阈值选取规则,分别对比4种阈值选取规则以及软阈值和硬阈值下的滤波效果,具体如图2和图3所示。

图2 纬度软阈值与硬阈值滤波对比Fig.2 Comparison of soft threshold and hard threshold latitude filtering

图3 不同阈值选取规则的导航数据滤波对比Fig.3 Comparison of navigation data filtering with different threshold selection rule

由图2可以看出,采用软阈值量化处理滤波效果更好。由图3可以看出,导航数据在4种阈值选取规则下的滤波效果不同,经对比验证发现采用试探法的Stein无偏风险阈值T3滤波效果更好。因此,最终确定小波阈值滤波采用软阈值量化下试探法的Stein无偏风险阈值进行滤波。

4 仿真算例

为了验证研究提出的导航数据滤波算法的有效性,利用国产ARJ21飞机的实际运行数据进行仿真验证,样本数据分别为高度、经度及纬度,3组样本数据量均为200。

利用MATLAB分别编程改进AUKF、UKF、维纳滤波器及小波阈值法,并将这4种算法的滤波效果进行对比分析。仿真是将实际运行数据作为真实数据,给真实数据中加入信噪比为5 dB的高斯白噪声构造出噪声数据,4种算法滤波效果拟合曲线如图4所示。

由图4可以看出,3组样本数据通过改进AUKF算法滤波效果明显优于其他3种算法,改进AUKF算法的滤波曲线更接近真实曲线,说明该算法在提高导航数据滤波精度的同时能更好地保证滤波数据的可靠性。为更清晰比较不同算法的滤波效果,对不同算法滤波估计误差进行了对比分析,即计算不同时刻估计值与真实数据的差值,得到均方根(root mean squared,RMS)和均方根误差(root mean squared error,RMSE),即

(39)

式(39)中:N为样本数据量。导航数据滤波误差拟合曲线如图5所示。

图5 导航数据滤波估计误差拟合曲线Fig.5 Estimation error fitting curve of navigation data filtering

由图5可以看出,小波阈值法和维纳滤波器的误差明显高于改进AUKF和UKF算法,同时改进AUKF算法的滤波误差又小于UKF算法,综合说明改进AUKF算法较其他3种算法可靠性更好,滤波精度更高。为了衡量估计误差的整体水平,研究利用平均相对误差(mean relative error,MRE)和RMSE对拟合曲线进行分析,3组样本数据拟合曲线的评估指标值如表1~表3所示。

表1 高度滤波效果评估Table 1 Evaluation of height filtering effect

表2 纬度滤波效果评估Table 2 Evaluation of latitude filtering effect

表3 经度滤波效果评估Table 3 Evaluation of longitude filtering effect

由表1~表3可以看出,3组样本数据利用改进AUKF算法滤波得到的MRE和RMSE均小于其他3种算法,且4种算法所得误差均在5%合理误差范围之内,说明4种算法滤波降噪均有效,而改进AUKF滤波后的数据值与真实数据偏差更小,即改进AUKF算法的滤波精度更高,所得导航数据更可靠,利用其进行滤波的数据定位精度高。

5 结论

国产民用飞机导航数据由于传感器记录过程中可能引入噪声等因素导致数据包含杂波,为了提高导航定位精度需对导航数据进行滤波处理,研究采用改进Sage-Husa算法的AUKF算法对导航数据进行滤波处理,所得结论如下。

(1)UKF算法不像EKF算法还需计算复杂的Jacobian矩阵,运算较为简单,且对非线性系统和线性系统均有很好的滤波效果,但它在处理非线性系统问题时需提前确定系统噪声特性,在处理实际问题中,往往无法提前得知系统噪声特性,致使滤波精度降低。

(2)改进AUKF算法克服了更新过程噪声和观测噪声时,导致过程噪声失去非负定性或者观测噪声失去正定性而导致滤波发散的问题,同时它还克服了系统模型直接线性化带来系统损耗的问题,以及通过对未知系统噪声特性的实时估计,以修正系统噪声变化对滤波的影响,较其他3种滤波算法滤波精度更高,有效提高了导航数据的可靠性。因此,本研究在提高国产民机导航数据精度方面具有重要意义。

猜你喜欢
协方差滤波阈值
船岸通信技术下舰船导航信号非线性滤波
土石坝坝体失稳破坏降水阈值的确定方法
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
一种改进的网格剖分协方差交集融合算法∗
一种考虑GPS信号中断的导航滤波算法
高效LCL滤波电路的分析与设计
高效秩-μ更新自动协方差矩阵自适应演化策略
基于EKF滤波的UWB无人机室内定位研究
基于子集重采样的高维资产组合的构建
二维随机变量边缘分布函数的教学探索