摘要:扩展卡尔曼滤波已被广泛地应用到工程实际等各领域,但是此算法因假设过程噪声固定而带来误差,精度不高。研究了一种改进的EKF算法,主要通过假设过程噪声由滤波结果和观测结果得到,再用差分进化算法对所得到的过程噪声方差进行最优化选择来提高滤波精度……
结果表明,改进的扩展卡尔曼滤波算法减小了状态估计偏差,获得了比较理想的滤波效果……
“嘶——”
“我有点后悔拆开这封信了……”
常浩南揉了揉有些发胀的太阳穴,把信纸放在桌上,起身离开卧室。
他准备去泡一杯浓茶。
今天晚上的休息恐怕又要泡汤了。
……
几小时后。
常浩南看着已经被自己用红蓝铅笔做满标记的信纸,以及旁边写的满满当当的笔记本,喝掉了保温杯中最后一口苦得发涩的茶水。
只能说徐洋不愧是UCB归国的博士,又亲自参与了差分进化算法的开发过程。
就对方表现出来的这个能力水平,说她有个跟自己同款的系统似乎也不是特别夸张。
举一反三的能力相当强悍。
这封信的内容说起来并不算复杂:
徐洋在看过常浩南对差分进化算法的改进之后,提出了一个新的思路,想要就这个思路跟后者探讨一下可行性以及应用前景。
简单来说,滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施,对于一切需要发射电磁信号的行为而言,几乎都是一个必不可少的过程。
实际上,高中数学学过的最小二乘法就是一种经典的滤波方法,但是由于只考虑了测量和状态之间的关系,这种方法的稳定性不好。
后来,针对噪声服从高斯分布的线性系统诞生了卡尔曼滤波法,由于其高效性和准确性,很快成为了工程中应用最广泛的滤波方法之一。
但因为最开始的卡尔曼滤波法只适用于线性系统,因此后来又有很多人在此基础上进行了一定扩展,以使这种广受好评的滤波算法也可以用于非线性系统中。
其中最典型的一种便是扩展卡尔曼滤波算法(EKF),也就是先用泰勒级数将系统方程展开,忽略二阶以及二阶以上的高阶项,此时非线性系统已接近线性形式,再利用标准卡尔曼滤波算法对系统的状态进行估计。
显然,EKF算法的计算量并不大,实现起来也并不困难,但EKF对强非线性系统容易产生严重的震荡,甚至是发散。
到了90年代中期这会,工程界已经基本看到了EKF算法的极限,开始琢磨对EKF算法进行改进,或者创造一种新的卡尔曼滤波算法出来。
而徐洋提出的这种新算法则是在滤波之前先使用一种经过改进的差分进化算法对过程噪声的方差进行选择,大大减小了状态估计偏差,可以凭借略大于传统EKF算法的计算量达到远远超出EKF算法的精度。
作为一个航空工程师,常浩南此前对于滤波算法的认识仅限于应用层面,对于基础原理了解并不算深刻,但如果只看通过差分进化算法对过程噪声进行择优的过程,应该是没问题的。
抬起头看了看已经泛起鱼肚白的地平线,刚刚被浓茶压制的倦意终于涌了上来。
常浩南决定休息一会之后去找几本书完整地研究一下再做答复。
一方面,对涡喷14压气机叶片外形设计的优化工作刚刚开始,这个阶段的大部分工作是由606所的工程师完成的。况且因为系统的存在,常浩南写出的代码只要思路正确,就不需要debug,这项羡煞无数程序员的能力决定了他耗时最多的部分并不是编程,而是等待计算结果,所以有足够的时间去做这件事。
另一方面,徐洋拿出来的这个算法虽然对眼下的发动机改进没什么作用,但却是精确制导武器捷联导引头、雷达数据链、导弹惯导系统解算等一系列技术的基础,这些都与常浩南之前对进度比较悲观的仿制A弹——霹雳11半主动雷达制导空空导弹密切相关。
有机无弹,一样无法形成战斗力。
如果真能实现,对于解决困扰其许久的靶试精度不足问题或许会有很大帮助。
简直是瞌睡来了送枕头。
“或许八三工程的武器系统也能在今年以内看到希望……”
这是常浩南在入睡之前的最后一个念头。
……
第二天早上,常浩南洗漱之后便离开宿舍,准备直奔图书馆,借上一些资料之后继续研究徐洋提出的那个思路。
尤其是后半段与卡尔曼滤波有关的部分。
但满怀着期待在出门的时候正好遇到了同样刚刚打开房间门的姚梦娜。
二人对视了一眼。
“常组长怎么也出门这么晚啊?不用提前去准备会议材料么?”
姚梦娜把门锁好,语气中带着几分调笑的意味。
听到这句话之后的常浩南愣了一下,然后重重地拍了一下自己的额头。
管理者的身份是需要适应的,当了几十年螺丝钉的他在这方面本来就经验不足,再加上看了一晚上信件导致脑子里全都是算法相关的东西,导致他差点就忘了今天早上开会的事情。
这个会甚至还是昨晚上他自己提出要开的。
好在今天出门的时候被姚梦娜提醒了一下,加上整个任务分配流程都在常浩南的脑子里,所以还不至于耽误大事。