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"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2021-09-01 mer. 17:04 --> <!-- 2021-09-02 jeu. 10:02 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <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="author" content="Thomas Dehaeze" />
<meta name="generator" content="Org Mode" /> <meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/> <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> <a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content" class="content"> </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 /> <br />
<span class="subtitle">Dehaeze Thomas, Verma Mohit and Collette Christophe</span> <span class="subtitle">Dehaeze Thomas, Verma Mohit and Collette Christophe</span>
</h1> </h1>
@ -55,9 +55,9 @@ Such synthesis method is further extended for the shaping of more than two compl
</p> </p>
</blockquote> </blockquote>
<div id="outline-container-org1d8b653" class="outline-2"> <div id="outline-container-org8d13d5d" class="outline-2">
<h2 id="org1d8b653">Journal Article (<a href="journal/dehaeze21_desig_compl_filte.pdf">link</a>)</h2> <h2 id="org8d13d5d">Journal Article (<a href="journal/dehaeze21_desig_compl_filte.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org1d8b653"> <div class="outline-text-2" id="text-org8d13d5d">
<p> <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>. 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> </p>
@ -88,9 +88,9 @@ Dehaeze, T., Vermat, M., &amp; Collette, C., A new method of designing complemen
</div> </div>
</div> </div>
<div id="outline-container-org6ba84bc" class="outline-2"> <div id="outline-container-org71c1b40" class="outline-2">
<h2 id="org6ba84bc">Matlab Scripts (<a href="matlab/dehaeze21_desig_compl_filte_matlab.html">link</a>)</h2> <h2 id="org71c1b40">Matlab Scripts (<a href="matlab/dehaeze21_desig_compl_filte_matlab.html">link</a>)</h2>
<div class="outline-text-2" id="text-org6ba84bc"> <div class="outline-text-2" id="text-org71c1b40">
<p> <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. 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>. 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> </div>
<div id="outline-container-org827f683" class="outline-2"> <div id="outline-container-org1b73cc9" class="outline-2">
<h2 id="org827f683">Tikz Figures (<a href="tikz/dehaeze21_desig_compl_filte_tikz.html">link</a>)</h2> <h2 id="org1b73cc9">Tikz Figures (<a href="tikz/dehaeze21_desig_compl_filte_tikz.html">link</a>)</h2>
<div class="outline-text-2" id="text-org827f683"> <div class="outline-text-2" id="text-org1b73cc9">
<p> <p>
All the figures for the paper have been generated using <a href="https://sourceforge.net/projects/pgf/">TikZ</a>. All the figures for the paper have been generated using <a href="https://sourceforge.net/projects/pgf/">TikZ</a>.
</p> </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: :DRAWER:
#+SUBTITLE: Dehaeze Thomas, Verma Mohit and Collette Christophe #+SUBTITLE: Dehaeze Thomas, Verma Mohit and Collette Christophe

View File

@ -3,9 +3,9 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2021-09-01 mer. 16:59 --> <!-- 2021-09-02 jeu. 10:04 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <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="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" /> <meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/> <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> <a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content" class="content"> </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"> <div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc"> <div id="text-table-of-contents" role="doc-toc">
<ul> <ul>
<li><a href="#sec:h_inf_synthesis_complementary_filters">1. H-Infinity synthesis of complementary filters</a> <li><a href="#sec:h_inf_synthesis_complementary_filters">1. H-Infinity synthesis of complementary filters</a>
<ul> <ul>
<li><a href="#org039cf66">1.1. Synthesis Architecture</a></li> <li><a href="#orgc4b4c6d">1.1. Synthesis Architecture</a></li>
<li><a href="#org5504635">1.2. Design of Weighting Function - Proposed formula</a></li> <li><a href="#org99141ab">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="#orge755bd5">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="#orgbd5024b">1.4. Synthesis of the complementary filters</a></li>
<li><a href="#orgd4544b8">1.5. Obtained Complementary Filters</a></li> <li><a href="#org8eadcab">1.5. Obtained Complementary Filters</a></li>
</ul> </ul>
</li> </li>
<li><a href="#sec:comp_filters_ligo">2. Design of complementary filters used in the Active Vibration Isolation System at the LIGO</a> <li><a href="#sec:comp_filters_ligo">2. Design of complementary filters used in the Active Vibration Isolation System at the LIGO</a>
<ul> <ul>
<li><a href="#org0ef35df">2.1. Specifications</a></li> <li><a href="#org775cee5">2.1. Specifications</a></li>
<li><a href="#org86f81f8">2.2. FIR Filter</a></li> <li><a href="#org6402809">2.2. FIR Filter</a></li>
<li><a href="#orga3462b9">2.3. Weighting function design</a></li> <li><a href="#orge47e4d1">2.3. Weighting function design</a></li>
<li><a href="#org2d35692">2.4. Synthesis of the complementary filters</a></li> <li><a href="#org5ef288a">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="#org71076fb">2.5. Comparison of the FIR filters and synthesized filters</a></li>
</ul> </ul>
</li> </li>
<li><a href="#sec:closed_loop_complementary_filters">3. &ldquo;Closed-Loop&rdquo; complementary filters</a> <li><a href="#sec:closed_loop_complementary_filters">3. &ldquo;Closed-Loop&rdquo; complementary filters</a>
<ul> <ul>
<li><a href="#orgafe7677">3.1. Weighting Function design</a></li> <li><a href="#orgfa47886">3.1. Weighting Function design</a></li>
<li><a href="#org746a218">3.2. Generalized plant</a></li> <li><a href="#org43ccb7c">3.2. Generalized plant</a></li>
<li><a href="#org18bfdfc">3.3. Synthesis of the closed-loop complementary filters</a></li> <li><a href="#orgbf556a9">3.3. Synthesis of the closed-loop complementary filters</a></li>
<li><a href="#orge450acb">3.4. Synthesized filters</a></li> <li><a href="#org426fd90">3.4. Synthesized filters</a></li>
</ul> </ul>
</li> </li>
<li><a href="#sec:three_comp_filters">4. Synthesis of three complementary filters</a> <li><a href="#sec:three_comp_filters">4. Synthesis of three complementary filters</a>
<ul> <ul>
<li><a href="#orga9cd2fd">4.1. Synthesis Architecture</a></li> <li><a href="#org23dc1a0">4.1. Synthesis Architecture</a></li>
<li><a href="#orged7fb64">4.2. Weights</a></li> <li><a href="#orgf36e7cb">4.2. Weights</a></li>
<li><a href="#org0eb6887">4.3. H-Infinity Synthesis</a></li> <li><a href="#org8bb1bfb">4.3. H-Infinity Synthesis</a></li>
</ul> </ul>
</li> </li>
<li><a href="#sec:matlab_scripts">5. Matlab Scripts</a> <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 class="outline-text-2" id="text-sec:h_inf_synthesis_complementary_filters">
</div> </div>
<div id="outline-container-org039cf66" class="outline-3"> <div id="outline-container-orgc4b4c6d" class="outline-3">
<h3 id="org039cf66"><span class="section-number-3">1.1.</span> Synthesis Architecture</h3> <h3 id="orgc4b4c6d"><span class="section-number-3">1.1.</span> Synthesis Architecture</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <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. The included weights \(W_1(s)\) and \(W_2(s)\) are used to specify the upper bounds of the complementary filters being generated.
</p> </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><img src="figs-journal/h_infinity_robust_fusion_plant.png" alt="h_infinity_robust_fusion_plant.png" />
</p> </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> <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> </div>
<p> <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> </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><img src="figs-journal/h_infinity_robust_fusion_fb.png" alt="h_infinity_robust_fusion_fb.png" />
</p> </p>
<p><span class="figure-number">Figure 2: </span>Generalized plant with the synthesized filter obtained after the \(\mathcal{H}_\infty\) synthesis</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> </div>
<div id="outline-container-org5504635" class="outline-3"> <div id="outline-container-org99141ab" class="outline-3">
<h3 id="org5504635"><span class="section-number-3">1.2.</span> Design of Weighting Function - Proposed formula</h3> <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"> <div class="outline-text-3" id="text-1-2">
<p> <p>
A formula is proposed to help the design of the weighting functions: A formula is proposed to help the design of the weighting functions:
@ -198,11 +198,11 @@ The parameters permits to specify:
</ul> </ul>
<p> <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> </p>
<div id="orga5d226a" class="figure"> <div id="org652005a" class="figure">
<p><img src="figs/weight_formula.png" alt="weight_formula.png" /> <p><img src="figs/weight_formula.png" alt="weight_formula.png" />
</p> </p>
<p><span class="figure-number">Figure 3: </span>Magnitude of the weighting function generated using formula \eqref{eq:weighting_function_formula}</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> </div>
<div id="outline-container-orgbe5ea75" class="outline-3"> <div id="outline-container-orge755bd5" class="outline-3">
<h3 id="orgbe5ea75"><span class="section-number-3">1.3.</span> Weighting functions for the design of two complementary filters</h3> <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"> <div class="outline-text-3" id="text-1-3">
<p> <p>
<a id="org3789fe5"></a> <a id="orgbf8ba5a"></a>
</p> </p>
<p> <p>
@ -233,11 +233,11 @@ W2 = generateWF(<span class="org-string">'n'</span>, 2, <span class="org-string"
</div> </div>
<p> <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> </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><img src="figs/weights_W1_W2.png" alt="weights_W1_W2.png" />
</p> </p>
<p><span class="figure-number">Figure 4: </span>Inverse magnitude of the design weighting functions</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> </div>
<div id="outline-container-org93a8bd3" class="outline-3"> <div id="outline-container-orgbd5024b" class="outline-3">
<h3 id="org93a8bd3"><span class="section-number-3">1.4.</span> Synthesis of the complementary filters</h3> <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"> <div class="outline-text-3" id="text-1-4">
<p> <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> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Generalized Plant</span> <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> </pre>
</div> </div>
<pre class="example" id="orgdbfdcce"> <pre class="example" id="orge151ac9">
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); [H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
Test bounds: 0.3223 &lt;= gamma &lt;= 1000 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> </div>
<div id="outline-container-orgd4544b8" class="outline-3"> <div id="outline-container-org8eadcab" class="outline-3">
<h3 id="orgd4544b8"><span class="section-number-3">1.5.</span> Obtained Complementary Filters</h3> <h3 id="org8eadcab"><span class="section-number-3">1.5.</span> Obtained Complementary Filters</h3>
<div class="outline-text-3" id="text-1-5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
The obtained complementary filters are shown below and are found to be of order 5. 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> </p>
<pre class="example" id="org6f67900"> <pre class="example" id="orgfedb8df">
zpk(H1) zpk(H1)
ans = ans =
@ -343,7 +343,7 @@ ans =
</pre> </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><img src="figs/hinf_filters_results.png" alt="hinf_filters_results.png" />
</p> </p>
<p><span class="figure-number">Figure 5: </span>Obtained complementary filters using \(\mathcal{H}_\infty\) synthesis</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> </p>
</div> </div>
<div id="outline-container-org0ef35df" class="outline-3"> <div id="outline-container-org775cee5" class="outline-3">
<h3 id="org0ef35df"><span class="section-number-3">2.1.</span> Specifications</h3> <h3 id="org775cee5"><span class="section-number-3">2.1.</span> Specifications</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <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>)): 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> </ul>
<p> <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> </p>
<div id="org4e806e6" class="figure"> <div id="org03607c6" class="figure">
<p><img src="figs/ligo_specifications.png" alt="ligo_specifications.png" /> <p><img src="figs/ligo_specifications.png" alt="ligo_specifications.png" />
</p> </p>
<p><span class="figure-number">Figure 6: </span>Specification for the LIGO complementary filters</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> </div>
<div id="outline-container-org86f81f8" class="outline-3"> <div id="outline-container-org6402809" class="outline-3">
<h3 id="org86f81f8"><span class="section-number-3">2.2.</span> FIR Filter</h3> <h3 id="org6402809"><span class="section-number-3">2.2.</span> FIR Filter</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <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. 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> </pre>
</div> </div>
<pre class="example" id="org8c893b5"> <pre class="example" id="orge5b954e">
cvx_begin cvx_begin
variable y(n+1,1) variable y(n+1,1)
% t % t
@ -553,7 +553,7 @@ h = y(2:end);
</pre> </pre>
<p> <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> </p>
<div class="org-src-container"> <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>
<div id="org4fd297c" class="figure"> <div id="orgf5ce15e" class="figure">
<p><img src="figs/fir_filter_ligo.png" alt="fir_filter_ligo.png" /> <p><img src="figs/fir_filter_ligo.png" alt="fir_filter_ligo.png" />
</p> </p>
<p><span class="figure-number">Figure 7: </span>FIR Complementary filters obtain after convex optimization</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> </div>
<div id="outline-container-orga3462b9" class="outline-3"> <div id="outline-container-orge47e4d1" class="outline-3">
<h3 id="orga3462b9"><span class="section-number-3">2.3.</span> Weighting function design</h3> <h3 id="orge47e4d1"><span class="section-number-3">2.3.</span> Weighting function design</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<p> <p>
The weightings function that will be used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters are now designed. 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> </div>
<p> <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> </p>
<div id="orgf2af1c4" class="figure"> <div id="org588a935" class="figure">
<p><img src="figs/ligo_weights.png" alt="ligo_weights.png" /> <p><img src="figs/ligo_weights.png" alt="ligo_weights.png" />
</p> </p>
<p><span class="figure-number">Figure 8: </span>Weights for the \(\mathcal{H}_\infty\) synthesis</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> </div>
<div id="outline-container-org2d35692" class="outline-3"> <div id="outline-container-org5ef288a" class="outline-3">
<h3 id="org2d35692"><span class="section-number-3">2.4.</span> Synthesis of the complementary filters</h3> <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"> <div class="outline-text-3" id="text-2-4">
<p> <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> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Generalized plant for the H-infinity Synthesis</span> <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> </pre>
</div> </div>
<pre class="example" id="orgb3aafc2"> <pre class="example" id="org12089e0">
[Hl, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); [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 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. The size of the filters is shown to be equal to the sum of the weighting functions orders.
</p> </p>
<pre class="example" id="orga490b22"> <pre class="example" id="org7e59413">
size(Hh), size(Hl) 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.
State-space model with 1 outputs, 1 inputs, and 27 states. State-space model with 1 outputs, 1 inputs, and 27 states.
</pre> </pre>
<p> <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> </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><img src="figs/hinf_synthesis_ligo_results.png" alt="hinf_synthesis_ligo_results.png" />
</p> </p>
<p><span class="figure-number">Figure 9: </span>Obtained complementary filters using the \(\mathcal{H}_\infty\) synthesis</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> </div>
<div id="outline-container-org2d8f858" class="outline-3"> <div id="outline-container-org71076fb" class="outline-3">
<h3 id="org2d8f858"><span class="section-number-3">2.5.</span> Comparison of the FIR filters and synthesized filters</h3> <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"> <div class="outline-text-3" id="text-2-5">
<p> <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. 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>
<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> </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><img src="figs/comp_fir_ligo_hinf.png" alt="comp_fir_ligo_hinf.png" />
</p> </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> <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> <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"> <div class="outline-text-2" id="text-sec:closed_loop_complementary_filters">
<p> <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> </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><img src="figs-journal/feedback_sensor_fusion.png" alt="feedback_sensor_fusion.png" />
</p> </p>
<p><span class="figure-number">Figure 11: </span>&ldquo;Closed-Loop&rdquo; complementary filters</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> </p>
</div> </div>
<div id="outline-container-orgafe7677" class="outline-3"> <div id="outline-container-orgfa47886" class="outline-3">
<h3 id="orgafe7677"><span class="section-number-3">3.1.</span> Weighting Function design</h3> <h3 id="orgfa47886"><span class="section-number-3">3.1.</span> Weighting Function design</h3>
<div class="outline-text-3" id="text-3-1"> <div class="outline-text-3" id="text-3-1">
<p> <p>
Weighting functions using the <code>generateWF</code> Matlab function are designed to specify the upper bounds of the complementary filters to be designed. 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> </p>
<div class="org-src-container"> <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> </div>
<div id="outline-container-org746a218" class="outline-3"> <div id="outline-container-org43ccb7c" class="outline-3">
<h3 id="org746a218"><span class="section-number-3">3.2.</span> Generalized plant</h3> <h3 id="org43ccb7c"><span class="section-number-3">3.2.</span> Generalized plant</h3>
<div class="outline-text-3" id="text-3-2"> <div class="outline-text-3" id="text-3-2">
<p> <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> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Generalized plant for "closed-loop" complementary filter synthesis</span> <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>
<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><img src="figs-journal/feedback_synthesis_architecture_generalized_plant.png" alt="feedback_synthesis_architecture_generalized_plant.png" />
</p> </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> <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> </div>
<div id="outline-container-org18bfdfc" class="outline-3"> <div id="outline-container-orgbf556a9" class="outline-3">
<h3 id="org18bfdfc"><span class="section-number-3">3.3.</span> Synthesis of the closed-loop complementary filters</h3> <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"> <div class="outline-text-3" id="text-3-3">
<p> <p>
And the standard \(\mathcal{H}_\infty\) synthesis is performed. And the standard \(\mathcal{H}_\infty\) synthesis is performed.
@ -824,7 +824,7 @@ And the standard \(\mathcal{H}_\infty\) synthesis is performed.
</pre> </pre>
</div> </div>
<pre class="example" id="org2e786a3"> <pre class="example" id="org1af6c18">
Test bounds: 0.3191 &lt;= gamma &lt;= 1.669 Test bounds: 0.3191 &lt;= gamma &lt;= 1.669
gamma X&gt;=0 Y&gt;=0 rho(XY)&lt;1 p/f 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> </div>
<div id="outline-container-orge450acb" class="outline-3"> <div id="outline-container-org426fd90" class="outline-3">
<h3 id="orge450acb"><span class="section-number-3">3.4.</span> Synthesized filters</h3> <h3 id="org426fd90"><span class="section-number-3">3.4.</span> Synthesized filters</h3>
<div class="outline-text-3" id="text-3-4"> <div class="outline-text-3" id="text-3-4">
<p> <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>
<p> <p>
@ -865,7 +865,7 @@ H2 = 1 <span class="org-builtin">-</span> H1;
</pre> </pre>
</div> </div>
<pre class="example" id="orgae811fb"> <pre class="example" id="org8cae256">
zpk(H1) = zpk(H1) =
(s+3.842)^3 (s+153.6) (s+1.289e05) (s+3.842)^3 (s+153.6) (s+1.289e05)
------------------------------------------------------- -------------------------------------------------------
@ -878,11 +878,11 @@ zpk(H2) =
</pre> </pre>
<p> <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> </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><img src="figs/hinf_filters_results_mixed_sensitivity.png" alt="hinf_filters_results_mixed_sensitivity.png" />
</p> </p>
<p><span class="figure-number">Figure 13: </span>Bode plot of the obtained complementary filters</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> </p>
</div> </div>
<div id="outline-container-orga9cd2fd" class="outline-3"> <div id="outline-container-org23dc1a0" class="outline-3">
<h3 id="orga9cd2fd"><span class="section-number-3">4.1.</span> Synthesis Architecture</h3> <h3 id="org23dc1a0"><span class="section-number-3">4.1.</span> Synthesis Architecture</h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
<p> <p>
The synthesis objective is to shape three filters that are complementary. 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} \end{equation}
<p> <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> </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><img src="figs-journal/comp_filter_three_hinf_fb.png" alt="comp_filter_three_hinf_fb.png" />
</p> </p>
<p><span class="figure-number">Figure 14: </span>Generalized architecture for generating 3 complementary filters</p> <p><span class="figure-number">Figure 14: </span>Generalized architecture for generating 3 complementary filters</p>
</div> </div>
<p> <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}. 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> </p>
@ -942,8 +942,8 @@ The last filter \(H_1(s)\) is defined as the complementary of the two others as
</div> </div>
</div> </div>
<div id="outline-container-orged7fb64" class="outline-3"> <div id="outline-container-orgf36e7cb" class="outline-3">
<h3 id="orged7fb64"><span class="section-number-3">4.2.</span> Weights</h3> <h3 id="orgf36e7cb"><span class="section-number-3">4.2.</span> Weights</h3>
<div class="outline-text-3" id="text-4-2"> <div class="outline-text-3" id="text-4-2">
<p> <p>
The three weighting functions are defined as shown below. 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> </div>
<p> <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> </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><img src="figs/three_weighting_functions.png" alt="three_weighting_functions.png" />
</p> </p>
<p><span class="figure-number">Figure 15: </span>Three weighting functions used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters</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> </div>
<div id="outline-container-org0eb6887" class="outline-3"> <div id="outline-container-org8bb1bfb" class="outline-3">
<h3 id="org0eb6887"><span class="section-number-3">4.3.</span> H-Infinity Synthesis</h3> <h3 id="org8bb1bfb"><span class="section-number-3">4.3.</span> H-Infinity Synthesis</h3>
<div class="outline-text-3" id="text-4-3"> <div class="outline-text-3" id="text-4-3">
<p> <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> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -995,7 +995,7 @@ And the standard \(\mathcal{H}_\infty\) synthesis using the <code>hinfsyn</code>
</pre> </pre>
</div> </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 Resetting value of Gamma min based on D_11, D_12, D_21 terms
Test bounds: 0.1000 &lt; gamma &lt;= 1050.0000 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> </div>
<p> <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> </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><img src="figs/three_complementary_filters_results.png" alt="three_complementary_filters_results.png" />
</p> </p>
<p><span class="figure-number">Figure 16: </span>The three complementary filters obtained after \(\mathcal{H}_\infty\) synthesis</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>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <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> </div>
</body> </body>
</html> </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: :DRAWER:
#+LANGUAGE: en #+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com #+EMAIL: dehaeze.thomas@gmail.com
@ -1442,4 +1442,7 @@ H1 = 1 - H2;
#+end_src #+end_src
* Bibliography :ignore: * Bibliography :ignore:
# For html export only:
# bibliography:ref.bib
#+latex: \printbibliography #+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 % Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt} \documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
@ -24,7 +24,7 @@
\addbibresource{ref.bib} \addbibresource{ref.bib}
\author{Dehaeze Thomas} \author{Dehaeze Thomas}
\date{\today} \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} \begin{document}
\maketitle \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} \chapter{H-Infinity synthesis of complementary filters}
\label{sec:h_inf_synthesis_complementary_filters} \label{sec:h_inf_synthesis_complementary_filters}
\section{Synthesis Architecture} \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. 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. 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}. The complete Matlab script for this part is given in Section \ref{sec:1_synthesis_complementary_filters}.
\section{Design of Weighting Function - Proposed formula} \section{Design of Weighting Function - Proposed formula}
\label{sec:org69d0d73}
A formula is proposed to help the design of the weighting functions: A formula is proposed to help the design of the weighting functions:
\begin{equation} \begin{equation}
W(s) = \left( \frac{ W(s) = \left( \frac{
@ -120,7 +118,6 @@ The general shape of a weighting function generated using the formula is shown i
\end{figure} \end{figure}
\section{Weighting functions for the design of two complementary filters} \section{Weighting functions for the design of two complementary filters}
\label{sec:org244c0a4}
\label{sec:weighting_functions_example} \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. 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} \end{figure}
\section{Synthesis of the complementary filters} \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: The generalized plant of Figure \ref{fig:h_infinity_robust_fusion_plant} is defined as follows:
\begin{minted}[]{matlab} \begin{minted}[]{matlab}
%% Generalized Plant %% Generalized Plant
@ -198,7 +194,6 @@ This function is described in Section \ref{sec:generateCF}.
\end{minted} \end{minted}
\section{Obtained Complementary Filters} \section{Obtained Complementary Filters}
\label{sec:orgb52f55e}
The obtained complementary filters are shown below and are found to be of order 5. 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. 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}. The complete Matlab script for this part is given in Section \ref{sec:2_ligo_complementary_filters}.
\section{Specifications} \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}): 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} \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}\) \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} \end{figure}
\section{FIR Filter} \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. 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. 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} \end{figure}
\section{Weighting function design} \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. 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. 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} \end{figure}
\section{Synthesis of the complementary filters} \section{Synthesis of the complementary filters}
\label{sec:org8f9014e}
The generalized plant of figure \ref{fig:h_infinity_robust_fusion_plant} is defined. The generalized plant of figure \ref{fig:h_infinity_robust_fusion_plant} is defined.
\begin{minted}[]{matlab} \begin{minted}[]{matlab}
%% Generalized plant for the H-infinity Synthesis %% 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} \end{figure}
\section{Comparison of the FIR filters and synthesized filters} \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. 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}. The complete Matlab script for this part is given in Section \ref{sec:3_closed_loop_complementary_filters}.
\section{Weighting Function design} \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. 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}. 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} \end{minted}
\section{Generalized plant} \section{Generalized plant}
\label{sec:orgbba676f}
The generalized plant of Figure \ref{fig:feedback_synthesis_architecture_generalized_plant} is defined below: The generalized plant of Figure \ref{fig:feedback_synthesis_architecture_generalized_plant} is defined below:
\begin{minted}[]{matlab} \begin{minted}[]{matlab}
%% Generalized plant for "closed-loop" complementary filter synthesis %% Generalized plant for "closed-loop" complementary filter synthesis
@ -584,7 +572,6 @@ P = [ W1 0 1;
\end{figure} \end{figure}
\section{Synthesis of the closed-loop complementary filters} \section{Synthesis of the closed-loop complementary filters}
\label{sec:org44dc95f}
And the standard \(\mathcal{H}_\infty\) synthesis is performed. And the standard \(\mathcal{H}_\infty\) synthesis is performed.
\begin{minted}[]{matlab} \begin{minted}[]{matlab}
%% Standard H-Infinity Synthesis %% Standard H-Infinity Synthesis
@ -614,7 +601,6 @@ And the standard \(\mathcal{H}_\infty\) synthesis is performed.
\end{verbatim} \end{verbatim}
\section{Synthesized filters} \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 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: 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}. The complete Matlab script for this part is given in Section \ref{sec:4_three_complementary_filters}.
\section{Synthesis Architecture} \section{Synthesis Architecture}
\label{sec:orgc4d55c9}
The synthesis objective is to shape three filters that are complementary. 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. 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} \end{equation}
\section{Weights} \section{Weights}
\label{sec:orgf866c06}
The three weighting functions are defined as shown below. The three weighting functions are defined as shown below.
\begin{minted}[]{matlab} \begin{minted}[]{matlab}
@ -699,7 +683,6 @@ Their inverse magnitudes are displayed in Figure \ref{fig:three_weighting_functi
\end{figure} \end{figure}
\section{H-Infinity Synthesis} \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. 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"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2021-09-01 mer. 10:15 --> <!-- 2021-09-02 jeu. 10:03 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <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="author" content="Thomas Dehaeze" />
<meta name="generator" content="Org Mode" /> <meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/> <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> <a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content" class="content"> </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"> <div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc"> <div id="text-table-of-contents" role="doc-toc">
<ul> <ul>
<li><a href="#orgaddbc4b">1. Sensor Fusion - Overview</a></li> <li><a href="#org50515cc">1. Sensor Fusion - Overview</a></li>
<li><a href="#orgcde34ed">2. Sensor Model</a></li> <li><a href="#orgd0f42e8">2. Sensor Model</a></li>
<li><a href="#org881c7cf">3. Sensor Model with calibration</a></li> <li><a href="#orgfe2b210">3. Sensor Model with calibration</a></li>
<li><a href="#org52dba0e">4. Sensor Fusion Architecture</a></li> <li><a href="#org7a71f40">4. Sensor Fusion Architecture</a></li>
<li><a href="#org51c6b92">5. Sensor Model with Uncertainty</a></li> <li><a href="#org02ee7f2">5. Sensor Model with Uncertainty</a></li>
<li><a href="#orgd0c3320">6. Sensor Model with Uncertainty - Simplified</a></li> <li><a href="#org15f5c37">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="#org6703507">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="#org730783f">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="#org38b031f">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="#orgc8963ca">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="#orgc9e8b5c">11. LIGO Sensor Fusion Architecture</a></li>
<li><a href="#orga2611bb">12. Closed-Loop Complementary Filters</a></li> <li><a href="#org852a702">12. Closed-Loop Complementary Filters</a></li>
<li><a href="#org5af72e4">13. Closed-Loop Fusion Architecture</a></li> <li><a href="#org21e2e13">13. Closed-Loop Fusion Architecture</a></li>
<li><a href="#org4e79ee7">14. Feedback Loop Sensor Fusion Architecture</a></li> <li><a href="#org784c1ac">14. Feedback Loop Sensor Fusion Architecture</a></li>
<li><a href="#orgb59c88b">15. Feedback Sensor Fusion - Generalized Plant</a></li> <li><a href="#org08b29ce">15. Feedback Sensor Fusion - Generalized Plant</a></li>
<li><a href="#orge593f6d">16. Sensor Fusion - Sequential</a></li> <li><a href="#org9bf391e">16. Sensor Fusion - Sequential</a></li>
<li><a href="#org3b323e8">17. Sensor Fusion - Parallel</a></li> <li><a href="#orgc2ef6aa">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="#org90ea882">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="#orge8d8968">19. Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -65,8 +65,8 @@
Configuration file is accessible <a href="config.html">here</a>. Configuration file is accessible <a href="config.html">here</a>.
</p> </p>
<div id="outline-container-orgaddbc4b" class="outline-2"> <div id="outline-container-org50515cc" class="outline-2">
<h2 id="orgaddbc4b"><span class="section-number-2">1.</span> Sensor Fusion - Overview</h2> <h2 id="org50515cc"><span class="section-number-2">1.</span> Sensor Fusion - Overview</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<div class="org-src-container"> <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} <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>
<div id="orgfdc79fa" class="figure"> <div id="org3c4bfaf" class="figure">
<p><img src="figs/sensor_fusion_overview.png" alt="sensor_fusion_overview.png" /> <p><img src="figs/sensor_fusion_overview.png" alt="sensor_fusion_overview.png" />
</p> </p>
<p><span class="figure-number">Figure 1: </span>Schematic of a sensor fusion architecture using complementary filters</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> </div>
<div id="outline-container-orgcde34ed" class="outline-2"> <div id="outline-container-orgd0f42e8" class="outline-2">
<h2 id="orgcde34ed"><span class="section-number-2">2.</span> Sensor Model</h2> <h2 id="orgd0f42e8"><span class="section-number-2">2.</span> Sensor Model</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<div class="org-src-container"> <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>} <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>
<div id="orga6c4cb8" class="figure"> <div id="org9ced2bb" class="figure">
<p><img src="figs/sensor_model.png" alt="sensor_model.png" /> <p><img src="figs/sensor_model.png" alt="sensor_model.png" />
</p> </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> <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> </div>
<div id="outline-container-org881c7cf" class="outline-2"> <div id="outline-container-orgfe2b210" class="outline-2">
<h2 id="org881c7cf"><span class="section-number-2">3.</span> Sensor Model with calibration</h2> <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="outline-text-2" id="text-3">
<div class="org-src-container"> <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>} <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>
<div id="orgd38eff7" class="figure"> <div id="org2edc54e" class="figure">
<p><img src="figs/sensor_model_calibrated.png" alt="sensor_model_calibrated.png" /> <p><img src="figs/sensor_model_calibrated.png" alt="sensor_model_calibrated.png" />
</p> </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> <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> </div>
<div id="outline-container-org52dba0e" class="outline-2"> <div id="outline-container-org7a71f40" class="outline-2">
<h2 id="org52dba0e"><span class="section-number-2">4.</span> Sensor Fusion Architecture</h2> <h2 id="org7a71f40"><span class="section-number-2">4.</span> Sensor Fusion Architecture</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<div class="org-src-container"> <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} <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>
<div id="org63acf85" class="figure"> <div id="org895e3d1" class="figure">
<p><img src="figs/fusion_super_sensor.png" alt="fusion_super_sensor.png" /> <p><img src="figs/fusion_super_sensor.png" alt="fusion_super_sensor.png" />
</p> </p>
<p><span class="figure-number">Figure 4: </span>Sensor fusion architecture with two normalized sensors</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> </div>
<div id="outline-container-org51c6b92" class="outline-2"> <div id="outline-container-org02ee7f2" class="outline-2">
<h2 id="org51c6b92"><span class="section-number-2">5.</span> Sensor Model with Uncertainty</h2> <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="outline-text-2" id="text-5">
<div class="org-src-container"> <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>} <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>
<div id="org937c435" class="figure"> <div id="orga300be8" class="figure">
<p><img src="figs/sensor_model_uncertainty.png" alt="sensor_model_uncertainty.png" /> <p><img src="figs/sensor_model_uncertainty.png" alt="sensor_model_uncertainty.png" />
</p> </p>
<p><span class="figure-number">Figure 5: </span>Sensor with multiplicative input uncertainty</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> </div>
<div id="outline-container-orgd0c3320" class="outline-2"> <div id="outline-container-org15f5c37" class="outline-2">
<h2 id="orgd0c3320"><span class="section-number-2">6.</span> Sensor Model with Uncertainty - Simplified</h2> <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="outline-text-2" id="text-6">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/sensor_model_uncertainty_simplified.png" alt="sensor_model_uncertainty_simplified.png" />
</p> </p>
<p><span class="figure-number">Figure 6: </span>Simplified sensor model</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> </div>
<div id="outline-container-orgd991dd2" class="outline-2"> <div id="outline-container-org6703507" class="outline-2">
<h2 id="orgd991dd2"><span class="section-number-2">7.</span> Sensor fusion architecture with sensor dynamics uncertainty</h2> <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="outline-text-2" id="text-7">
<div class="org-src-container"> <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} <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>
<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><img src="figs/sensor_fusion_dynamic_uncertainty.png" alt="sensor_fusion_dynamic_uncertainty.png" />
</p> </p>
<p><span class="figure-number">Figure 7: </span>Sensor fusion architecture with sensor dynamics uncertainty</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> </div>
<div id="outline-container-orgb45d1ac" class="outline-2"> <div id="outline-container-org730783f" class="outline-2">
<h2 id="orgb45d1ac"><span class="section-number-2">8.</span> Uncertainty set of the super sensor dynamics</h2> <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="outline-text-2" id="text-8">
<div class="org-src-container"> <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} <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>
<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><img src="figs/uncertainty_set_super_sensor.png" alt="uncertainty_set_super_sensor.png" />
</p> </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> <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> </div>
<div id="outline-container-orgd194580" class="outline-2"> <div id="outline-container-org38b031f" 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> <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="outline-text-2" id="text-9">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/h_infinity_robust_fusion_plant.png" alt="h_infinity_robust_fusion_plant.png" />
</p> </p>
<p><span class="figure-number">Figure 9: </span>Generalized plant used for \(\mathcal{H}_\infty\) synthesis of complementary filters</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> </div>
<div id="outline-container-orgebe7ec5" class="outline-2"> <div id="outline-container-orgc8963ca" class="outline-2">
<h2 id="orgebe7ec5"><span class="section-number-2">10.</span> Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</h2> <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="outline-text-2" id="text-10">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/h_infinity_robust_fusion_fb.png" alt="h_infinity_robust_fusion_fb.png" />
</p> </p>
<p><span class="figure-number">Figure 10: </span>Generalized plant with the synthesized filter</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> </div>
<div id="outline-container-orgf9a2f39" class="outline-2"> <div id="outline-container-orgc9e8b5c" class="outline-2">
<h2 id="orgf9a2f39"><span class="section-number-2">11.</span> LIGO Sensor Fusion Architecture</h2> <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="outline-text-2" id="text-11">
<div class="org-src-container"> <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} <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>
<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><img src="figs/ligo_super_sensor_architecture.png" alt="ligo_super_sensor_architecture.png" />
</p> </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> <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> </div>
<div id="outline-container-orga2611bb" class="outline-2"> <div id="outline-container-org852a702" class="outline-2">
<h2 id="orga2611bb"><span class="section-number-2">12.</span> Closed-Loop Complementary Filters</h2> <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="outline-text-2" id="text-12">
<div class="org-src-container"> <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>} <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>
<div id="org57ca8ce" class="figure"> <div id="org89c3b66" class="figure">
<p><img src="figs/feedback_sensor_fusion.png" alt="feedback_sensor_fusion.png" /> <p><img src="figs/feedback_sensor_fusion.png" alt="feedback_sensor_fusion.png" />
</p> </p>
<p><span class="figure-number">Figure 12: </span>&ldquo;Closed-Loop&rdquo; complementary filters</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> </div>
<div id="outline-container-org5af72e4" class="outline-2"> <div id="outline-container-org21e2e13" class="outline-2">
<h2 id="org5af72e4"><span class="section-number-2">13.</span> Closed-Loop Fusion Architecture</h2> <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="outline-text-2" id="text-13">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/feedback_sensor_fusion_arch.png" alt="feedback_sensor_fusion_arch.png" />
</p> </p>
<p><span class="figure-number">Figure 13: </span>Classical feedback architecture used for sensor fusion</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> </div>
<div id="outline-container-org4e79ee7" class="outline-2"> <div id="outline-container-org784c1ac" class="outline-2">
<h2 id="org4e79ee7"><span class="section-number-2">14.</span> Feedback Loop Sensor Fusion Architecture</h2> <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="outline-text-2" id="text-14">
<div class="org-src-container"> <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>} <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>
<div id="org705140c" class="figure"> <div id="org3aa7290" class="figure">
<p><img src="figs/feedback_synthesis_architecture.png" alt="feedback_synthesis_architecture.png" /> <p><img src="figs/feedback_synthesis_architecture.png" alt="feedback_synthesis_architecture.png" />
</p> </p>
<p><span class="figure-number">Figure 14: </span>Feedback architecture with included weights</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> </div>
<div id="outline-container-orgb59c88b" class="outline-2"> <div id="outline-container-org08b29ce" class="outline-2">
<h2 id="orgb59c88b"><span class="section-number-2">15.</span> Feedback Sensor Fusion - Generalized Plant</h2> <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="outline-text-2" id="text-15">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/feedback_synthesis_architecture_generalized_plant.png" alt="feedback_synthesis_architecture_generalized_plant.png" />
</p> </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> <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> </div>
<div id="outline-container-orge593f6d" class="outline-2"> <div id="outline-container-org9bf391e" class="outline-2">
<h2 id="orge593f6d"><span class="section-number-2">16.</span> Sensor Fusion - Sequential</h2> <h2 id="org9bf391e"><span class="section-number-2">16.</span> Sensor Fusion - Sequential</h2>
<div class="outline-text-2" id="text-16"> <div class="outline-text-2" id="text-16">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/sensor_fusion_three_sequential.png" alt="sensor_fusion_three_sequential.png" />
</p> </p>
<p><span class="figure-number">Figure 16: </span>Sequential fusion</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> </div>
<div id="outline-container-org3b323e8" class="outline-2"> <div id="outline-container-orgc2ef6aa" class="outline-2">
<h2 id="org3b323e8"><span class="section-number-2">17.</span> Sensor Fusion - Parallel</h2> <h2 id="orgc2ef6aa"><span class="section-number-2">17.</span> Sensor Fusion - Parallel</h2>
<div class="outline-text-2" id="text-17"> <div class="outline-text-2" id="text-17">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/sensor_fusion_three_parallel.png" alt="sensor_fusion_three_parallel.png" />
</p> </p>
<p><span class="figure-number">Figure 17: </span>Parallel fusion</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> </div>
<div id="outline-container-org9baa5b5" class="outline-2"> <div id="outline-container-org90ea882" class="outline-2">
<h2 id="org9baa5b5"><span class="section-number-2">18.</span> Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</h2> <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="outline-text-2" id="text-18">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/comp_filter_three_hinf_gen_plant.png" alt="comp_filter_three_hinf_gen_plant.png" />
</p> </p>
<p><span class="figure-number">Figure 18: </span>Generalized plant for the \(\mathcal{H}_\infty\) synthesis of three complementary filters</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>
</div> </div>
<div id="outline-container-org10ffb09" class="outline-2"> <div id="outline-container-orge8d8968" class="outline-2">
<h2 id="org10ffb09"><span class="section-number-2">19.</span> Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</h2> <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="outline-text-2" id="text-19">
<div class="org-src-container"> <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>} <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>
<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><img src="figs/comp_filter_three_hinf_fb.png" alt="comp_filter_three_hinf_fb.png" />
</p> </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> <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>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p> <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> </div>
</body> </body>
</html> </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: :DRAWER:
#+HTML_LINK_HOME: ../index.html #+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html #+HTML_LINK_UP: ../index.html