Update title

This commit is contained in:
Thomas Dehaeze 2021-09-02 10:04:16 +02:00
parent 504f0d7935
commit 572e1d5abd
8 changed files with 202 additions and 216 deletions

View File

@ -3,9 +3,9 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-09-01 mer. 17:04 -->
<!-- 2021-09-02 jeu. 10:02 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis</title>
<title>A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis</title>
<meta name="author" content="Thomas Dehaeze" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
@ -34,7 +34,7 @@
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content" class="content">
<h1 class="title">Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis
<h1 class="title">A new method of designing complementary filters for sensor fusion using the \(\mathcal{H}_\infty\) synthesis
<br />
<span class="subtitle">Dehaeze Thomas, Verma Mohit and Collette Christophe</span>
</h1>
@ -55,9 +55,9 @@ Such synthesis method is further extended for the shaping of more than two compl
</p>
</blockquote>
<div id="outline-container-org1d8b653" class="outline-2">
<h2 id="org1d8b653">Journal Article (<a href="journal/dehaeze21_desig_compl_filte.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org1d8b653">
<div id="outline-container-org8d13d5d" class="outline-2">
<h2 id="org8d13d5d">Journal Article (<a href="journal/dehaeze21_desig_compl_filte.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org8d13d5d">
<p>
The paper has been created <a href="https://orgmode.org/">Org Mode</a> (generating <a href="https://www.latex-project.org/">LaTeX</a> code) under <a href="https://www.gnu.org/software/emacs/">Emacs</a>.
</p>
@ -88,9 +88,9 @@ Dehaeze, T., Vermat, M., &amp; Collette, C., A new method of designing complemen
</div>
</div>
<div id="outline-container-org6ba84bc" class="outline-2">
<h2 id="org6ba84bc">Matlab Scripts (<a href="matlab/dehaeze21_desig_compl_filte_matlab.html">link</a>)</h2>
<div class="outline-text-2" id="text-org6ba84bc">
<div id="outline-container-org71c1b40" class="outline-2">
<h2 id="org71c1b40">Matlab Scripts (<a href="matlab/dehaeze21_desig_compl_filte_matlab.html">link</a>)</h2>
<div class="outline-text-2" id="text-org71c1b40">
<p>
All the <a href="https://fr.mathworks.com/">Matlab</a> code that was used for the paper are accessible so that all the results are reproducible.
The source code is hosted on <a href="https://zenodo.org/record/5361920">Zenodo</a>.
@ -123,9 +123,9 @@ Dehaeze Thomas. (2021). A New Method of Designing Complementary Filters for Sens
</div>
</div>
<div id="outline-container-org827f683" class="outline-2">
<h2 id="org827f683">Tikz Figures (<a href="tikz/dehaeze21_desig_compl_filte_tikz.html">link</a>)</h2>
<div class="outline-text-2" id="text-org827f683">
<div id="outline-container-org1b73cc9" class="outline-2">
<h2 id="org1b73cc9">Tikz Figures (<a href="tikz/dehaeze21_desig_compl_filte_tikz.html">link</a>)</h2>
<div class="outline-text-2" id="text-org1b73cc9">
<p>
All the figures for the paper have been generated using <a href="https://sourceforge.net/projects/pgf/">TikZ</a>.
</p>

View File

@ -1,4 +1,4 @@
#+TITLE: Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis
#+TITLE: A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis
:DRAWER:
#+SUBTITLE: Dehaeze Thomas, Verma Mohit and Collette Christophe

View File

@ -3,9 +3,9 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-09-01 mer. 16:59 -->
<!-- 2021-09-02 jeu. 10:04 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis - Matlab Computation</title>
<title>Designing Complementary filters for sensor fusion using $\mathcal{H}_\infty$ synthesis - Matlab Computation</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
@ -34,42 +34,42 @@
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content" class="content">
<h1 class="title">A new method of designing complementary filters for sensor fusion using the \(\mathcal{H}_\infty\) synthesis - Matlab Computation</h1>
<h1 class="title">Designing Complementary filters for sensor fusion using \(\mathcal{H}_\infty\) synthesis - Matlab Computation</h1>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#sec:h_inf_synthesis_complementary_filters">1. H-Infinity synthesis of complementary filters</a>
<ul>
<li><a href="#org039cf66">1.1. Synthesis Architecture</a></li>
<li><a href="#org5504635">1.2. Design of Weighting Function - Proposed formula</a></li>
<li><a href="#orgbe5ea75">1.3. Weighting functions for the design of two complementary filters</a></li>
<li><a href="#org93a8bd3">1.4. Synthesis of the complementary filters</a></li>
<li><a href="#orgd4544b8">1.5. Obtained Complementary Filters</a></li>
<li><a href="#orgc4b4c6d">1.1. Synthesis Architecture</a></li>
<li><a href="#org99141ab">1.2. Design of Weighting Function - Proposed formula</a></li>
<li><a href="#orge755bd5">1.3. Weighting functions for the design of two complementary filters</a></li>
<li><a href="#orgbd5024b">1.4. Synthesis of the complementary filters</a></li>
<li><a href="#org8eadcab">1.5. Obtained Complementary Filters</a></li>
</ul>
</li>
<li><a href="#sec:comp_filters_ligo">2. Design of complementary filters used in the Active Vibration Isolation System at the LIGO</a>
<ul>
<li><a href="#org0ef35df">2.1. Specifications</a></li>
<li><a href="#org86f81f8">2.2. FIR Filter</a></li>
<li><a href="#orga3462b9">2.3. Weighting function design</a></li>
<li><a href="#org2d35692">2.4. Synthesis of the complementary filters</a></li>
<li><a href="#org2d8f858">2.5. Comparison of the FIR filters and synthesized filters</a></li>
<li><a href="#org775cee5">2.1. Specifications</a></li>
<li><a href="#org6402809">2.2. FIR Filter</a></li>
<li><a href="#orge47e4d1">2.3. Weighting function design</a></li>
<li><a href="#org5ef288a">2.4. Synthesis of the complementary filters</a></li>
<li><a href="#org71076fb">2.5. Comparison of the FIR filters and synthesized filters</a></li>
</ul>
</li>
<li><a href="#sec:closed_loop_complementary_filters">3. &ldquo;Closed-Loop&rdquo; complementary filters</a>
<ul>
<li><a href="#orgafe7677">3.1. Weighting Function design</a></li>
<li><a href="#org746a218">3.2. Generalized plant</a></li>
<li><a href="#org18bfdfc">3.3. Synthesis of the closed-loop complementary filters</a></li>
<li><a href="#orge450acb">3.4. Synthesized filters</a></li>
<li><a href="#orgfa47886">3.1. Weighting Function design</a></li>
<li><a href="#org43ccb7c">3.2. Generalized plant</a></li>
<li><a href="#orgbf556a9">3.3. Synthesis of the closed-loop complementary filters</a></li>
<li><a href="#org426fd90">3.4. Synthesized filters</a></li>
</ul>
</li>
<li><a href="#sec:three_comp_filters">4. Synthesis of three complementary filters</a>
<ul>
<li><a href="#orga9cd2fd">4.1. Synthesis Architecture</a></li>
<li><a href="#orged7fb64">4.2. Weights</a></li>
<li><a href="#org0eb6887">4.3. H-Infinity Synthesis</a></li>
<li><a href="#org23dc1a0">4.1. Synthesis Architecture</a></li>
<li><a href="#orgf36e7cb">4.2. Weights</a></li>
<li><a href="#org8bb1bfb">4.3. H-Infinity Synthesis</a></li>
</ul>
</li>
<li><a href="#sec:matlab_scripts">5. Matlab Scripts</a>
@ -110,27 +110,27 @@ This document is divided into the following sections also corresponding to the p
<div class="outline-text-2" id="text-sec:h_inf_synthesis_complementary_filters">
</div>
<div id="outline-container-org039cf66" class="outline-3">
<h3 id="org039cf66"><span class="section-number-3">1.1.</span> Synthesis Architecture</h3>
<div id="outline-container-orgc4b4c6d" class="outline-3">
<h3 id="orgc4b4c6d"><span class="section-number-3">1.1.</span> Synthesis Architecture</h3>
<div class="outline-text-3" id="text-1-1">
<p>
In order to generate two complementary filters with a wanted shape, the generalized plant of Figure <a href="#org8ec6b4a">1</a> can be used.
In order to generate two complementary filters with a wanted shape, the generalized plant of Figure <a href="#org938abd0">1</a> can be used.
The included weights \(W_1(s)\) and \(W_2(s)\) are used to specify the upper bounds of the complementary filters being generated.
</p>
<div id="org8ec6b4a" class="figure">
<div id="org938abd0" class="figure">
<p><img src="figs-journal/h_infinity_robust_fusion_plant.png" alt="h_infinity_robust_fusion_plant.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Generalized plant used for the \(\mathcal{H}_\infty\) synthesis of a set of two complementary fiters</p>
</div>
<p>
Applied the standard \(\mathcal{H}_\infty\) synthesis on this generalized plant will give a transfer function \(H_2(s)\) (see Figure <a href="#org38fe996">2</a>) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_1,\ z_2]\) is less than one \eqref{eq:h_inf_objective}.
Applied the standard \(\mathcal{H}_\infty\) synthesis on this generalized plant will give a transfer function \(H_2(s)\) (see Figure <a href="#org133e437">2</a>) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_1,\ z_2]\) is less than one \eqref{eq:h_inf_objective}.
</p>
<div id="org38fe996" class="figure">
<div id="org133e437" class="figure">
<p><img src="figs-journal/h_infinity_robust_fusion_fb.png" alt="h_infinity_robust_fusion_fb.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Generalized plant with the synthesized filter obtained after the \(\mathcal{H}_\infty\) synthesis</p>
@ -173,8 +173,8 @@ The complete Matlab script for this part is given in Section <a href="#sec:1_syn
</div>
</div>
<div id="outline-container-org5504635" class="outline-3">
<h3 id="org5504635"><span class="section-number-3">1.2.</span> Design of Weighting Function - Proposed formula</h3>
<div id="outline-container-org99141ab" class="outline-3">
<h3 id="org99141ab"><span class="section-number-3">1.2.</span> Design of Weighting Function - Proposed formula</h3>
<div class="outline-text-3" id="text-1-2">
<p>
A formula is proposed to help the design of the weighting functions:
@ -198,11 +198,11 @@ The parameters permits to specify:
</ul>
<p>
The general shape of a weighting function generated using the formula is shown in figure <a href="#orga5d226a">3</a>.
The general shape of a weighting function generated using the formula is shown in figure <a href="#org652005a">3</a>.
</p>
<div id="orga5d226a" class="figure">
<div id="org652005a" class="figure">
<p><img src="figs/weight_formula.png" alt="weight_formula.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Magnitude of the weighting function generated using formula \eqref{eq:weighting_function_formula}</p>
@ -210,11 +210,11 @@ The general shape of a weighting function generated using the formula is shown i
</div>
</div>
<div id="outline-container-orgbe5ea75" class="outline-3">
<h3 id="orgbe5ea75"><span class="section-number-3">1.3.</span> Weighting functions for the design of two complementary filters</h3>
<div id="outline-container-orge755bd5" class="outline-3">
<h3 id="orge755bd5"><span class="section-number-3">1.3.</span> Weighting functions for the design of two complementary filters</h3>
<div class="outline-text-3" id="text-1-3">
<p>
<a id="org3789fe5"></a>
<a id="orgbf8ba5a"></a>
</p>
<p>
@ -233,11 +233,11 @@ W2 = generateWF(<span class="org-string">'n'</span>, 2, <span class="org-string"
</div>
<p>
The inverse magnitude of these two weighting functions are shown in Figure <a href="#org41b9a7a">4</a>.
The inverse magnitude of these two weighting functions are shown in Figure <a href="#org9dd5099">4</a>.
</p>
<div id="org41b9a7a" class="figure">
<div id="org9dd5099" class="figure">
<p><img src="figs/weights_W1_W2.png" alt="weights_W1_W2.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Inverse magnitude of the design weighting functions</p>
@ -245,11 +245,11 @@ The inverse magnitude of these two weighting functions are shown in Figure <a hr
</div>
</div>
<div id="outline-container-org93a8bd3" class="outline-3">
<h3 id="org93a8bd3"><span class="section-number-3">1.4.</span> Synthesis of the complementary filters</h3>
<div id="outline-container-orgbd5024b" class="outline-3">
<h3 id="orgbd5024b"><span class="section-number-3">1.4.</span> Synthesis of the complementary filters</h3>
<div class="outline-text-3" id="text-1-4">
<p>
The generalized plant of Figure <a href="#org8ec6b4a">1</a> is defined as follows:
The generalized plant of Figure <a href="#org938abd0">1</a> is defined as follows:
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Generalized Plant</span>
@ -268,7 +268,7 @@ And the \(\mathcal{H}_\infty\) synthesis is performed using the <code>hinfsyn</c
</pre>
</div>
<pre class="example" id="orgdbfdcce">
<pre class="example" id="orge151ac9">
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
Test bounds: 0.3223 &lt;= gamma &lt;= 1000
@ -318,15 +318,15 @@ This function is described in Section <a href="#sec:generateCF">5.6</a>.
</div>
</div>
<div id="outline-container-orgd4544b8" class="outline-3">
<h3 id="orgd4544b8"><span class="section-number-3">1.5.</span> Obtained Complementary Filters</h3>
<div id="outline-container-org8eadcab" class="outline-3">
<h3 id="org8eadcab"><span class="section-number-3">1.5.</span> Obtained Complementary Filters</h3>
<div class="outline-text-3" id="text-1-5">
<p>
The obtained complementary filters are shown below and are found to be of order 5.
Their bode plots are shown in figure <a href="#org1c88e24">5</a> and compare with the defined upper bounds.
Their bode plots are shown in figure <a href="#org2c627be">5</a> and compare with the defined upper bounds.
</p>
<pre class="example" id="org6f67900">
<pre class="example" id="orgfedb8df">
zpk(H1)
ans =
@ -343,7 +343,7 @@ ans =
</pre>
<div id="org1c88e24" class="figure">
<div id="org2c627be" class="figure">
<p><img src="figs/hinf_filters_results.png" alt="hinf_filters_results.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Obtained complementary filters using \(\mathcal{H}_\infty\) synthesis</p>
@ -364,8 +364,8 @@ The complete Matlab script for this part is given in Section <a href="#sec:2_lig
</p>
</div>
<div id="outline-container-org0ef35df" class="outline-3">
<h3 id="org0ef35df"><span class="section-number-3">2.1.</span> Specifications</h3>
<div id="outline-container-org775cee5" class="outline-3">
<h3 id="org775cee5"><span class="section-number-3">2.1.</span> Specifications</h3>
<div class="outline-text-3" id="text-2-1">
<p>
The specifications for the set of complementary filters (\(L_1,H_1\)) used at the LIGO are summarized below (for further details, refer to (<a href="#citeproc_bib_item_4">Hua, Debra, et al. 2004</a>)):
@ -378,11 +378,11 @@ The specifications for the set of complementary filters (\(L_1,H_1\)) used at th
</ul>
<p>
The specifications are translated into upper bounds of the complementary filters and are shown in Figure <a href="#org4e806e6">6</a>.
The specifications are translated into upper bounds of the complementary filters and are shown in Figure <a href="#org03607c6">6</a>.
</p>
<div id="org4e806e6" class="figure">
<div id="org03607c6" class="figure">
<p><img src="figs/ligo_specifications.png" alt="ligo_specifications.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Specification for the LIGO complementary filters</p>
@ -390,8 +390,8 @@ The specifications are translated into upper bounds of the complementary filters
</div>
</div>
<div id="outline-container-org86f81f8" class="outline-3">
<h3 id="org86f81f8"><span class="section-number-3">2.2.</span> FIR Filter</h3>
<div id="outline-container-org6402809" class="outline-3">
<h3 id="org6402809"><span class="section-number-3">2.2.</span> FIR Filter</h3>
<div class="outline-text-3" id="text-2-2">
<p>
To replicated the complementary filters developed in (<a href="#citeproc_bib_item_3">Hua, Adhikari, et al. 2004</a>), the CVX Matlab toolbox (<a href="#citeproc_bib_item_2">Grant and Boyd 2014</a>) is used.
@ -476,7 +476,7 @@ h = y(2<span class="org-builtin">:</span>end);
</pre>
</div>
<pre class="example" id="org8c893b5">
<pre class="example" id="orge5b954e">
cvx_begin
variable y(n+1,1)
% t
@ -553,7 +553,7 @@ h = y(2:end);
</pre>
<p>
Finally, the filter response is computed over the frequency vector defined and the result is shown on figure <a href="#org4fd297c">7</a> which is very close to the filters obtain in (<a href="#citeproc_bib_item_3">Hua, Adhikari, et al. 2004</a>).
Finally, the filter response is computed over the frequency vector defined and the result is shown on figure <a href="#orgf5ce15e">7</a> which is very close to the filters obtain in (<a href="#citeproc_bib_item_3">Hua, Adhikari, et al. 2004</a>).
</p>
<div class="org-src-container">
@ -564,7 +564,7 @@ H = [exp(<span class="org-builtin">-</span><span class="org-matlab-math">j</span
</div>
<div id="org4fd297c" class="figure">
<div id="orgf5ce15e" class="figure">
<p><img src="figs/fir_filter_ligo.png" alt="fir_filter_ligo.png" />
</p>
<p><span class="figure-number">Figure 7: </span>FIR Complementary filters obtain after convex optimization</p>
@ -572,8 +572,8 @@ H = [exp(<span class="org-builtin">-</span><span class="org-matlab-math">j</span
</div>
</div>
<div id="outline-container-orga3462b9" class="outline-3">
<h3 id="orga3462b9"><span class="section-number-3">2.3.</span> Weighting function design</h3>
<div id="outline-container-orge47e4d1" class="outline-3">
<h3 id="orge47e4d1"><span class="section-number-3">2.3.</span> Weighting function design</h3>
<div class="outline-text-3" id="text-2-3">
<p>
The weightings function that will be used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters are now designed.
@ -635,11 +635,11 @@ wL = minreal(ss(wL));
</div>
<p>
The inverse magnitude of the weighting functions are shown in Figure <a href="#orgf2af1c4">8</a>.
The inverse magnitude of the weighting functions are shown in Figure <a href="#org588a935">8</a>.
</p>
<div id="orgf2af1c4" class="figure">
<div id="org588a935" class="figure">
<p><img src="figs/ligo_weights.png" alt="ligo_weights.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Weights for the \(\mathcal{H}_\infty\) synthesis</p>
@ -647,11 +647,11 @@ The inverse magnitude of the weighting functions are shown in Figure <a href="#o
</div>
</div>
<div id="outline-container-org2d35692" class="outline-3">
<h3 id="org2d35692"><span class="section-number-3">2.4.</span> Synthesis of the complementary filters</h3>
<div id="outline-container-org5ef288a" class="outline-3">
<h3 id="org5ef288a"><span class="section-number-3">2.4.</span> Synthesis of the complementary filters</h3>
<div class="outline-text-3" id="text-2-4">
<p>
The generalized plant of figure <a href="#org8ec6b4a">1</a> is defined.
The generalized plant of figure <a href="#org938abd0">1</a> is defined.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Generalized plant for the H-infinity Synthesis</span>
@ -670,7 +670,7 @@ And the standard \(\mathcal{H}_\infty\) synthesis using the <code>hinfsyn</code>
</pre>
</div>
<pre class="example" id="orgb3aafc2">
<pre class="example" id="org12089e0">
[Hl, ~, 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
@ -714,18 +714,18 @@ Hh = 1 <span class="org-builtin">-</span> Hl;
The size of the filters is shown to be equal to the sum of the weighting functions orders.
</p>
<pre class="example" id="orga490b22">
<pre class="example" id="org7e59413">
size(Hh), size(Hl)
State-space model with 1 outputs, 1 inputs, and 27 states.
State-space model with 1 outputs, 1 inputs, and 27 states.
</pre>
<p>
The magnitude of the obtained filters as well as the requirements are shown in Figure <a href="#orgb24a37f">9</a>.
The magnitude of the obtained filters as well as the requirements are shown in Figure <a href="#orgb9b3d25">9</a>.
</p>
<div id="orgb24a37f" class="figure">
<div id="orgb9b3d25" class="figure">
<p><img src="figs/hinf_synthesis_ligo_results.png" alt="hinf_synthesis_ligo_results.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Obtained complementary filters using the \(\mathcal{H}_\infty\) synthesis</p>
@ -733,19 +733,19 @@ The magnitude of the obtained filters as well as the requirements are shown in F
</div>
</div>
<div id="outline-container-org2d8f858" class="outline-3">
<h3 id="org2d8f858"><span class="section-number-3">2.5.</span> Comparison of the FIR filters and synthesized filters</h3>
<div id="outline-container-org71076fb" class="outline-3">
<h3 id="org71076fb"><span class="section-number-3">2.5.</span> Comparison of the FIR filters and synthesized filters</h3>
<div class="outline-text-3" id="text-2-5">
<p>
Let&rsquo;s now compare the FIR filters designed in (<a href="#citeproc_bib_item_3">Hua, Adhikari, et al. 2004</a>) with the with complementary filters obtained with the \(\mathcal{H}_\infty\) synthesis.
</p>
<p>
This is done in Figure <a href="#org8f17c7a">10</a>, and both set of filters are found to be very close to each other.
This is done in Figure <a href="#org7eeadda">10</a>, and both set of filters are found to be very close to each other.
</p>
<div id="org8f17c7a" class="figure">
<div id="org7eeadda" class="figure">
<p><img src="figs/comp_fir_ligo_hinf.png" alt="comp_fir_ligo_hinf.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Comparison between the FIR filters developped for LIGO and the \(\mathcal{H}_\infty\) complementary filters</p>
@ -758,11 +758,11 @@ This is done in Figure <a href="#org8f17c7a">10</a>, and both set of filters are
<h2 id="sec:closed_loop_complementary_filters"><span class="section-number-2">3.</span> &ldquo;Closed-Loop&rdquo; complementary filters</h2>
<div class="outline-text-2" id="text-sec:closed_loop_complementary_filters">
<p>
In this section, the classical feedback architecture shown in Figure <a href="#org915c7e1">11</a> is used for the design of complementary filters.
In this section, the classical feedback architecture shown in Figure <a href="#org91711eb">11</a> is used for the design of complementary filters.
</p>
<div id="org915c7e1" class="figure">
<div id="org91711eb" class="figure">
<p><img src="figs-journal/feedback_sensor_fusion.png" alt="feedback_sensor_fusion.png" />
</p>
<p><span class="figure-number">Figure 11: </span>&ldquo;Closed-Loop&rdquo; complementary filters</p>
@ -773,12 +773,12 @@ The complete Matlab script for this part is given in Section <a href="#sec:3_clo
</p>
</div>
<div id="outline-container-orgafe7677" class="outline-3">
<h3 id="orgafe7677"><span class="section-number-3">3.1.</span> Weighting Function design</h3>
<div id="outline-container-orgfa47886" class="outline-3">
<h3 id="orgfa47886"><span class="section-number-3">3.1.</span> Weighting Function design</h3>
<div class="outline-text-3" id="text-3-1">
<p>
Weighting functions using the <code>generateWF</code> Matlab function are designed to specify the upper bounds of the complementary filters to be designed.
These weighting functions are the same as the ones used in Section <a href="#org3789fe5">1.3</a>.
These weighting functions are the same as the ones used in Section <a href="#orgbf8ba5a">1.3</a>.
</p>
<div class="org-src-container">
@ -790,11 +790,11 @@ W2 = generateWF(<span class="org-string">'n'</span>, 2, <span class="org-string"
</div>
</div>
<div id="outline-container-org746a218" class="outline-3">
<h3 id="org746a218"><span class="section-number-3">3.2.</span> Generalized plant</h3>
<div id="outline-container-org43ccb7c" class="outline-3">
<h3 id="org43ccb7c"><span class="section-number-3">3.2.</span> Generalized plant</h3>
<div class="outline-text-3" id="text-3-2">
<p>
The generalized plant of Figure <a href="#org08ff8ac">12</a> is defined below:
The generalized plant of Figure <a href="#org3a36382">12</a> is defined below:
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Generalized plant for "closed-loop" complementary filter synthesis</span>
@ -804,7 +804,7 @@ P = [ W1 0 1;
</div>
<div id="org08ff8ac" class="figure">
<div id="org3a36382" class="figure">
<p><img src="figs-journal/feedback_synthesis_architecture_generalized_plant.png" alt="feedback_synthesis_architecture_generalized_plant.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Generalized plant used for the \(\mathcal{H}_\infty\) synthesis of &ldquo;closed-loop&rdquo; complementary filters</p>
@ -812,8 +812,8 @@ P = [ W1 0 1;
</div>
</div>
<div id="outline-container-org18bfdfc" class="outline-3">
<h3 id="org18bfdfc"><span class="section-number-3">3.3.</span> Synthesis of the closed-loop complementary filters</h3>
<div id="outline-container-orgbf556a9" class="outline-3">
<h3 id="orgbf556a9"><span class="section-number-3">3.3.</span> Synthesis of the closed-loop complementary filters</h3>
<div class="outline-text-3" id="text-3-3">
<p>
And the standard \(\mathcal{H}_\infty\) synthesis is performed.
@ -824,7 +824,7 @@ And the standard \(\mathcal{H}_\infty\) synthesis is performed.
</pre>
</div>
<pre class="example" id="org2e786a3">
<pre class="example" id="org1af6c18">
Test bounds: 0.3191 &lt;= gamma &lt;= 1.669
gamma X&gt;=0 Y&gt;=0 rho(XY)&lt;1 p/f
@ -848,11 +848,11 @@ And the standard \(\mathcal{H}_\infty\) synthesis is performed.
</div>
</div>
<div id="outline-container-orge450acb" class="outline-3">
<h3 id="orge450acb"><span class="section-number-3">3.4.</span> Synthesized filters</h3>
<div id="outline-container-org426fd90" class="outline-3">
<h3 id="org426fd90"><span class="section-number-3">3.4.</span> Synthesized filters</h3>
<div class="outline-text-3" id="text-3-4">
<p>
The obtained filter \(L(s)\) can then be included in the feedback architecture shown in Figure <a href="#orgf151405">13</a>.
The obtained filter \(L(s)\) can then be included in the feedback architecture shown in Figure <a href="#org9d40494">13</a>.
</p>
<p>
@ -865,7 +865,7 @@ H2 = 1 <span class="org-builtin">-</span> H1;
</pre>
</div>
<pre class="example" id="orgae811fb">
<pre class="example" id="org8cae256">
zpk(H1) =
(s+3.842)^3 (s+153.6) (s+1.289e05)
-------------------------------------------------------
@ -878,11 +878,11 @@ zpk(H2) =
</pre>
<p>
The bode plots of the synthesized complementary filters are compared with the upper bounds in Figure <a href="#orgf151405">13</a>.
The bode plots of the synthesized complementary filters are compared with the upper bounds in Figure <a href="#org9d40494">13</a>.
</p>
<div id="orgf151405" class="figure">
<div id="org9d40494" class="figure">
<p><img src="figs/hinf_filters_results_mixed_sensitivity.png" alt="hinf_filters_results_mixed_sensitivity.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Bode plot of the obtained complementary filters</p>
@ -903,8 +903,8 @@ The complete Matlab script for this part is given in Section <a href="#sec:4_thr
</p>
</div>
<div id="outline-container-orga9cd2fd" class="outline-3">
<h3 id="orga9cd2fd"><span class="section-number-3">4.1.</span> Synthesis Architecture</h3>
<div id="outline-container-org23dc1a0" class="outline-3">
<h3 id="org23dc1a0"><span class="section-number-3">4.1.</span> Synthesis Architecture</h3>
<div class="outline-text-3" id="text-4-1">
<p>
The synthesis objective is to shape three filters that are complementary.
@ -921,18 +921,18 @@ This corresponds to the conditions \eqref{eq:obj_three_cf} where \(W_1(s)\), \(W
\end{equation}
<p>
This synthesis can be done by performing the standard \(\mathcal{H}_\infty\) synthesis with on the generalized plant in Figure <a href="#org452ccad">14</a>.
This synthesis can be done by performing the standard \(\mathcal{H}_\infty\) synthesis with on the generalized plant in Figure <a href="#orge2e8c55">14</a>.
</p>
<div id="org452ccad" class="figure">
<div id="orge2e8c55" class="figure">
<p><img src="figs-journal/comp_filter_three_hinf_fb.png" alt="comp_filter_three_hinf_fb.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Generalized architecture for generating 3 complementary filters</p>
</div>
<p>
After synthesis, filter \(H_2(s)\) and \(H_3(s)\) are obtained as shown in Figure <a href="#org452ccad">14</a>.
After synthesis, filter \(H_2(s)\) and \(H_3(s)\) are obtained as shown in Figure <a href="#orge2e8c55">14</a>.
The last filter \(H_1(s)\) is defined as the complementary of the two others as in \eqref{eq:H1_complementary_of_H2_H3}.
</p>
@ -942,8 +942,8 @@ The last filter \(H_1(s)\) is defined as the complementary of the two others as
</div>
</div>
<div id="outline-container-orged7fb64" class="outline-3">
<h3 id="orged7fb64"><span class="section-number-3">4.2.</span> Weights</h3>
<div id="outline-container-orgf36e7cb" class="outline-3">
<h3 id="orgf36e7cb"><span class="section-number-3">4.2.</span> Weights</h3>
<div class="outline-text-3" id="text-4-2">
<p>
The three weighting functions are defined as shown below.
@ -958,11 +958,11 @@ W3 = generateWF(<span class="org-string">'n'</span>, 3, <span class="org-string"
</div>
<p>
Their inverse magnitudes are displayed in Figure <a href="#orge40038d">15</a>.
Their inverse magnitudes are displayed in Figure <a href="#orga89c5b8">15</a>.
</p>
<div id="orge40038d" class="figure">
<div id="orga89c5b8" class="figure">
<p><img src="figs/three_weighting_functions.png" alt="three_weighting_functions.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Three weighting functions used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters</p>
@ -970,11 +970,11 @@ Their inverse magnitudes are displayed in Figure <a href="#orge40038d">15</a>.
</div>
</div>
<div id="outline-container-org0eb6887" class="outline-3">
<h3 id="org0eb6887"><span class="section-number-3">4.3.</span> H-Infinity Synthesis</h3>
<div id="outline-container-org8bb1bfb" class="outline-3">
<h3 id="org8bb1bfb"><span class="section-number-3">4.3.</span> H-Infinity Synthesis</h3>
<div class="outline-text-3" id="text-4-3">
<p>
The generalized plant in Figure <a href="#org452ccad">14</a> containing the weighting functions is defined below.
The generalized plant in Figure <a href="#orge2e8c55">14</a> containing the weighting functions is defined below.
</p>
<div class="org-src-container">
@ -995,7 +995,7 @@ And the standard \(\mathcal{H}_\infty\) synthesis using the <code>hinfsyn</code>
</pre>
</div>
<pre class="example" id="org162f0ab">
<pre class="example" id="orgbeefca4">
Resetting value of Gamma min based on D_11, D_12, D_21 terms
Test bounds: 0.1000 &lt; gamma &lt;= 1050.0000
@ -1038,11 +1038,11 @@ H1 = 1 <span class="org-builtin">-</span> H2 <span class="org-builtin">-</span>
</div>
<p>
The bode plots of the three obtained complementary filters are shown in Figure <a href="#org4f0c4c6">16</a>.
The bode plots of the three obtained complementary filters are shown in Figure <a href="#orgd7996d8">16</a>.
</p>
<div id="org4f0c4c6" class="figure">
<div id="orgd7996d8" class="figure">
<p><img src="figs/three_complementary_filters_results.png" alt="three_complementary_filters_results.png" />
</p>
<p><span class="figure-number">Figure 16: </span>The three complementary filters obtained after \(\mathcal{H}_\infty\) synthesis</p>
@ -1755,7 +1755,7 @@ H1 = 1 <span class="org-builtin">-</span> H2;
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-09-01 mer. 16:59</p>
<p class="date">Created: 2021-09-02 jeu. 10:04</p>
</div>
</body>
</html>

View File

@ -1,4 +1,4 @@
#+TITLE: A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis - Matlab Computation
#+TITLE: Designing Complementary filters for sensor fusion using $\mathcal{H}_\infty$ synthesis - Matlab Computation
:DRAWER:
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
@ -1442,4 +1442,7 @@ H1 = 1 - H2;
#+end_src
* Bibliography :ignore:
# For html export only:
# bibliography:ref.bib
#+latex: \printbibliography

View File

@ -1,4 +1,4 @@
% Created 2021-09-01 mer. 16:57
% Created 2021-09-02 jeu. 10:03
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt}
\usepackage[utf8]{inputenc}
@ -24,7 +24,7 @@
\addbibresource{ref.bib}
\author{Dehaeze Thomas}
\date{\today}
\title{A new method of designing complementary filters for sensor fusion using the \(\mathcal{H}_\infty\) synthesis - Matlab Computation}
\title{Designing Complementary filters for sensor fusion using \(\mathcal{H}_\infty\) synthesis - Matlab Computation}
\begin{document}
\maketitle
@ -47,7 +47,6 @@ This document is divided into the following sections also corresponding to the p
\chapter{H-Infinity synthesis of complementary filters}
\label{sec:h_inf_synthesis_complementary_filters}
\section{Synthesis Architecture}
\label{sec:org7b3f474}
In order to generate two complementary filters with a wanted shape, the generalized plant of Figure \ref{fig:h_infinity_robust_fusion_plant} can be used.
The included weights \(W_1(s)\) and \(W_2(s)\) are used to specify the upper bounds of the complementary filters being generated.
@ -93,7 +92,6 @@ The presented synthesis method therefore allows to shape two filters \(H_1(s)\)
The complete Matlab script for this part is given in Section \ref{sec:1_synthesis_complementary_filters}.
\section{Design of Weighting Function - Proposed formula}
\label{sec:org69d0d73}
A formula is proposed to help the design of the weighting functions:
\begin{equation}
W(s) = \left( \frac{
@ -120,7 +118,6 @@ The general shape of a weighting function generated using the formula is shown i
\end{figure}
\section{Weighting functions for the design of two complementary filters}
\label{sec:org244c0a4}
\label{sec:weighting_functions_example}
The weighting function formula \eqref{eq:weighting_function_formula} is used to generate the upper bounds of two complementary filters that we wish to design.
@ -142,7 +139,6 @@ The inverse magnitude of these two weighting functions are shown in Figure \ref{
\end{figure}
\section{Synthesis of the complementary filters}
\label{sec:org3378b49}
The generalized plant of Figure \ref{fig:h_infinity_robust_fusion_plant} is defined as follows:
\begin{minted}[]{matlab}
%% Generalized Plant
@ -198,7 +194,6 @@ This function is described in Section \ref{sec:generateCF}.
\end{minted}
\section{Obtained Complementary Filters}
\label{sec:orgb52f55e}
The obtained complementary filters are shown below and are found to be of order 5.
Their bode plots are shown in figure \ref{fig:hinf_filters_results} and compare with the defined upper bounds.
@ -231,7 +226,6 @@ In this section, the proposed method for the design of complementary filters is
The complete Matlab script for this part is given in Section \ref{sec:2_ligo_complementary_filters}.
\section{Specifications}
\label{sec:orgc6bd7b2}
The specifications for the set of complementary filters (\(L_1,H_1\)) used at the LIGO are summarized below (for further details, refer to \cite{hua04_polyp_fir_compl_filter_contr_system}):
\begin{itemize}
\item From 0 to 0.008 Hz, the magnitude \(|L_1(j\omega)|\) should be less or equal to \(8 \times 10^{-4}\)
@ -249,7 +243,6 @@ The specifications are translated into upper bounds of the complementary filters
\end{figure}
\section{FIR Filter}
\label{sec:orgef72f87}
To replicated the complementary filters developed in \cite{hua04_low_ligo}, the CVX Matlab toolbox \cite{grant14_cvx} is used.
The CVX toolbox is initialized and the \texttt{SeDuMi} solver \cite{sturm99_using_sedum} is used.
@ -409,7 +402,6 @@ H = [exp(-j*kron(w'.*2*pi,[0:n-1]))]*h;
\end{figure}
\section{Weighting function design}
\label{sec:orgcbee7b7}
The weightings function that will be used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters are now designed.
These weights will determine the order of the obtained filters.
@ -466,7 +458,6 @@ The inverse magnitude of the weighting functions are shown in Figure \ref{fig:li
\end{figure}
\section{Synthesis of the complementary filters}
\label{sec:org8f9014e}
The generalized plant of figure \ref{fig:h_infinity_robust_fusion_plant} is defined.
\begin{minted}[]{matlab}
%% Generalized plant for the H-infinity Synthesis
@ -533,7 +524,6 @@ The magnitude of the obtained filters as well as the requirements are shown in F
\end{figure}
\section{Comparison of the FIR filters and synthesized filters}
\label{sec:org6367ef0}
Let's now compare the FIR filters designed in \cite{hua04_low_ligo} with the with complementary filters obtained with the \(\mathcal{H}_\infty\) synthesis.
@ -558,7 +548,6 @@ In this section, the classical feedback architecture shown in Figure \ref{fig:fe
The complete Matlab script for this part is given in Section \ref{sec:3_closed_loop_complementary_filters}.
\section{Weighting Function design}
\label{sec:org856a399}
Weighting functions using the \texttt{generateWF} Matlab function are designed to specify the upper bounds of the complementary filters to be designed.
These weighting functions are the same as the ones used in Section \ref{sec:weighting_functions_example}.
@ -569,7 +558,6 @@ W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'Ginf', 1000, 'Gc', 0.45);
\end{minted}
\section{Generalized plant}
\label{sec:orgbba676f}
The generalized plant of Figure \ref{fig:feedback_synthesis_architecture_generalized_plant} is defined below:
\begin{minted}[]{matlab}
%% Generalized plant for "closed-loop" complementary filter synthesis
@ -584,7 +572,6 @@ P = [ W1 0 1;
\end{figure}
\section{Synthesis of the closed-loop complementary filters}
\label{sec:org44dc95f}
And the standard \(\mathcal{H}_\infty\) synthesis is performed.
\begin{minted}[]{matlab}
%% Standard H-Infinity Synthesis
@ -614,7 +601,6 @@ And the standard \(\mathcal{H}_\infty\) synthesis is performed.
\end{verbatim}
\section{Synthesized filters}
\label{sec:org9e70c62}
The obtained filter \(L(s)\) can then be included in the feedback architecture shown in Figure \ref{fig:hinf_filters_results_mixed_sensitivity}.
The closed-loop transfer functions from \(\hat{x}_1\) to \(\hat{x}\) and from \(\hat{x}_2\) to \(\hat{x}\) corresponding respectively to the sensitivity and complementary sensitivity transfer functions are defined below:
@ -651,7 +637,6 @@ In this section, the proposed synthesis method of complementary filters is gener
The complete Matlab script for this part is given in Section \ref{sec:4_three_complementary_filters}.
\section{Synthesis Architecture}
\label{sec:orgc4d55c9}
The synthesis objective is to shape three filters that are complementary.
This corresponds to the conditions \eqref{eq:obj_three_cf} where \(W_1(s)\), \(W_2(s)\) and \(W_3(s)\) are weighting functions used to specify the maximum wanted magnitude of the three complementary filters.
@ -680,7 +665,6 @@ The last filter \(H_1(s)\) is defined as the complementary of the two others as
\end{equation}
\section{Weights}
\label{sec:orgf866c06}
The three weighting functions are defined as shown below.
\begin{minted}[]{matlab}
@ -699,7 +683,6 @@ Their inverse magnitudes are displayed in Figure \ref{fig:three_weighting_functi
\end{figure}
\section{H-Infinity Synthesis}
\label{sec:org0db8a8c}
The generalized plant in Figure \ref{fig:comp_filter_three_hinf} containing the weighting functions is defined below.

View File

@ -3,9 +3,9 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-09-01 mer. 10:15 -->
<!-- 2021-09-02 jeu. 10:03 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis - Tikz Figures</title>
<title>Designing complementary filters for sensor fusion using $\mathcal{H}_\infty$ synthesis - Tikz Figures</title>
<meta name="author" content="Thomas Dehaeze" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
@ -34,30 +34,30 @@
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content" class="content">
<h1 class="title">A new method of designing complementary filters for sensor fusion using the \(\mathcal{H}_\infty\) synthesis - Tikz Figures</h1>
<h1 class="title">Designing complementary filters for sensor fusion using \(\mathcal{H}_\infty\) synthesis - Tikz Figures</h1>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgaddbc4b">1. Sensor Fusion - Overview</a></li>
<li><a href="#orgcde34ed">2. Sensor Model</a></li>
<li><a href="#org881c7cf">3. Sensor Model with calibration</a></li>
<li><a href="#org52dba0e">4. Sensor Fusion Architecture</a></li>
<li><a href="#org51c6b92">5. Sensor Model with Uncertainty</a></li>
<li><a href="#orgd0c3320">6. Sensor Model with Uncertainty - Simplified</a></li>
<li><a href="#orgd991dd2">7. Sensor fusion architecture with sensor dynamics uncertainty</a></li>
<li><a href="#orgb45d1ac">8. Uncertainty set of the super sensor dynamics</a></li>
<li><a href="#orgd194580">9. Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters</a></li>
<li><a href="#orgebe7ec5">10. Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</a></li>
<li><a href="#orgf9a2f39">11. LIGO Sensor Fusion Architecture</a></li>
<li><a href="#orga2611bb">12. Closed-Loop Complementary Filters</a></li>
<li><a href="#org5af72e4">13. Closed-Loop Fusion Architecture</a></li>
<li><a href="#org4e79ee7">14. Feedback Loop Sensor Fusion Architecture</a></li>
<li><a href="#orgb59c88b">15. Feedback Sensor Fusion - Generalized Plant</a></li>
<li><a href="#orge593f6d">16. Sensor Fusion - Sequential</a></li>
<li><a href="#org3b323e8">17. Sensor Fusion - Parallel</a></li>
<li><a href="#org9baa5b5">18. Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
<li><a href="#org10ffb09">19. Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
<li><a href="#org50515cc">1. Sensor Fusion - Overview</a></li>
<li><a href="#orgd0f42e8">2. Sensor Model</a></li>
<li><a href="#orgfe2b210">3. Sensor Model with calibration</a></li>
<li><a href="#org7a71f40">4. Sensor Fusion Architecture</a></li>
<li><a href="#org02ee7f2">5. Sensor Model with Uncertainty</a></li>
<li><a href="#org15f5c37">6. Sensor Model with Uncertainty - Simplified</a></li>
<li><a href="#org6703507">7. Sensor fusion architecture with sensor dynamics uncertainty</a></li>
<li><a href="#org730783f">8. Uncertainty set of the super sensor dynamics</a></li>
<li><a href="#org38b031f">9. Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters</a></li>
<li><a href="#orgc8963ca">10. Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</a></li>
<li><a href="#orgc9e8b5c">11. LIGO Sensor Fusion Architecture</a></li>
<li><a href="#org852a702">12. Closed-Loop Complementary Filters</a></li>
<li><a href="#org21e2e13">13. Closed-Loop Fusion Architecture</a></li>
<li><a href="#org784c1ac">14. Feedback Loop Sensor Fusion Architecture</a></li>
<li><a href="#org08b29ce">15. Feedback Sensor Fusion - Generalized Plant</a></li>
<li><a href="#org9bf391e">16. Sensor Fusion - Sequential</a></li>
<li><a href="#orgc2ef6aa">17. Sensor Fusion - Parallel</a></li>
<li><a href="#org90ea882">18. Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
<li><a href="#orge8d8968">19. Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
</ul>
</div>
</div>
@ -65,8 +65,8 @@
Configuration file is accessible <a href="config.html">here</a>.
</p>
<div id="outline-container-orgaddbc4b" class="outline-2">
<h2 id="orgaddbc4b"><span class="section-number-2">1.</span> Sensor Fusion - Overview</h2>
<div id="outline-container-org50515cc" class="outline-2">
<h2 id="org50515cc"><span class="section-number-2">1.</span> Sensor Fusion - Overview</h2>
<div class="outline-text-2" id="text-1">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\definecolor</span>{myblue}{rgb}{0, 0.447, 0.741}
@ -106,7 +106,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="orgfdc79fa" class="figure">
<div id="org3c4bfaf" class="figure">
<p><img src="figs/sensor_fusion_overview.png" alt="sensor_fusion_overview.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Schematic of a sensor fusion architecture using complementary filters</p>
@ -114,8 +114,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgcde34ed" class="outline-2">
<h2 id="orgcde34ed"><span class="section-number-2">2.</span> Sensor Model</h2>
<div id="outline-container-orgd0f42e8" class="outline-2">
<h2 id="orgd0f42e8"><span class="section-number-2">2.</span> Sensor Model</h2>
<div class="outline-text-2" id="text-2">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -136,7 +136,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="orga6c4cb8" class="figure">
<div id="org9ced2bb" class="figure">
<p><img src="figs/sensor_model.png" alt="sensor_model.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Basic sensor model consisting of a noise input \(n_i\) and a linear time invariant transfer function \(G_i(s)\)</p>
@ -144,8 +144,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org881c7cf" class="outline-2">
<h2 id="org881c7cf"><span class="section-number-2">3.</span> Sensor Model with calibration</h2>
<div id="outline-container-orgfe2b210" class="outline-2">
<h2 id="orgfe2b210"><span class="section-number-2">3.</span> Sensor Model with calibration</h2>
<div class="outline-text-2" id="text-3">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -171,7 +171,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="orgd38eff7" class="figure">
<div id="org2edc54e" class="figure">
<p><img src="figs/sensor_model_calibrated.png" alt="sensor_model_calibrated.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Normalized sensors using the inverse of an estimate \(\hat{G}_i(s)\) of the sensor dynamics</p>
@ -179,8 +179,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org52dba0e" class="outline-2">
<h2 id="org52dba0e"><span class="section-number-2">4.</span> Sensor Fusion Architecture</h2>
<div id="outline-container-org7a71f40" class="outline-2">
<h2 id="org7a71f40"><span class="section-number-2">4.</span> Sensor Fusion Architecture</h2>
<div class="outline-text-2" id="text-4">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\definecolor</span>{myblue}{rgb}{0, 0.447, 0.741}
@ -232,7 +232,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org63acf85" class="figure">
<div id="org895e3d1" class="figure">
<p><img src="figs/fusion_super_sensor.png" alt="fusion_super_sensor.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Sensor fusion architecture with two normalized sensors</p>
@ -240,8 +240,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org51c6b92" class="outline-2">
<h2 id="org51c6b92"><span class="section-number-2">5.</span> Sensor Model with Uncertainty</h2>
<div id="outline-container-org02ee7f2" class="outline-2">
<h2 id="org02ee7f2"><span class="section-number-2">5.</span> Sensor Model with Uncertainty</h2>
<div class="outline-text-2" id="text-5">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -275,7 +275,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org937c435" class="figure">
<div id="orga300be8" class="figure">
<p><img src="figs/sensor_model_uncertainty.png" alt="sensor_model_uncertainty.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Sensor with multiplicative input uncertainty</p>
@ -283,8 +283,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgd0c3320" class="outline-2">
<h2 id="orgd0c3320"><span class="section-number-2">6.</span> Sensor Model with Uncertainty - Simplified</h2>
<div id="outline-container-org15f5c37" class="outline-2">
<h2 id="org15f5c37"><span class="section-number-2">6.</span> Sensor Model with Uncertainty - Simplified</h2>
<div class="outline-text-2" id="text-6">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -311,7 +311,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="orgce8343e" class="figure">
<div id="org7ccc258" class="figure">
<p><img src="figs/sensor_model_uncertainty_simplified.png" alt="sensor_model_uncertainty_simplified.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Simplified sensor model</p>
@ -319,8 +319,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgd991dd2" class="outline-2">
<h2 id="orgd991dd2"><span class="section-number-2">7.</span> Sensor fusion architecture with sensor dynamics uncertainty</h2>
<div id="outline-container-org6703507" class="outline-2">
<h2 id="org6703507"><span class="section-number-2">7.</span> Sensor fusion architecture with sensor dynamics uncertainty</h2>
<div class="outline-text-2" id="text-7">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\definecolor</span>{myblue}{rgb}{0, 0.447, 0.741}
@ -380,7 +380,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org5b69e5a" class="figure">
<div id="orgc80e315" class="figure">
<p><img src="figs/sensor_fusion_dynamic_uncertainty.png" alt="sensor_fusion_dynamic_uncertainty.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Sensor fusion architecture with sensor dynamics uncertainty</p>
@ -388,8 +388,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgb45d1ac" class="outline-2">
<h2 id="orgb45d1ac"><span class="section-number-2">8.</span> Uncertainty set of the super sensor dynamics</h2>
<div id="outline-container-org730783f" class="outline-2">
<h2 id="org730783f"><span class="section-number-2">8.</span> Uncertainty set of the super sensor dynamics</h2>
<div class="outline-text-2" id="text-8">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\definecolor</span>{myblue}{rgb}{0, 0.447, 0.741}
@ -432,7 +432,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="orgc80ec14" class="figure">
<div id="org6687171" class="figure">
<p><img src="figs/uncertainty_set_super_sensor.png" alt="uncertainty_set_super_sensor.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Uncertainty region of the super sensor dynamics in the complex plane (grey circle). The contribution of both sensors 1 and 2 to the total uncertainty are represented respectively by a blue circle and a red circle. The frequency dependency \(\omega\) is here omitted.</p>
@ -440,8 +440,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgd194580" class="outline-2">
<h2 id="orgd194580"><span class="section-number-2">9.</span> Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters</h2>
<div id="outline-container-org38b031f" class="outline-2">
<h2 id="org38b031f"><span class="section-number-2">9.</span> Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters</h2>
<div class="outline-text-2" id="text-9">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -473,7 +473,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org725e946" class="figure">
<div id="orge10d26f" class="figure">
<p><img src="figs/h_infinity_robust_fusion_plant.png" alt="h_infinity_robust_fusion_plant.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters</p>
@ -481,8 +481,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgebe7ec5" class="outline-2">
<h2 id="orgebe7ec5"><span class="section-number-2">10.</span> Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</h2>
<div id="outline-container-orgc8963ca" class="outline-2">
<h2 id="orgc8963ca"><span class="section-number-2">10.</span> Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</h2>
<div class="outline-text-2" id="text-10">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -514,7 +514,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org47d276f" class="figure">
<div id="org0646c95" class="figure">
<p><img src="figs/h_infinity_robust_fusion_fb.png" alt="h_infinity_robust_fusion_fb.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Generalized plant with the synthesized filter</p>
@ -522,8 +522,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgf9a2f39" class="outline-2">
<h2 id="orgf9a2f39"><span class="section-number-2">11.</span> LIGO Sensor Fusion Architecture</h2>
<div id="outline-container-orgc9e8b5c" class="outline-2">
<h2 id="orgc9e8b5c"><span class="section-number-2">11.</span> LIGO Sensor Fusion Architecture</h2>
<div class="outline-text-2" id="text-11">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate">\definecolor</span>{myblue}{rgb}{0, 0.447, 0.741}
@ -570,7 +570,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org81fe1cf" class="figure">
<div id="org845a82e" class="figure">
<p><img src="figs/ligo_super_sensor_architecture.png" alt="ligo_super_sensor_architecture.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Simplified block diagram of the sensor blending strategy for the first stage at the LIGO</p>
@ -578,8 +578,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orga2611bb" class="outline-2">
<h2 id="orga2611bb"><span class="section-number-2">12.</span> Closed-Loop Complementary Filters</h2>
<div id="outline-container-org852a702" class="outline-2">
<h2 id="org852a702"><span class="section-number-2">12.</span> Closed-Loop Complementary Filters</h2>
<div class="outline-text-2" id="text-12">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -602,7 +602,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org57ca8ce" class="figure">
<div id="org89c3b66" class="figure">
<p><img src="figs/feedback_sensor_fusion.png" alt="feedback_sensor_fusion.png" />
</p>
<p><span class="figure-number">Figure 12: </span>&ldquo;Closed-Loop&rdquo; complementary filters</p>
@ -610,8 +610,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org5af72e4" class="outline-2">
<h2 id="org5af72e4"><span class="section-number-2">13.</span> Closed-Loop Fusion Architecture</h2>
<div id="outline-container-org21e2e13" class="outline-2">
<h2 id="org21e2e13"><span class="section-number-2">13.</span> Closed-Loop Fusion Architecture</h2>
<div class="outline-text-2" id="text-13">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -644,7 +644,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org8886809" class="figure">
<div id="org7c31417" class="figure">
<p><img src="figs/feedback_sensor_fusion_arch.png" alt="feedback_sensor_fusion_arch.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Classical feedback architecture used for sensor fusion</p>
@ -652,8 +652,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org4e79ee7" class="outline-2">
<h2 id="org4e79ee7"><span class="section-number-2">14.</span> Feedback Loop Sensor Fusion Architecture</h2>
<div id="outline-container-org784c1ac" class="outline-2">
<h2 id="org784c1ac"><span class="section-number-2">14.</span> Feedback Loop Sensor Fusion Architecture</h2>
<div class="outline-text-2" id="text-14">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -675,7 +675,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org705140c" class="figure">
<div id="org3aa7290" class="figure">
<p><img src="figs/feedback_synthesis_architecture.png" alt="feedback_synthesis_architecture.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Feedback architecture with included weights</p>
@ -683,8 +683,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orgb59c88b" class="outline-2">
<h2 id="orgb59c88b"><span class="section-number-2">15.</span> Feedback Sensor Fusion - Generalized Plant</h2>
<div id="outline-container-org08b29ce" class="outline-2">
<h2 id="org08b29ce"><span class="section-number-2">15.</span> Feedback Sensor Fusion - Generalized Plant</h2>
<div class="outline-text-2" id="text-15">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -716,7 +716,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org32b295e" class="figure">
<div id="orgc836b02" class="figure">
<p><img src="figs/feedback_synthesis_architecture_generalized_plant.png" alt="feedback_synthesis_architecture_generalized_plant.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Generalized plant used for the \(\mathcal{H}_\infty\) synthesis of &ldquo;closed-loop&rdquo; complementary filters</p>
@ -724,8 +724,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-orge593f6d" class="outline-2">
<h2 id="orge593f6d"><span class="section-number-2">16.</span> Sensor Fusion - Sequential</h2>
<div id="outline-container-org9bf391e" class="outline-2">
<h2 id="org9bf391e"><span class="section-number-2">16.</span> Sensor Fusion - Sequential</h2>
<div class="outline-text-2" id="text-16">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -767,7 +767,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org6fe58a4" class="figure">
<div id="org187b8ba" class="figure">
<p><img src="figs/sensor_fusion_three_sequential.png" alt="sensor_fusion_three_sequential.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Sequential fusion</p>
@ -775,8 +775,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org3b323e8" class="outline-2">
<h2 id="org3b323e8"><span class="section-number-2">17.</span> Sensor Fusion - Parallel</h2>
<div id="outline-container-orgc2ef6aa" class="outline-2">
<h2 id="orgc2ef6aa"><span class="section-number-2">17.</span> Sensor Fusion - Parallel</h2>
<div class="outline-text-2" id="text-17">
<div class="org-src-container">
<pre class="src src-latex"><span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -813,7 +813,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org6ec849a" class="figure">
<div id="org72ff7bd" class="figure">
<p><img src="figs/sensor_fusion_three_parallel.png" alt="sensor_fusion_three_parallel.png" />
</p>
<p><span class="figure-number">Figure 17: </span>Parallel fusion</p>
@ -821,8 +821,8 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
</div>
<div id="outline-container-org9baa5b5" class="outline-2">
<h2 id="org9baa5b5"><span class="section-number-2">18.</span> Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</h2>
<div id="outline-container-org90ea882" class="outline-2">
<h2 id="org90ea882"><span class="section-number-2">18.</span> Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</h2>
<div class="outline-text-2" id="text-18">
<div class="org-src-container">
<pre class="src src-latex"> <span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -865,15 +865,15 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org7b3470a" class="figure">
<div id="org7b7c9c7" class="figure">
<p><img src="figs/comp_filter_three_hinf_gen_plant.png" alt="comp_filter_three_hinf_gen_plant.png" />
</p>
<p><span class="figure-number">Figure 18: </span>Generalized plant for the \(\mathcal{H}_\infty\) synthesis of three complementary filters</p>
</div>
</div>
</div>
<div id="outline-container-org10ffb09" class="outline-2">
<h2 id="org10ffb09"><span class="section-number-2">19.</span> Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</h2>
<div id="outline-container-orge8d8968" class="outline-2">
<h2 id="orge8d8968"><span class="section-number-2">19.</span> Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</h2>
<div class="outline-text-2" id="text-19">
<div class="org-src-container">
<pre class="src src-latex"> <span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
@ -916,7 +916,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="org71495ac" class="figure">
<div id="org4f6f8fa" class="figure">
<p><img src="figs/comp_filter_three_hinf_fb.png" alt="comp_filter_three_hinf_fb.png" />
</p>
<p><span class="figure-number">Figure 19: </span>Generalized plant with the synthesized filter for the \(\mathcal{H}_\infty\) synthesis of three complementary filters</p>
@ -926,7 +926,7 @@ Configuration file is accessible <a href="config.html">here</a>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2021-09-01 mer. 10:15</p>
<p class="date">Created: 2021-09-02 jeu. 10:03</p>
</div>
</body>
</html>

View File

@ -1,4 +1,4 @@
#+TITLE: A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis - Tikz Figures
#+TITLE: Designing complementary filters for sensor fusion using $\mathcal{H}_\infty$ synthesis - Tikz Figures
:DRAWER:
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html