After clarifying the characteristics of yaw angle time history, this section designs counting algorithms for hover and S turn based on yaw angle data of flight profile.

PSD is a signal demodulation method that uses equilibrium positions processing the positive and negative phases of vibration signals. This method can be easily implemented with diode circuits and is commonly used in hardware devices such as dynamic strain gauges, wireless receiving devices. Considering the angle time history vibrates near its median during hover or S turn maneuver, this section uses the PSD with median theory to decompose the time history signal, and provides some PSD algorithms for processing yaw angle time history data as well as forms a set of algorithms for counting of the hovering and S-turning numbers.

Let yaw angle signal in a certain profile be as follow:

$${\varPsi _0}=\{ {\psi _0}(1),{\psi _0}(2), \cdots {\psi _0}(i), \cdots {\psi _0}({N_0})\}$$

1

,

where \({\psi _0}(i)\) is the *i*th sample point in signal \({\varPsi _0}\), \({N_0}\)is the length of \({\varPsi _0}\).

The following provides PSD algorithms of yaw angle signal, including median retrieving, median-crossing de redundancy, and signal splitting.

## 3.1. Median retrieving algorithm

Calculate median \({\bar {\varPsi }_0}\) of the yaw angle sequence \({\varPsi _0}\) with \({\bar {\varPsi }_0}{\text{=[max}}({\varPsi _0})+\hbox{min} ({\varPsi _0})]/2\), the sequence \(\varPsi ^{\prime}\) is defined by:

$$\varPsi ^{\prime}{\text{=}}{\varPsi _0} - {\bar {\varPsi }_0}{I_{1 \times {N_0}}}={\text{\{ }}\psi ^{\prime}(1),\psi ^{\prime}(2), \cdots ,\psi ^{\prime}(i), \cdots ,\psi ^{\prime}({N_0})\}$$

2

,

where \({I_{1 \times {N_0}}}\)denotes a \(1 \times {N_0}\) row vector. The median of sequence \(\varPsi ^{\prime}\) is zero.

Let \({T_0}\) be the set of zero-crossing marks. To \(\forall \psi ^{\prime}(i) \in \varPsi ^{\prime}\) \((i=2,3, \cdots ,{N_0})\), Criterion 1 given by:

If \(\psi ^{\prime}(i - 1)\psi ^{\prime}(i)<0\) or \(\psi ^{\prime}(i){\text{=}}0\), then the yaw angle signal \(\varPsi ^{\prime}\)passes through zero value one time and \(i \in {T_0}\).

That is, if the sign of the yaw angle \(\psi ^{\prime}(i - 1)\) and \(\psi ^{\prime}(i)\) is opposite, it can be inferred \(\varPsi ^{\prime}\) passing through a zero point, and the number *i* that as the time mark in this case need be put into set \({T_0}\).

The number set \({T_0}\) yielded by Criterion 1 is notated as \({T_0}={\text{\{ }}t(1),t(2), \cdots ,t(i), \cdots ,t({n_0})\}\), where \(t(i)\) being the *i*th term in the sequence, \({n_0}\) being the length of \({T_0}\) and the number of zero-crossing points in \(\varPsi ^{\prime}\). Due to the number of zero-crossing points must be less than the length of yaw angle time history, thus \({n_0}<{N_0}\), we can know that \({T_0}\) belongs to the natural number field with\({T_0} \subset \{ 1,2,3, \cdots ,{N_0}\}\).

By the above, PSD retrieves the median terms and can count the median-crossing marks of the original signal \({\varPsi _0}\).

## 3.2. Median de redundancy algorithm

Mathematically, the time points and number of median-crossing marks from Criterion 1 are accurate, but for an actual yaw angle time history, it is necessary to remove the redundancy in the zero-crossing mark set \({T_0}\). The reason of this operation is that, during an aircraft flight, there are always some deviations in the angle history due to factors such as weather conditions, geographic environment, etc., however, these small deviations or oscillations near the median cannot denote hovering or S-turning maneuvers. A threshold for such minor deviations will be set based on actual flight conditions so as to eliminate redundancy of such time points in \({T_0}\).

Let the deviation threshold of yaw angles in a profile be *c*, the zero-crossing set of the yaw angle signal \(\varPsi ^{\prime}\) be:

\({T_0}={\text{\{ }}t(1),t(2), \cdots ,t(i), \cdots ,t({n_0})\} ={\text{\{ }}{t_1},{t_2}, \cdots ,{t_i}, \cdots ,{t_{{n_0}}}\}\) , \({t_i}=t(i)\), \(i=1,2, \cdots ,{n_0}\). (3)

Then we develop a de redundant algorithm which only remains the zero-crossing marks with the yaw angle variation larger than *c* in a small interval.

As shown in Fig. 2, for segmental sequence \(\{ {t_{i - 1}},{t_i},{t_{i+1}},{t_{i+2}}\} \in {T_0}\)\((i=2,3, \cdots ,{n_0} - 2)\), define a semi open interval \([{t_{i - 1}},{t_{i+2}}) \subset \mathbf{N}*\), where \(\mathbf{N}*\) being the positive natural number field, then elements of the yaw angle within this argument interval partition are as follows:

$${\varPsi _{si}}=\{ \psi ^{\prime}({t_{i - 1}}),\psi ^{\prime}({t_{i - 1}}+1), \cdots ,\psi ^{\prime}({t_{i+2}} - 1)\}$$

4

.

Let \({{\rm A}_{si}}=\hbox{max} ({\varPsi _{si}}) - \hbox{min} ({\varPsi _{si}})\) and the set of redundant zero-crossing points be \({\tilde {T}_0}\). The criterion to judge whether zero-crossing points \({t_i}\) and \({t_{i+1}}\) redundant is given by:

Criterion 2: if \({{\rm A}_{si}}<c\), then \({t_i}\) and \({t_{i+1}}\) are redundant and\(\{ {t_i},{t_{i+1}}\} \subseteq {\tilde {T}_0}\).

Similar to obtaining set \({T_0}\) through Criterion 1, set \({\tilde {T}_0}\) can be yielded through Criterion 2. The meaning of Criterion 2 is that, for the zero-crossing points \({t_i}\) and \({t_{i+1}}\), if the maximum fluctuation value of the yaw angles near them is less than the threshold *c*, it is determined that both of them are caused by small deviations of the yaw angles, but not the zero-crossing points that can represent a hover or S turn.

Calculate the difference set \({\hat {T}_0}={T_0}{\text{\backslash \backslash }}{\tilde {T}_0}\), where \({T_0}\) and \({\tilde {T}_0}\) are the zero-crossing set and the zero-crossing redundant set respectively, the symbol " \\ " denotes the difference operator, that is, removing the elements belonging to \({\tilde {T}_0}\) from \({T_0}\). Write:

\({\hat {T}_0}=\{ {\hat {t}_1},{\hat {t}_2}, \cdots ,{\hat {t}_i}, \cdots ,{\hat {t}_{{{\hat {n}}_0}}}\} =\{ \hat {t}(1),\hat {t}(2), \cdots ,\hat {t}(i), \cdots ,\hat {t}({\hat {n}_0})\}\) , \({\hat {t}_i}=\hat {t}(i)\),

where \({\hat {n}_0}\) is the length of \({\hat {T}_0}\). It can be known that \({\hat {n}_0}\) is the number of effective zero-crossing or median-crossing marks in the yaw angle signal \(\varPsi ^{\prime}\), as shown in Fig. 3.

## 3.3. Signal splitting algorithm

Use PSD to split the yaw angle signal in half, the calculation formula is:

\({\psi _D}(i)=\left\{ \begin{gathered} \psi ^{\prime}(i) \psi ^{\prime}(i)<0 \hfill \\ 0 \psi ^{\prime}(i) \geqslant 0 \hfill \\ \end{gathered} \right.\) , \({\psi _U}(i)=\left\{ \begin{gathered} \psi ^{\prime}(i) \psi ^{\prime}(i)>0 \hfill \\ 0 \psi ^{\prime}(i) \leqslant 0 \hfill \\ \end{gathered} \right.\), \(i=1,2,3, \cdots ,{N_0}\), (5)

\({\varPsi _D}{\text{=\{ }}{\psi _D}(1),{\psi _D}(2), \cdots ,{\psi _D}(i), \cdots ,{\psi _D}({N_0})\}\) denotes the lower part after yaw angle signal decomposed by PSD as well as \({\varPsi _U}{\text{=\{ }}{\psi _U}(1),{\psi _U}(2), \cdots ,{\psi _U}(i), \cdots ,{\psi _U}({N_0})\}\) the upper part.

PSD decompose \({\varPsi _0}\) into the upper and lower halves by its median, with the upper retaining the terms which \(\varPsi ^{\prime}>0\) in their amplitudes and filling the others with the median, while the lower half conversely retaining which \(\varPsi ^{\prime}<0\) and filling the others with the median too. As will be seen later in this article, this signal processing method can be applied to the layer-by-layer counting of S turns.

The functions of PSD are shown in Fig. 4.