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