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