特大喜讯!我终于可以说我是个搞研究的了!
经过数月的等待,我的第一篇论文 "A Constant-Gain Equation-Error Framework for Airliner Aerodynamic Monitoring Using QAR Data" 终于上线了!发表在IEEE Transactions on Intelligent Transportation Systems上,欢迎大家改进和引用!
Wen R, Dai Y, Wang H. A Constant-Gain Equation-Error Framework for Airliner Aerodynamic Monitoring Using QAR Data[J]. IEEE Transactions on Intelligent Transportation Systems, 2026.
@article{CG-EEM,
Author = {Wen, Ruiying and Dai, Yuntao and Wang, Hongyong},
Title = {A Constant-Gain Equation-Error Framework for Airliner Aerodynamic
Monitoring Using QAR Data},
Journal = {IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS},
Year = {2026},
Month = {2026 APR 17},
DOI = {10.1109/TITS.2026.3651385},
EarlyAccessDate = {APR 2026},
ISSN = {1524-9050},
EISSN = {1558-0016},
Unique-ID = {WOS:001743239100001},
}这项研究的核心,是我提出了一种用于系统辨识的新方法,恒定增益方程误差法,CG-EEM (Constant-Gain Equation-Error Method),你可以直接在这里看到全文(如果你感兴趣的话)。
好,你要是真感兴趣,那我展开讲讲它干了什么。
以免你不知道什么是系统辨识
我们小学二年级就学过方程(这应该是真学过),我在这里写个简单的速度与加速度的方程(这不是小学二年级水平了,大概高一了吧)
其中,
好,我现在告诉你,它就是一个系统,系统就是一组方程表示的。显然可以注意到,我们不知道
怎么猜呢?我们知道距离
猜得有道理一些
刚才说到,系统辨识一般是在猜参数。
首先啊,上面的例子不太严谨,如果上面例子是匀加速直线运动那就严谨了。一般来说要猜的参数,应该是不怎么变的(方便算法收敛,不然你怎么知道是本来就该乱跑,还是算法不行搞得结果乱跑)。所以这就对模型有要求,就拿上面运动的例子来说,你当然可以建模成
刚才的匀加速直线运动有点太理想化了,飞机可不是匀加速直线运动,通常这个
加上一个
这基本上才是比较复杂的一个动力系统,这里说一下表示法,
看看我们手里有什么:能测出来的速度
我们来手算一下(就欧拉积分吧,反正它不是积分方法能救的):
第一步:
第二步:
第
不难发现,
再看每一步,很容易能想明白,这个
那我不积分呢?直接测
你若是稍对飞行器的动力学方程有所了解,那你很快能想到EEM的另一个优点,那就是不用积分。为什么这特别重要呢?深入一点,我们可以知道飞机的受力一般建模成
主要问题在哪呢,力矩。力矩一般建模成
所以EEM的另一个优势是,不用积分
好处说完了,坏处呢?
那就是另一个老生常谈的问题了,噪声。传感器有自己的测不准原理(那显然不是量子力学那个),你想让它准的时候就是不准,你觉得它不准的时候它就是准的。
噪声高高低低,但是一长串加起来就互相抵消了,也就是说,OEM积分那么多步,最后噪声误差反而消掉了(即使误差还是不可避免地累积)。但是EEM呢?显然它就会跟着噪声跑,这一步上它就跟着上,这一步下它就跟着下。那显然我们要让它冷静一点,也就是不要上上下下的,保持住最好,也就是恒定增益Constant Gain的来历之一。
另一个问题是什么呢?我们光有评估误差的方法,怎么猜
如果了解最小二乘法,那你应该知道,为了让数据能拟合出来,最好这些点散得开一点(也就是多点变化),以让它每一次的迭代有更多的参考。但,飞机,可是不能在天上五花八门地飞,那最小二乘法恰恰就没有那么多参考,也就是激励不足。所以很有可能它很快收敛(估计值不变),但是收敛得不一定对。
那我看得远点呢?这样不就有可能有更多的变化了?它陷入当下的窘境是因为光看现在的变化了,那我让它记一记以前的数据呢?也就是加个遗忘因子Forget Factor,每一步都要跟之前联系起来,这样一来就变成了带遗忘因子的递推最小二乘法FF-RLS。但这就导致噪声同样被记录下来,尤其是因为这个遗忘因子窗口有限,根本没办法让噪声高高低低抵消掉。
到这里,你都知道要干什么了。既要让算法能适应变化,又要让算法不要那么跟随变化,前者不就是EEM吗?后者不就是更长的记忆窗口吗?
哦!呼之欲出!
对,就特别简单,EEM不是跟着跑吗,我就让它有自己的步子!RLS不是激励不足吗,我就手动推着它跑!这共同指向了一个地方,那就是,增益稳定,多稳定算稳定呢?就是常值,那最稳定了,这就是恒定增益Constant Gain。再缝到EEM上,不就是CG-EEM了吗?
也就是说,我们有残差
然后呢,为了猜这个
稍微学习过自动控制原理的同学马上发现了,这就是最简单的常矩阵反馈控制啊!参数辨识原来就是个控制问题?还真是,可以理解为参数辨识就是个控制问题,系统是辨识算法,控制目标是让残差变小(但是我透露一下,我后续的文章可能要对此提出挑战,残差变小不一定是唯一的控制目标)。
还感兴趣?那读读文章吧
这个过程,其实就是我探索的过程,我目标本来是搞气动参数辨识,最开始用UKF这一类OEM方法,后来用RLS,发现都有问题(尤其是UKF,我看大家写文章闭口不谈它特别容易崩掉,就是Cholesky分解要求正定矩阵,但是现实算出来的往往非正定,这问题折磨了我好久,最后什么结果我不言自明)。所以当我偶然把那个步间增益删掉的时候,发现跑出来了特别好的结果,我一晚上没睡把这篇文章就写出来了。
我主要在这里记录方法的思想,详细数学公式什么的看文章吧,肯定比在我博客上看舒服。
这篇文章算是我在学术界正式留下的第一个脚印。然后,可能读博之前还有几篇文章吧,等发出来我再讲。希望我能申请到一个研究几何的课题组,到时候深度数学不要让我掉光头发就行。
感谢大家看到这里,如果你对系统辨识或者飞行力学感兴趣,欢迎随时留言交流!咱们下篇文章见!
