Reworked tikz figures

This commit is contained in:
Thomas Dehaeze 2021-09-01 10:16:26 +02:00
parent eb57832eb7
commit 6ce027cf8a
3 changed files with 1078 additions and 787 deletions

View File

@ -0,0 +1,932 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"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 -->
<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>
<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"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<script>
MathJax = {
svg: {
scale: 1,
fontCache: "global"
},
tex: {
tags: "ams",
multlineWidth: "%MULTLINEWIDTH",
tagSide: "right",
macros: {bm: ["\\boldsymbol{#1}",1],},
tagIndent: ".8em"
}
};
</script>
<script id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<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>
<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>
</ul>
</div>
</div>
<p>
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 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}
<span class="org-font-latex-sedate">\definecolor</span>{myred}{rgb}{0.8500, 0.325, 0.098}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[block, above right=0.3 and 0.5 of x](sensor1){Sensor 1};
<span class="org-font-latex-sedate">\node</span>[block, below right=0.3 and 0.5 of x](sensor2){Sensor 2};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor1](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor2](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=5.0 of x](add){};
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(x)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (x.center);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor1.east) -- node[midway, above]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>} (H1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor2.east) -- node[midway, above]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>} (H2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- ++(0.9, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(<span class="org-font-latex-math">$(H2.south-|x) + (0, -0.2)$</span>) (<span class="org-font-latex-math">$(H1.north-|add.east) + (0.2, 0.6)$</span>)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[below] at (supersensor.north) {Super Sensor};
<span class="org-font-latex-sedate">\node</span>[fit={(sensor2.south west) (sensor1.north east)}, fill=black!20!white, draw, inner sep=6pt] (sensors) {};
<span class="org-font-latex-sedate">\node</span>[align=center] at (sensors.center) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Sensors</span>}};
<span class="org-font-latex-sedate">\node</span>[fit={(H2.south west) (H1.north-|add.east)}, fill=black!20!white, draw, inner sep=6pt] (filters) {};
<span class="org-font-latex-sedate">\node</span>[align=center] at (<span class="org-font-latex-math">$(filters.center) + (-0.3, 0)$</span>) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Complementary</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Filters</span>}};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgfdc79fa" 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>
</div>
</div>
</div>
<div id="outline-container-orgcde34ed" class="outline-2">
<h2 id="orgcde34ed"><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>}
<span class="org-font-latex-sedate">\node</span>[addb](add1){};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add1](G1){<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i(s)$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(add1.west)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (add1.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (add1.north) -- ++(0, 0.7)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add1.east) -- (G1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1.east) -- ++(0.7, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(add1.west |- G1.south) (n1.north -| G1.east)}, fill=black!20!white, draw, inner sep=3pt] (sensor1) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (sensor1.north east) {Sensor};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orga6c4cb8" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[addb](add1){};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add1](G1){<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of G1](G1inv){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{G}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">^</span></span><span class="org-font-latex-math">{-1}(s)$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(add1.west)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (add1.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (add1.north) -- ++(0, 0.7)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add1.east) -- (G1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1.east) -- (G1inv.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1inv.east) -- ++(0.8, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">i$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(add1.west |- G1inv.south) (n1.north -| G1inv.east)}, fill=black!10!white, draw, inner sep=6pt] (sensor1cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor1cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor</span>}};
<span class="org-font-latex-sedate">\node</span>[fit={(add1.west |- G1.south) (n1.north -| G1.east)}, fill=black!20!white, draw, inner sep=3pt] (sensor1) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (sensor1.north east) {Sensor};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgd38eff7" 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>
</div>
</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 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}
<span class="org-font-latex-sedate">\definecolor</span>{myred}{rgb}{0.8500, 0.325, 0.098}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[addb, above right=0.8 and 0.5 of x](add1){};
<span class="org-font-latex-sedate">\node</span>[addb, below right=0.8 and 0.5 of x](add2){};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add1](G1){<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add2](G2){<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of G1](G1inv){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{G}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">^</span></span><span class="org-font-latex-math">{-1}(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of G2](G2inv){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{G}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">^</span></span><span class="org-font-latex-math">{-2}(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of G1inv](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of G2inv](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=7 of x](add){};
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(x)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (x.center);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (add1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (add2.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (add1.north) -- ++(0, 0.7)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add1.east) -- (G1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1.east) -- (G1inv.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1inv.east) -- (H1.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (add2.north) -- ++(0, 0.7)node[below right](n2){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add2.east) -- (G2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G2.east) -- (G2inv.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G2inv.east) -- (H2.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- ++(0.7, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(G2.south-|x) (n1.north-|add.east)}, fill=black!10!white, draw, inner sep=9pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (supersensor.north east) {Super Sensor};
<span class="org-font-latex-sedate">\node</span>[fit={(add1.west |- G1inv.south) (n1.north -| G1inv.east)}, fill=myblue!20!white, draw, inner sep=6pt] (sensor1cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor1cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor</span>}};
<span class="org-font-latex-sedate">\node</span>[fit={(add1.west |- G1.south) (n1.north -| G1.east)}, fill=myblue!30!white, draw, inner sep=3pt] (sensor1) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (sensor1.north east) {Sensor 1};
<span class="org-font-latex-sedate">\node</span>[fit={(add2.west |- G2inv.south) (n2.north -| G2inv.east)}, fill=myred!20!white, draw, inner sep=6pt] (sensor2cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor2cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor</span>}};
<span class="org-font-latex-sedate">\node</span>[fit={(add2.west |- G2.south) (n2.north -| G2.east)}, fill=myred!30!white, draw, inner sep=3pt] (sensor2) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (sensor2.north east) {Sensor 2};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org63acf85" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[branch] (input) at (0,0) {};
<span class="org-font-latex-sedate">\node</span>[block, above right= 0.4 and 0.4 of input](W1){<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of W1](delta1){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (addu) at (<span class="org-font-latex-math">$(delta1.east|-input) + (0.4, 0)$</span>) {};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.4 of addu] (addn) {};
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of addn] (G1) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{G}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of G1](G1inv){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{G}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">^</span></span><span class="org-font-latex-math">{-1}(s)$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(input)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (addu);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (input.center) |- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (delta1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (delta1.east) -| (addu.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addu.east) -- (addn.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addn.east) -- (G1.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (addn.north) -- ++(0, 0.7)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1.east) -- (G1inv.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1inv.east) -- ++(0.8, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(input.west |- G1inv.south) (delta1.north -| G1inv.east)}, fill=black!10!white, draw, inner sep=6pt] (sensor1cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor1cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor</span>}};
<span class="org-font-latex-sedate">\node</span>[fit={(input.west |- G1.south) (delta1.north -| G1.east)}, fill=black!20!white, draw, inner sep=3pt] (sensor1) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (sensor1.north east) {Sensor};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org937c435" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[branch] (input) at (0,0) {};
<span class="org-font-latex-sedate">\node</span>[block, above right= 0.4 and 0.4 of input](W1){<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of W1](delta1){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (addu) at (<span class="org-font-latex-math">$(delta1.east|-input) + (0.4, 0)$</span>) {};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.4 of addu] (addn) {};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(input)+(-0.8, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (addu);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (input.center) |- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (delta1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (delta1.east) -| (addu.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addu.east) -- (addn.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (addn.north) -- ++(0, 0.6)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addn.east) -- ++(0.9, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(input.west |- addu.south) (<span class="org-font-latex-math">$(delta1.north -| addn.east) + (0.1, 0)$</span>)}, fill=black!10!white, draw, inner sep=6pt] (sensor1cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor1cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor</span>}};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgce8343e" 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>
</div>
</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 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}
<span class="org-font-latex-sedate">\definecolor</span>{myred}{rgb}{0.8500, 0.325, 0.098}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[branch, above right=1.0 and 0.3 of x] (input1) {};
<span class="org-font-latex-sedate">\node</span>[branch, below right=1.0 and 0.3 of x] (input2) {};
<span class="org-font-latex-sedate">\node</span>[block, above right= 0.4 and 0.3 of input1](W1){<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, above right= 0.4 and 0.3 of input2](W2){<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of W1](delta1){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of W2](delta2){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (addu1) at (<span class="org-font-latex-math">$(delta1.east|-input1) + (0.4, 0)$</span>) {};
<span class="org-font-latex-sedate">\node</span>[addb] (addu2) at (<span class="org-font-latex-math">$(delta2.east|-input2) + (0.4, 0)$</span>) {};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.4 of addu1] (addn1) {};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.4 of addu2] (addn2) {};
<span class="org-font-latex-sedate">\node</span>[block, right=0.9 of addn1](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.9 of addn2](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=7 of x](add){};
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(x)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (x.center);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (addu1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (addu2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (input1.center) |- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (delta1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (delta1.east) -| (addu1.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addu1.east) -- (addn1.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (addn1.north) -- ++(0, 0.6)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (input2.center) |- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (delta2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (delta2.east) -| (addu2.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addu2.east) -- (addn2.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (addn2.north) -- ++(0, 0.6)node[below right](n2){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addn1.east) -- (H1.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addn2.east) -- (H2.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- ++(0.7, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(addn2.south-|x) (delta1.north-|add.east)}, fill=black!10!white, draw, inner sep=9pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (supersensor.north east) {Super Sensor};
<span class="org-font-latex-sedate">\node</span>[fit={(input1.west |- addu1.south) (<span class="org-font-latex-math">$(delta1.north -| addn1.east) + (0.1, 0.0)$</span>)}, fill=myblue!20!white, draw, inner sep=6pt] (sensor1cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor1cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor 1</span>}};
<span class="org-font-latex-sedate">\node</span>[fit={(input2.west |- addu2.south) (<span class="org-font-latex-math">$(delta2.north -| addn1.east) + (0.1, 0.0)$</span>)}, fill=myred!20!white, draw, inner sep=6pt] (sensor2cal) {};
<span class="org-font-latex-sedate">\node</span>[below left, align=right] at (sensor2cal.north east) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensor 2</span>}};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org5b69e5a" 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>
</div>
</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 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}
<span class="org-font-latex-sedate">\definecolor</span>{myred}{rgb}{0.8500, 0.325, 0.098}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[shift={(4, 0)}]
<span class="org-comment">% Uncertainty Circle</span>
<span class="org-font-latex-sedate">\node</span>[draw, circle, fill=black!20!white, minimum size=3.6cm] (c) at (0, 0) {};
<span class="org-font-latex-sedate">\path</span>[draw, fill=myblue!20!white] (0, 0) circle [radius=1.0];
<span class="org-font-latex-sedate">\path</span>[draw, fill=myred!20!white] (135:1.0) circle [radius=0.8];
<span class="org-font-latex-sedate">\path</span>[draw, dashed] (0, 0) circle [radius=1.0];
<span class="org-comment">% Center of Circle</span>
<span class="org-font-latex-sedate">\node</span>[below] at (0, 0){<span class="org-font-latex-math">$1$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-&gt;] (0, 0) node[branch]{} -- coordinate[midway](r1) ++(45:1.0);
<span class="org-font-latex-sedate">\draw</span>[&lt;-&gt;] (135:1.0)node[branch]{} -- coordinate[midway](r2) ++(135:0.8);
<span class="org-font-latex-sedate">\node</span>[] (l1) at (2, 1.5) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, out=-90, in=0] (l1.south) to (r1);
<span class="org-font-latex-sedate">\node</span>[] (l2) at (-3.2, 1.2) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, out=0, in=-180] (l2.east) to (r2);
<span class="org-font-latex-sedate">\draw</span>[&lt;-&gt;] (0, 0) -- coordinate[near end](r3) ++(200:1.8);
<span class="org-font-latex-sedate">\node</span>[] (l3) at (-2.5, -1.5) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1| + |w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, out=90, in=-90] (l3.north) to (r3);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-comment">% Real and Imaginary Axis</span>
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-0.5, 0) -- (7.0, 0) node[below left]{Re};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, -1.7) -- (0, 1.7) node[below left]{Im};
<span class="org-font-latex-sedate">\draw</span>[dashed] (0, 0) -- (tangent cs:node=c,point={(0, 0)},solution=2);
<span class="org-font-latex-sedate">\draw</span>[dashed] (1, 0) arc (0:28:1) node[midway, right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"> </span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\phi</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\text</span></span><span class="org-font-latex-math">{max}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgc80ec14" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[block={4.0cm}{3.0cm}, fill=black!10!white] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, below=0.2 of P, opacity=0] (H2) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw) at (<span class="org-font-latex-math">$(P.south west)!0.75!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.35!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(P.south east)!0.75!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(P.south east)!0.35!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.1!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of W1] (sub) {};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw) node[above right]{<span class="org-font-latex-math">$w$</span>} -- (sub.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu) node[above right]{<span class="org-font-latex-math">$u$</span>} -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu-|sub) node[branch]{} -- (sub.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub.east) -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(sub.west)+(-0.6, 0)$</span>) node[branch]{} |- (outputv) node[above left]{<span class="org-font-latex-math">$v$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (output1)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (output2)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org725e946" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[block={4.0cm}{3.0cm}, fill=black!10!white] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, below=0.2 of P] (H2) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw) at (<span class="org-font-latex-math">$(P.south west)!0.75!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.35!(P.north west) + (-0.4, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(P.south east)!0.75!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(P.south east)!0.35!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.1!(P.north east) + ( 0.4, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of W1] (sub) {};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw) node[above right]{<span class="org-font-latex-math">$w$</span>} -- (sub.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu-|sub) node[branch]{} -- (sub.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub.east) -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(sub.west)+(-0.6, 0)$</span>) node[branch]{} |- (outputv) |- (H2.east);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2.west) -| (inputu) -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (output1)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (output2)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org47d276f" 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>
</div>
</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 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}
<span class="org-font-latex-sedate">\definecolor</span>{myred}{rgb}{0.8500, 0.325, 0.098}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[block, align=center] (position) at (0, 2.2) {Position<span class="org-font-latex-warning">\\</span>Sensor};
<span class="org-font-latex-sedate">\node</span>[block, align=center] (seismometer) at (0, 1.0) {Seismometer};
<span class="org-font-latex-sedate">\node</span>[block, align=center] (geophone) at (0,-0.6) {Geophone};
<span class="org-font-latex-sedate">\node</span>[branch, left=0.4 of seismometer] (x);
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of seismometer](H1){<span class="org-font-latex-math">$L</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block](H2) at (H1|-geophone) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (add) at (4, 0){};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of add](H2p) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block] (H1p) at (H2p|-position) {<span class="org-font-latex-math">$L</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (addp) at (7, 1.0){};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(x)+(-1.0, 0)$</span>) -- (seismometer.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (position.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (geophone.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (position.east) -- (H1p.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (seismometer.east) -- (H1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (geophone.east) -- (H2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- (H2p.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1p) -| (addp.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2p) -| (addp.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addp.east) -- ++(1.0, 0);
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(x.west|-geophone.south) (position.north-|addp.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[below] at (supersensor.north) {Super Sensor};
<span class="org-font-latex-sedate">\node</span>[fit={(x.west|-seismometer.north) (add.east|-geophone.south)}, fill=black!20!white, draw, inner sep=3pt] (superinertialsensor) {};
<span class="org-font-latex-sedate">\node</span>[] at (superinertialsensor.center) {"Inertial" Super Sensor};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org81fe1cf" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}] (addfb) at (0, 0){};
<span class="org-font-latex-sedate">\node</span>[block, right=1 of addfb] (L){<span class="org-font-latex-math">$L(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{}, right=1 of L] (adddy){};
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (addfb.west) -- ++(-1, 0) node[above right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addfb.east) -- (L.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (L.east) -- (adddy.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (adddy.east) -- ++(1.4, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(adddy.east) + (0.5, 0)$</span>) node[branch]{} -- ++(0, -0.8) coordinate(botc) -| (addfb.south);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (adddy.north) -- ++(0, 1) node[below right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(L.north-|addfb.west) (botc)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org57ca8ce" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}] (addfb) at (0, 0){};
<span class="org-font-latex-sedate">\node</span>[block, right=1 of addfb] (L){<span class="org-font-latex-math">$L(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{}, right=1 of L] (adddy){};
<span class="org-font-latex-sedate">\node</span>[block, left=1.2 of addfb] (sensor2){Sensor 2};
<span class="org-font-latex-sedate">\node</span>[block, above=0.4 of sensor2] (sensor1){Sensor 1};
<span class="org-font-latex-sedate">\node</span>[branch, left=0.6 of sensor2] (x){};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addfb.east) -- (L.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (L.east) -- (adddy.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (adddy.east) -- ++(1.4, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(adddy.east) + (0.5, 0)$</span>) node[branch]{} -- ++(0, -0.8) coordinate(botc) -| (addfb.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(x)-(0.8,0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (sensor2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor2.east)node[above right=0 and 0.25]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>} -- (addfb.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor1.east)node[above right=0 and 0.25]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>} -| (adddy.north);
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(x|-sensor1.north) (botc)}, fill=black!10!white, draw, inner sep=9pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[fit={(sensor1.north-|addfb.west) (botc)}, fill=black!20!white, draw, inner sep=6pt] (feedbackfilter) {};
<span class="org-font-latex-sedate">\node</span>[fit={(sensor2.west|-botc) (sensor1.north east)}, fill=black!20!white, draw, inner sep=6pt] (sensors) {};
<span class="org-font-latex-sedate">\node</span>[above, align=center] at (sensors.south) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> Normalized</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> sensors</span>}};
<span class="org-font-latex-sedate">\node</span>[below, align=center] at (feedbackfilter.north) {{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> "Closed-Loop"</span>}<span class="org-font-latex-warning">\\</span>[-0.5em]{<span class="org-font-latex-sedate"><span class="org-keyword">\tiny</span></span><span class="org-type"> complementary filters</span>}};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org8886809" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[block] (W2) at (0,0) {<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, right=0.8 of W2] (addfb){};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{}, right=4.5 of W2] (adddy){};
<span class="org-font-latex-sedate">\node</span>[block, above=0.8 of adddy] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (W2.west) -- ++(-0.8, 0) node[above right]{<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (addfb.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{w}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addfb.east) -- ++(1, 0) node[above left]{<span class="org-font-latex-math">$v$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (adddy.west) -- ++(-1, 0) node[above right]{<span class="org-font-latex-math">$u$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (adddy.east) -- ++(1.4, 0) node[above left]{<span class="org-font-latex-math">$z$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.south) -- (adddy.north) node[above right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\tilde</span></span><span class="org-font-latex-math">{w}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (W1.north) -- ++(0, 0.8) node[below right]{<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(adddy.east) + (0.5, 0)$</span>) node[branch]{} -- ++(0, -0.8) -| (addfb.south);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org705140c" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[block={4.5cm}{3.0cm}, fill=black!10!white] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">L(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw1) at (<span class="org-font-latex-math">$(P.south west)!0.75!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw2) at (<span class="org-font-latex-math">$(P.south west)!0.40!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.15!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputz) at (<span class="org-font-latex-math">$(P.south east)!0.75!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.40!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, right=1.2 of inputw2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=1.2 of inputw1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{}, right=0.8 of W1] (add) {};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{-}{}{}, right=1.8 of W2] (sub) {};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw2) node[above right]{<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>} -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw1) node[above right]{<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>} -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu) node[above right]{<span class="org-font-latex-math">$u$</span>} -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (sub.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (add.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- (outputz)node[above left]{<span class="org-font-latex-math">$z$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub.east) -- (outputv)node[above left]{<span class="org-font-latex-math">$v$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add-|sub) node[branch]{} -- (sub.north);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org32b295e" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of x] (sensor2) {Sensor 2};
<span class="org-font-latex-sedate">\node</span>[block, above=0.4 of sensor2] (sensor1) {Sensor 1};
<span class="org-font-latex-sedate">\node</span>[block, below=0.4 of sensor2] (sensor3) {Sensor 3};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor1](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor2](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (add) at (<span class="org-font-latex-math">$0.5*(H1.east)+0.5*(H2.east)+(0.6, 0)$</span>){};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add](H1p) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">^</span></span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\prime</span></span><span class="org-font-latex-math">(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block] (H2p) at (H1p|-sensor3) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">^</span></span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\prime</span></span><span class="org-font-latex-math">(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb] (addp) at (<span class="org-font-latex-math">$0.5*(H1p.east)+0.5*(H2p.east)+(0.6, 0)$</span>){};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(x)+(-0.8, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (sensor2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor3.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor1.east) -- (H1.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor2.east) -- (H2.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor3.east) -- (H2p.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- (H1p.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">{12}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1p) -| (addp.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2p) -| (addp.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (addp.east) -- ++(0.8, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(x.west|-sensor3.south) (sensor1.north-|addp.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[fit={(x.west|-sensor1.north) (add.east|-sensor2.south)}, fill=black!20!white, draw, inner sep=3pt] (superinertialsensor) {};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org6fe58a4" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[block, right=0.4 of x] (sensor2) {Sensor 2};
<span class="org-font-latex-sedate">\node</span>[block, above=0.3 of sensor2] (sensor1) {Sensor 1};
<span class="org-font-latex-sedate">\node</span>[block, below=0.3 of sensor2] (sensor3) {Sensor 3};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor1](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor2](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=1.1 of sensor3](H3){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.6 of H2](add){};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor1.west);
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(x)+(-0.8, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (sensor2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (sensor3.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor1.east) -- (H1.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor2.east) -- (H2.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sensor3.east) -- (H3.west) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -- (add.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H3) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- ++(0.8, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(H3.south-|x) (H1.north-|add.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org6ec849a" 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>
</div>
</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 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>}
<span class="org-font-latex-sedate">\node</span>[block={5.0cm}{4.5cm}, fill=black!10!white] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw) at (<span class="org-font-latex-math">$(P.south west)!0.8!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.4!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(P.south east)!0.8!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(P.south east)!0.55!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output3) at (<span class="org-font-latex-math">$(P.south east)!0.3!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.1!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output3] (W3){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of W1] (sub1) {};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of sub1] (sub2) {};
<span class="org-font-latex-sedate">\node</span>[block, below=0.3 of P, opacity=0] (H) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-keyword"><span class="org-font-latex-math">\begin</span></span></span><span class="org-font-latex-math">{</span><span class="org-function-name"><span class="org-font-latex-math">bmatrix</span></span><span class="org-font-latex-math">}H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s) \\ H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)</span><span class="org-font-latex-sedate"><span class="org-keyword"><span class="org-font-latex-math">\end</span></span></span><span class="org-font-latex-math">{</span><span class="org-function-name"><span class="org-font-latex-math">bmatrix</span></span><span class="org-font-latex-math">}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw) node[above right](w){<span class="org-font-latex-math">$w$</span>} -- (sub2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W3-|sub1)node[branch]{} -- (sub1.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2-|sub2)node[branch]{} -- (sub2.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(sub2.west)+(-0.5, 0)$</span>) node[branch]{} |- (outputv);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu|-W2) -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu|-W3) -- (W3.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub2.east) -- (sub1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub1.east) -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (output1)node[above left](z){<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (output2)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W3.east) -- (output3)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (W2-|w){<span class="org-font-latex-math">$u</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (W3-|w){<span class="org-font-latex-math">$u</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (outputv-|z){<span class="org-font-latex-math">$v$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org7b3470a" 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 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>}
<span class="org-font-latex-sedate">\node</span>[block={5.0cm}{4.5cm}, fill=black!10!white] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw) at (<span class="org-font-latex-math">$(P.south west)!0.8!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.4!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(P.south east)!0.8!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(P.south east)!0.55!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output3) at (<span class="org-font-latex-math">$(P.south east)!0.3!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.1!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output3] (W3){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of W1] (sub1) {};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of sub1] (sub2) {};
<span class="org-font-latex-sedate">\node</span>[block, below=0.3 of P] (H) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-keyword"><span class="org-font-latex-math">\begin</span></span></span><span class="org-font-latex-math">{</span><span class="org-function-name"><span class="org-font-latex-math">bmatrix</span></span><span class="org-font-latex-math">}H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s) \\ H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)</span><span class="org-font-latex-sedate"><span class="org-keyword"><span class="org-font-latex-math">\end</span></span></span><span class="org-font-latex-math">{</span><span class="org-function-name"><span class="org-font-latex-math">bmatrix</span></span><span class="org-font-latex-math">}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw) node[above right](w){<span class="org-font-latex-math">$w$</span>} -- (sub2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W3-|sub1)node[branch]{} -- (sub1.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2-|sub2)node[branch]{} -- (sub2.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(sub2.west)+(-0.5, 0)$</span>) node[branch]{} |- (outputv) |- (H.east);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(H.south west)!0.7!(H.north west)$</span>) -| (inputu|-W2) -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(H.south west)!0.3!(H.north west)$</span>) -| (<span class="org-font-latex-math">$(inputu|-W3)+(0.4, 0)$</span>) -- (W3.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub2.east) -- (sub1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub1.east) -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (output1)node[above left](z){<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (output2)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W3.east) -- (output3)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (W2-|w){<span class="org-font-latex-math">$u</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (W3-|w){<span class="org-font-latex-math">$u</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (outputv-|z){<span class="org-font-latex-math">$v$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org71495ac" 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>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2021-09-01 mer. 10:15</p>
</div>
</body>
</html>

View File

@ -1,4 +1,4 @@
#+TITLE: Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis - Tikz Figures
#+TITLE: A new method of designing complementary filters for sensor fusion using the $\mathcal{H}_\infty$ synthesis - Tikz Figures
:DRAWER:
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
@ -59,7 +59,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_fusion_overview
#+caption: Sensor Fusion Architecture - Overview
#+caption: Schematic of a sensor fusion architecture using complementary filters
#+RESULTS:
[[file:figs/sensor_fusion_overview.png]]
@ -82,7 +82,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_model
#+caption: Basic Sensor Model
#+caption: Basic sensor model consisting of a noise input $n_i$ and a linear time invariant transfer function $G_i(s)$
#+RESULTS:
[[file:figs/sensor_model.png]]
@ -110,7 +110,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_model_calibrated
#+caption: Calibrated Sensor
#+caption: Normalized sensors using the inverse of an estimate $\hat{G}_i(s)$ of the sensor dynamics
#+RESULTS:
[[file:figs/sensor_model_calibrated.png]]
@ -164,7 +164,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:fusion_super_sensor
#+caption: Sensor Fusion Architecture ([[./figs/fusion_super_sensor.png][png]], [[./figs/fusion_super_sensor.pdf][pdf]], [[./figs/fusion_super_sensor.tex][tex]]).
#+caption: Sensor fusion architecture with two normalized sensors
#+RESULTS:
[[file:figs/fusion_super_sensor.png]]
@ -200,7 +200,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_model_uncertainty
#+caption: Input Uncertainty
#+caption: Sensor with multiplicative input uncertainty
#+RESULTS:
[[file:figs/sensor_model_uncertainty.png]]
@ -229,7 +229,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_model_uncertainty_simplified
#+caption: Input Uncertainty
#+caption: Simplified sensor model
#+RESULTS:
[[file:figs/sensor_model_uncertainty_simplified.png]]
@ -291,7 +291,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_fusion_dynamic_uncertainty
#+caption: Sensor fusion architecture with sensor dynamics uncertainty ([[./figs/sensor_fusion_dynamic_uncertainty.png][png]], [[./figs/sensor_fusion_dynamic_uncertainty.pdf][pdf]], [[./figs/sensor_fusion_dynamic_uncertainty.tex][tex]]).
#+caption: Sensor fusion architecture with sensor dynamics uncertainty
#+RESULTS:
[[file:figs/sensor_fusion_dynamic_uncertainty.png]]
@ -331,21 +331,23 @@ Configuration file is accessible [[file:config.org][here]].
\draw[->] (0, -1.7) -- (0, 1.7) node[below left]{Im};
\draw[dashed] (0, 0) -- (tangent cs:node=c,point={(0, 0)},solution=2);
\draw[dashed] (1, 0) arc (0:28:1) node[midway, right]{$\Delta \phi$};
\draw[dashed] (1, 0) arc (0:28:1) node[midway, right]{$\Delta \phi_\text{max}$};
\end{tikzpicture}
#+end_src
#+name: fig:uncertainty_set_super_sensor
#+caption: Uncertainty region of the super sensor dynamics in the complex plane (solid circle), of the sensor 1 (dotted circle) and of the sensor 2 (dashed circle) ([[./figs/uncertainty_set_super_sensor.png][png]], [[./figs/uncertainty_set_super_sensor.pdf][pdf]], [[./figs/uncertainty_set_super_sensor.tex][tex]]).
#+caption: 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.
#+RESULTS:
[[file:figs/uncertainty_set_super_sensor.png]]
* Architecture used for $\mathcal{H}_\infty$ synthesis of complementary filters
#+begin_src latex :file h_infinity_robust_fusion.pdf :tangle figs/h_infinity_robust_fusion.tex :exports both
* Generalized plant used for $\mathcal{H}_\infty$ synthesis of complementary filters
#+begin_src latex :file h_infinity_robust_fusion_plant.pdf :tangle figs/h_infinity_robust_fusion_plant.tex :exports both
\begin{tikzpicture}
\node[block={4.0cm}{3.0cm}, fill=black!10!white] (P) {};
\node[above] at (P.north) {$P(s)$};
\node[block, below=0.2 of P, opacity=0] (H2) {$H_2(s)$};
\coordinate[] (inputw) at ($(P.south west)!0.75!(P.north west) + (-0.7, 0)$);
\coordinate[] (inputu) at ($(P.south west)!0.35!(P.north west) + (-0.7, 0)$);
@ -357,8 +359,6 @@ Configuration file is accessible [[file:config.org][here]].
\node[block, left=1.4 of output2] (W2){$W_2(s)$};
\node[addb={+}{}{}{}{-}, left=of W1] (sub) {};
% \node[block, below=0.3 of P] (H2) {$H_2(s)$};
\draw[->] (inputw) node[above right]{$w$} -- (sub.west);
\draw[->] (inputu) node[above right]{$u$} -- (W2.west);
\draw[->] (inputu-|sub) node[branch]{} -- (sub.south);
@ -369,10 +369,44 @@ Configuration file is accessible [[file:config.org][here]].
\end{tikzpicture}
#+end_src
#+name: fig:h_infinity_robust_fusion
#+caption: Architecture used for $\mathcal{H}_\infty$ synthesis of complementary filters ([[./figs/h_infinity_robust_fusion.png][png]], [[./figs/h_infinity_robust_fusion.pdf][pdf]], [[./figs/h_infinity_robust_fusion.tex][tex]]).
#+name: fig:h_infinity_robust_fusion_plant
#+caption: Generalized plant used for $\mathcal{H}_\infty$ synthesis of complementary filters
#+RESULTS:
[[file:figs/h_infinity_robust_fusion.png]]
[[file:figs/h_infinity_robust_fusion_plant.png]]
* Architecture used for $\mathcal{H}_\infty$ synthesis of complementary filters
#+begin_src latex :file h_infinity_robust_fusion_fb.pdf :tangle figs/h_infinity_robust_fusion_fb.tex :exports both
\begin{tikzpicture}
\node[block={4.0cm}{3.0cm}, fill=black!10!white] (P) {};
\node[above] at (P.north) {$P(s)$};
\node[block, below=0.2 of P] (H2) {$H_2(s)$};
\coordinate[] (inputw) at ($(P.south west)!0.75!(P.north west) + (-0.7, 0)$);
\coordinate[] (inputu) at ($(P.south west)!0.35!(P.north west) + (-0.4, 0)$);
\coordinate[] (output1) at ($(P.south east)!0.75!(P.north east) + ( 0.7, 0)$);
\coordinate[] (output2) at ($(P.south east)!0.35!(P.north east) + ( 0.7, 0)$);
\coordinate[] (outputv) at ($(P.south east)!0.1!(P.north east) + ( 0.4, 0)$);
\node[block, left=1.4 of output1] (W1){$W_1(s)$};
\node[block, left=1.4 of output2] (W2){$W_2(s)$};
\node[addb={+}{}{}{}{-}, left=of W1] (sub) {};
\draw[->] (inputw) node[above right]{$w$} -- (sub.west);
\draw[->] (inputu-|sub) node[branch]{} -- (sub.south);
\draw[->] (sub.east) -- (W1.west);
\draw[->] ($(sub.west)+(-0.6, 0)$) node[branch]{} |- (outputv) |- (H2.east);
\draw[->] (H2.west) -| (inputu) -- (W2.west);
\draw[->] (W1.east) -- (output1)node[above left]{$z_1$};
\draw[->] (W2.east) -- (output2)node[above left]{$z_2$};
\end{tikzpicture}
#+end_src
#+name: fig:h_infinity_robust_fusion_fb
#+caption: Generalized plant with the synthesized filter
#+RESULTS:
[[file:figs/h_infinity_robust_fusion_fb.png]]
* LIGO Sensor Fusion Architecture
#+begin_src latex :file ligo_super_sensor_architecture.pdf :tangle figs/ligo_super_sensor_architecture.tex :exports both
@ -419,7 +453,7 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:ligo_super_sensor_architecture
#+caption: ([[./figs/ligo_super_sensor_architecture.png][png]], [[./figs/ligo_super_sensor_architecture.pdf][pdf]], [[./figs/ligo_super_sensor_architecture.tex][tex]]).
#+caption: Simplified block diagram of the sensor blending strategy for the first stage at the LIGO
#+RESULTS:
[[file:figs/ligo_super_sensor_architecture.png]]
@ -439,13 +473,12 @@ Configuration file is accessible [[file:config.org][here]].
\begin{scope}[on background layer]
\node[fit={(L.north-|addfb.west) (botc)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
% \node[below] at (supersensor.north) {Super Sensor};
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:feedback_sensor_fusion
#+caption: "Closed-Loop" complementary filters ([[./figs/feedback_sensor_fusion.png][png]], [[./figs/feedback_sensor_fusion.pdf][pdf]], [[./figs/feedback_sensor_fusion.tex][tex]]).
#+caption: "Closed-Loop" complementary filters
#+RESULTS:
[[file:figs/feedback_sensor_fusion.png]]
@ -475,37 +508,36 @@ Configuration file is accessible [[file:config.org][here]].
\node[fit={(sensor2.west|-botc) (sensor1.north east)}, fill=black!20!white, draw, inner sep=6pt] (sensors) {};
\node[above, align=center] at (sensors.south) {{\tiny Normalized}\\[-0.5em]{\tiny sensors}};
\node[below, align=center] at (feedbackfilter.north) {{\tiny "Closed-Loop"}\\[-0.5em]{\tiny complementary filters}};
% \node[above, align=center] at (supersensor.north) {Super Sensor};
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:feedback_sensor_fusion_arch
#+caption: ([[./figs/feedback_sensor_fusion_arch.png][png]], [[./figs/feedback_sensor_fusion_arch.pdf][pdf]], [[./figs/feedback_sensor_fusion_arch.tex][tex]]).
#+caption: Classical feedback architecture used for sensor fusion
#+RESULTS:
[[file:figs/feedback_sensor_fusion_arch.png]]
* TODO Feedback Loop Sensor Fusion Architecture
* Feedback Loop Sensor Fusion Architecture
#+begin_src latex :file feedback_synthesis_architecture.pdf :tangle figs/feedback_synthesis_architecture.tex
\begin{tikzpicture}
\node[block] (W2) at (0,0) {$W_2$};
\node[addb={+}{}{}{}{-}, right=1 of W2] (addfb){};
\node[block] (W2) at (0,0) {$W_2(s)$};
\node[addb={+}{}{}{}{-}, right=0.8 of W2] (addfb){};
\node[addb={+}{}{}{}{}, right=4.5 of W2] (adddy){};
\node[block, above=0.8 of adddy] (W1){$W_1$};
\node[block, above=0.8 of adddy] (W1){$W_1(s)$};
\draw[<-] (W2.west) -- ++(-1, 0) node[above right]{$w_2$};
\draw[<-] (W2.west) -- ++(-0.8, 0) node[above right]{$w_2$};
\draw[->] (W2.east) -- (addfb.west) node[above left]{$\tilde{w}_2$};
\draw[->] (addfb.east) -- ++(1, 0) node[above left]{$v$};
\draw[<-] (adddy.west) -- ++(-1, 0) node[above right]{$u$};
\draw[->] (adddy.east) -- ++(1.4, 0) node[above left]{$z$};
\draw[->] (W1.south) -- (adddy.north) node[above right]{$\tilde{w}_1$};
\draw[<-] (W1.north) -- ++(0, 1) node[below right]{$w_1$};
\draw[<-] (W1.north) -- ++(0, 0.8) node[below right]{$w_1$};
\draw[->] ($(adddy.east) + (0.5, 0)$) node[branch]{} -- ++(0, -0.8) -| (addfb.south);
\end{tikzpicture}
#+end_src
#+name: fig:feedback_synthesis_architecture
#+caption: ([[./figs/feedback_synthesis_architecture.png][png]], [[./figs/feedback_synthesis_architecture.pdf][pdf]], [[./figs/feedback_synthesis_architecture.tex][tex]]).
#+caption: Feedback architecture with included weights
#+RESULTS:
[[file:figs/feedback_synthesis_architecture.png]]
@ -539,10 +571,54 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:feedback_synthesis_architecture_generalized_plant
#+caption: ([[./figs/feedback_synthesis_architecture_generalized_plant.png][png]], [[./figs/feedback_synthesis_architecture_generalized_plant.pdf][pdf]], [[./figs/feedback_synthesis_architecture_generalized_plant.tex][tex]]).
#+caption: Generalized plant used for the $\mathcal{H}_\infty$ synthesis of "closed-loop" complementary filters
#+RESULTS:
[[file:figs/feedback_synthesis_architecture_generalized_plant.png]]
* Sensor Fusion - Sequential
#+begin_src latex :file sensor_fusion_three_sequential.pdf
\begin{tikzpicture}
\node[branch] (x) at (0, 0);
\node[block, right=0.4 of x] (sensor2) {Sensor 2};
\node[block, above=0.4 of sensor2] (sensor1) {Sensor 1};
\node[block, below=0.4 of sensor2] (sensor3) {Sensor 3};
\node[block, right=1.1 of sensor1](H1){$H_1(s)$};
\node[block, right=1.1 of sensor2](H2){$H_2(s)$};
\node[addb] (add) at ($0.5*(H1.east)+0.5*(H2.east)+(0.6, 0)$){};
\node[block, right=0.8 of add](H1p) {$H_1^\prime(s)$};
\node[block] (H2p) at (H1p|-sensor3) {$H_2^\prime(s)$};
\node[addb] (addp) at ($0.5*(H1p.east)+0.5*(H2p.east)+(0.6, 0)$){};
\draw[->] ($(x)+(-0.8, 0)$) node[above right]{$x$} -- (sensor2.west);
\draw[->] (x.center) |- (sensor1.west);
\draw[->] (x.center) |- (sensor3.west);
\draw[->] (sensor1.east) -- (H1.west) node[above left]{$\hat{x}_1$};
\draw[->] (sensor2.east) -- (H2.west) node[above left]{$\hat{x}_2$};
\draw[->] (sensor3.east) -- (H2p.west) node[above left]{$\hat{x}_3$};
\draw[->] (H1) -| (add.north);
\draw[->] (H2) -| (add.south);
\draw[->] (add.east) -- (H1p.west) node[above left]{$\hat{x}_{12}$};
\draw[->] (H1p) -| (addp.north);
\draw[->] (H2p) -| (addp.south);
\draw[->] (addp.east) -- ++(0.8, 0) node[above left]{$\hat{x}$};
\begin{scope}[on background layer]
\node[fit={(x.west|-sensor3.south) (sensor1.north-|addp.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
\node[fit={(x.west|-sensor1.north) (add.east|-sensor2.south)}, fill=black!20!white, draw, inner sep=3pt] (superinertialsensor) {};
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:sensor_fusion_three_sequential
#+caption: Sequential fusion
#+RESULTS:
[[file:figs/sensor_fusion_three_sequential.png]]
* Sensor Fusion - Parallel
#+begin_src latex :file sensor_fusion_three_parallel.pdf
\begin{tikzpicture}
@ -578,57 +654,56 @@ Configuration file is accessible [[file:config.org][here]].
#+end_src
#+name: fig:sensor_fusion_three_parallel
#+caption: Sensor Fusion Architecture - Overview
#+caption: Parallel fusion
#+RESULTS:
[[file:figs/sensor_fusion_three_parallel.png]]
* Sensor Fusion - Sequential
#+begin_src latex :file sensor_fusion_three_sequential.pdf
\begin{tikzpicture}
\node[branch] (x) at (0, 0);
* Architecture for $\mathcal{H}_\infty$ synthesis of three complementary filters
#+begin_src latex :file comp_filter_three_hinf_gen_plant.pdf :tangle figs/comp_filter_three_hinf_gen_plant.tex
\begin{tikzpicture}
\node[block={5.0cm}{4.5cm}, fill=black!10!white] (P) {};
\node[above] at (P.north) {$P_3(s)$};
\node[block, right=0.4 of x] (sensor2) {Sensor 2};
\node[block, above=0.4 of sensor2] (sensor1) {Sensor 1};
\node[block, below=0.4 of sensor2] (sensor3) {Sensor 3};
\coordinate[] (inputw) at ($(P.south west)!0.8!(P.north west) + (-0.7, 0)$);
\coordinate[] (inputu) at ($(P.south west)!0.4!(P.north west) + (-0.7, 0)$);
\node[block, right=1.1 of sensor1](H1){$H_1(s)$};
\node[block, right=1.1 of sensor2](H2){$H_2(s)$};
\node[addb] (add) at ($0.5*(H1.east)+0.5*(H2.east)+(0.6, 0)$){};
\coordinate[] (output1) at ($(P.south east)!0.8!(P.north east) + (0.7, 0)$);
\coordinate[] (output2) at ($(P.south east)!0.55!(P.north east) + (0.7, 0)$);
\coordinate[] (output3) at ($(P.south east)!0.3!(P.north east) + (0.7, 0)$);
\coordinate[] (outputv) at ($(P.south east)!0.1!(P.north east) + (0.7, 0)$);
\node[block, right=0.8 of add](H1p) {$H_1^\prime(s)$};
\node[block] (H2p) at (H1p|-sensor3) {$H_2^\prime(s)$};
\node[block, left=1.4 of output1] (W1){$W_1(s)$};
\node[block, left=1.4 of output2] (W2){$W_2(s)$};
\node[block, left=1.4 of output3] (W3){$W_3(s)$};
\node[addb={+}{}{}{}{-}, left=of W1] (sub1) {};
\node[addb={+}{}{}{}{-}, left=of sub1] (sub2) {};
\node[addb] (addp) at ($0.5*(H1p.east)+0.5*(H2p.east)+(0.6, 0)$){};
\node[block, below=0.3 of P, opacity=0] (H) {$\begin{bmatrix}H_2(s) \\ H_3(s)\end{bmatrix}$};
\draw[->] ($(x)+(-0.8, 0)$) node[above right]{$x$} -- (sensor2.west);
\draw[->] (x.center) |- (sensor1.west);
\draw[->] (x.center) |- (sensor3.west);
\draw[->] (sensor1.east) -- (H1.west) node[above left]{$\hat{x}_1$};
\draw[->] (sensor2.east) -- (H2.west) node[above left]{$\hat{x}_2$};
\draw[->] (sensor3.east) -- (H2p.west) node[above left]{$\hat{x}_3$};
\draw[->] (H1) -| (add.north);
\draw[->] (H2) -| (add.south);
\draw[->] (add.east) -- (H1p.west) node[above left]{$\hat{x}_{12}$};
\draw[->] (H1p) -| (addp.north);
\draw[->] (H2p) -| (addp.south);
\draw[->] (addp.east) -- ++(0.8, 0) node[above left]{$\hat{x}$};
\draw[->] (inputw) node[above right](w){$w$} -- (sub2.west);
\draw[->] (W3-|sub1)node[branch]{} -- (sub1.south);
\draw[->] (W2-|sub2)node[branch]{} -- (sub2.south);
\draw[->] ($(sub2.west)+(-0.5, 0)$) node[branch]{} |- (outputv);
\draw[->] (inputu|-W2) -- (W2.west);
\draw[->] (inputu|-W3) -- (W3.west);
\begin{scope}[on background layer]
\node[fit={(x.west|-sensor3.south) (sensor1.north-|addp.east)}, fill=black!10!white, draw, inner sep=6pt] (supersensor) {};
% \node[below] at (supersensor.north) {Super Sensor};
\node[fit={(x.west|-sensor1.north) (add.east|-sensor2.south)}, fill=black!20!white, draw, inner sep=3pt] (superinertialsensor) {};
% \node[] at (superinertialsensor.center) {"Inertial" Super Sensor};
\end{scope}
\end{tikzpicture}
\draw[->] (sub2.east) -- (sub1.west);
\draw[->] (sub1.east) -- (W1.west);
\draw[->] (W1.east) -- (output1)node[above left](z){$z_1$};
\draw[->] (W2.east) -- (output2)node[above left]{$z_2$};
\draw[->] (W3.east) -- (output3)node[above left]{$z_3$};
\node[above] at (W2-|w){$u_1$};
\node[above] at (W3-|w){$u_2$};
\node[above] at (outputv-|z){$v$};
\end{tikzpicture}
#+end_src
#+name: fig:sensor_fusion_three_sequential
#+caption: Sensor Fusion Architecture - Overview
#+name: fig:comp_filter_three_hinf_gen_plant
#+caption: Generalized plant for the $\mathcal{H}_\infty$ synthesis of three complementary filters
#+RESULTS:
[[file:figs/sensor_fusion_three_sequential.png]]
[[file:figs/comp_filter_three_hinf_gen_plant.png]]
* Architecture for $\mathcal{H}_\infty$ synthesis of three complementary filters
#+begin_src latex :file comp_filter_three_hinf.pdf :tangle figs/comp_filter_three_hinf.tex
#+begin_src latex :file comp_filter_three_hinf_fb.pdf :tangle figs/comp_filter_three_hinf_fb.tex
\begin{tikzpicture}
\node[block={5.0cm}{4.5cm}, fill=black!10!white] (P) {};
\node[above] at (P.north) {$P_3(s)$};
@ -667,7 +742,7 @@ Configuration file is accessible [[file:config.org][here]].
\end{tikzpicture}
#+end_src
#+name: fig:comp_filter_three_hinf
#+caption: Architecture for $\mathcal{H}_\infty$ synthesis of three complementary filters ([[./figs/comp_filter_three_hinf.png][png]], [[./figs/comp_filter_three_hinf.pdf][pdf]], [[./figs/comp_filter_three_hinf.tex][tex]]).
#+name: fig:comp_filter_three_hinf_fb
#+caption: Generalized plant with the synthesized filter for the $\mathcal{H}_\infty$ synthesis of three complementary filters
#+RESULTS:
[[file:figs/comp_filter_three_hinf.png]]
[[file:figs/comp_filter_three_hinf_fb.png]]

View File

@ -1,716 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-11-12 jeu. 10:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis - Tikz Figures</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<script>MathJax = {
tex: {
tags: 'ams',
macros: {bm: ["\\boldsymbol{#1}",1],}
}
};
</script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis - Tikz Figures</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org9059d4e">1. Fig 1: Sensor Fusion Architecture</a></li>
<li><a href="#orgf8987c9">2. Fig 2: Sensor fusion architecture with sensor dynamics uncertainty</a></li>
<li><a href="#org1801a90">3. Fig 3: Uncertainty set of the super sensor dynamics</a></li>
<li><a href="#org355bde0">4. Fig 4: Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</a></li>
<li><a href="#org879ecb3">5. Fig 5: Magnitude of a weighting function generated using the proposed formula</a></li>
<li><a href="#org2b1f7ae">6. Fig 6: Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis</a></li>
<li><a href="#org84a7e33">7. Fig 7: Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
<li><a href="#org20bfce3">8. Fig 8: Frequency response of the weighting functions and three complementary filters obtained using \(\mathcal{H}_\infty\) synthesis</a></li>
<li><a href="#orgb08c277">9. Fig 9: Specifications and weighting functions magnitude used for \(\mathcal{H}_\infty\) synthesis</a></li>
<li><a href="#org74b4762">10. Fig 10: Comparison of the FIR filters (solid) with the filters obtained with \(\mathcal{H}_\infty\) synthesis (dashed)</a></li>
</ul>
</div>
</div>
<p>
Configuration file is accessible <a href="config.html">here</a>.
</p>
<div id="outline-container-org9059d4e" class="outline-2">
<h2 id="org9059d4e"><span class="section-number-2">1</span> Fig 1: Sensor Fusion Architecture</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"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[block, above right=0.5 and 0.5 of x](G1){<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, below right=0.5 and 0.5 of x](G2){<span class="org-font-latex-math">$G</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.8 of G1](add1){};
<span class="org-font-latex-sedate">\node</span>[addb, right=0.8 of G2](add2){};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add1](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.8 of add2](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=5 of x](add){};
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(x)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (x.center);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (G1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (G2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G1.east) -- (add1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (G2.east) -- (add2.west);
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (add1.north) -- ++(0, 0.8)node[below right](n1){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-] (add2.north) -- ++(0, 0.8)node[below right](n2){<span class="org-font-latex-math">$n</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add1.east) -- (H1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add2.east) -- (H2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- ++(0.7, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[fit={(<span class="org-font-latex-math">$(G2.south-|x)+(-0.2, -0.3)$</span>) (<span class="org-font-latex-math">$(n1.north east-|add.east)+(0.2, 0.3)$</span>)}, fill=black!10!white, draw, dashed, inner sep=0pt] (supersensor) {};
<span class="org-font-latex-sedate">\node</span>[below left] at (supersensor.north east) {Super Sensor};
<span class="org-font-latex-sedate">\node</span>[fit={(<span class="org-font-latex-math">$(G1.south west)+(-0.3, -0.1)$</span>) (<span class="org-font-latex-math">$(n1.north east)+(0.0, 0.1)$</span>)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor1) {};
<span class="org-font-latex-sedate">\node</span>[below right] at (sensor1.north west) {Sensor 1};
<span class="org-font-latex-sedate">\node</span>[fit={(<span class="org-font-latex-math">$(G2.south west)+(-0.3, -0.1)$</span>) (<span class="org-font-latex-math">$(n2.north east)+(0.0, 0.1)$</span>)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor2) {};
<span class="org-font-latex-sedate">\node</span>[below right] at (sensor2.north west) {Sensor 2};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org9c10944" class="figure">
<p><img src="figs/fusion_super_sensor.png" alt="fusion_super_sensor.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Sensor Fusion Architecture (<a href="./figs/fusion_super_sensor.png">png</a>, <a href="./figs/fusion_super_sensor.pdf">pdf</a>, <a href="./figs/fusion_super_sensor.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-orgf8987c9" class="outline-2">
<h2 id="orgf8987c9"><span class="section-number-2">2</span> Fig 2: Sensor fusion architecture with sensor dynamics uncertainty</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>}
<span class="org-font-latex-sedate">\node</span>[branch] (x) at (0, 0);
<span class="org-font-latex-sedate">\node</span>[addb, above right=0.8 and 4 of x](add1){};
<span class="org-font-latex-sedate">\node</span>[addb, below right=0.8 and 4 of x](add2){};
<span class="org-font-latex-sedate">\node</span>[block, above left=0.2 and 0.1 of add1](delta1){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, above left=0.2 and 0.1 of add2](delta2){<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=0.5 of delta1](W1){<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=0.5 of delta2](W2){<span class="org-font-latex-math">$w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.5 of add1](H1){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, right=0.5 of add2](H2){<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb, right=6 of x](add){};
<span class="org-font-latex-sedate">\draw</span>[] (<span class="org-font-latex-math">$(x)+(-0.7, 0)$</span>) node[above right]{<span class="org-font-latex-math">$x$</span>} -- (x.center);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (add1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (x.center) |- (add2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(add1-|W1.west)+(-0.5, 0)$</span>)node[branch](S1){} |- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(add2-|W2.west)+(-0.5, 0)$</span>)node[branch](S1){} |- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (delta1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (delta2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (delta1.east) -| (add1.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (delta2.east) -| (add2.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add1.east) -- (H1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add2.east) -- (H2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H1.east) -| (add.north);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2.east) -| (add.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (add.east) -- ++(0.7, 0) node[above left]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\hat</span></span><span class="org-font-latex-math">{x}$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[on background layer]
<span class="org-font-latex-sedate">\node</span>[block, fit={(<span class="org-font-latex-math">$(W1.north-|S1)+(-0.2, 0.2)$</span>) (<span class="org-font-latex-math">$(add1.south east)+(0.2, -0.3)$</span>)}, fill=black!20!white, dashed, inner sep=0pt] (sensor1) {};
<span class="org-font-latex-sedate">\node</span>[above right] at (sensor1.south west) {Sensor 1};
<span class="org-font-latex-sedate">\node</span>[block, fit={(<span class="org-font-latex-math">$(W2.north-|S1)+(-0.2, 0.2)$</span>) (<span class="org-font-latex-math">$(add2.south east)+(0.2, -0.3)$</span>)}, fill=black!20!white, dashed, inner sep=0pt] (sensor2) {};
<span class="org-font-latex-sedate">\node</span>[above right] at (sensor2.south west) {Sensor 2};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgfc65b94" class="figure">
<p><img src="figs/sensor_fusion_dynamic_uncertainty.png" alt="sensor_fusion_dynamic_uncertainty.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Sensor fusion architecture with sensor dynamics uncertainty (<a href="./figs/sensor_fusion_dynamic_uncertainty.png">png</a>, <a href="./figs/sensor_fusion_dynamic_uncertainty.pdf">pdf</a>, <a href="./figs/sensor_fusion_dynamic_uncertainty.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org1801a90" class="outline-2">
<h2 id="org1801a90"><span class="section-number-2">3</span> Fig 3: Uncertainty set of the super sensor dynamics</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>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">scope</span>}[shift={(4, 0)}]
<span class="org-comment">% Uncertainty Circle</span>
<span class="org-font-latex-sedate">\node</span>[draw, circle, fill=black!20!white, minimum size=3.6cm] (c) at (0, 0) {};
<span class="org-font-latex-sedate">\path</span>[draw, dotted] (0, 0) circle [radius=1.0];
<span class="org-font-latex-sedate">\path</span>[draw, dashed] (135:1.0) circle [radius=0.8];
<span class="org-comment">% Center of Circle</span>
<span class="org-font-latex-sedate">\node</span>[below] at (0, 0){<span class="org-font-latex-math">$1$</span>};
<span class="org-font-latex-sedate">\draw</span>[&lt;-&gt;, dashed] (0, 0) node[branch]{} -- coordinate[midway](r1) ++(45:1.0);
<span class="org-font-latex-sedate">\draw</span>[&lt;-&gt;, dashed] (135:1.0)node[branch]{} -- coordinate[midway](r2) ++(90:0.8);
<span class="org-font-latex-sedate">\node</span>[] (l1) at (2, 1.5) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, dashed, out=-90, in=0] (l1.south) to (r1);
<span class="org-font-latex-sedate">\node</span>[] (l2) at (-2.5, 1.5) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, dashed, out=0, in=-180] (l2.east) to (r2);
<span class="org-font-latex-sedate">\draw</span>[&lt;-&gt;, dashed] (0, 0) -- coordinate[near end](r3) ++(200:1.8);
<span class="org-font-latex-sedate">\node</span>[] (l3) at (-2.5, -1.5) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1| + |w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2 H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, dashed, out=90, in=-90] (l3.north) to (r3);
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">scope</span>}
<span class="org-comment">% Real and Imaginary Axis</span>
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (-0.5, 0) -- (7.0, 0) node[below left]{Re};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (0, -1.7) -- (0, 1.7) node[below left]{Im};
<span class="org-font-latex-sedate">\draw</span>[dashed] (0, 0) -- (tangent cs:node=c,point={(0, 0)},solution=2);
<span class="org-font-latex-sedate">\draw</span>[dashed] (1, 0) arc (0:28:1) node[midway, right]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\Delta</span></span><span class="org-font-latex-math"> </span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\phi</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orga1a6d2e" class="figure">
<p><img src="figs/uncertainty_set_super_sensor.png" alt="uncertainty_set_super_sensor.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Uncertainty region of the super sensor dynamics in the complex plane (solid circle), of the sensor 1 (dotted circle) and of the sensor 2 (dashed circle) (<a href="./figs/uncertainty_set_super_sensor.png">png</a>, <a href="./figs/uncertainty_set_super_sensor.pdf">pdf</a>, <a href="./figs/uncertainty_set_super_sensor.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org355bde0" class="outline-2">
<h2 id="org355bde0"><span class="section-number-2">4</span> Fig 4: Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</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"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[block={4.0cm}{2.5cm}, fill=black!20!white, dashed] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw) at (<span class="org-font-latex-math">$(P.south west)!0.75!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.35!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(P.south east)!0.75!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(P.south east)!0.35!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.1!(P.north east) + ( 0.7, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of W1] (sub) {};
<span class="org-font-latex-sedate">\node</span>[block, below=0.3 of P] (H2) {<span class="org-font-latex-math">$H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw) node[above right]{<span class="org-font-latex-math">$w$</span>} -- (sub.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (H2.west) -| (<span class="org-font-latex-math">$(inputu)+(0.35, 0)$</span>) node[above]{<span class="org-font-latex-math">$u$</span>} -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputu-|sub) node[branch]{} -- (sub.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub.east) -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(sub.west)+(-0.6, 0)$</span>) node[branch]{} |- (<span class="org-font-latex-math">$(outputv)+(-0.35, 0)$</span>) node[above]{<span class="org-font-latex-math">$v$</span>} |- (H2.east);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (output1)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (output2)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org903a05c" class="figure">
<p><img src="figs/h_infinity_robust_fusion.png" alt="h_infinity_robust_fusion.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters (<a href="./figs/h_infinity_robust_fusion.png">png</a>, <a href="./figs/h_infinity_robust_fusion.pdf">pdf</a>, <a href="./figs/h_infinity_robust_fusion.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org879ecb3" class="outline-2">
<h2 id="org879ecb3"><span class="section-number-2">5</span> Fig 5: Magnitude of a weighting function generated using the proposed formula</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">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fwidth</span></span>{<span class="org-variable-name">6.5cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fheight</span></span>{<span class="org-variable-name">3.5cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=1.0<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.0<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.1,
xmax=100,
xtick={0.1,1,10, 100},
xminorticks=true,
ymode=log,
ymin=0.0005,
ymax=20,
ytick={0.001, 0.01, 0.1, 1, 10},
yminorticks=true,
ylabel={Magnitude},
xlabel={Frequency [Hz]},
xminorgrids,
yminorgrids,
]
<span class="org-font-latex-sedate">\addplot</span> [color=black, line width=1.5pt, forget plot]
table [x=freqs, y=ampl, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matweight_formula.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{<span class="org-comment">%</span>
1 10<span class="org-font-latex-warning">\\</span>
100 10<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\addplot</span> [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{<span class="org-comment">%</span>
0.1 0.001<span class="org-font-latex-warning">\\</span>
3 0.001<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\addplot</span> [color=black, line width=1.5pt]
table[row sep=crcr]{<span class="org-comment">%</span>
0.1 1<span class="org-font-latex-warning">\\</span>
100 1<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\addplot</span> [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{<span class="org-comment">%</span>
10 2<span class="org-font-latex-warning">\\</span>
10 1<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\node</span>[below] at (2, 10) {<span class="org-font-latex-math">$G_</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\infty</span></span><span class="org-font-latex-math">$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (2, 0.001) {<span class="org-font-latex-math">$G_0$</span>};
<span class="org-font-latex-sedate">\node</span>[branch] at (10, 2){};
<span class="org-font-latex-sedate">\draw</span>[dashed, line cap=round] (7, 2) -- (20, 2) node[right]{<span class="org-font-latex-math">$G_c$</span>};
<span class="org-font-latex-sedate">\draw</span>[dashed, line cap=round] (10, 2) -- (10, 1) node[below]{<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\omega</span></span><span class="org-font-latex-math">_c$</span>};
<span class="org-font-latex-sedate">\node</span>[right] at (3, 0.1) {<span class="org-font-latex-math">$+n$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org1aeddba" class="figure">
<p><img src="figs/weight_formula.png" alt="weight_formula.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Magnitude of a weighting function generated using the proposed formula (<a href="./figs/weight_formula.png">png</a>, <a href="./figs/weight_formula.pdf">pdf</a>, <a href="./figs/weight_formula.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org2b1f7ae" class="outline-2">
<h2 id="org2b1f7ae"><span class="section-number-2">6</span> Fig 6: Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis</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">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fwidth</span></span>{<span class="org-variable-name">6.5cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fheight</span></span>{<span class="org-variable-name">6cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=0.5<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.47<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.1,
xmax=1000,
xtick={0.1, 1, 10, 100, 1000},
xticklabels={{}},
xminorticks=true,
ymode=log,
ymin=0.0005,
ymax=20,
ytick={0.001, 0.01, 0.1, 1, 10},
yminorticks=true,
ylabel={Magnitude},
xminorgrids,
yminorgrids,
]
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt, forget plot]
table [x=freqs, y=H1, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_filters_results.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt, forget plot]
table [x=freqs, y=H2, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_filters_results.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, dashed, line width=1.5pt, forget plot]
table [x=freqs, y=W1, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_weights.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, dashed, line width=1.5pt, forget plot]
table [x=freqs, y=W2, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_weights.csv};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=0.45<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.0<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.1,
xmax=1000,
xtick={0.1, 1, 10, 100, 1000},
xminorticks=true,
xlabel={Frequency [Hz]},
ymin=-200,
ymax=200,
ytick={-180, -90, 0, 90, 180},
ylabel={Phase [deg]},
xminorgrids,
legend style={at={(1,1.1)}, outer sep=2pt , anchor=north east, legend cell align=left, align=left, draw=black, nodes={scale=0.7, transform shape}},
]
<span class="org-font-latex-sedate">\addlegendimage</span>{color=mycolor1, dashed, line width=1.5pt}
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$W_1^{-1}$</span>};
<span class="org-font-latex-sedate">\addlegendimage</span>{color=mycolor2, dashed, line width=1.5pt}
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$W_2^{-1}$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt]
table [x=freqs, y=H1p, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_filters_results.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_1$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt]
table [x=freqs, y=H2p, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_filters_results.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_2$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgd2fb3fa" class="figure">
<p><img src="figs/hinf_synthesis_results.png" alt="hinf_synthesis_results.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis (<a href="./figs/hinf_synthesis_results.png">png</a>, <a href="./figs/hinf_synthesis_results.pdf">pdf</a>, <a href="./figs/hinf_synthesis_results.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org84a7e33" class="outline-2">
<h2 id="org84a7e33"><span class="section-number-2">7</span> Fig 7: Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</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"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate">\node</span>[block={5.0cm}{3.5cm}, fill=black!20!white, dashed] (P) {};
<span class="org-font-latex-sedate">\node</span>[above] at (P.north) {<span class="org-font-latex-math">$P(s)$</span>};
<span class="org-font-latex-sedate">\coordinate</span>[] (inputw) at (<span class="org-font-latex-math">$(P.south west)!0.8!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (inputu) at (<span class="org-font-latex-math">$(P.south west)!0.4!(P.north west) + (-0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output1) at (<span class="org-font-latex-math">$(P.south east)!0.8!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output2) at (<span class="org-font-latex-math">$(P.south east)!0.55!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (output3) at (<span class="org-font-latex-math">$(P.south east)!0.3!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\coordinate</span>[] (outputv) at (<span class="org-font-latex-math">$(P.south east)!0.1!(P.north east) + (0.7, 0)$</span>);
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output1] (W1){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output2] (W2){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[block, left=1.4 of output3] (W3){<span class="org-font-latex-math">$W</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)$</span>};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of W1] (sub1) {};
<span class="org-font-latex-sedate">\node</span>[addb={+}{}{}{}{-}, left=of sub1] (sub2) {};
<span class="org-font-latex-sedate">\node</span>[block, below=0.3 of P] (H) {<span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-keyword"><span class="org-font-latex-math">\begin</span></span></span><span class="org-font-latex-math">{</span><span class="org-function-name"><span class="org-font-latex-math">bmatrix</span></span><span class="org-font-latex-math">}H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2(s) \\ H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3(s)</span><span class="org-font-latex-sedate"><span class="org-keyword"><span class="org-font-latex-math">\end</span></span></span><span class="org-font-latex-math">{</span><span class="org-function-name"><span class="org-font-latex-math">bmatrix</span></span><span class="org-font-latex-math">}$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (inputw) node[above right](w){<span class="org-font-latex-math">$w$</span>} -- (sub2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W3-|sub1)node[branch]{} -- (sub1.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2-|sub2)node[branch]{} -- (sub2.south);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(sub2.west)+(-0.5, 0)$</span>) node[branch]{} |- (outputv) |- (H.east);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(H.south west)!0.7!(H.north west)$</span>) -| (inputu|-W2) -- (W2.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (<span class="org-font-latex-math">$(H.south west)!0.3!(H.north west)$</span>) -| (<span class="org-font-latex-math">$(inputu|-W3)+(0.4, 0)$</span>) -- (W3.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub2.east) -- (sub1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (sub1.east) -- (W1.west);
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W1.east) -- (output1)node[above left](z){<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W2.east) -- (output2)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;] (W3.east) -- (output3)node[above left]{<span class="org-font-latex-math">$z</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">3$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (W2-|w){<span class="org-font-latex-math">$u</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">1$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (W3-|w){<span class="org-font-latex-math">$u</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_</span></span><span class="org-font-latex-math">2$</span>};
<span class="org-font-latex-sedate">\node</span>[above] at (outputv-|z){<span class="org-font-latex-math">$v$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgb697644" class="figure">
<p><img src="figs/comp_filter_three_hinf.png" alt="comp_filter_three_hinf.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters (<a href="./figs/comp_filter_three_hinf.png">png</a>, <a href="./figs/comp_filter_three_hinf.pdf">pdf</a>, <a href="./figs/comp_filter_three_hinf.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org20bfce3" class="outline-2">
<h2 id="org20bfce3"><span class="section-number-2">8</span> Fig 8: Frequency response of the weighting functions and three complementary filters obtained using \(\mathcal{H}_\infty\) synthesis</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"><span class="org-keyword">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fwidth</span></span>{<span class="org-variable-name">6.5cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fheight</span></span>{<span class="org-variable-name">6cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=0.55<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.42<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.1,
xmax=100,
xticklabels={{}},
xminorticks=true,
ymode=log,
ymin=0.0005,
ymax=20,
ytick={0.001, 0.01, 0.1, 1, 10},
yminorticks=true,
ylabel={Magnitude},
xminorgrids,
yminorgrids,
legend columns=2,
legend style={
/tikz/column 2/.style={
column sep=5pt,
},
at={(1,0)}, outer sep=2pt , anchor=south east, legend cell align=left, align=left, draw=black, nodes={scale=0.7, transform shape}
},
]
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, dashed, line width=1.5pt]
table [x=freqs, y=W1, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_weights.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">${W_1}^{-1}$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt]
table [x=freqs, y=H1, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_results.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_1$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, dashed, line width=1.5pt]
table [x=freqs, y=W2, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_weights.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">${W_2}^{-1}$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt]
table [x=freqs, y=H2, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_results.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_2$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor3, dashed, line width=1.5pt]
table [x=freqs, y=W3, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_weights.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">${W_3}^{-1}$</span>};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor3, line width=1.5pt]
table [x=freqs, y=H3, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_results.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_3$</span>};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=0.4<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.0<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.1,
xmax=100,
xminorticks=true,
xlabel={Frequency [Hz]},
ymin=-240,
ymax=240,
ytick={-180, -90, 0, 90, 180},
ylabel={Phase [deg]},
xminorgrids,
]
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt]
table [x=freqs, y=H1p, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_results.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt]
table [x=freqs, y=H2p, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_results.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor3, line width=1.5pt]
table [x=freqs, y=H3p, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/mathinf_three_results.csv};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="orgdaa24c8" class="figure">
<p><img src="figs/hinf_three_synthesis_results.png" alt="hinf_three_synthesis_results.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Frequency response of the weighting functions and three complementary filters obtained using \(\mathcal{H}_\infty\) synthesis (<a href="./figs/hinf_three_synthesis_results.png">png</a>, <a href="./figs/hinf_three_synthesis_results.pdf">pdf</a>, <a href="./figs/hinf_three_synthesis_results.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-orgb08c277" class="outline-2">
<h2 id="orgb08c277"><span class="section-number-2">9</span> Fig 9: Specifications and weighting functions magnitude used for \(\mathcal{H}_\infty\) synthesis</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">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fwidth</span></span>{<span class="org-variable-name">6.5cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fheight</span></span>{<span class="org-variable-name">3.2cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=1.0<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.0<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
separate axis lines,
every outer x axis line/.append style={black},
every x tick label/.append style={font=<span class="org-font-latex-sedate">\color</span>{black}},
every x tick/.append style={black},
xmode=log,
xmin=0.001,
xmax=1,
xminorticks=true,
xlabel={Frequency [Hz]},
every outer y axis line/.append style={black},
every y tick label/.append style={font=<span class="org-font-latex-sedate">\color</span>{black}},
every y tick/.append style={black},
ymode=log,
ymin=0.005,
ymax=20,
yminorticks=true,
ylabel={Magnitude},
axis background/.style={fill=white},
xmajorgrids,
xminorgrids,
ymajorgrids,
yminorgrids,
legend style={at={(0,1)}, outer sep=2pt, anchor=north west, legend cell align=left, align=left, draw=black, nodes={scale=0.7, transform shape}}
]
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt]
table [x=freqs, y=wHm, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matligo_weights.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$|w_H|^{-1}$</span>}
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt]
table [x=freqs, y=wLm, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matligo_weights.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$|w_L|^{-1}$</span>}
<span class="org-font-latex-sedate">\addplot</span> [color=black, dotted, line width=1.5pt]
table[row sep=crcr]{<span class="org-comment">%</span>
0.0005 0.008<span class="org-font-latex-warning">\\</span>
0.008 0.008<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\addlegendentry</span>{Specifications}
<span class="org-font-latex-sedate">\addplot</span> [color=black, dotted, line width=1.5pt, forget plot]
table[row sep=crcr]{<span class="org-comment">%</span>
0.008 0.008<span class="org-font-latex-warning">\\</span>
0.04 1<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\addplot</span> [color=black, dotted, line width=1.5pt, forget plot]
table[row sep=crcr]{<span class="org-comment">%</span>
0.04 3<span class="org-font-latex-warning">\\</span>
0.1 3<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate">\addplot</span> [color=black, dotted, line width=1.5pt]
table[row sep=crcr]{<span class="org-comment">%</span>
0.1 0.045<span class="org-font-latex-warning">\\</span>
2 0.045<span class="org-font-latex-warning">\\</span>
};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org2ba2505" class="figure">
<p><img src="figs/ligo_weights.png" alt="ligo_weights.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Specifications and weighting functions magnitude used for \(\mathcal{H}_\infty\) synthesis (<a href="./figs/ligo_weights.png">png</a>, <a href="./figs/ligo_weights.pdf">pdf</a>, <a href="./figs/ligo_weights.tex">tex</a>).</p>
</div>
</div>
</div>
<div id="outline-container-org74b4762" class="outline-2">
<h2 id="org74b4762"><span class="section-number-2">10</span> Fig 10: Comparison of the FIR filters (solid) with the filters obtained with \(\mathcal{H}_\infty\) synthesis (dashed)</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">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fwidth</span></span>{<span class="org-variable-name">6.5cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\setlength</span></span><span class="org-font-latex-sedate"><span class="org-variable-name">\fheight</span></span>{<span class="org-variable-name">6.8cm</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">tikzpicture</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=0.60<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.32<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.001,
xmax=1,
xtick={0.001,0.01,0.1,1},
xticklabels={{}},
xminorticks=true,
ymode=log,
ymin=0.002,
ymax=5,
ytick={0.001, 0.01, 0.1, 1, 10},
yminorticks=true,
ylabel={Magnitude},
xminorgrids,
yminorgrids,
legend style={at={(1,0)}, outer sep=2pt, anchor=south east, legend cell align=left, align=left, draw=black, nodes={scale=0.7, transform shape}}
]
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt]
table [x=freqs, y=Hhm, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_hinf.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_H(s)$</span> - <span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\mathcal</span></span><span class="org-font-latex-math">{H}_</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\infty</span></span><span class="org-font-latex-math">$</span>}
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, dashed, line width=1.5pt]
table [x=freqs, y=Hhm, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_fir.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_H(s)$</span> - FIR}
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt]
table [x=freqs, y=Hlm, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_hinf.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_L(s)$</span> - <span class="org-font-latex-math">$</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\mathcal</span></span><span class="org-font-latex-math">{H}_</span><span class="org-font-latex-sedate"><span class="org-font-latex-math">\infty</span></span><span class="org-font-latex-math">$</span>}
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, dashed, line width=1.5pt]
table [x=freqs, y=Hlm, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_fir.csv};
<span class="org-font-latex-sedate">\addlegendentry</span>{<span class="org-font-latex-math">$H_L(s)$</span> - FIR}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\begin</span></span>{<span class="org-function-name">axis</span>}[<span class="org-comment">%</span>
width=1.0<span class="org-font-latex-sedate">\fwidth</span>,
height=0.3<span class="org-font-latex-sedate">\fheight</span>,
at={(0.0<span class="org-font-latex-sedate">\fwidth</span>, 0.0<span class="org-font-latex-sedate">\fheight</span>)},
scale only axis,
xmode=log,
xmin=0.001,
xmax=1,
xtick={0.001, 0.01, 0.1, 1},
xminorticks=true,
xlabel={Frequency [Hz]},
ymin=-180,
ymax=180,
ytick={-180, -90, 0, 90, 180},
ylabel={Phase [deg]},
xminorgrids,
]
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, line width=1.5pt, forget plot]
table [x=freqs, y=Hhp, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_hinf.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor1, dashed, line width=1.5pt, forget plot]
table [x=freqs, y=Hhp, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_fir.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, line width=1.5pt, forget plot]
table [x=freqs, y=Hlp, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_hinf.csv};
<span class="org-font-latex-sedate">\addplot</span> [color=mycolor2, dashed, line width=1.5pt, forget plot]
table [x=freqs, y=Hlp, col sep=comma] {/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/matlab/matcomp_ligo_fir.csv};
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">axis</span>}
<span class="org-font-latex-sedate"><span class="org-keyword">\end</span></span>{<span class="org-function-name">tikzpicture</span>}
</pre>
</div>
<div id="org6bce6a7" 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 of the FIR filters (solid) with the filters obtained with \(\mathcal{H}_\infty\) synthesis (dashed) (<a href="./figs/comp_fir_ligo_hinf.png">png</a>, <a href="./figs/comp_fir_ligo_hinf.pdf">pdf</a>, <a href="./figs/comp_fir_ligo_hinf.tex">tex</a>).</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Thomas Dehaeze</p>
<p class="date">Created: 2020-11-12 jeu. 10:44</p>
</div>
</body>
</html>