diff --git a/journal/figs/h_infinity_robust_fusion.pdf b/journal/figs/h_infinity_robust_fusion.pdf index 1f9a5f4..5fb068d 100644 Binary files a/journal/figs/h_infinity_robust_fusion.pdf and b/journal/figs/h_infinity_robust_fusion.pdf differ diff --git a/journal/figs/h_infinity_robust_fusion.png b/journal/figs/h_infinity_robust_fusion.png index c8904de..d846b59 100644 Binary files a/journal/figs/h_infinity_robust_fusion.png and b/journal/figs/h_infinity_robust_fusion.png differ diff --git a/journal/figs/h_infinity_robust_fusion.svg b/journal/figs/h_infinity_robust_fusion.svg index d6b956f..2474eb3 100644 --- a/journal/figs/h_infinity_robust_fusion.svg +++ b/journal/figs/h_infinity_robust_fusion.svg @@ -1,195 +1,180 @@ - + - + - + - + - + - + - + - - - - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - + + + + + + + - + + - + - - - - - + + - + - + - + + + + + + + + + + + + diff --git a/journal/figs/hinf_filters_results.pdf b/journal/figs/hinf_filters_results.pdf index c0a0f9f..82877e7 100644 Binary files a/journal/figs/hinf_filters_results.pdf and b/journal/figs/hinf_filters_results.pdf differ diff --git a/journal/figs/hinf_filters_results.png b/journal/figs/hinf_filters_results.png index 139de64..68200e2 100644 Binary files a/journal/figs/hinf_filters_results.png and b/journal/figs/hinf_filters_results.png differ diff --git a/journal/figs/weights_W1_W2.pdf b/journal/figs/weights_W1_W2.pdf index 5122fe4..6ab3732 100644 Binary files a/journal/figs/weights_W1_W2.pdf and b/journal/figs/weights_W1_W2.pdf differ diff --git a/journal/figs/weights_W1_W2.png b/journal/figs/weights_W1_W2.png index 9c8a0eb..e448dd5 100644 Binary files a/journal/figs/weights_W1_W2.png and b/journal/figs/weights_W1_W2.png differ diff --git a/journal/journal.org b/journal/journal.org index d095561..cd57fc2 100644 --- a/journal/journal.org +++ b/journal/journal.org @@ -84,7 +84,7 @@ Sensor fusion \sep{} Optimal filters \sep{} $\mathcal{H}_\infty$ synthesis \sep{ ** New introduction :ignore: *** Introduction to Sensor Fusion :ignore: -# Basic explainations of sensor fusion +# Basic explanations of sensor fusion - cite:bendat57_optim_filter_indep_measur_two roots of sensor fusion @@ -432,16 +432,20 @@ For instance, the phase uncertainty $\Delta\phi(\omega)$ added by the super sens As it is generally desired to limit the maximum phase added by the super sensor, $H_1(s)$ and $H_2(s)$ should be designed such that $\Delta \phi$ is bounded to acceptable values. Typically, the norm of the complementary filter $|H_i(j\omega)|$ should be made small when $|w_i(j\omega)|$ is large, i.e., at frequencies where the sensor dynamics is uncertain. -* Complementary Filters Shaping using $\mathcal{H}_\infty$ Synthesis +* Complementary Filters Shaping <> ** Introduction :ignore: -As shown in Sec. ref:sec:requirements, the performance and robustness of the sensor fusion architecture depends on the complementary filters norms. -Therefore, the development of a synthesis method of complementary filters that allows the shaping of their norm is necessary. +As shown in Section ref:sec:requirements, the noise and robustness of the "super sensor" are determined by the complementary filters norms. +Therefore, a complementary filters synthesis method that allows to shape their norms would be of great use. + +In this section, such synthesis is proposed by expressing this problem as a $\mathcal{H}_\infty$ norm optimization. ** Synthesis Objective <> + The synthesis objective is to shape the norm of two filters $H_1(s)$ and $H_2(s)$ while ensuring their complementary property eqref:eq:comp_filter. -This is equivalent as to finding stable transfer functions $H_1(s)$ and $H_2(s)$ such that conditions eqref:eq:comp_filter_problem_form are satisfied. +This is equivalent as to finding proper and stable transfer functions $H_1(s)$ and $H_2(s)$ such that conditions eqref:eq:comp_filter_problem_form are satisfied. + #+name: eq:comp_filter_problem_form \begin{subequations} \begin{align} @@ -450,67 +454,76 @@ This is equivalent as to finding stable transfer functions $H_1(s)$ and $H_2(s)$ & |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:hinf_cond_h2} \end{align} \end{subequations} -where $W_1(s)$ and $W_2(s)$ are two weighting transfer functions that are chosen to shape the norms of the corresponding filters. +where $W_1(s)$ and $W_2(s)$ are two weighting transfer functions that are chosen to specify the maximum wanted norms of the complementary filters during the synthesis. ** Shaping of Complementary Filters using $\mathcal{H}_\infty$ synthesis <> -In order to express this optimization problem as a standard $\mathcal{H}_\infty$ problem, the architecture shown in Fig. ref:fig:h_infinity_robust_fusion is used where the generalized plant $P$ is described by eqref:eq:generalized_plant. + +In this section, it is shown that the synthesis objective can be easily expressed as a standard $\mathcal{H}_\infty$ optimal control problem and therefore solved using convenient tools readily available. + +Consider the generalized plant $P(s)$ shown in Figure ref:fig:h_infinity_robust_fusion and mathematically described by eqref:eq:generalized_plant. + #+name: eq:generalized_plant \begin{equation} - \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & W_2(s) \\ 1 & 0 \end{bmatrix} + \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix} \end{equation} #+name: fig:h_infinity_robust_fusion -#+caption: Architecture used for $\mathcal{H}_\infty$ synthesis of complementary filters +#+caption: Generalized plant used for $\mathcal{H}_\infty$ synthesis of complementary filters #+attr_latex: :scale 1 [[file:figs/h_infinity_robust_fusion.pdf]] -The $\mathcal{H}_\infty$ filter design problem is then to find a stable filter $H_2(s)$ which based on $v$, generates a signal $u$ such that the $\mathcal{H}_\infty$ norm from $w$ to $[z_1, \ z_2]$ is less than one eqref:eq:hinf_syn_obj. +Applying the standard $\mathcal{H}_\infty$ synthesis on the generalized plant $P(s)$ is then equivalent as finding a stable filter $H_2(s)$ which based on $v$, generates a signal $u$ such that the $\mathcal{H}_\infty$ norm from $w$ to $[z_1, \ z_2]$ is less than one eqref:eq:hinf_syn_obj. #+name: eq:hinf_syn_obj \begin{equation} - \left\|\begin{matrix} \left[1 - H_2(s)\right] W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 \end{equation} -This is equivalent to having eqref:eq:hinf_problem by defining $H_1(s)$ as the complementary filter of $H_2(s)$ eqref:eq:definition_H1. -#+name: eq:hinf_problem -\begin{equation} - \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 -\end{equation} +By then defining $H_1(s)$ to be the complementary of $H_2(s)$ eqref:eq:definition_H1, the $\mathcal{H}_\infty$ synthesis objective becomes equivalent to eqref:eq:hinf_problem which ensure that eqref:eq:hinf_cond_h1 and eqref:eq:hinf_cond_h2 are satisfied. #+name: eq:definition_H1 \begin{equation} H_1(s) \triangleq 1 - H_2(s) \end{equation} -The complementary condition eqref:eq:hinf_cond_complementarity is ensured by eqref:eq:definition_H1. -The conditions eqref:eq:hinf_cond_h1 and eqref:eq:hinf_cond_h2 on the filters shapes are satisfied by eqref:eq:hinf_problem. -Therefore, all the conditions eqref:eq:comp_filter_problem_form are satisfied using this synthesis method based on $\mathcal{H}_\infty$ synthesis, and thus it permits to shape complementary filters as desired. +#+name: eq:hinf_problem +\begin{equation} + \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +Therefore, applying the $\mathcal{H}_\infty$ synthesis on the standard plant $P(s)$ eqref:eq:generalized_plant will generate two filters $H_2(s)$ and $H_1(s) \triangleq 1 - H_2(s)$ that are complementary eqref:eq:comp_filter_problem_form and such that there norms are bellow specified bounds [[eqref:eq:hinf_cond_h1]],eqref:eq:hinf_cond_h2. + +The above optimization problem can be efficiently solved in Matlab cite:matlab20 using the Robust Control Toolbox. ** Weighting Functions Design <> -The proper design of the weighting functions is of primary importance for the success of the presented complementary filters $\mathcal{H}_\infty$ synthesis. -First, only proper, stable and minimum phase transfer functions should be used. -Second, the order of the weights should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the order of the synthesized filters being equal to the sum of the weighting functions order). +Weighting functions are used during the synthesis to specify what is the maximum allowed norms of the complementary filters. +The proper design of these weighting functions is of primary importance for the success of the presented complementary filters $\mathcal{H}_\infty$ synthesis. + +First, only proper and stable transfer functions should be used. +Second, the order of the weighting functions should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the order of the synthesized filters being equal to the sum of the weighting functions order). Third, one should not forget the fundamental limitations imposed by the complementary property eqref:eq:comp_filter. -This implies for instance that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot be made small at the same time. +This implies for instance that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot be made small at the same frequency. + + +When designing complementary filters, it is usually desired to specify its slope, its crossover frequency and its maximum gain at low and high frequency. +To help with the design of the weighting functions such that the above specification can be easily expressed, the formula eqref:eq:weight_formula is proposed. -# Explain why we propose such weighting function -When designing complementary filters, it is usually desired to specify the slope of the filter, its crossover frequency and its gain at low and high frequency. -To help with the design of the weighting functions such that the above specification can be easily expressed, the following formula is proposed. #+name: eq:weight_formula \begin{equation} W(s) = \left( \frac{ - \hfill{} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}} + \hfill{} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}} }{ - \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}} + \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}} }\right)^n \end{equation} -The parameters permit to specify: -- the low frequency gain: $G_0 = lim_{\omega \to 0} |W(j\omega)|$ -- the high frequency gain: $G_\infty = lim_{\omega \to \infty} |W(j\omega)|$ -- the absolute gain at $\omega_0$: $G_c = |W(j\omega_0)|$ -- the absolute slope between high and low frequency: $n$ + +The parameters in formula eqref:eq:weight_formula are: +- $G_0 = lim_{\omega \to 0} |W(j\omega)|$: the low frequency gain +- $G_\infty = lim_{\omega \to \infty} |W(j\omega)|$: the high frequency gain +- $G_c = |W(j\omega_c)|$: the gain at $\omega_c$ +- $n$: the slope between high and low frequency. It is also the order of the weighting function. The parameters $G_0$, $G_c$ and $G_\infty$ should either satisfy condition eqref:eq:cond_formula_1 or eqref:eq:cond_formula_2. #+name: eq:condition_params_formula @@ -521,7 +534,7 @@ The parameters $G_0$, $G_c$ and $G_\infty$ should either satisfy condition eqref \end{align} \end{subequations} -The general shape of a weighting function generated using eqref:eq:weight_formula is shown in Fig. ref:fig:weight_formula. +The typical shape of a weighting function generated using eqref:eq:weight_formula is shown in Figure ref:fig:weight_formula. #+name: fig:weight_formula #+caption: Magnitude of a weighting function generated using the proposed formula eqref:eq:weight_formula, $G_0 = 1e^{-3}$, $G_\infty = 10$, $\omega_c = \SI{10}{Hz}$, $G_c = 2$, $n = 3$ @@ -530,37 +543,56 @@ The general shape of a weighting function generated using eqref:eq:weight_formul ** Validation of the proposed synthesis method <> -Let's validate the proposed design method of complementary filters with a simple example where two complementary filters $H_1(s)$ and $H_2(s)$ have to be designed such that: + +The proposed methodology for the design of complementary filters is now applied on a simple example where two complementary filters $H_1(s)$ and $H_2(s)$ have to be designed such that: - the merging frequency is around $\SI{10}{Hz}$ - the slope of $|H_1(j\omega)|$ is $-2$ above $\SI{10}{Hz}$ - the slope of $|H_2(j\omega)|$ is $+3$ below $\SI{10}{Hz}$ -- the gain of both filters is equal to $10^{-3}$ away from the merging frequency +- the maximum gain of both filters is $10^{-3}$ away from the merging frequency -The weighting functions $W_1(s)$ and $W_2(s)$ are designed using eqref:eq:weight_formula. -The parameters used are summarized in table ref:tab:weights_params and the magnitude of the weighting functions is shown in Fig. ref:fig:hinf_filters_results. +The first step is to design weighting functions that translate the above requirements. +They are here designed using eqref:eq:weight_formula with parameters summarized in table ref:tab:weights_params. +The magnitudes of the weighting functions are shown by dashed lines in Figure ref:fig:hinf_filters_results. #+name: tab:weights_params -#+caption: Parameters used for $W_1(s)$ and $W_2(s)$ -#+ATTR_LATEX: :environment tabularx :width 0.5\linewidth :align Xcc +#+caption: Parameters used for weighting functions $W_1(s)$ and $W_2(s)$ using eqref:eq:weight_formula +#+ATTR_LATEX: :environment tabularx :width 0.29\linewidth :align ccc #+ATTR_LATEX: :center t :booktabs t :float t -| Parameter | $W_1(s)$ | $W_2(s)$ | -|------------------------+----------+----------| -| $G_0$ | $0.1$ | $1000$ | -| $G_\infty$ | $1000$ | $0.1$ | -| $\omega_c$ [$\si{Hz}$] | $11$ | $10$ | -| $G_c$ | $0.5$ | $0.5$ | -| $n$ | $2$ | $3$ | +| Parameters | $W_1(s)$ | $W_2(s)$ | +|------------+---------------+---------------| +| $G_0$ | $0.1$ | $1000$ | +| $G_\infty$ | $1000$ | $0.1$ | +| $\omega_c$ | $2\pi\cdot10$ | $2\pi\cdot10$ | +| $G_c$ | $0.45$ | $0.45$ | +| $n$ | $2$ | $3$ | -The bode plots of the obtained complementary filters are shown in Fig. ref:fig:hinf_filters_results and their transfer functions in the Laplace domain are given below. -\begin{align*} - H_1(s) &= \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)}\\ - H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} -\end{align*} +The $\mathcal{H}_\infty$ synthesis is applied on the generalized plant of Figure ref:fig:h_infinity_robust_fusion using the Matlab =hinfsyn= command. +The synthesized filter $H_2(s)$ is such that $\mathcal{H}_\infty$ norm between $w$ and $[z_1,\ z_2]^T$ is minimized and here found close to one eqref:eq:hinf_synthesis_result. + +#+name: eq:hinf_synthesis_result +\begin{equation} + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \approx 1 +\end{equation} + +The bode plots of the obtained complementary filters are shown by solid lines in Figure ref:fig:hinf_filters_results and their transfer functions in the Laplace domain are given in eqref:eq:hinf_synthesis_result_tf. + +#+name: eq:hinf_synthesis_result_tf +\begin{subequations} + \begin{align} + H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} \\ + H_1(s) &\triangleq H_2(s) - 1 = \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} + \end{align} +\end{subequations} + +The obtained transfer functions are of order $5$ as expected (sum of the weighting functions orders), and their magnitudes are bellow the maximum specified ones as ensured by eqref:eq:hinf_synthesis_result. #+name: fig:hinf_filters_results #+caption: Frequency response of the weighting functions and complementary filters obtained using $\mathcal{H}_\infty$ synthesis [[file:figs/hinf_filters_results.pdf]] +This simple example illustrates the fact that the proposed methodology for complementary filters shaping is quite easy to use and effective. +A more complex real life example is taken up in the next section. + * Application: Design of Complementary Filters used in the Active Vibration Isolation System at the LIGO <> ** Introduction :ignore: @@ -607,7 +639,7 @@ They are found to be very close to each other and this shows the effectiveness o * Discussion ** Alternative configuration -- Feedback architecture : Similar to mixed sensitivity +- Feedback architecture : Similar to mixed sensitivity (add schematic of feedback loop with weights) - 2 inputs / 1 output Explain differences diff --git a/journal/journal.pdf b/journal/journal.pdf index 3f836d9..7d23240 100644 Binary files a/journal/journal.pdf and b/journal/journal.pdf differ diff --git a/journal/journal.tex b/journal/journal.tex index 7f9b52b..7316f21 100644 --- a/journal/journal.tex +++ b/journal/journal.tex @@ -1,4 +1,4 @@ -% Created 2021-05-19 mer. 11:46 +% Created 2021-05-20 jeu. 11:13 % Intended LaTeX compiler: pdflatex \documentclass[preprint, sort&compress]{elsarticle} \usepackage[utf8]{inputenc} @@ -58,7 +58,7 @@ Sensor fusion \sep{} Optimal filters \sep{} \(\mathcal{H}_\infty\) synthesis \se \end{frontmatter} \section{Introduction} -\label{sec:org188c07e} +\label{sec:org810a8ae} \label{sec:introduction} \begin{itemize} \item \cite{bendat57_optim_filter_indep_measur_two} roots of sensor fusion @@ -105,13 +105,13 @@ Most of the requirements => shape of the complementary filters => propose a way to shape complementary filters. \section{Sensor Fusion and Complementary Filters Requirements} -\label{sec:org99f43ee} +\label{sec:orge97289b} \label{sec:requirements} Complementary filters provides a framework for fusing signals from different sensors. As the effectiveness of the fusion depends on the proper design of the complementary filters, they are expected to fulfill certain requirements. These requirements are discussed in this section. \subsection{Sensor Fusion Architecture} -\label{sec:orgec9e73a} +\label{sec:org0a17c4e} \label{sec:sensor_fusion} A general sensor fusion architecture using complementary filters is shown in Figure \ref{fig:sensor_fusion_overview} where several sensors (here two) are measuring the same physical quantity \(x\). @@ -138,7 +138,7 @@ Therefore, a pair of strict complementary filter needs to satisfy the following It will soon become clear why the complementary property is important. \subsection{Sensor Models and Sensor Normalization} -\label{sec:org9538be3} +\label{sec:org52d9122} \label{sec:sensor_models} In order to study such sensor fusion architecture, a model of the sensors is required. @@ -187,7 +187,7 @@ The super sensor output is therefore equal to: \end{figure} \subsection{Noise Sensor Filtering} -\label{sec:orgb03f925} +\label{sec:orgf08876b} \label{sec:noise_filtering} In this section, it is supposed that all the sensors are perfectly calibrated, such that: @@ -227,7 +227,7 @@ In such case, to lower the noise of the super sensor, the value of the norm \(|H Therefore, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor noise. \subsection{Sensor Fusion Robustness} -\label{sec:orgfb0ea88} +\label{sec:org3269d9e} \label{sec:fusion_robustness} In practical systems the sensor normalization is not perfect and condition \eqref{eq:perfect_dynamics} is not verified. @@ -288,16 +288,20 @@ For instance, the phase uncertainty \(\Delta\phi(\omega)\) added by the super se As it is generally desired to limit the maximum phase added by the super sensor, \(H_1(s)\) and \(H_2(s)\) should be designed such that \(\Delta \phi\) is bounded to acceptable values. Typically, the norm of the complementary filter \(|H_i(j\omega)|\) should be made small when \(|w_i(j\omega)|\) is large, i.e., at frequencies where the sensor dynamics is uncertain. -\section{Complementary Filters Shaping using \(\mathcal{H}_\infty\) Synthesis} -\label{sec:orgfccc360} +\section{Complementary Filters Shaping} +\label{sec:orga11797e} \label{sec:hinf_method} -As shown in Sec. \ref{sec:requirements}, the performance and robustness of the sensor fusion architecture depends on the complementary filters norms. -Therefore, the development of a synthesis method of complementary filters that allows the shaping of their norm is necessary. +As shown in Section \ref{sec:requirements}, the noise and robustness of the ``super sensor'' are determined by the complementary filters norms. +Therefore, a complementary filters synthesis method that allows to shape their norms would be of great use. + +In this section, such synthesis is proposed by expressing this problem as a \(\mathcal{H}_\infty\) norm optimization. \subsection{Synthesis Objective} -\label{sec:orga79128d} +\label{sec:orgc196ed6} \label{sec:synthesis_objective} + The synthesis objective is to shape the norm of two filters \(H_1(s)\) and \(H_2(s)\) while ensuring their complementary property \eqref{eq:comp_filter}. -This is equivalent as to finding stable transfer functions \(H_1(s)\) and \(H_2(s)\) such that conditions \eqref{eq:comp_filter_problem_form} are satisfied. +This is equivalent as to finding proper and stable transfer functions \(H_1(s)\) and \(H_2(s)\) such that conditions \eqref{eq:comp_filter_problem_form} are satisfied. + \begin{subequations} \label{eq:comp_filter_problem_form} \begin{align} @@ -306,70 +310,80 @@ This is equivalent as to finding stable transfer functions \(H_1(s)\) and \(H_2( & |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:hinf_cond_h2} \end{align} \end{subequations} -where \(W_1(s)\) and \(W_2(s)\) are two weighting transfer functions that are chosen to shape the norms of the corresponding filters. +where \(W_1(s)\) and \(W_2(s)\) are two weighting transfer functions that are chosen to specify the maximum wanted norms of the complementary filters during the synthesis. \subsection{Shaping of Complementary Filters using \(\mathcal{H}_\infty\) synthesis} -\label{sec:org91451ed} +\label{sec:orgf037f4b} \label{sec:hinf_synthesis} -In order to express this optimization problem as a standard \(\mathcal{H}_\infty\) problem, the architecture shown in Fig. \ref{fig:h_infinity_robust_fusion} is used where the generalized plant \(P\) is described by \eqref{eq:generalized_plant}. + +In this section, it is shown that the synthesis objective can be easily expressed as a standard \(\mathcal{H}_\infty\) optimal control problem and therefore solved using convenient tools readily available. + +Consider the generalized plant \(P(s)\) shown in Figure \ref{fig:h_infinity_robust_fusion} and mathematically described by \eqref{eq:generalized_plant}. + \begin{equation} \label{eq:generalized_plant} - \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & W_2(s) \\ 1 & 0 \end{bmatrix} + \begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & \phantom{+}W_2(s) \\ 1 & 0 \end{bmatrix} \end{equation} \begin{figure}[htbp] \centering \includegraphics[scale=1,scale=1]{figs/h_infinity_robust_fusion.pdf} -\caption{\label{fig:h_infinity_robust_fusion}Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters} +\caption{\label{fig:h_infinity_robust_fusion}Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters} \end{figure} -The \(\mathcal{H}_\infty\) filter design problem is then to find a stable filter \(H_2(s)\) which based on \(v\), generates a signal \(u\) such that the \(\mathcal{H}_\infty\) norm from \(w\) to \([z_1, \ z_2]\) is less than one \eqref{eq:hinf_syn_obj}. +Applying the standard \(\mathcal{H}_\infty\) synthesis on the generalized plant \(P(s)\) is then equivalent as finding a stable filter \(H_2(s)\) which based on \(v\), generates a signal \(u\) such that the \(\mathcal{H}_\infty\) norm from \(w\) to \([z_1, \ z_2]\) is less than one \eqref{eq:hinf_syn_obj}. \begin{equation} \label{eq:hinf_syn_obj} - \left\|\begin{matrix} \left[1 - H_2(s)\right] W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 \end{equation} -This is equivalent to having \eqref{eq:hinf_problem} by defining \(H_1(s)\) as the complementary filter of \(H_2(s)\) \eqref{eq:definition_H1}. -\begin{equation} -\label{eq:hinf_problem} - \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 -\end{equation} +By then defining \(H_1(s)\) to be the complementary of \(H_2(s)\) \eqref{eq:definition_H1}, the \(\mathcal{H}_\infty\) synthesis objective becomes equivalent to \eqref{eq:hinf_problem} which ensure that \eqref{eq:hinf_cond_h1} and \eqref{eq:hinf_cond_h2} are satisfied. \begin{equation} \label{eq:definition_H1} H_1(s) \triangleq 1 - H_2(s) \end{equation} -The complementary condition \eqref{eq:hinf_cond_complementarity} is ensured by \eqref{eq:definition_H1}. -The conditions \eqref{eq:hinf_cond_h1} and \eqref{eq:hinf_cond_h2} on the filters shapes are satisfied by \eqref{eq:hinf_problem}. -Therefore, all the conditions \eqref{eq:comp_filter_problem_form} are satisfied using this synthesis method based on \(\mathcal{H}_\infty\) synthesis, and thus it permits to shape complementary filters as desired. +\begin{equation} +\label{eq:hinf_problem} + \left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1 +\end{equation} + +Therefore, applying the \(\mathcal{H}_\infty\) synthesis on the standard plant \(P(s)\) \eqref{eq:generalized_plant} will generate two filters \(H_2(s)\) and \(H_1(s) \triangleq 1 - H_2(s)\) that are complementary \eqref{eq:comp_filter_problem_form} and such that there norms are bellow specified bounds \eqref{eq:hinf_cond_h1},\eqref{eq:hinf_cond_h2}. + +The above optimization problem can be efficiently solved in Matlab \cite{matlab20} using the Robust Control Toolbox. \subsection{Weighting Functions Design} -\label{sec:orge5f38aa} +\label{sec:org80ebc41} \label{sec:hinf_weighting_func} -The proper design of the weighting functions is of primary importance for the success of the presented complementary filters \(\mathcal{H}_\infty\) synthesis. -First, only proper, stable and minimum phase transfer functions should be used. -Second, the order of the weights should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the order of the synthesized filters being equal to the sum of the weighting functions order). +Weighting functions are used during the synthesis to specify what is the maximum allowed norms of the complementary filters. +The proper design of these weighting functions is of primary importance for the success of the presented complementary filters \(\mathcal{H}_\infty\) synthesis. + +First, only proper and stable transfer functions should be used. +Second, the order of the weighting functions should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the order of the synthesized filters being equal to the sum of the weighting functions order). Third, one should not forget the fundamental limitations imposed by the complementary property \eqref{eq:comp_filter}. -This implies for instance that \(|H_1(j\omega)|\) and \(|H_2(j\omega)|\) cannot be made small at the same time. +This implies for instance that \(|H_1(j\omega)|\) and \(|H_2(j\omega)|\) cannot be made small at the same frequency. + + +When designing complementary filters, it is usually desired to specify its slope, its crossover frequency and its maximum gain at low and high frequency. +To help with the design of the weighting functions such that the above specification can be easily expressed, the formula \eqref{eq:weight_formula} is proposed. -When designing complementary filters, it is usually desired to specify the slope of the filter, its crossover frequency and its gain at low and high frequency. -To help with the design of the weighting functions such that the above specification can be easily expressed, the following formula is proposed. \begin{equation} \label{eq:weight_formula} W(s) = \left( \frac{ - \hfill{} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}} + \hfill{} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}} }{ - \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}} + \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_c} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}} }\right)^n \end{equation} -The parameters permit to specify: + +The parameters in formula \eqref{eq:weight_formula} are: \begin{itemize} -\item the low frequency gain: \(G_0 = lim_{\omega \to 0} |W(j\omega)|\) -\item the high frequency gain: \(G_\infty = lim_{\omega \to \infty} |W(j\omega)|\) -\item the absolute gain at \(\omega_0\): \(G_c = |W(j\omega_0)|\) -\item the absolute slope between high and low frequency: \(n\) +\item \(G_0 = lim_{\omega \to 0} |W(j\omega)|\): the low frequency gain +\item \(G_\infty = lim_{\omega \to \infty} |W(j\omega)|\): the high frequency gain +\item \(G_c = |W(j\omega_c)|\): the gain at \(\omega_c\) +\item \(n\): the slope between high and low frequency. It is also the order of the weighting function. \end{itemize} The parameters \(G_0\), \(G_c\) and \(G_\infty\) should either satisfy condition \eqref{eq:cond_formula_1} or \eqref{eq:cond_formula_2}. @@ -381,7 +395,7 @@ The parameters \(G_0\), \(G_c\) and \(G_\infty\) should either satisfy condition \end{align} \end{subequations} -The general shape of a weighting function generated using \eqref{eq:weight_formula} is shown in Fig. \ref{fig:weight_formula}. +The typical shape of a weighting function generated using \eqref{eq:weight_formula} is shown in Figure \ref{fig:weight_formula}. \begin{figure}[htbp] \centering @@ -390,40 +404,56 @@ The general shape of a weighting function generated using \eqref{eq:weight_formu \end{figure} \subsection{Validation of the proposed synthesis method} -\label{sec:org0477d6e} +\label{sec:orge831635} \label{sec:hinf_example} -Let's validate the proposed design method of complementary filters with a simple example where two complementary filters \(H_1(s)\) and \(H_2(s)\) have to be designed such that: + +The proposed methodology for the design of complementary filters is now applied on a simple example where two complementary filters \(H_1(s)\) and \(H_2(s)\) have to be designed such that: \begin{itemize} \item the merging frequency is around \(\SI{10}{Hz}\) \item the slope of \(|H_1(j\omega)|\) is \(-2\) above \(\SI{10}{Hz}\) \item the slope of \(|H_2(j\omega)|\) is \(+3\) below \(\SI{10}{Hz}\) -\item the gain of both filters is equal to \(10^{-3}\) away from the merging frequency +\item the maximum gain of both filters is \(10^{-3}\) away from the merging frequency \end{itemize} -The weighting functions \(W_1(s)\) and \(W_2(s)\) are designed using \eqref{eq:weight_formula}. -The parameters used are summarized in table \ref{tab:weights_params} and the magnitude of the weighting functions is shown in Fig. \ref{fig:hinf_filters_results}. +The first step is to design weighting functions that translate the above requirements. +They are here designed using \eqref{eq:weight_formula} with parameters summarized in table \ref{tab:weights_params}. +The magnitudes of the weighting functions are shown by dashed lines in Figure \ref{fig:hinf_filters_results}. \begin{table}[htbp] -\caption{\label{tab:weights_params}Parameters used for \(W_1(s)\) and \(W_2(s)\)} +\caption{\label{tab:weights_params}Parameters used for weighting functions \(W_1(s)\) and \(W_2(s)\) using \eqref{eq:weight_formula}} \centering -\begin{tabularx}{0.5\linewidth}{Xcc} +\begin{tabularx}{0.29\linewidth}{ccc} \toprule -Parameter & \(W_1(s)\) & \(W_2(s)\)\\ +Parameters & \(W_1(s)\) & \(W_2(s)\)\\ \midrule \(G_0\) & \(0.1\) & \(1000\)\\ \(G_\infty\) & \(1000\) & \(0.1\)\\ -\(\omega_c\) [\(\si{Hz}\)] & \(11\) & \(10\)\\ -\(G_c\) & \(0.5\) & \(0.5\)\\ +\(\omega_c\) & \(2\pi\cdot10\) & \(2\pi\cdot10\)\\ +\(G_c\) & \(0.45\) & \(0.45\)\\ \(n\) & \(2\) & \(3\)\\ \bottomrule \end{tabularx} \end{table} -The bode plots of the obtained complementary filters are shown in Fig. \ref{fig:hinf_filters_results} and their transfer functions in the Laplace domain are given below. -\begin{align*} - H_1(s) &= \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)}\\ - H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} -\end{align*} +The \(\mathcal{H}_\infty\) synthesis is applied on the generalized plant of Figure \ref{fig:h_infinity_robust_fusion} using the Matlab \texttt{hinfsyn} command. +The synthesized filter \(H_2(s)\) is such that \(\mathcal{H}_\infty\) norm between \(w\) and \([z_1,\ z_2]^T\) is minimized and here found close to one \eqref{eq:hinf_synthesis_result}. + +\begin{equation} +\label{eq:hinf_synthesis_result} + \left\|\begin{matrix} \left(1 - H_2(s)\right) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \approx 1 +\end{equation} + +The bode plots of the obtained complementary filters are shown by solid lines in Figure \ref{fig:hinf_filters_results} and their transfer functions in the Laplace domain are given in \eqref{eq:hinf_synthesis_result_tf}. + +\begin{subequations} +\label{eq:hinf_synthesis_result_tf} + \begin{align} + H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} \\ + H_1(s) &\triangleq H_2(s) - 1 = \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)} + \end{align} +\end{subequations} + +The obtained transfer functions are of order \(5\) as expected (sum of the weighting functions orders), and their magnitudes are bellow the maximum specified ones as ensured by \eqref{eq:hinf_synthesis_result}. \begin{figure}[htbp] \centering @@ -431,8 +461,11 @@ The bode plots of the obtained complementary filters are shown in Fig. \ref{fig: \caption{\label{fig:hinf_filters_results}Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis} \end{figure} +This simple example illustrates the fact that the proposed methodology for complementary filters shaping is quite easy to use and effective. +A more complex real life example is taken up in the next section. + \section{Application: Design of Complementary Filters used in the Active Vibration Isolation System at the LIGO} -\label{sec:org70c1567} +\label{sec:org5405518} \label{sec:application_ligo} Several complementary filters are used in the active isolation system at the LIGO \cite{hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system}. The requirements on those filters are very tight and thus their design is complex. @@ -441,7 +474,7 @@ The obtained FIR filters are compliant with the requirements. However they are o The effectiveness of the proposed method is demonstrated by designing complementary filters with the same requirements as the one described in \cite{hua05_low_ligo}. \subsection{Complementary Filters Specifications} -\label{sec:orgdfbd1f2} +\label{sec:orgd3d9b91} \label{sec:ligo_specifications} The specifications for one pair of complementary filters used at the LIGO are summarized below (for further details, refer to \cite{hua04_polyp_fir_compl_filter_contr_system}) and shown in Fig. \ref{fig:ligo_weights}: \begin{itemize} @@ -452,7 +485,7 @@ The specifications for one pair of complementary filters used at the LIGO are su \end{itemize} \subsection{Weighting Functions Design} -\label{sec:orgf9892b6} +\label{sec:orgcda22a3} \label{sec:ligo_weights} The weighting functions should be designed such that their inverse magnitude is as close as possible to the specifications in order to not over-constrain the synthesis problem. However, the order of each weight should stay reasonably small in order to reduce the computational costs of the optimization problem as well as for the physical implementation of the filters. @@ -468,7 +501,7 @@ The magnitudes of the weighting functions are shown in Fig. \ref{fig:ligo_weight \end{figure} \subsection{\(\mathcal{H}_\infty\) Synthesis} -\label{sec:orge086b06} +\label{sec:org5fc1ebf} \label{sec:ligo_results} \(\mathcal{H}_\infty\) synthesis is performed using the architecture shown in Fig. \ref{eq:generalized_plant}. The complementary filters obtained are of order \(27\). @@ -482,24 +515,24 @@ They are found to be very close to each other and this shows the effectiveness o \end{figure} \section{Discussion} -\label{sec:org7b7d598} +\label{sec:org2363233} \subsection{Alternative configuration} -\label{sec:org56a1607} +\label{sec:org164637d} \begin{itemize} -\item Feedback architecture : Similar to mixed sensitivity +\item Feedback architecture : Similar to mixed sensitivity (add schematic of feedback loop with weights) \item 2 inputs / 1 output \end{itemize} Explain differences \subsection{Imposing zero at origin / roll-off} -\label{sec:org8da9d79} +\label{sec:orgf116368} 3 methods: Link to literature about doing that with mixed sensitivity \subsection{Synthesis of Three Complementary Filters} -\label{sec:orgefead29} +\label{sec:orgbdd0317} \label{sec:hinf_three_comp_filters} Some applications may require to merge more than two sensors. In such a case, it is necessary to design as many complementary filters as the number of sensors used. @@ -537,7 +570,7 @@ The bode plots of the obtained complementary filters are shown in Fig. \ref{fig: \end{figure} \section{Conclusion} -\label{sec:org2e6ce14} +\label{sec:org150800b} \label{sec:conclusion} This paper has shown how complementary filters can be used to combine multiple sensors in order to obtain a super sensor. Typical specification on the super sensor noise and on the robustness of the sensor fusion has been shown to be linked to the norm of the complementary filters. @@ -545,7 +578,7 @@ Therefore, a synthesis method that permits the shaping of the complementary filt Future work will aim at further developing this synthesis method for the robust and optimal synthesis of complementary filters used in sensor fusion. \section*{Acknowledgment} -\label{sec:orgde5a128} +\label{sec:org6c6a099} This research benefited from a FRIA grant from the French Community of Belgium. \bibliographystyle{elsarticle-num} diff --git a/matlab/index.org b/matlab/index.org index a68bf57..5190a0a 100644 --- a/matlab/index.org +++ b/matlab/index.org @@ -167,10 +167,10 @@ exportFig('figs/weight_formula.pdf', 'width', 'wide', 'height', 'normal'); [[file:figs/weight_formula.png]] #+begin_src matlab -n = 2; w0 = 2*pi*11; G0 = 1/10; G1 = 1000; Gc = 1/2; +n = 2; w0 = 2*pi*10; G0 = 1/10; G1 = 1000; Gc = 0.45; W1 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n; -n = 3; w0 = 2*pi*10; G0 = 1000; G1 = 0.1; Gc = 1/2; +n = 3; w0 = 2*pi*10; G0 = 1000; G1 = 0.1; Gc = 0.45; W2 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n; #+end_src @@ -216,35 +216,28 @@ And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command. #+RESULTS: #+begin_example [H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); -Resetting value of Gamma min based on D_11, D_12, D_21 terms -Test bounds: 0.1000 < gamma <= 1050.0000 + Test bounds: 0.3223 <= gamma <= 1000 - gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f -1.050e+03 2.8e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 525.050 2.8e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 262.575 2.8e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 131.337 2.8e+01 2.4e-07 4.1e+00 -1.0e-13 0.0000 p - 65.719 2.8e+01 2.4e-07 4.1e+00 -9.5e-14 0.0000 p - 32.909 2.8e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 16.505 2.8e+01 2.4e-07 4.1e+00 -1.0e-13 0.0000 p - 8.302 2.8e+01 2.4e-07 4.1e+00 -7.2e-14 0.0000 p - 4.201 2.8e+01 2.4e-07 4.1e+00 -2.5e-25 0.0000 p - 2.151 2.7e+01 2.4e-07 4.1e+00 -3.8e-14 0.0000 p - 1.125 2.6e+01 2.4e-07 4.1e+00 -5.4e-24 0.0000 p - 0.613 2.3e+01 -3.7e+01# 4.1e+00 0.0e+00 0.0000 f - 0.869 2.6e+01 -3.7e+02# 4.1e+00 0.0e+00 0.0000 f - 0.997 2.6e+01 -1.1e+04# 4.1e+00 0.0e+00 0.0000 f - 1.061 2.6e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 1.029 2.6e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 1.013 2.6e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 1.005 2.6e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p - 1.001 2.6e+01 -3.1e+04# 4.1e+00 -3.8e-14 0.0000 f - 1.003 2.6e+01 -2.8e+05# 4.1e+00 0.0e+00 0.0000 f - 1.004 2.6e+01 2.4e-07 4.1e+00 -5.8e-24 0.0000 p - 1.004 2.6e+01 2.4e-07 4.1e+00 0.0e+00 0.0000 p + gamma X>=0 Y>=0 rho(XY)<1 p/f + 1.795e+01 1.4e-07 0.0e+00 1.481e-16 p + 2.406e+00 1.4e-07 0.0e+00 3.604e-15 p + 8.806e-01 -3.1e+02 # -1.4e-16 7.370e-19 f + 1.456e+00 1.4e-07 0.0e+00 1.499e-18 p + 1.132e+00 1.4e-07 0.0e+00 8.587e-15 p + 9.985e-01 1.4e-07 0.0e+00 2.331e-13 p + 9.377e-01 -7.7e+02 # -6.6e-17 3.744e-14 f + 9.676e-01 -2.0e+03 # -5.7e-17 1.046e-13 f + 9.829e-01 -6.6e+03 # -1.1e-16 2.949e-13 f + 9.907e-01 1.4e-07 0.0e+00 2.374e-19 p + 9.868e-01 -1.6e+04 # -6.4e-17 5.331e-14 f + 9.887e-01 -5.1e+04 # -1.5e-17 2.703e-19 f + 9.897e-01 1.4e-07 0.0e+00 1.583e-11 p + Limiting gains... + 9.897e-01 1.5e-07 0.0e+00 1.183e-12 p + 9.897e-01 6.9e-07 0.0e+00 1.365e-12 p - Gamma value achieved: 1.0036 + Best performance (actual): 0.9897 #+end_example We then define the high pass filter $H_1 = 1 - H_2$. The bode plot of both $H_1$ and $H_2$ is shown on figure [[fig:hinf_filters_results]]. diff --git a/mohit/paper.org b/mohit/paper.org index e317dbf..90b5a6c 100644 --- a/mohit/paper.org +++ b/mohit/paper.org @@ -196,9 +196,11 @@ is given by $$\label{eq:noise_filtering_psd} \Phi_{\delta x} = \left|H_1\right|^2 \Phi_{n_1} + \left|H_2\right|^2 \Phi_{n_2}$$ where, $\Phi_{\delta x}$ is the PSD of estimation error, $\Phi_{n_1}$ and $\Phi_{n_2}$ are the PSDs of the noise associated with the -individual sensor. It can be seen that the estimation error's PSD +individual sensor. +It can be seen that the estimation error's PSD depends on the PSD of the noise in individual sensor as well as the norm -of the complementary filters. Therefore, by properly shaping the norm of +of the complementary filters. +Therefore, by properly shaping the norm of the complementary filters, it is possible to minimize the noise of the super sensor noise. @@ -236,19 +238,8 @@ The dynamics of the super sensor now depends on the weighting functions ($w_1(s),w_2(s)$) and the complementary filters ($H_1(s),H_2(s)$). The robust stability of the fusion can be studied graphically (refer -Figure [[#fig:uncertainty_set_super_sensor][3]]). The frequency response -of the fusion output is plotted in a complex plane. The unity transfer -function leads to a point $(1,0)$ located on the real axis. The -uncertainty associated with first sensor at a particular frequency is -represented by a circle with the center at (1,0) and radius $|w_1H_1|$. -The uncertainty associated with the second is also represented using a -circle centered at any point on the circle representing uncertainty -associated with the first sensor and radius equal to $|w_2H_2|$. -Therefore, the overall uncertainty of the fusion is represented with a -circle centered at (1,0) and radius equal to $|w_1H_1|+|w_2H_2|$. The -maximum phase difference that can result from the fusion is found by -drawing a tangent from the origin to the uncertainty circle of super -sensor. Mathematically, the maximum phase difference at frequency +Figure [[#fig:uncertainty_set_super_sensor][3]]). The frequency response of the fusion output is plotted in a complex plane. The unity transfer function leads to a point $(1,0)$ located on the real axis. The uncertainty associated with first sensor at a particular frequency is represented by a circle with the center at (1,0) and radius $|w_1H_1|$. The uncertainty associated with the second is also represented using a circle centered at any point on the circle representing uncertainty associated with the first sensor and radius equal to $|w_2H_2|$. Therefore, the overall uncertainty of the fusion is represented with a circle centered at (1,0) and radius equal to $|w_1H_1|+|w_2H_2|$. +Mathematically, the maximum phase difference at frequency $\omega$ that can result from fusion is given by $$\label{eq:max_phase_uncertainty} \Delta\phi(\omega) = \arcsin\left( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \right)$$ @@ -271,10 +262,8 @@ transfer functions ($|w_i|$) representing sensor uncertainty is large. * Design formulation using $\mathcal{H}_\infty$ synthesis ** Introduction :ignore: -In this section, the shaping of complementary filters is expressed as an -optimal $\mathcal{H}_{\infty}$ synthesis problem. The synthesis goal is -to shape the frequency response of the filters such that they satisfy -the design requirements presented in Section [[*Complementary filters +In this section, the shaping of complementary filters is expressed as an optimal $\mathcal{H}_{\infty}$ synthesis problem. +The synthesis goal is to shape the frequency response of the filters such that they satisfy the design requirements presented in Section [[*Complementary filters requirements][2]]. ** Synthesis problem formulation diff --git a/tikz/index.org b/tikz/index.org index 5dfb77e..29679b2 100644 --- a/tikz/index.org +++ b/tikz/index.org @@ -357,13 +357,13 @@ Configuration file is accessible [[file:config.org][here]]. \node[block, left=1.4 of output2] (W2){$W_2(s)$}; \node[addb={+}{}{}{}{-}, left=of W1] (sub) {}; - \node[block, below=0.3 of P] (H2) {$H_2(s)$}; + % \node[block, below=0.3 of P] (H2) {$H_2(s)$}; \draw[->] (inputw) node[above right]{$w$} -- (sub.west); - \draw[->] (H2.west) -| ($(inputu)+(0.35, 0)$) node[above]{$u$} -- (W2.west); + \draw[->] (inputu) node[above right]{$u$} -- (W2.west); \draw[->] (inputu-|sub) node[branch]{} -- (sub.south); \draw[->] (sub.east) -- (W1.west); - \draw[->] ($(sub.west)+(-0.6, 0)$) node[branch]{} |- ($(outputv)+(-0.35, 0)$) node[above]{$v$} |- (H2.east); + \draw[->] ($(sub.west)+(-0.6, 0)$) node[branch]{} |- (outputv) node[above left]{$v$}; \draw[->] (W1.east) -- (output1)node[above left]{$z_1$}; \draw[->] (W2.east) -- (output2)node[above left]{$z_2$}; \end{tikzpicture}