首页 > 范文大全 > 正文

基于CMAC的卡尔曼滤波技术在组合导航系统中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于CMAC的卡尔曼滤波技术在组合导航系统中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:经典卡尔曼滤波器要求假设系统的动态模型和观测模型的噪声统计特性已知,而组合导航系统的噪声具有非先验性。为了解决这一问题,提出小脑模型神经网络(CMAC)辅助卡尔曼滤波器。仿真试验结果表明,该辅助算法的精度与经典卡尔曼滤波算法相比提高了2倍,收敛时间缩短近200 s,并有效地克服了传统神经网络学习速度慢,泛化能力弱的缺点,使系统具有自适应能力,以应付动态环境的扰动。

关键词:组合导航; 卡尔曼滤波; BP神经网络; 小脑模型神经网络

中图分类号:TN96-34文献标识码:A

文章编号:1004-373X(2010)21-0051-03

Application of CMAC-based Kalman Filtering Technology in Integrated Navigation System

ZHANG Yuan, YANG Bin, SUN Jiang-lei

(Department of Navigation, Benghu Navy Petty Officer Academy ofPLA, Benghu 233012, China)

Abstract: The conventional Kalman filter needs to assume that the statistical properties of the noise in dynamic model and observation system are exactly known, but the noise in integrated navigation system is uncertain. Soa new method that the cerebellar model articulation controller (CMAC) neural network assists Kalman filter is put forward to solve the problem. The simulation results indicate that the precision of CMAC is 2 times better and convergence time is 200 s less than those of Kalman filtering algorithm. Thus it can overcome the shortcomings of the conventional neural network, such as slow learning and poor generalization ability, and make the whole system has the adaptive capability to deal with the disturbance in dynamic situation.

Keywords: integrated navigation; Kalman filtering; BP neural network; CMAC neural network

0 引 言

卡尔曼滤波是目前组合导航系统常用的一种滤波算法,但经典卡尔曼滤波理论要求精确的系统数学模型和噪声统计特性,而组合导航系统实际上是一个复杂的动力系统,要给出其精确的数学模型以及系统噪声和测量噪声的统计特性都存在着困难。因此在实际应用中,为了给出较精确的系统描述,需要高阶的数学模型,这势必导致很大的计算量,为高阶卡尔曼滤波器的实现和算法的实时性带来了困难;如果采用简化系统模型的方法,虽减小了计算量,但同时也降低了系统精度[1-2]。

本文将小脑模型神经网络(CMAC)与卡尔曼滤波器相结合,提出小脑模型神经网络(CMAC)辅助卡尔曼滤波器进行最优估计的信息融合方法,并将算法应用于组合导航系统中。通过计算机仿真,检验了小脑模型神经网络(CMAC)辅助卡尔曼滤波的精度优于经典卡尔曼滤波算法和其他神经网络辅助卡尔曼滤波算法。

1 CMAC辅助卡尔曼滤波设计

1.1 CMAC网络模型[3]

CMAC是由Albus根据小脑在生物运动协调方面的重要作用而提出的一种小脑模型关节控制器,是一种表达复杂非线性函数的表格查询型自适应神经网络,该网络可通过学习算法改变表格的内容,具有信息分类存储的能力[4]。

CMAC的基本思想在于:在输入空间中给出一个状态,从存储单元中找到对应于该状态的地址,将这些存储单元中的内容通过求和得到CMAC 的输出;将此响应值与期望输出值进行比较,并根据学习算法修改这些已经激活的存储单元的内容。CMAC网络由输入层、中间层和输出层组成,如图1所示。

CMAC神经网络的设计主要包括输入空间的划分、输入层值输出层非线性映射的实现以及输出层权值学习算法。CMAC是前馈网络,输入/输出之间的非线性关系由两个基本映射实现。

图1 CMAC结构图

(1) 概念映射(uAC)

设输入空间向量为up=[u1p,u2p,…,unp]T,量化编码为[up],输入空间映射至AC中c个存储单元(c为二进制非零单元的数目)。Р捎檬(1)表示映射后的向量:

Rp=S([up])=[s1(up),s2(up),…,sc(up)]T

(1)

式中:sj([up])=1,j=1,2,…,c。

(2) 实际映射(ACAP)

网络的输出为AP中c个单元的权值之和。只考虑单输出:

y(t)=∑cj=1wjsj([up])

(2)

1.2 CMAC学习算法

CMAC 算法的基本思想是将学习数据存储在交叠的存储单元中,输出为相应激活单元数据的累加和,将实际值与期望输出值比较,并根据学习算法修改已激活的存储单元内容。其权值调整公式为:

wij=wi-1j+mCs(ys-ys)

(3)

ys=∑Nj=1Cswi-1j

(4)

式中:Иys为状态s的期望输出;ys为状态s的实际输出;滴学习常数;N为存储单元数;Cs为第j个存储单元是否被状态s激活的指示,当某个状态仅有m个存储单元被激活时,其Cs值为1,而其他存储单元的Cs值均为0。Ц盟惴ㄖ形蟛畋黄骄分配到所有被激活的存储单元,经多次迭代后,各存储单元由于学习历史不同,所以有不同的可信度。

为提高学习速度以满足系统要求,本文采用一种基于信度分配的cmac神经网络模型,其权值调整公式为:

wij=wi-1j+Cs[f(j)+1]-k0∑mj=1[f(j)+1]-k0(ys-∑Nj=1Cswi-1j)

(5)

式中:f(j)为第j个存储单元的学习次数;m为某状态激活的存储单元数;k0为一平衡学习数;wij为经过┑i次迭代后存储在第j个存储单元的权值。由式(5)可以看出,f(j)越大,其存储的知识越大;k0越大,对学习次数f(j)较大的存储单元,其权值改变较小,网络学习中“已经学习知识的保持”占主导地位;反之,当k0很小时,学习次数f(j)Ф孕哦确峙涞挠跋煲步闲,网络学习中“遗忘”占据主导地位[5-7]。

1.3 基于CMAC卡尔曼滤波设计

首先确定CMAC神经网络模型的输入与输出变量,将能直接影响卡尔曼滤波估计误差的参数作为神经网络的输入。这些信号可分为三部分[1,8]:

(1) 状态向量的预测或一步动态外推与滤波估计之差[k/k-1-k/k];

(2) 实际观测值与卡尔曼估计观测值之差[Zk-h(k/k,K)];

(3) 卡尔曼增益矩阵Kk。

CMAC神经网络模型的输出量为系统状态向量的卡尔曼估计与满足误差精度的相对真值的误差:

E=[k-k/k],其中,k为相对真值。

因此借鉴文献[1]中提出的基本思想,构造基于CMAC卡尔曼滤波器如图2所示。

图2 基于CMAC卡尔曼滤波器

2 仿真结果

本文着重讨论基于CMAC卡尔曼滤波算法的可行性,利用如下简化组合导航系统模型和图3的算法结构进行讨论,并分别与经典卡尔曼滤波算法和BP神经网络辅助卡尔曼滤波算法进行比较。

Xk+1=1h01Xk+Wk,

Yk=[1 0]Xk+Vk

(6)

状态变量X1为航迹距离,X2为航迹速度,取h=10。仿真参数设置如下[9]:k0=1.2,N=10, =0.05。а盗费本根据实验选取。基于CMAC卡尔曼滤波算法、经典卡尔曼滤波算法和BP神经网络辅助卡尔曼滤波算法的仿真都通过Matlab软件来完成。基于CMAC卡尔曼滤波算法的结构如图3所示,仿真结果如图4所示。

图3 基于CMAC卡尔曼滤波算法结构图

由仿真结果可知,图4(a)~图4(c)为标准卡尔曼滤波算法、BP神经网络辅助卡尔曼滤波算法和CMAC辅助卡尔曼滤波算法所得的位移估计误差值和速度估计误差值。从图4和表1中可以看出,CMAC辅助卡尔曼滤波算法的精度和收敛时间要比前面两种算法优越。

表1 三种算法结果比较

指标

项目

位移误差(ΔS)航速误差(ΔV)

KalmanAided BPAided CMACKalmanAided BPAided CMAC

收敛时间(T)820700610920810600

稳态时段方差(σ)0.030 90.018 50.010 10.031 50.025 30.012 2

图4 仿真结果

3 结 论

理论分析和仿真结果表明,本文提出的CMAC辅助卡尔曼滤波算法具有容错性能好,收敛速度快,泛化能力强的特点,比标准卡尔曼滤波算法更为优越。

参考文献

[1]白宇骏,徐晓苏,刘国燕.神经网络辅助卡尔曼滤波技术组合导航系统中的应用研究[J].中国惯性技术学报,2003,11(2):40-43.

[2]许丽佳,陈阳舟,崔平远.基于神经网络的组合导航系统状态估计[J].中国惯性技术学报,2004,12(2):40-46.

[3]刘金锟.智能控制[M].北京:电子工业出版社,2005.

[4]李士勇.模糊控制•神经控制和智能控制[M].哈尔滨:哈尔滨工业大学出版社,1998.

[5]SHUN F S, TED T, HUNG T H. Credit assigned CMAC and its application to online earning robust controllers[J].IEEE Trans. on Systams, Man and Cybernetics, 2003, 33(2): 202-213.

[6]LIN C S, CHIANG C T.Learning convergence of CMAC technique [J].LIEEE Trans.Neural Networks,1997,8(6):1281-1292.

[7]张伟,朱大奇,孔敏,等.基于改进的CMAC神经网络与PID并行控制的研究[J].计算机测量与控制,2005,13(12):1359-1360.

[8]CHIN L. Application of neural network in target tracking data fusion[J]. IEEE Trans. on Aerospace and Electronic Systems, 1994,30(1):281-287.

[9]朱大奇,张伟.基于平衡学习的CMAC神经网络非线性辨识算法[J].控制与决策,2004,19(12):1425-1428.