## 2 Flight Altitude Feature Extraction Method
### PV Difference De-Redundancy Method  
Due to the sliding window width in trend filtering being limited by the length of time of the maneuvering actions, after trend filtering, the data may fluctuate in a short time with smooth amplitude; very small noise of PV has been filtered out, but there are some pitch movements with small amplitude that have not been filtered out, so we cannot directly obtain the FCDF from the data after trend filtering. A PV difference de-redundancy algorithm is designed in this section for further processing of the altitude data to filter out small amplitude fluctuations (Figure 2).  
Firstly, the signal \(\hat{X}\) from trend filtering is compressed at equal intervals \(\Delta n\), with \(\Delta n\) representing the fewest or a small number of sampling points for aircraft in a climb-descent process rather than in a rapid action. We can set it based on the big training data from one model of aircraft with the same engine model. A compressed sequence \(\widehat{X}\) will be drawn out from \(\widehat{X}\) at equal intervals, and we express it as:  
\[\widehat{X}=\Big{\{}\widetilde{x}_{1},\widetilde{x}_{2},\widetilde{x}_{3}, \cdots,\widetilde{x}_{i},\cdots,\widetilde{x}_{\lfloor n_{hp}/\Delta n\rfloor} \Big{\}},\ \widetilde{x}_{i}=\hat{x}_{i\Delta n-\Delta n+1}=\hat{x}(i\Delta n-\Delta n+1), \tag{3}\]  
The data compression operation is equivalent to another lowpass filtering, which filters the components above frequency \(f_{s}/\Delta n\) out \(\widehat{X}\), so that some rapidly changing altitude training actions will be removed, such as hovering with a small radius and rapid rolling.  
Extract the polar values of the compressed signal \(\widetilde{X}\) to obtain the following sets \(\widetilde{X}_{p}\) and \(\widetilde{X}_{v}\); both subscripts \"\(p\)\" and \"\(v\)\" represent peak and valley, respectively.  
\[\widetilde{X}_{p}=\Big{\{}\widetilde{x}_{p1},\widetilde{x}_{p2},\widetilde{x}_ {p3},\cdots,\widetilde{x}_{pn_{p}}\Big{\}},\ \widetilde{X}_{v}=\{\widetilde{x}_{v1},\widetilde{x}_{v2},\widetilde{x}_{v3}, \cdots,\widetilde{x}_{cn_{v}}\}, \tag{4}\]  
where \(n_{p}\) and \(n_{v}\) are the numbers of the peak and valley values, respectively.  
For the threshold \(c\) of the climb-descent height, such as 10% of the limit altitude of an aircraft, if one of the differences between a valley and its adjacent peaks on both sides is less than \(c\), then the peak may be thought of as a redundant point and cannot represent one training. We need to remove it from \(\widetilde{X}_{p}\), and the principle of removal is: for \(\forall\widetilde{x}_{vi}\in\widetilde{X}_{v}\) and the adjacent peak value \(\widetilde{x}_{ji}\) or \(\widetilde{x}_{p(i+1)}\) of valley \(\widetilde{x}_{vi}\), if \(\widetilde{x}_{pi}-\widetilde{x}_{vi}<c\), then \(\widetilde{x}_{pi}\) is removed from peak sequence \(\widetilde{X}_{p}\); otherwise, if \(\widetilde{x}_{p(i+1)}-\widetilde{x}_{vi}<c\), then \(\widetilde{x}_{p(i+1)}\) is removed from peak sequence \(\widetilde{X}_{p}\).  
In the above, \"\(\forall\)\" represents \"any\". Finally, the peak sequence after de-redundancy is written as:  
\[\widetilde{X}_{p}^{*}=\Big{\{}\widetilde{x}_{p1}^{*},\widetilde{x}_{p2}^{*}, \widetilde{x}_{p3}^{*},\cdots,\widetilde{x}_{pn_{t}}^{*}\Big{\}},\]  
where \(n_{t}\) is the length of the peak sequence \(\widetilde{X}_{p}^{*}\), namely, the FCDF in a flight profile.  
Further explanation of the PV difference de-redundancy algorithm is shown in Figure 3.  
Figure 3: Explanation of PV difference de-redundancy algorithm.  
Figure 2: Small amplitude fluctuations after trend extraction.