APP下载

基于时频空间的非模型组合导航滤波方法

2019-08-29

计算机测量与控制 2019年8期
关键词:小波卡尔曼滤波修正

(武警工程大学 研究生大队,西安 710086)

0 引言

卫星导航系统和惯性导航系统由于在误差传播性能上能够实现互补,因此卫星与惯性导航系统的组合导航是当前应用最为广泛的组合导航系统[1-2]。传统的组合导航方法是采用现代控制理论的最优估计法将两个独立系统的导航参数融合并修正导航输出,主要是以卡尔曼滤波为模型框架的各类滤波算法[1-5],然而这些传统滤波算法存在建立数学模型困难以及计算量庞大影响导航实时性等问题。

卡尔曼滤波是导航领域最经典的滤波算法,但卡尔曼滤波必须要求系统模型线性化。扩展卡尔曼滤波则是对系统中非线性部分进行近似线性处理,但部分的非线性必然导致估计精度降低。而后出现的无迹卡尔曼滤波、粒子滤波等都在一定程度上提高了滤波算法的稳定性和计算效率,具有一定应用价值,但这些改进方法并不能达到减免模型误差的目的。

小波神经网络[6-10]是近年来的研究热点,是小波理论与人工神经网络相结合的产物,具备强大的数据分析与非线性映射功能。将小波神经网络应用于组合导航中已经有了一定研究,但只是作为一种辅助手段,文献[7]利用小波神经网络辅助建立卡尔曼滤波模型,文献[8]利用小波神经网络辅助解决组合导航系统对准问题,文献[9]利用小波分析理论进行降噪预处理而后再用传统的滤波算法,但都无法从根本上摆脱传统数学模型上的问题。

对此,提出一种基于非模型的滤波方法,利用小波神经网络的时频分析和非线性预测功能,通过建立小波神经网络,对组合导航系统的解算数据进行训练,可以预测并修正下一阶段的导航参数误差,摆脱了数学模型的桎梏,具备强大的非线性预测及容错能力,提高了导航系统的精度与时效性,能够很好的应用在组合导航中。

1 小波神经网络

人工神经网络[10]是基于生物神经系统研究而建立的数学模型,具有大规模并行处理和非线性预测识别的功能,有很强的容错性、联想和记忆能力,因此被广泛应用在各个领域。但是,神经网络存在其内部结构未知与收敛速度慢甚至不收敛的问题,各节点数未知,增加隐含层来增加神经元的方法能够提高预测精度,但是会增加训练时间,其学习算法的收敛速度与收敛结果存在随性型。

小波理论[11]是一门前沿的数学理论与方法,能够解决傅里叶变换中无视时域的问题。小波理论是针对信号在时间和空间频率上的局部信息进行分析,通过尺度、平移函数使得信号在多层次上细分,最终实现在高频处对时间细化,在低频处对频率细化,能够自动适应时频信号变化的要求,从而可聚焦到信号的任意细节,在处理信号抖动大的非线性问题上,具备很强的优势。

结合两者的优势,提出了小波神经网络。小波神经网络是根据小波理论所产生的一种多层次、多分辨率的人工神经网络模型算法,即用非线性小波基取代了通常的非线性Sigmoid函数,其信号表述是通过将所选取的小波基进行线性叠加来表现的,由于小波函数具有时域上的紧支性和频域上的带通性,用局部的小波取代传统神经网络全局的Sigmoid函数,因此小波神经网络具有小波分析在时频空间上的多分辨分层特点,同时具备神经网络强大的非线性拟合等功能。使得小波神经网络相对神经网络,其网络结构设计简单明了,有明确的理论依据,其强大的时频信号分析、非线性映射以及时间序列预测的功能,能够很好的应用于组合导航之中。

目前二者结合的方式主要有两种[6,11]:一是松散型,首先将信号进行小波分析处理,而后再输入到神经网络之中,将二者分开使用;二是紧致型,用小波理论的小波基函数取代神经网络隐含层的激活函数,这种结合方式能够兼备二者的优点。因此,无论从理论还是实际应用中,紧致型结合方式数据处理能力更强。主要环节如下。

图1 小波神经网络模

1.1 网络参数初始化

假设q(1,2,...,n)为输入信号样本的个数,输入层节点个数为I,隐含层节点个数为H,输出层节点数为M。

输入层和输出层节点数根据实际输入与输出决定,小波神经网络的隐含层节点数可按如下方法自适应确定:

首先取隐含层节点数为1,学习迭代若干次后,如满足误差条件,则停止迭代,若达到最大学习次数后仍不满足条件,则隐含层节点数增加1,重复上述过程,直到满足条件,这样就可根据具体问题自适应确定隐含层节点数。

1.2 建立小波基函数

在Hilbert向量空间中选取一个母小波函数φ(t),使其满足:

通过φ(t)的伸缩和平移变换产生小波函数基:

比较常用的小波基函数有Morlet函数、Haar函数和Daubechies函数等。

上式可以看出,小波变换相当于信号函数在小波基函数上的投影,或者是把信号与小波函数在尺度为a、位置为b处进行相关比较,变换描述了二者之间的相似程度。投影的大小反映了信号在该尺度上能量的大小。

建立小波神经网络激活函数,得到网络输出为:

其中:xi为第p个样本的输入值为;yk为第p个样本的网络输出值;zk为样本的输出目标值;w1ji为输入层与隐含层之间的连接权值;w2kj为隐含层与输出层之间的连接权值;伸缩因子为ai,平移因子为bi。

1.3 预测输出和误差

向已经初始化后的网络输入一个训练样本(Pk,Tk),k∈{1, 2, …,N},其中N为训练样本个数,Pk为网络输入信号,Tk为网络输出期望值,计算网络输出yk,根据:

计算预测误差。

1.4 学习算法

神经网络常用的学习算法为梯度下降法,这其中包括批量梯度下降法、随机梯度下降法和小批量下降法。批量下降法因为每更新一次参数就需要计算整个数据集,导致学习速度十分缓慢且无法在线更新。随机梯度下降法和小批量下降法不考虑本身存在的缺点,每次迭代都打乱了训练集的顺序,这与小波神经网络的时频分析功能是相违背的,不适合应用于小波神经网络中。

因此,小波神经网络一般采用改进的梯度下降法冲量算法。训练时,在权值和阈值的修正算法中加入动量项,利用前一步的修正值来平滑学习路径,避免陷入局部极小值,加快学习速度。

梯度下降法的权值修正过程为:

在梯度下降法的基础,引入动量因子α∈[0,1],则动量梯度下降法为:

wji(t+1)=wji(t)-η▽wji+αΔwji

bj(t+1)=bj(t)-η▽bj+αΔbj

aj(t+1)=aj(t)-η▽aj+αΔaj

2 滤波方法设计

在组合结构设计上,采用松耦合形式的位置、速度组合,以SINS为主导航系统,GPS为辅导航系统,利用GPS导航数据实时修正SINS导航参数。松组合方式具有结构简单、数据处理量小、提供冗余导航信息、能显著提高导航系统精度等优点。同时只针对位置、速度信息进行处理,能够在满足基本的导航定位需求的同时,通过牺牲信息量提高导航实时性。

在选取网络的输入时,采用间接滤波法,即使用组合导航系统各子系统导航参数的误差量作为预测对象。间接法采用导航系统中的误差量作为处理对象,相对于直接法的导航参数而言,数据相应的数量级是相近的,且变化速度要小得多,更方便于训练网络,且更适用于实际中加速度变化大的运动模型。

在利用网络的输出时,采用反馈校正法,即用网络输出的预测馈到惯导系统中,直接输入到惯导力学编排方程中去校正各导航参数。从本质上讲,反馈校正法和输出校正法是一样的,因为理想情况下,校正后的效果是一样的,但在实际中,利用反馈校正的系统方程式更能接近反映系统误差状态的真实动态过程。在一般情况下,输出校正要得到与反馈校正相同的估计精度,应该采用较为复杂的模型系统方程。

在网络的结构设计上,根据所需导航参数及其维数,采用两个并行小波神经网络,分别对位置、速度误差信息进行训练,且每个网络的输入层和输出层节点数都为3,对应数据的三个维度,这种神经网络特有的并行处理能力可以看出是对导航参数进行降维处理,从传统组合导航滤波算法的9维降低至3维。网络的隐含层通过自适应的不断更改节点数达到满足误差条件,该网络中选取隐含层节点数为6。小波基函数选取Morlet函数,表达式为:

ψ(x)=cos(1·75x)exp(-x2/2)。

训练算法采用改进的梯度下降法,即在权值和阈值的修正算法中加入动量项。

整体滤波设计如图2所示。

图2 方案结构设计图

在网络的训练阶段,首先对SINS和GPS实测导航数据进行解算,得到惯导系统和GPS的位置与速度信息作为训练样本集。以SINS与GPS导航参数的差值做为输入,以SINS输出位置速度信息的实际误差为期望输出,网络的真实输出作为SINS的预测误差,通过一定次数训练使得输出的均方误差最小。

在网络的预测阶段,将SINS与GPS导航参数的差值输入到已经训练好的小波神经网络,以网络的输出作为该时刻SINS的误差预测值,反馈到惯导系统力学方程中,修正系统导航参数。

3 仿真分析

仿真实验采用了一个九轴的IMU模块以及一个GPS接收模块,其中IMU模块的陀螺仪精度为0.05°/s,加速度计精度为0.01 g,GPS模块的定位精度为2.5 m,测速精度为0.1 m/s。将二者固定于同一个平台上,沿东西方向做速度为1 m/s最大距离为0.5 m的匀速往复运动,仿真时间为300s。解析实验获取的数据,采用前200s的数据作为训练样本按照设计方案对网络进行训练,将后100s的数据输入网络中预测该时间内的SINS参数误差,将误差反馈给SINS得到修正后的SINS导航参数,并与真实轨迹进行对比。为了验证该方法的优越性,进行了以卡尔曼滤波为组合导航滤波方法的参照实验。

图3和图4显示的是SINS原始导航误差和经过小波神经网络预测修正后的组合导航导航参数误差对比图,图5和图6显示的是SINS原始误差与采用卡尔曼滤波算法修正后的误差对比图,根据仿真结果可以看出,SINS由于自身特性导致定位和测速误差随时间不断积累,与真实轨迹偏差越来越大。而经过小波神经网络预测修正的误差与采用卡尔曼滤波组合导航修正后的误差随时间变化相对小得多,且误差量远远小于SINS误差。位置速度均方误差结果对比如表1所示。

图3 小波神经网络修正速度误差对比图

图4 小波神经网络修正位置误差对比图

图5 卡尔曼滤波修正速度误差对比图

图6 卡尔曼滤波修正位置误差对比图

东向速度/(m/s)北向速度/(m/s)天向速度/(m/s)东向距离/m北向距离/m高度/m仿真时间/sSINS原始数据3.78231.24160.851524.376454.235811.4335-小波神经网络修正后0.00910.00820.11801.25327.45043.071111卡尔曼滤波修正后1.52140.85400.01261.16527.61093.1192319

可见利用小波神经网络预测修正后的导航参数,其均方误差小于采用卡尔曼滤波修正后的导航参数,能够有效提高导航精度,在该实验中,其修正效果优于卡尔曼滤波的估计效果。

根据以上结果分析,得出以下结论:

1)在实际导航中,如同卡尔曼滤波的估计值,会将网络的预测值作为下一时段真实值重新训练。本次实验在同样已知真实轨道参数的基础上,做了卡尔曼滤波的参照实验,理论上由于小波神经网络避免了数学模型建立中引入新的误差,因而存在一定优越性,实验结果上证明了小波神经网络的预测效果是优于卡尔曼滤波的估计效果,那么可以认为在实际未知真实轨迹情况下,用预测值和估计值做为下一时段的真实值,用一个更优值采用更优方法去做预测其效果必然更优,因此在实际导航过程中,该方法能够有效提高组合导航的精度。

2)理论上小波神经网络只针对位置与速度信息进行预测,且采用多个并行小波神经网络,等同于对数据进行降维处理,大大降低了计算量,从实验仿真时间来看,小波神经网络确实能够提高导航的时效性。但是从仿真结果可以看到,到达仿真后部分修正的误差值明显有上升趋势,因此该方法必须定时更新数据样本,才能保证导航精度。仿真实验得到误差允许范围内预测的最大有效时间为3分钟,在真实导航中,必须每隔一个最大有效时间利用最新数据进行离线训练,由于离线训练时间不长,仿真结果显示5分钟的数据只需要11 s的训练时间,因此在训练时间内,可将GPS作为主导航系统,GPS输出的位置速度信息作为导航输出轨迹。综上,该方法能够在提高组合导航时效性的基础上保证全程导航。

4 结束语

本文针对传统的组合导航方法存在建立模型困难和数据维度大等问题,提出了一种利用小波神经网络,直接对解算后的位置速度误差信息进行非线性预测的方法,并采用多个并行网络对数据进行降维处理,摆脱了数学模型的桎梏,具备强大的非线性预测及容错能力。以卡尔曼滤波为参照进行仿真实验,结果表明,该方法能够有效提高组合导航系统的精度与实时性,为组合导航滤波提供一种新的可行路径。不足之处在于网络初始权阈值及小波尺度位移参数由于存在随机性,导致结果可能的随机性甚至不收敛,在下一步实验考虑采用思维进化理论加以优化。

猜你喜欢

小波卡尔曼滤波修正
我可以重置吗
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
修正这一天
构造Daubechies小波的一些注记
脉冲星方位误差估计的两步卡尔曼滤波算法
基于Haar小波的非线性随机Ito- Volterra积分方程的数值解
对微扰论波函数的非正交修正
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
Pro Tools音频剪辑及修正