APP下载

基于UPF的WNN学习算法及其应用

2019-08-27魏燕明甘旭升杨国洲

火力与指挥控制 2019年7期
关键词:运算量气动力滤波

魏燕明,甘旭升,张 铁,杨国洲,席 新

(1.西京学院,西安710123;2.空军工程大学空管领航学院,西安710051;3.北方联创通信有限公司,南昌330000)

0 引言

小波网络(Wavelet Neural Network,WNN)是一种有别于传统神经网络的学习方法,其由小波变换推导而来,学习能力强,收敛速度快,也适用于传统神经网络应用的所有领域。

发挥WNN潜在性能,选择合适学习算法至关重要,这也是当前该领域研究的热点。除了传统的BP学习算法外[1],粒子滤波(Particle Filter,PF)算法也可用于WNN学习。PF是一种基于Bayes理论的非线性递归估计方法,适用于状态空间模型描述的非高斯背景的任意非线性系统[2]。但其性能的好坏依赖于所选择的重要性密度函数(Importance Density Function,IDF),研究表明,采用无迹Kalman滤波(Unscented Kalman Filter,UKF)生成IDF,滤波效果更好,但其运算量偏大[3]。而降低UKF运算量的最佳途径,是在确保估计精度前提下,在无迹变换(Unscented transforma-tion,UT)中,选取适当采样策略减少点个数[4]。

基于以上分析,在采用UKF算法产生PF算法的重要性函数过程中,引入一种改进的Sigma点采样策略,以期减少运算量,有效地提高WNN的学习效率。并通过某型军用飞机的气动力建模算例进行了验证。

1 无迹卡尔曼滤波(UKF)

UKF就是UT在Kalman滤波中的应用。UT是UKF的核心。UT是一种计算非线性变换中的随机变量的统计特征的新方法。它用固定数量的参数去近似一个高斯分布,而省去了繁琐的雅可比与海森矩阵的计算过程。数值分析表明,UT中选取Sigma点个数的多少,对UKF的估计精度和计算量有很大影响。选取的Sigma点个数越多,UKF估计就越准确,相应的计算量也会越大。文献[5]研究指出,在UT选取Sigma点个数过程中引入最小偏度(Minimal Skew)概念,即SUT,能够以牺牲较小精度前提下,显著改善计算效率。其点采样步骤如下:

2)选取Sigma点权值

3)初始化序列

5)将均值和方差信息与Sigma点集成

根据以上过程可知,基于SUT的UKF,即SUKF。其整个计算过程无需了解非线性函数细节,其对均值和协方差的估计精度与基于UT的UKF大体相当,且计算量明显减少。

2 SUPF算法

PF是在Monte Carlo法基础上发展起来的一种Bayes滤波[6]。它使用状态空间中若干加权随机粒子来逼近系统状态的后验概率密度函数(Posterior Density Function,PDF),对非高斯系统状态与参数估计具有较大优势。PF算法的关键是IDF的选取。

PF的IDF越逼近PDF,精度越逼近最优,估计值也越稳定,但如何获取合适的IDF是一个亟待解决的难题。标准PF主要采用状态转移概率密度函数进行重要性采样,粒子严重依赖状态转移模型的选取。若模型选取不准,可能导致非常大的采样偏差。为此,需要探索更接近于PDF的IDF。文献[7]提出通过EKF算法计算IDF的PF算法,即EPF算法,其可逼近于一阶Taylor级数;文献[8]在PF中采用UKF算法选取IDF,即UPF算法,滤波精度更高,状态均值和方差可近似到三阶,但其需要UT,计算量偏大。由前述可知,SUKF算法是UKF算法的改进,两者精度大体相当,但前者运算量却显著降低,因此,采用SUKF算法产生重要性密度函数(SUPF算法),理论上可取得与UKF算法相近的PF性能,并明显改善计算效率。基于此,可有SUPF算法流程:

②计算粒子权值

③粒子权值归一化

4)输出结果

5)k=k+1,并转到步骤2)。

3 基于SUPF的WNN学习算法

4 仿真分析

4.1 非线性系统辨识

设给定的SISO非线性系统为:

图1 SUPF-WNN实现流程

使用7种算法进行WNN学习的20次平均训练时间和测试平方根误差(MSE)对比如下页表1所示。当粒子数目N分别取50,100,150,200,250时,4种PF算法的WNN测试MSE和训练时间对比如图2和图3所示。图4给出SUPF算法的WNN训练收敛曲线。

从仿真结果可看出:相对于传统BP算法,其余6种算法都提升了WNN性能,说明使用滤波估计技术确实能够有效降低系统引起的偏差。由于线性化过程中引入了模型误差,基于EKF算法的WNN性能并不如UKF算法,这与UT改进EKF的理论分析结论相一致。而使用UPF算法进行WNN学习,较之SPF与EPU算法效果更好,其主要原因有两个:其一,UPF算法能够充分利用最新观测到的信息;其二,它利用UKF算法选取IDF,更逼近于PDF,可精确到Taylor级数的三阶。需要指出的是,UPF算法的计算量与UT变换的Sigma点个数成正比,这使得UPF-WNN需要更多的学习时间。而SUPF-WNN的测试精度与UPF-WNN相当,但后者是在较少Sigma点情况下获得的,学习时间明显减少。主要原因是,SUPF在利用传统UKF产生IDF时,由SUT替代了对称分布Sigma点的UT,在继承UKF良好性能的同时,很大程度降低了计算量。

表1 基于各学习算法的WNN性能对比

图2 粒子数目对WNN测试性能的影响

图3 粒子数目对WNN训练时间的影响

图4 基于SUPF-WNN算法的WNN训练收敛曲线

4.2 飞行器气动力建模

为深入验证SUPF-WNN的性能及其实用性,将其引入某型军用飞机的气动力建模实验,分为横侧向建模和纵向建模两方面的测试。飞行实测数据来源于空中飞行模拟机ATTAS的副翼、方向舵和升降舵输入激励产生的两个机动动作[10]。在实验中,隐层节点取为15,其他参数设置同4.1,为消除量纲的影响,建模前先对飞行数据作标准化处理,部分变量解释如图5所示。

ATTAS的横侧向气动力模型可表示为

式中,β为侧滑角,p为倾斜角速率,r为偏航角速率,δa为副翼偏转角,δr为方向舵偏转角,部分变量解释如图5。而CY、Cn和Cl分别为侧力系数、偏航力矩系数和滚转力矩系数,可根据文献[14]提供的方法计算得出。

ATTAS的纵向气动力模型可表示为

式中,α为攻角,q为俯仰角速率,V为真速,δe为升降舵偏转角。而CD、CL和Cm分别为阻力系数、升力系数和俯仰力矩系数,可根据文献[11]提供的方法计算得出。

图5 部分变量的符号解释

表2 气动力建模的仿真结果对比

从表2和图6的实验结果可得出与4.1大致相同的结论,基于SUPF学习算法的WNN,在测试MSE方面明显优于SPF-WNN和EPF-WNN,与UPF-WNN大体相当,但训练时间(T,单位:s)方面要优于UPF-WNN。这再次验证了采用新Sigma点采样策略的UKF来选取IDF,不仅能够保持UPF算法在WNN学习中的优良性能,而且减少了计算量,缩短了学习时间,从而为解决飞行器的气动力WNN建模问题提供了方法与技术上的支持。

图6 横侧向气动模型预测结果

5 结论

为改善WNN训练效率,对其状态空间模型引入一种改进UKF的PF学习算法。首先,将基于最小偏度Sigma点采样策略的UT用于改进UKF算法,以代替传统计算量较大的对称分布Sigma点采样的UT,然后,采用改进UKF算法选取PF算法的重要性密度函数,进而对WNN参数进行最优估计,完成WNN训练。仿真结果表明,该PF学习算法可较好地提高WNN的性能,缩短模型训练时间,提高建模效率。同时,也为复杂系统的建模预测提供了一种可靠的解决方法。

猜你喜欢

运算量气动力滤波
基于卷积神经网络气动力降阶模型的翼型优化方法*
基于分层模型的非定常气动力建模研究
飞行载荷外部气动力的二次规划等效映射方法
基于XML的飞行仿真气动力模型存储格式
一种考虑GPS信号中断的导航滤波算法
用平面几何知识解平面解析几何题
高效LCL滤波电路的分析与设计
减少运算量的途径
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
让抛物线动起来吧,为运算量“瘦身”