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