The basic idea of a complementary filter involves taking two or more sensors, filtering out unreliable frequencies for each sensor and combining the filtered outputs to get a better estimate throughout the entire bandwidth of the system.
To achieve this, the sensors included in the filter should complement one another by performing better over specific parts of the system bandwidth.
A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies, (i.e.) its magnitude is one and its phase is zero.
The proper design of this particular kind of filter is of primary importance in a wide range of applications.
Often, multiple sensors with different noise or dynamical properties are used to measure the same physical quantity.
In such case, complementary filters can be used to merge the sensors and forms a "super sensor" that has gives a better estimate of the physical quantity over a wider bandwidth.
This is called sensor blending or sensor fusion.
This is widely used for the attitude estimation of unmanned aerial vehicles using various kind of sensors (accelerometers, gyroscopes, vision sensors, inclinometer) \cite{zimmermann92_high_bandw_orien_measur_contr,corke04_inert_visual_sensin_system_small_auton_helic,min15_compl_filter_desig_angle_estim}.
\cite{shaw90_bandw_enhan_posit_measur_using_measur_accel} Fast position measurement of flexible structure
\cite{matichard15_seism_isolat_advan_ligo} (relative displacement measurement at low frequencies with inertial at high frequencies)
with \(\w_0\) is the tuning parameter corresponding to the crossover frequency of the filters.
However, the manual design of higher order complementary filters is far more complex and we have to use an automatic synthesis technique.
As shown in Sec. \ref{sec:trans_perf}, most of the performance requirements can be expressed as upper bounds on the magnitude of the complementary filters.
Thus, the \(\mathcal{H}_\infty\) framework seems adapted and we here propose a technique to synthesis complementary filters while specifying uppers bounds on their magnitudes.
In this section, we formulate the \(\hinf\) problem for the synthesis of complementary filters.
The synthesis objective is to shape an high pass filter \(H_H\) and a low pass filter \(H_L\) while ensuring their complementary property (\(H_H + H_L =1\)).
To do so, we define two weighting functions \(w_L\) and \(w_H\) that will respectively used to shape \(H_L\) and \(H_H\).
The synthesis problem is then
\begin{subnumcases}{\text{Find } H_L, H_H \text{ such that}}
H_L \text{ and } H_H \text{ are stable}\label{eq:hinf_cond_stability}\\
To express this synthesis problem into an \(\hinf\) synthesis problem, we define the following generalized plant \(P\) (also shown on Fig. \ref{fig:sf_hinf_filters_plant_b}):
Generalized plant for the synthesis of the complementary filters}
\end{figure}
The \(\hinf\) synthesis objective is then to design a stable filter \(H_L\) (Fig. \ref{fig:sf_hinf_filters_b}) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_H, \ z_L]\) is less than \(1\):