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