1 Introduction and Motivation for Active Load Alleviation with Anticipation Capabilities

Inhomogeneous wind fields such as turbulence and gusts are causing variations of the global and local (considering their distribution over the whole airframe) aerodynamic forces and moments that are applied to the aircraft structure. In addition to causing structural loads that the structure should be designed to support, these additional forces and moments also cause passenger discomfort and anxiety. Active load alleviation of gusts and turbulence is not a new topic: the investigations made on active load control to solve the Lockheed C-5A fatigue issues and leading to the development of the Active Lift Distribution Control System (ALDCS) dates back forty years [9]. Already at that time, the trade-off between structure mass and use of active control technologies was present. Historically, there have been two main drivers for investigations on active load alleviation within the last forty years:

  • either a structure design was available but was for some reasons too weak (e.g. due to an increase in payload capacity) and the use of active control solved (or was meant to solve) the problem,

  • or designers were interested in saving mass (and thereby increasing airplane efficiency) thanks to active load reduction systems.

Loads are not only generated by gusts and turbulence but can be caused (among others) by maneuvers or during touchdown and ground operations. In order to optimize weight savings various load cases might need to be considered simultaneously. Even if not in the scope of this paper, gust and turbulence load alleviation functions are often combined with a maneuver load alleviation function which shifts the lift distribution over the wingspan towards the wing root during maneuvers with high load factors. Over the last decades, many load alleviation functions have been successfully implemented on numerous airplanes such as: Lockheed C-5A, Lockheed L-1011-500, Boeing B-1, Northrop Grumman B-2, Airbus A320, Airbus A330/A340, Airbus A380, Boeing 787, Airbus A350. Reference [26] and the references therein give an interesting overview of the applications of active load alleviation.

The numerous successful applications of active control technologies for airplane gust alleviation logically ended up reaching even the maximum technology readiness level (TRL) of 9 for some of these systems. Consequently, the orientation of the research activities of DLR on gust alleviation moved from more classical gust alleviation system design (such as in OLGA [3, 13, 20], or LARS [8, 18, 19]) to the investigation of more advanced solutions for a further improved alleviation performance. The investigations presented hereafter aim at improving the anticipation capability of future feedforward load alleviation functions. Complementary works also made by DLR on improved controller synthesis methods for multi-objective and robust feedback load alleviation (see [14,15,16,17, 21, 22]) are not in the scope of this paper.

Previous works focusing on feedforward control and its anticipation of near future loads had been performed over the last decades and had yield in particular to various systems developed during the AWIATOR project [7, 10,11,12, 25]. These systems also considered the use of LIDAR sensors for feedforward load alleviation purposes. As for these previous investigations, the feedforward load alleviation function is based on the idea that with a better anticipation of the near future loads a higher load alleviation performance can be achieved. Consequently, in all these systems one of the major components is dedicated to the determination of the expected near future loads. This is realized by gathering information on the wind field ahead of the aircraft, which in the concept shown hereafter, is based on a Doppler LIDAR sensor and a rather extensive processing of the measurements. This information is then used to alleviate these future loads in feedforward.

The processing steps allowing to determine the wind field ahead of the aircraft were described in [6] and will not be further described here. The information on the wind field ahead of the aircraft is therefore the starting point of the feedforward controller that is presented hereafter: it is used to alleviate the loads that are expected to be induced by the inhomogeneous part of this wind field.

Anticipating the future loads opens new possibilities in terms of load alleviation, but cannot replace a feedback controller that directly acts on the closed-loop behavior of the structural modes. These two functions (feedforward and feedback) are radically different and complementary. The proposed feedforward load alleviation has been designed as an add-on to a feedback load alleviation controller. As a consequence, the feedforward function mainly aims at providing load alleviation commands that are complementary to what a good feedback load alleviation would provide. With other words, the parts of the future loads that could be alleviated by a feedback load alleviation can but do not necessarily need to be alleviated by the feedforward function. The parts of the future loads that cannot be alleviated by a feedback load alleviation function (regardless of how well tuned it is) are the primary target for the feedforward load alleviation function.

A typical example of loads that cannot be well alleviated by a feedback load alleviation function but can significantly be reduced by a feedforward load alleviation function are the loads resulting from gusts with large amplitude and relatively large scales. The anticipation capability of the feedforward enables counteracting them by pitching the aircraft, which is roughly one order of magnitude more effective for lift increase/reduction than what can be done with the actuators located on the wings (ailerons, spoilers/speedbrakes, flaps).

The load alleviation functions (both in feedback and in feedforward) are in general add-ons to the basic control laws (later referred as “EFCS”), which provide the flight control augmentation function (laws based on \(n_z\) / C* or C*U / RCAH etc.). These “basic” laws can be developed very soon during the development and flight test program of the aircraft and are usually the main drivers for the handling qualities of the aircraft. The other functions (such as feedback and feedforward gust and turbulence load alleviation) are in general trying to satisfy other criteria without deteriorating the handling qualities that are provided by the “basic” laws.

From a pure control theory point of view it could be argued that imposing a structure to the controller with separated modules is adding constraints and therefore preventing reaching the “optimal solution.” However, this is a rather theoretical debate since the controller design problem considering all control objectives and constraints at once on a high-fidelity flexible aircraft model will not be tractable. Moreover a complete integration of the control functions would also be very challenging in terms of time management and communication due to the fact that the design and the validation of these functions typically involve several disciplines with specialists spread across various departments. In this work, the typical decomposition of the overall control system into the “basic” control laws and load alleviation functions is not discussed but simply considered as a constraint. Only the feedforward load alleviation function and in particular its structure is in the scope of this paper. However, two complementary functions (a maneuver load alleviation function and a gust/turbulence load alleviation function in feedback) were also developed during this work. These three functions are represented in Fig. 1 with the other parts of the complete closed loop system. In this figure, various possible interconnections of the feedforward module with the rest of the system are shown in blue (dashed) and magenta (fine dashed). Not all of the shown interconnections are always required: the need for each one of them depends on the exact behaviors of the various controllers and thereby on the undesired interactions that might have to be prevented. The block-diagram shown in Fig. 1 assumes that the maneuver load alleviation function acts as a pre-filter between the pilot inputs and the “rigid-body controller” (in general part of the basic EFCS). This might however not necessarily be the case: combining maneuver load alleviation and feedback load alleviation also makes sense and would lead to a modified structure.

Fig. 1
figure 1

Flight control system architecture with active load alleviation functions

2 Motivation for a Novel Feedforward Controller Structure

In the previous section the decomposition of the complete flight controller into various subfunctions was shortly presented and discussed. This section focuses more specifically on the internal structure of the feedforward gust and turbulence load alleviation function.

In the specification of the desired load alleviation behavior made by the loads specialists who were involved in the definition of the problem addressed in the present paper, a typical wording came repeatedly: “small amplitude disturbances should not be alleviated using the spoilers.” While this is definitely reasonable from an airplane performance point of view, this implicitly specifies that a highly nonlinear allocation constraint is desired for the controller. This constraint makes the directFootnote 1 application of some of the most powerful tools and results of the control theory impossible. It also raised the question of defining a simple controller structure, which can easily be tuned and permits to obtain such a highly nonlinear behavior. Pitching the aircraft up or down is the most effective way to change the aerodynamic loads. For an effective load alleviation with a restricted bandwidth and based on pitching actions, the pitching commands shall be initiated before encountering the disturbances. After having considered the motivations for such a desired alleviation behavior, the practical aspects regarding structural loads at the horizontal tailplane and the fuselage as well as for passenger comfort, the proposed alleviation concept was finally expressed as follows:

  • The low frequencies of the atmospheric disturbances should be alleviated by pitching up or down the airplane. For passenger comfort reasons, it shall be possible to select a different behavior for low amplitude disturbances or even to restrict this behavior to large amplitude disturbances (i.e. relevant for peak loads).

  • In the medium-frequency range:

    • The tuning parameters should allow to choose whether disturbances with very small amplitudes in the medium-frequency range are alleviated or not (e.g. to avoid unnecessary actuator cycles, or to reduce power consumption).

    • The disturbances with relatively small amplitudes should be alleviated using only trailing edge deflections or camber variations (so basically with ailerons but eventually also with innovative flaps if available).

    • The larger disturbances should be alleviated by any possible means of control, including spoilers or any other device even if they tend to deteriorate the airplane performance.

  • The higher-frequency components of the disturbance will not be alleviated at all with the feedforward function.

The limits between “low,” “medium,” and “higher” frequencies as well as the thresholds between “very small,” “small,” and “larger” amplitudes are tuning parameters for the feedforward load alleviation function. Note that the bandwidth of the feedback load alleviation function is usually expected to be higher than the one of the feedforward load alleviation function. There is a priori no reason to impose any relationship between the bandwidths of feedforward and feedback functions, however the limited wind sensor spatial resolution lowers the effective achievable bandwidth of the feedforward load alleviation function.

Designing a controller providing the aforementioned behavior is not trivial. Even if the amplitude decomposition were ignored and thereby only a frequency decomposition were considered, specifying this frequency decomposition without impairing the anticipation of the feedforward controller in a controller design problem would involve relatively complex filters or design constraints. Eventually, the problem will probably be hardly tractable and only researchers in automatic control will be able to manipulate that problem and tune the design parameters. The controller structure that is proposed in the next section addresses this problem by decomposing the problem into more manageable subproblems and by providing tuning parameters that can easily be interpreted physically.

3 Sketch of the Proposed Feedforward Controller Structure

The design of the feedforward gust and turbulence load alleviation strategy that was described in the previous section is clearly not straightforward. It must behave strongly nonlinearly at some frequency ranges and consists of at least two completely separated types of alleviation: one based on local actions on the wing and the other based on pitching up or down the aircraft. At the same time the phase-lag of the alleviation commands should not be too high, otherwise the effectiveness of the load alleviation will vanish. Since a piece of the future wind profile is known in advance, it is actually possible to perform the required filtering operations without adding phase-lag.

The concept proposed here is very unusual but relies on a very simple idea: the filtering and highly nonlinear allocation between the different alleviation substrategies will be enforced by a preprocessing step. Note that even if the developed controller structure has been fully driven by the requirements of the considered application, the resulting concept and structure can certainly be useful for numerous other applications.

The overall architecture resulting from the direct application of the aforementioned idea to the feedforward load alleviation controller can be represented schematically by the block-diagram of Fig. 2. A time-frequency transformation/decomposition of the signal that is known partly in advance (here the wind ahead of the aircraft) is performed first. The exact result of this operation depends on the time-frequency technique used, but the information contained in the original signal is now expressed as “at this point in time, the signal contains these frequencies with these amplitude and phase” whereas it was previously expressed as “at this point in time, the signal had this value.” With most techniques, the information was not deteriorated and could be transformed back with no loss. The capacity of restoring the original signal is indeed very important for the proposed architecture and the inverse transformation will be used later.

Fig. 2
figure 2

Overall structure for the feedforward load alleviation with allocation constraints

The following step is to select the components of the signal that are of interest for the system and to treat them. For the sake of the example, the high-frequency noise on the signal could be removed by erasing the corresponding transformed data (e.g. the amplitude coefficients for all frequencies higher than a given threshold can be set to 0). If the altered transformed representation of the signal would be transformed back to the time domain, it would seem that the original signal was low-pass filtered but with no phase-shift. The nonlinear behavior desired for the pitching actions (i.e. only consider low-frequency high-amplitude components of the signal) can be obtained by selecting only the low frequencies of the signal and among them neglecting the components whose amplitudes are below a certain threshold. By transforming the remaining components back into the time domain, it would appear that the desired characteristics have been separated from the rest of the signal.

Once back in the time domain, the various signals that are obtained by using this preprocessing can then be used by several controllers working in parallel. Each controller has a restricted and well defined role, which eases its design. For instance, the low-frequency high-amplitude part of the signal can be given as input to a simple controller that can only provide an additional elevator command: the tuning of such a function is very simple and the validation of its behavior also. Another controller can take care of some medium-frequency parts of the signal by providing symmetrical aileron commands.

This section gave a first insight on the structure that is proposed and on the way this structure can be useful for realizing the behavior that was mentioned earlier. The concrete implementation that was made uses the so-called Fast Orthogonal Wavelet Transform, which is a time-scale instead of a time-frequency technique but the basic idea remains the same. This implementation is detailed in the next section.

4 Signal Characteristics Extraction and Splitting Using the Fast Orthogonal Wavelet Transform

4.1 Wavelets and the Fast Orthogonal Wavelet Transform

The development of wavelet transforms was a major step in local time-frequency decomposition of continuous and discrete signals [24]. The complete theory of the various wavelet transforms and their use for signal processing goes far beyond the scope of this paper. Consequently, only a few remarks required to understand the approach used for the signal characteristics extraction and signal splitting step of the proposed feedforward controller will be provided here. For a deeper insight in wavelet theory and applications the reader is referred to [24]. Note that wavelets are extensively used in image compression algorithms, which also have the advantage of providing examples that are well-suited for illustrating some particular behavior. As a consequence a vast part of the literature on wavelets uses images as examples, but the principle remains the same: the time dimension is replaced by both dimensions of the image and the frequency dimension by the local changes of the image when following a straight line on the image.

Wavelets are sometimes described as “wave-like oscillations with an amplitude that begins and ends at zero.” For all wavelets, the amplitude starts and ends at 0, but can follow pretty much any profile in between. A few mathematical properties of wavelets are important to mention here:

  • the average of a wavelet \(\psi \in \mathscr {L}^2(\mathbb {R})\) is zero (i.e. \(\int _{-\infty }^{+\infty }{\psi (t)}\ dt = 0\)),

  • it is normalized (\(\Vert \psi \Vert =1\)),

  • and it is centered in the neighborhood of \(t=0\).

Based on the wavelet basis function \(\psi \), a scale and shifted version of it can be defined as:

$$\begin{aligned} \forall (u,s)\in \{\mathbb {R},\mathbb {R}^{+*}\}, \psi _{u,s} = \frac{1}{\sqrt{s}}\psi \left( \frac{t-u}{s}\right) \ , \end{aligned}$$
(1)

where \(\mathbb {R}^{+*}\) is the set of strictly positive real numbers. Note that the normalization still holds for the scaled and shifted wavelets: \(\forall (u,s)\in \{\mathbb {R},\mathbb {R}^{+*}\}, \Vert \psi _{u,s}\Vert =1\). The wavelet transform of a signal \(f\in \mathscr {L}^2(\mathbb {R})\) at time u and scale s reads:

$$\begin{aligned} \forall (u,s)\in \{\mathbb {R},\mathbb {R}^{+*}\}, Wf(u,s) = \int _{-\infty }^{+\infty }f(t) \frac{1}{\sqrt{s}}\psi ^*\left( \frac{t-u}{s}\right) \ dt\ , \end{aligned}$$
(2)

where \(\psi ^*\left( \frac{t-u}{s}\right) \) is the complex conjugate of \(\psi \left( \frac{t-u}{s}\right) \). The function \(\psi _{u,s}\) can here be seen as a (flipped) convolution filter applied to the signal f. The zero-average property of \(\psi _{u,s}\) and its limited support (region of \(\mathbb {R}\) where it is nonzero) implies that the constant part of the signal and the very low frequencies will not be transmitted through this “filtering operation.” The frequencies contained in the function \(\psi _{u,s}\) also limit the frequencies (both minimum and maximum) contained in the “filtered” signal. In other words, the wavelet transform will behave as a band-pass filter that considers only the input signal in the neighborhood of \(t=u\). By applying this transform for different values of u and s different frequency-bands and portions of the signal can be considered separately.

The Fast Orthogonal Wavelet Transform (FOWT) is one particular type of wavelet transform. It allows to decompose a discrete time signal in several successive steps. Each step leads to a decomposition of the signal into

  • its approximation or general trend (lower-frequency part)

  • its details (higher-frequency part).

The obtained approximation is undersampled (factor 2) between each step, so that the next decomposition generates signal characteristics with a lower frequency than the previous step. This general process is schematically represented in Fig. 3. The decomposition preserves time-wise correlation, which means, that information about the signal characteristics at a certain time is still available. Furthermore, each signal can be recomposed with an inverse process using the obtained approximations and details.

Fig. 3
figure 3

Schematical representation of the signal decomposition steps based on the FOWT [4]

These decomposition steps are based on convolutions between the signal (the original signal at the first step or the approximation of the signal at the current level) and a pair of complementary discrete filters. The complementary property leads to have (at each level) the sum of the signals corresponding to the “detail” and the “approximation” part equal to the original signal.

For the type of processing that is considered in this paper, it is very important to use a wavelet basis for which perfect reconstruction filters with a finite impulse response exist. This allows to reconstruct easily the original signal from its decompositions (with other words this allows to define the inverse transform). The filters used for reconstructing the signal (i.e. for restoring the signal based on its decomposition as series of coefficients) are different from the filters used for decomposing it. This leads to have four filters, noted \(D_h\), \(D_l\), \(R_h\), and \(R_l\) hereafter: D and R respectively stand for decomposition and reconstruction and the indices h and l stand for high-frequency (i.e. detail part) and low-frequency (i.e. approximation part).

The choice of the wavelet base influences the possibility of recovering signal properties from the decompositions. Basically, the wavelet base function is correlated with the signal at different frequencies and magnitudes (similar to a Fourier-Transform). For the work in this paper, the so-called bior3.9 wavelet was chosen. The four corresponding filters are defined by the coefficients provided in Eqs. (3)–(6).

$$\begin{aligned} D_h = [ 0_{1\times 8}\ ,\ -0.1767766953\ ,\ 0.5303300859\ ,\ -0.5303300859\ ,\ 0.1767766953\ ,\ 0_{1\times 8}] \end{aligned}$$
(3)
$$\begin{aligned} D_l&= \begin{array}{lrrrrrl} [ &{}-0.0006797444 \ ,\ &{}0.0020392331 \ ,\ &{}0.0050603192 \ ,\ &{}-0.0206189126 &{}\ ,\ \dots \\ &{}-0.0141127879 \ ,\ &{}0.0991347825 \ ,\ &{}0.0123001363 \ ,\ &{}-0.3201919684 &{}\ ,\ \dots \\ &{}0.0020500227 \ ,\ &{}0.9421257007 \ ,\ &{}0.9421257007 \ ,\ &{}0.0020500227 &{}\ ,\ \dots \\ &{}-0.3201919684 \ ,\ &{}0.0123001363 \ ,\ &{}0.0991347825 \ ,\ &{}-0.0141127879 &{}\ ,\ \dots \\ &{}-0.0206189126 \ ,\ &{}0.0050603192 \ ,\ &{}0.0020392331 \ ,\ &{}-0.0006797444 &{}] \end{array}\end{aligned}$$
(4)
$$\begin{aligned} R_h&= \begin{array}{lrrrrrl} [ &{}-0.0006797444 \ ,\ &{}-0.0020392331 \ ,\ &{} 0.0050603192 \ ,\ &{} 0.0206189126 &{}\ ,\ \dots \\ &{}-0.0141127879 \ ,\ &{}-0.0991347825 \ ,\ &{} 0.0123001363 \ ,\ &{} 0.3201919684 &{}\ ,\ \dots \\ &{} 0.0020500227 \ ,\ &{}-0.9421257007 \ ,\ &{} 0.9421257007 \ ,\ &{}-0.0020500227&{}\ ,\ \dots \\ &{}-0.3201919684 \ ,\ &{}-0.0123001363 \ ,\ &{} 0.0991347825 \ ,\ &{} 0.0141127879 &{}\ ,\ \dots \\ &{}-0.0206189126 \ ,\ &{}-0.0050603192 \ ,\ &{} 0.0020392331 \ ,\ &{} 0.0006797444 &{}] \end{array}\end{aligned}$$
(5)
$$\begin{aligned} R_l&= [ 0_{1\times 8}\ ,\ 0.1767766953\ ,\ 0.5303300859\ ,\ 0.5303300859\ ,\ 0.1767766953\ ,\ 0_{1\times 8}] \end{aligned}$$
(6)

Figure 4 presents a generic block diagram for a signal manipulation in the time-scale domain. The decomposition filters \(D_h\) and \(D_l\) are applied in combination with undersampling operations to decompose the signal provided in input in several steps. In this figure, the decomposition was made up to the third level. The number of decomposition levels to use should be chosen depending on the needs of each specific application and relates to the lowest frequency band to be decomposed. The fact that the input signal has a limited length limits the number of decomposition levels that can be used (each undersampling operation shortens the signal) and therefore the lowest frequency band that can be considered. In the considered application to feedforward active load alleviation, this property was limiting the anticipation capability. As a consequence the signal that is passed to the FOWT (noted \(a_0\) in Fig. 4) is an artificially extended version of the original signal: see Sect. 4.2 for the details on the signal extension. On the right of the block diagram shown in Fig. 4, the reconstruction operations based on the filters (\(R_h\) and \(R_l\)) and on the insertion of zeros between each sample (counterpart of the undersampling operations in the decomposition). The type of manipulations that can be made in the time-scale domain (block in the middle) will be described later in Sect. 4.3.

Fig. 4
figure 4

Representation of the signal decomposition and reconstruction steps based on a filter bank implementation the FOWT. The decomposition is shown up to level 3. The blocks \(D_h\), \(D_l\), \(R_h\), and \(R_l\) are convolutions with the corresponding filter kernels (basically a vector when processing 1D signals). In the middle of this figure, the location at which a module for analysis and manipulation of the signal in the time-scale domain can be inserted is represented

4.2 Artificial Signal Extension

The area ahead of the aircraft for which the wind information can be reconstructed based on the LIDAR measurements is limited in size due to the limited sensor range. Increasing the measurement range (when possible) is expected to cause a significant deterioration of the measurement quality (higher noise levels). Some measurements located behind the aircraft current position are kept to prevent effects related to the border of the estimation domain (see [6] for more information). This part is not directly relevant anymore for the load alleviation functions. As a consequence, considering the foreseeable sensor performances the typical length of the reconstructed wind profile will represent roughly 1 s of flight or 250 m.

This limited duration is an issue for the extraction of the low-frequency content of the wind profile, which is meant to be alleviated with pitching commands. The proposed solution consists in extending the wind field artificially with an exponential decay between the end of the profile and converging to long-term (over 10–20 s) average of the wind. Making this artificial extension converge to the observed average instead of zero is meant to increase the robustness of the solution against slight sensor calibration errors and also against relatively large areas with non-negligible mean vertical wind (e.g. thermal effects, turbulence, lee waves, or downburst). The time-constant \(\tau _{decay}\) for the exponential decay shall be set to a value in the neighborhood of the inverse of the lowest frequency \(f_{GLA,low}\) that is worth to consider for the load alleviation functions (i.e. \(\tau _{decay}\in [\frac{0.2}{f_{GLA,low}},\frac{5}{f_{GLA,low}}]\)).

This artificial extension of the field can be seen as some kind of “educated guess” on the general trend of the wind field outside of the domain where it was explicitly estimated. It is clear that this “guess” is likely to be relatively far from the reality at the medium and high frequencies, but it suffices that it is representative enough for the low frequencies. Indeed, the low-frequency pitching command generation is the only reason for needing a longer wind prediction horizon. Note that this guess or approximation does not need to be good in the medium and high frequency ranges.

4.3 Overview of Wavelet Thresholding and of Its Use for Extracting the Interesting Parts of the Signal

The previous sections presented the way the signal can be artificially extended to permit the extraction of its lowest frequencies (Sect. 4.2) and how a signal can be transformed to the time-scale domain and back using a FOWT filter bank (Sect. 4.1). In the middle of Fig. 4 the place at which a manipulation of the signal in the time-scale domain can be performed is indicated. This section presents the way these manipulations were made for the application to active load alleviation.

The technique used to manipulate the coefficients at a given level such that low amplitude coefficients are ignored is commonly known as “wavelet thresholding” or “wavelet shrinkage.” The two most common thresholding function functions are shown in Fig. 5.

Fig. 5
figure 5

The two most common thresholding function: soft and hard

The soft-thresholding function can be interpreted as a dead-zone: the coefficients smaller (in absolute value) than the chosen threshold are set to zero whereas the threshold magnitude is subtracted to the others. This yields to effectively ignore low-amplitude parts of the signal but also reduces the amplitude of the larger ones and thereby possibly prevents to reach the maximum achievable alleviation performance. The hard-thresholding function is not affected by this problem but the discontinuity at the threshold causes artefacts in the reconstructed signals, at times for which the wavelet coefficients are spread on both sides of the threshold.

The desired shrinkage function shall be zero (or very small) for low input values, converge to the linear function \(y=f(x)=x\) for x large, and be continuous and tunable in between (but not necessarily smooth). The “smooth sigmoid-based shrinkage” family of functions (SSBS) [1, 2, 23] satisfies all these requirements and also provides a few additional degrees-of-freedom. It reads:

$$\begin{aligned} \delta _{t,\tau ,\lambda }: \mathbb {R}\rightarrow \mathbb {R},\ x\mapsto \frac{{ sign}(x)\ { max}(0,|x|-t)}{1+\displaystyle e^{-\tau (|x|-\lambda )}}\ \ . \end{aligned}$$
(7)

The role of the parameters t and \(\lambda \) can easily be understood based on Fig. 6. The parameter \(\tau \) defines the abruptness of the transition between the point (0, t) and the asymptotes \(y=f(x)=x-t\) in \(+\infty \) and \(y=f(x)=x+t\) in \(-\infty \). In the application considered in this paper the additional degree-of-freedom provided by t is not used and the value of t is always set to 0 here. This corresponds to a case where the SSBS function behaves as the soft-threshold for amplitudes far below the threshold \(\lambda \), behaves as the hard threshold for amplitudes far above the threshold \(\lambda \), and provides a smooth transition between these two behaviors in the neighborhood of the threshold \(\lambda \).

Fig. 6
figure 6

Representation of the SSBS function (blue line). Asymptotes in \(+\infty \) and in \(-\infty \) are respectively represented in red and in magenta. The black dashed line represents the \(y=x\) function

The way the wavelet thresholding technique can be used for the considered application to the separation of signal characteristics for use by different load alleviation controllers as proposed in Sect. 3 is explained hereafter. In a first step, the specification of the limit between the low-frequency range (that will be alleviated by means of pitching commands) and the medium-frequency range (alleviated with the actuators on the wing) can easily be made by defining that this limit shall occur between decomposition level (i.e. number of decomposition stages) P and level \(P-1\). The signal to be used for the pitching actions is then based on the selected decomposition level P, assuming during the reconstruction process that all “detail” coefficients at the lower levels (i.e. \(P-1,P-2,\ldots ,0\)) were equal to zero. Similarly, the signal containing the remaining frequencies (all but the low frequencies) can be reconstructed by using the coefficients at levels \(P-1\) and below and by ignoring the coefficients from level P.

This strategy permits to split several frequency bands but still does not restrict the pitching-based alleviation to large amplitude disturbances. For this, the coefficients at level P are modified using the wavelet thresholding technique based on SSBS functions with \(t=0\). Even though that was not considered interesting for this application,Footnote 2 it would be possible to consider the part of the coefficients at level P that is not considered for the pitching actions and to provide them to one of the other controllers.

In order to completely filter out the higher frequencies a level R (with \(R<P\)) can be defined and the “detail” coefficients for the levels between 0 and R can simply be set to zero. The signal extracted by the operations described above is the signal that is later passed to the first or “pitching commands” controller, which can be seen as the block labeled “Cont. #1” in Fig. 2.

The second and third controllers (“Cont. #2” and “Cont. #3”) can act on the wing control surfaces: only on the ailerons in the case of controller 2 and both on ailerons and spoilers in the case of controller 3. Both are working in the same frequency band but controller 2 is the only one active for small disturbances and controller 3 becomes active for larger disturbances. A similar signal extraction via wavelet thresholding with an SSBS function as for controller 1 is first applied to the intermediate levels (levels \(P-1\) and below). Then for each of the considered levels the obtained wavelet coefficients are distributed to either controller 2 (the small ones) or controller 3 (the large ones). Indeed, the distribution is performed in a smooth manner using a logistic function \(l_{B,M}\) for each of the considered levels.

$$\begin{aligned} l_{B,M}: \mathbb {R}\rightarrow [0,1], x\mapsto \frac{1}{1+\displaystyle e^{-B(|x|-M)}} \end{aligned}$$
(8)

The function \(l_{B,M}\) defines a coefficient between 0 and 1 such that for small x the value is (very close to) 0 and for large x it is (very close to) 1. So for a given wavelet coefficient \(c_{23}\) that was selected to be alleviated either by controller 2 or by controller 3, the coefficients \(c_2\) and \(c_3\) that correspond to the respective parts to be alleviated by controller 2 and by controller 3 are defined as follows:

$$\begin{aligned} c_2 = \left( 1 - l_{B,M}(c_{23})\right) \ c_{23}\ \ \ \ \text {and}\ \ \ \ c_3 = l_{B,M}(c_{23})\ c_{23} \end{aligned}$$
(9)

From the definition of \(l_{B,M}\) the role of both parameters can easily be understood:

  • M defines the location (here a threshold on the wavelet coefficient amplitude) whereat the transition between controllers 2 and 3 is occurring: when the coefficient is equal to M then 50% of it is taken care of by controller 2 and the other 50% by controller 3.

  • B defines the growth rate: a large value for B causes an abrupt transition between 0 and 1.

The desired behavior necessarily corresponds to cases for which \(B>0\) and \(M\ge 0\).

Fig. 7
figure 7

Illustration of the behavior of the signal extension, filtering, and characteristics extractions on a partly reconstructed 1-cosine gust

4.4 Illustration of the Obtained Signal Decomposition Technique

The filtering process presented in the previous section is applied to the reconstructed and extended wind signal provided by the wind reconstruction process of [6]. The result is shown in Fig. 7, where one of the reconstructed results obtained in [6] is considered as input signal. This reconstructed wind profile is shown in magenta. Its extension (see Sect. 4.2) is shown in black and the extracted three signals (1 per controller) are shown by the dashed-cyan lines. Note that these signals are the portions of the reconstructed vertical wind profile (in m/s) that is provided at each moment in time to the three controllers (pitch, symmetrical deflections of ailerons, and symmetrical deflections of ailerons and spoilers) and not the control commands. These wind profile portions are updated every 0.3 s but the corresponding controllers continuously generate control commands based on the last profile that they received in input (which can therefore be up to 0.3 s old) and the airplane current position. In Fig. 7 (as for the following ones), the aircraft is located at the position 0 m (i.e. the vertical wind profiles shown are drawn along the predicted aircraft path: positive values on the abscissa are ahead of the aircraft). Note that even with no wind at the current aircraft position, the prediction of the coming gust permits to anticipate pitching actions.

Fig. 8
figure 8

Same as in Fig. 7, but 0.3 s earlier when less than a half of the gust was reconstructed

The case of Fig. 7 is a particularly favorable example, since the signal extension seem to prolongate almost perfectly the “\(1-\)cosine” gust profile. Figure 8 shows the example of the wind reconstruction result which was obtained 0.3 s before: this time the fact that the extension of the signal is just an decreasing exponential curve can clearly be seen. However, roughly the same input is generated for the pitching controller in Figs. 7 and 8, which shall not impair its capacity to anticipate. The pitching controller can begin to act even earlier, even though not even the half of the gust was located in the wind reconstruction mesh. The behavior obtained with lower disturbance amplitude is shown in Fig. 9. In this figure, the same gust than before is considered but at a later point in time: the aircraft moved forward such that the gust is now almost completely behind the wind reconstruction mesh. Still a short peak of about 2 m/s amplitude is contained in the reconstructed vertical wind (plus the imperfections due to the noise on the measurements). Negligible deviations from zero can be seen on the first signal (for pitching) and only minimal amplitudes are extracted for the ailerons-based controller. The comparison with the signals shown in Figs. 7 and 8 illustrates the strongly nonlinear behavior that was set to prevent any propagation of the sensor measurement noise (through an imperfectly reconstructed wind profile) up to the actuator commands. This behavior also permits to avoid affecting the passenger comfort and activating the feedforward load alleviation when no disturbance was detected that is large enough to cause significant loads.

Fig. 9
figure 9

Same as in Figs. 7 and 8, at the end of the encounter with the gust. Note that the scale for the ordinate significantly differs from the scale in Figs. 7 and 8

5 Results on the Application to Airplane Feedforward Gust and Turbulence Load Alleviation

The proposed feedforward load alleviation controller structure has been tested in simulation. The considered aircraft model is an integrated flexible simulation model (based on the Airbus XRF1 model) in which the full nonlinear equation of motions are coupled with the aeroelastic model. It comprises also actuator and sensor models. This model was developed by the DLR Institute of System Dynamics and Control, who also designed a basic flight control system (later referred to as “EFCS”) as well as an active load alleviation function (later referred to as “FBALC”) based on more classical sensors (e.g. accelerometers) distributed on the aircraft structure.

The feedforward load alleviation function that uses the structure proposed here has been called “GLAREWISE+TFAC,” which stands for “Gust Load Alleviation using REmote WInd SEnsing and with Time-Frequency-based Allocation Constraints.” As it can be observed in the previous sections, this feedforward function does not try to alleviate the disturbances perfectly, but rather focuses on the signal components that are known with a high level of confidence and for which the anticipation capability of the feedforward enables a better load alleviation performance than what can be achieved with a feedback function. The reason for that is that from a system architecture point of view, there are three main possible system designs: EFCS with no load alleviation function, EFCS and feedback load alleviation, and EFCS plus integrated feedback+feedforward load alleviation. A feedforward load alleviation alone would already lead to a significant system complexity, but still not permits to directly act on the modes of the flexible aircraft (e.g. add some damping or increase the robustness of the load alleviation).

Fig. 10
figure 10

Comparison of wing root bending moments and vertical acceleration (middle of cabin) over time with various 1-cosine gust of length 150, 300, and 350 ft

The cases considered hereafter are gusts with a one-cosine shape and all having the same amplitude. Three of the typical gust lengths considered for the certification are shown hereafter: 150, 300 and 350 ft. The 300 and 350 ft gusts are shown in both directions (upward and downward), whereas the 150 ft gust is only shown in the upward direction. Figure 10 shows the time responses of the wing root bending moment (left) and of the corresponding vertical accelerations at the middle of the cabin (right). For all five simulations shown, the black line corresponds to the “EFCS” case, the dashed magenta line corresponds to the “EFCS and FBALC” case, and finally the dash-dotted cyan line corresponds to the “EFCS, FBALC, and GLAREWISE+TFAC” case. The anticipation capability of the GLAREWISE+TFAC function can easily be seen by the fact that the dash-dotted cyan line begins to vary before the other two: this variation is mainly due to the pitching command that anticipate that loads in the opposite direction are expected to occur very shortly after. In all these simulations the gusts begin at the time t \(=\) 6 s. The first seconds are not shown here and are not relevant for the load analysis: during this time the aircraft flies simply in its trimmed condition. These seconds need however to be simulated in order to bring the internal states of the GLAREWISE+TFAC function to a representative state (number of LIDAR measurements in the buffer, spatial distributions of these measurements, etc.).

The 300 ft case is the most critical in terms of wind bending root moment for the considered airplane. As a consequence, the tuning of the feedforward function (filtering, characteristics extraction, individual controller tuning) was strongly oriented to providing load alleviation for gusts having a length in the neighborhood of 300 ft. The tuning was not oriented toward pure structural loads but also strongly considered the comfort, which can be seen on the vertical accelerations. The load reduction performance achieved in the 150 ft case on the wing bending root moment is not as good (relative improvement of the maximum load during the simulation) than in the 300 ft case. Note however that the absolute values are still lower than the absolute values obtained with both load alleviation functions in the 300 ft case. The vertical accelerations were still improved on the 150 ft case: reduced maximum value thanks to the GLAREWISE+TFAC anticipation capability and lower oscillations thanks to the mode damping provided by the FBALC function. On the 300 ft case, the reductions both in terms of wing bending root as in terms of vertical load factor are very promising. Note that the anticipation of the GLAREWISE+TFAC function permitted to prevent negative load factors in the downward 300 ft and 350 ft cases.

In terms of required computational power the FOWT-based decomposition, the signal characteristics extraction and splitting based on the SSBS and logistic functions, and the inverse FOWT are all very simple operations. The computation resources needed (CPU, memory) are not expected to pose any practical difficulty and are totally deterministic.

6 Conclusion and Outlook

An unusual feedforward controller structure that allows to take allocation constraints that can be expressed in the time-frequency or time-scale domains has been presented. This novel controller structure was motivated by the design of a feedforward controller for airplane gust and turbulence load alleviation based on Doppler LIDAR measurements. As shown in the application that has motivated this development, some strongly nonlinear constraints can be guaranteed by the design of the structure. The developed structure is not restricted to the considered application and could be applied successfully to many other feedforward control problems with some prior knowledge of the future disturbances, references, or parameters. More information on the nonlinear and robust controller design for the feedback load alleviation controller (used in this paper in addition to the feedforward function) will be published in the near future [5]. The control approach presented here focuses in designing a controller structure permitting to decompose the feedforward function into various subfunctions regardless of how these subfunctions are designed (e.g. with \(H_2\), \(H_\infty \), or even adaptive control techniques as proposed in [27, 28]).