|
|
下班回家,该大战神牛了!
4 a5 F) w: r8 w0 l
5 d9 J r/ T E神牛质问到,为什么不用滤波把明显错误的AOA信号过滤掉,这是自控行当里经常被人问到的问题。1 [% |# w) u4 r/ g w
$ D" x6 X% d; O$ @在自控和信号处理里,有三样东西常被混为一谈:平滑、滤波和预估。这三样的区别在于时间点。对已经成为历史(already historized)的数据来说,滤除杂乱数据是平滑;对于当前数据来说,这就是滤波;对于未来数据来说,这才是预估。
4 X6 S" ^& ?) c* C" \1 l3 U8 s) H" P0 F, ?8 ]8 ?: S! W1 v9 e, }4 Q( q
回过头来看一段数据,要平滑不是很难,至少眼睛看看,“一眼”就能看出明显错误的数据,至少手工剔除是做得到的,如果自动的算法剔除还不能很可靠的话。真正的预估实际上是不可能的,事情还没有发生,怎么可能知道会如何发生呢?数学意义上的预估都是做了假定的,不光要假定系统的动态,还要假定白噪声或者某冲一直的结构化噪声,说白了,是用动态模型的外推,“前一段一直是如此这般,所以一切如旧的话,接下来就应该这般如此。”
% c0 @' Q. f( |3 R
1 v+ s n' p8 k3 d6 `3 U平滑一般用于建模时的数据处理,预估则像算命,your mileage may vary。真正有用的是滤波,最难的也是滤波。预估反正不可靠,事实上预估可堪称滤波的动态外推,最后还是回到滤波这里来。; y6 u- r/ D' [6 F" m! m
( R, q& \. D/ [1 n" k7 H; ^- S
滤波最大的难题是难以辨别当前的变化是噪声还是真实的变化。最常见的滤波是低通滤波,这好比以不变应万变。当然不是真的不便,而是大象屁股,要可劲推、一直推才转过去,这里桶一下、那里点一下,大像是不理你的。低通滤波的理论基础是真实信号都是缓慢变化的,急剧变化的一定是噪声。, S8 |' h+ K2 Z( I* ? S
! K& x! X1 ~, ]5 {$ t
在实现中,这个缓慢和急剧都是相对的,具体设计的时候就要找出缓慢和急剧之间的分界点,这差不多就是临界频率、截止频率那些东西了。比较糟糕的情况是缓慢和急剧的分界线不明显,那是简单的低通滤波就不好用了,要么放过很多坏人,要么错杀很多好人,谁叫他们穿的都是一样的衣服呢?另一个比方是穿上厚衣服,外面温度的快速变化就感觉不到,尽管冻一天或者热一天最后那温度还是会传到身体,只是延缓很多。
. M# Q! r; Q+ m+ @$ R4 L( m' L# M- T
MCAS不能用低通滤波。MCAS本来就是应急用的,被低通滤波缓冲一下,信号会严重滞后,完全违背初衷了。1 D7 F" w% t7 i; g6 I/ d' E
- n6 \9 q; X! C; p" ]; A# U! B1 ?% W
另一把办法是用gross error check,把变化太急剧或者幅值太大太小的信号看作不可能的情况,加以剔除。神牛说的就是这一类的。但这有一个问题:要确保阈值与可能的信号极值之间有安全距离。
- S8 i, o# o b/ q# n7 s
$ u; F8 N8 Y2 Y5 e11到74.5读迎角都是合理范围,尽管民航客机极少有达到74.5度AOA的情况。如果正常范围只有30度而把30度以上统统“砍头”的话,真的进入超大AOA时,飞行员都不知道到底超出30度多少,难以正常应对,这是不可以的。
* u5 ]9 [. z" _8 |4 Z8 W# X4 D+ s. ~
用速率滤波是另一个办法,即使在异常情况下,两秒钟里跳升60多度也是不可能的,但或许30度是可能的?假定30度是合理极限,速率滤波也只对毛刺型噪声有效,最好还要再短周期内回到正常位置,这样速率滤波做“砍头”处理,可以限制毛刺的影响。但要是像埃航302这样,跳升以后就定死在那里了,速率滤波只能延迟达到74.5度的时间。还是以30度为阈值的话,MCAS在4秒钟后还是要读到74.5度,还是要斯图卡。3 [; K- w+ D) s0 u! C; A
3 G, l/ S: J; V Y l! Z更加复杂的滤波是卡尔曼滤波,以动态模型和噪声模型为基础,加上实测矫正,可能“智能”地滤波,但这对动态模型和噪声模型的精确性又敏感起来,可能聪明反被聪明误。
9 {9 ^, q6 h0 t2 p
2 M( b8 k5 r3 P. d2 {' @' ~/ L所有的滤波都不可回避一个本质问题:从过去和当前的数据,没法可靠地确定当前读数中哪些是真实信号的贡献,哪些是不可测量的噪声的贡献,因为信号有两个来源,但只有一个读数,自由度不够。
0 K3 G* Y( X# E' S: m- t
) d& M9 V ^: c( ]9 d( }' [* M9 nMCAS为什么只用一侧AOA读数现在还没有最后定论,但两侧读数不一致的话,应该不许MCAS工作。问题是MCAS又不能不工作,因为两侧读数不一致的时候,读到的对错可能性各半,MCAS斯图卡和见死不救的可能性也各半。怎么办?5 S6 ^; {1 j) I% a7 U' H& L6 ?
# Y* E) q6 S7 {$ S: ]
飞行员重又接通电动配平一事,可能涉及操作员心理,在束手无策的时候,尤其是手动控制还是不管用的时候,有人会彻底不信任自控,有人会彻底不信任自己,我两种情况都见过。这已经是心理问题,而不是技术问题了。2 z! Z/ ^7 w+ \& d8 j* `& G
`+ D' D& a: D( J0 T; C# W' P n
也有说法手轮即使及早开始使用,依然转不过来。本来是用为微调的,现在用来纠正大幅度错误,动作太慢。所以重新接通电动配平,死马当活马医。到底是不是这么回事,要看CVR里对话了,估计飞行员已经手忙脚乱,来不及汇报思想了,所以我们只能猜。 |
评分
-
查看全部评分
|