1、第 44 卷第 2 期2 0 2 3 年 2 月兵工学报ACTA AMAMENTAIIVol 44 No 2Feb2023DOI:10 12382/bgxb 2022 0110BP 神经网络结合粒子群优化卡尔曼滤波的MEMS 陀螺随机误差补偿方法万芯炜,王晶,杨辉,李毅,张远再,王路(西南技术物理研究所,四川 成都 610041)摘要:针对微机电系统(MEMS)陀螺仪随机误差相对较大、影响其精度这一问题,提出一种基于 BP 神经网络结合具有量子行为的粒子群优化(QPSO)算法优化卡尔曼滤波(KF)的补偿方法。采集 MEMS 陀螺和转台数据作为样本,采用 BP 神经网络进行训练,建立误差模型;利
2、用训练好的模型对 MEMS 陀螺进行误差补偿;利用 QPSO 算法优化 KF,以达到更好的降噪效果。实验结果表明,该方法较 BP 神经网络优化 KF、QPSO 优化 KF 与变分模态分解结合小波阈值去噪等方法去噪处理后的平均绝对误差(MAE)和均方误差(MSE)更小,具有更好的降噪效果。关键词:MEMS 陀螺;BP 神经网络;量子粒子群优化;卡尔曼滤波中图分类号:V241.5文献标志码:A文章编号:1000-1093(2023)02-0556-10A andom Error Compensation Method of MEMS Gyroscope Based onBP Neural Netw
3、ork Combined with PSO-Optimized Kalman FilterWAN Xinwei,WANG Jing,YANG Hui,LI Yi,ZHANG Yuanzai,WANG Lu(Southwest Institute of Technical Physics,Chengdu 610041,Sichuan,China)Abstract:To deal with the large random error of the micro-electro-mechanical-system(MEMS)gyroscope that affects its accuracy,an
4、 error compensation method based on BP neural network combinedwith Quantum-behaved Particle Swarm Optimization(QPSO)-optimized Kalman Filter(KF)is proposedFirst,the MEMS gyroscope and turntable data are collected as samples,and the BP neural network isemployed for training to establish the error mod
5、el;then the error of the MEMS gyroscope is compensatedby the model;finally,the QPSO algorithm is used to optimize KF to achieve better noise reduction effectThe experimental results show that compared with other methods like BP-KF,QPSO-KF and VMD-WTD,this method has better denoising effect,and the M
6、AE and MSE values of the denoised data are smallerKeywords:micro-electro-mechanical-system gyroscope;BP neural network;quantum-behaved particleswarm optimization;Kalman filter收稿日期:2022-01-200引言导引头的稳定平台中,速率陀螺输出的角速率信号对于导引头视线角速度的解算至关重要。常见的速率陀螺主要有挠性陀螺、激光陀螺、光纤陀螺和微机电系统(MEMS)陀螺仪等。MEMS 陀螺仪相比第 2 期BP 神经网络结合粒子
7、群优化卡尔曼滤波的 MEMS 陀螺随机误差补偿方法于传统的陀螺仪具有质量轻、体积小、价格低、功耗低、启动快、可靠性强、环境适应性强、易于集成等诸多优良特性,在低精度、低成本惯性系统中获得了越来越广泛的应用,同时也迎合了武器系统向低成本、小型化、便携化发展的趋势1。但是由于制造工艺、材料和封装技术等的限制,MEMS 陀螺存在误差相对较大的问题。MEMS 陀螺仪的误差按其特性分为确定误差和随机误差两项:确定性误差属于系统误差,可以通过标定实验去除;随机误差又称为不确定性误差,表现为弱非线性、非平稳和慢时变,没有明确的规律且易受外部环境影响2 3。因此,减小 MEMS 陀螺仪随机误差,对MEMS 陀
8、螺精度的提高至关重要。受限于当前的材料以及加工工艺水平,通过改进加工工艺或使用新材料来减小 MEMS 陀螺误差十分困难。因而现有的减小 MEMS 陀螺误差的方法主要是进行滤波补偿,主要分为两类:一是不需要构建误差模型的补偿方法,主要有数字滤波、小波阈值降噪和经验模态分解等;二是先建立误差模型,再对该模型进行滤波补偿,误差建模常用的方法有 Allan 方差法、时间序列分析法和人工神经网络等4。文献 5 提出了 BP 神经网络辅助卡尔曼滤波对陀螺仪数据进行降噪处理的方法,结果表明 BP-卡尔曼滤波比卡尔曼滤波效果好。文献 6 提出将MEMS 陀螺的输出和转台的实际转速作为样本,建立基于 BP 神经
9、网络的补偿模型,在低转速区间上,神经网络的补偿效果比传统方法更好。国外学者Bhatt 等7 提出基于增强型支持向量机建立 MEMS单元的误差模型,陀螺仪的噪声标准偏差降低了10%35%。Dragomiretskiy 等8提出了变分模态分解(VMD)理论。文献 9提出了基于 VMD 结合小波阈值的 MEMS 陀螺去噪方法,对于静态信号和动态信号,该方法的均方误差降低了 10.1%和 16.9%。上述方法中,文献 5表明 BP 神经网络优化卡尔曼滤波参数的方法,在建模不精确的情况下也能有效提高陀螺仪的精度,但 BP 神经网络优 化 参 数 存 在 局 部 最 优 的 问 题 且 不 够 简便10
10、11。文献 6 表明基于 BP 神经网络建立的补偿模型,能够对 MEMS 陀螺的输出进行有效补偿,但仅在低转速区间 效 果 较 传 统 方 法 更 优。文献 7 单一的增强型支持向量机方法,算法简单易实现,但去噪效果有待提升,需要改进以达到更好的去噪效果。文献 9 VMD结合小波阈值的方法较为复杂,对分解层数以及阈值等各项参数的选择会影响去噪效果且方法的计算时间受模态分解速度的影响。因此,本文提出利用 BP 神经网络来建立 MEMS陀螺的误差模型,对 MEMS 陀螺的输出进行有效补偿。同时利用 QPSO 算法对卡尔曼滤波参数进行优化,解决 BP 神经网络存在的局部最优问题。通过基于 BP 神经
11、网络建立的误差模型进行补偿之后,再利用优化的卡尔曼滤波进行滤波,以达到更好的去噪效果。1系统建模和滤波方法1.1BP 神经网络BP 神经网络是一种多层前馈神经网络。如图1 所示,BP 神经网络结构由输入层、隐含层和输出层三部分组成,其中隐含层可以是1 层或者多层 12。图 1BP 神经网络结构图Fig 1Diagram of BP neural network structureBP 神经网络算法的核心为误差的反向传播过程,通过采用梯度下降的方式达到调整隐含层的权重和阈值目的,使网络输出值逼近期望值,直到输出误差达到限定的水平,或达到设定的学习步数,完成网络的训练。误差函数公式如下:e=12q
12、o=1(do0(k)yo0(k)2(1)式中:e 为输出误差;o 代表当前为第 o 个神经元;q 为神经元总数;do0(k)为期望输出,k 表示层数;yo0(k)为实际输出。BP 神经网络具有自适应强、泛化能力好、非线性映射能力强的优点。由于 MEMS 陀螺的随机误差往往表现为慢时变、弱非线性,传统的时间序列分析方法需要对陀螺755兵工学报第 44 卷的数据进行预处理13。而 BP 神经网络具有非线性映射能力强的优点,理论上能够逼近任意的非线性函数,无需对数据进行预处理。除此之外,BP 神经网络还具有自适应性强、学习能力强的优点,已有很多国内外学者基于 BP 神经网络对 MEMS 陀螺的随机漂
13、移误差进行建模14。基于上述分析,本文提出采用 BP 神经网络,利用 BP 神经网络强大的映射能力建立 MEMS 陀螺的误差模型,对 MEMS 陀螺输出进行补偿。1.2基于平均最优位置的 QPSO2004 年,孙俊从量子力学的角度出发,提出了具有量子行为的粒子群优化 QPSO15 算法。在 QP-SO 算法中引入了量子力学中的不确定原理,认为粒子具有量子的行为,粒子的更新是通过观测得到新的个体,使得粒子的更新与该粒子之前的运动没有任何关系,增加了粒子位置的随机性。QPSO 算法中,粒子的位置迭代公式如下:xid(t+1)=Lai|Lai xid(t)|(ln1)u(2)式中:xid(t+1)为
14、第 d 维度的第 i 个粒子 t+1 时刻的位置;Lai为局部吸引因子,由个体最优位置和全局最优位置共同决定;为压缩扩张系数,用来控制算法的收敛速度;u 为 0 1 之间的随机数。Lai与 的表达式如下:Lai=c1 pid+c2(1 )gdc1+c2(3)=(w2 w1)itermax titermax+w1(4)式中:为 0 1 之间的随机数;pid为第 d 维度的第 i 个粒子的个体最优位置;gd为第 d 维粒子的全局最优位置;w1、w2和 c1、c2为权值;itermax为最大迭代次数;t 为当前迭代次数。对于上述 QPSO,在迭代末期,群体多样性会急剧恶化,个体容易陷入局部最优,故引
15、入了平均最优位置 mbest,即所有粒子个体最优位置的平均,其表达式如下:mbest(t)=1nni=1pi(t)(5)式中:mbest(t)为粒子 t 时刻的个体平均最优位置;n 为粒子数;pi(t)为第 i 个粒子 t 时刻的个体最优位置。这样,基于平均最优位置的 QPSO 算法的粒子位置迭代公式如下:xid(t+1)=Lai|mbestd(t)xid(t)|(ln1)u(6)2卡尔曼滤波卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法,不需要存储历史数据16。系统的状态方程和量测方程分别为xk=Axk 1+Buk+wk(7)zk=Hxk 1+v
16、k(8)式中:xk为状态量;uk为输入量;wk为均值为 0、方差为 Q 的系统噪声;zk为观测量;vk为均值为 0、方差为 的量测噪声;A、B、H 为已知的系统结构参数17。卡尔曼滤波方程如下:xk,k 1=Axk 1+BukPk,k 1=APk 1AT+QKk=Pk,k 1HTHPk,k 1HT+xk,k=xk,k 1+Kk(zk Hxk,k 1)Pk,k=(I KkH)Pk,k1(9)式中:Pk,k 1为一步预测均方误差矩阵;Pk,k为状态估计误差矩阵;Kk为系统增益矩阵;I 为单位矩阵。卡尔曼滤波便于计算机编程实现,并能够对实时数据进行更新和处理,目前已成为 MEMS 陀螺降噪常用的方法18。通过分析卡尔曼滤波方程,当系统噪声过大时会导致系统增益减小,使得新息对最优估计的占比减小并使得估计误差矩阵变大,最终引起滤波精度下降甚至发散。因此通过调节 Q,可以在系统状态转移矩阵 A 不准确时,依旧使系统达到稳定4。同理,对 值进行合理调整,也能提高卡尔曼滤波的精度。一般而言,卡尔曼滤波的噪声方差难以准确获得,这是因为 MEMS 陀螺随机漂移往往呈现弱非线性、非平稳和慢时变的特点,无法准