Compare commits

...

7 Commits

Author SHA1 Message Date
c073d945d1 Add main bib file 2021-09-01 11:36:08 +02:00
0d33958b17 Update links to files 2021-09-01 11:36:05 +02:00
4836b9e254 Update bib file for matlab 2021-09-01 11:35:32 +02:00
2b5757bb09 Update tangled files 2021-09-01 11:35:25 +02:00
c520f7903e Update all matlab figures 2021-09-01 11:35:13 +02:00
10e9c17a60 Delete unused figures 2021-09-01 11:34:32 +02:00
6ce027cf8a Reworked tikz figures 2021-09-01 10:16:26 +02:00
67 changed files with 6046 additions and 9904 deletions

View File

@ -0,0 +1,8 @@
@article{dehaeze21_new_method_desig_compl_filter,
author = {Dehaeze, Thomas and Vermat, Mohit and Collette, Christophe},
title = {A New Method of Designing Complementary Filters for Sensor
Fusion Using the $\mathcal{H}_\infty$ Synthesis},
journal = {Mechanical Systems and Signal Processing},
year = 2021,
month = {Nov},
}

View File

@ -3,7 +3,7 @@
"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-06-21 lun. 11:42 -->
<!-- 2021-09-01 mer. 11:36 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis</title>
<meta name="author" content="Thomas Dehaeze" />
@ -33,7 +33,7 @@
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis
<br />
<span class="subtitle">Dehaeze Thomas, Verma Mohit and Collette Christophe</span>
@ -50,27 +50,27 @@ This method is shown to be easily applicable for the synthesis of complex comple
</p>
</blockquote>
<div id="outline-container-org16737c1" class="outline-2">
<h2 id="org16737c1">Paper (<a href="journal/journal.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org16737c1">
<div id="outline-container-orgafee5c3" class="outline-2">
<h2 id="orgafee5c3">Paper (<a href="journal/dehaeze21_desig_compl_filte.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-orgafee5c3">
<p>
The paper has been created <a href="https://orgmode.org/">Org Mode</a> (generating <a href="https://www.latex-project.org/">LaTeX</a> code) under <a href="https://www.gnu.org/software/emacs/">Emacs</a>.
</p>
</div>
</div>
<div id="outline-container-orgb50a720" class="outline-2">
<h2 id="orgb50a720">Matlab Scripts (<a href="matlab/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgb50a720">
<div id="outline-container-orgb8fb429" class="outline-2">
<h2 id="orgb8fb429">Matlab Scripts (<a href="matlab/dehaeze21_desig_compl_filte_matlab.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgb8fb429">
<p>
All the <a href="https://fr.mathworks.com/">Matlab</a> code that was used for the paper are accessible so that all the results are reproducible.
</p>
</div>
</div>
<div id="outline-container-org06a9b71" class="outline-2">
<h2 id="org06a9b71">Tikz Figures (<a href="tikz/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-org06a9b71">
<div id="outline-container-org0ecd5c8" class="outline-2">
<h2 id="org0ecd5c8">Tikz Figures (<a href="tikz/dehaeze21_desig_compl_filte_tikz.html">link</a>)</h2>
<div class="outline-text-2" id="text-org0ecd5c8">
<p>
All the figures for the paper have been generated using <a href="https://sourceforge.net/projects/pgf/">TikZ</a>.
</p>

View File

@ -20,13 +20,13 @@
This method is shown to be easily applicable for the synthesis of complex complementary filters.
#+end_quote
* Paper ([[file:journal/journal.pdf][link]])
* Paper ([[file:journal/dehaeze21_desig_compl_filte.pdf][link]])
:PROPERTIES:
:UNNUMBERED: t
:END:
The paper has been created [[https://orgmode.org/][Org Mode]] (generating [[https://www.latex-project.org/][LaTeX]] code) under [[https://www.gnu.org/software/emacs/][Emacs]].
* Matlab Scripts ([[file:matlab/index.org][link]])
* Matlab Scripts ([[file:matlab/dehaeze21_desig_compl_filte_matlab.org][link]])
:PROPERTIES:
:UNNUMBERED: t
:END:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,287 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="184.799pt" height="186.709pt" viewBox="0 0 184.799 186.709" version="1.2">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 7.5 -5.296875 C 7.5 -6.0625 6.84375 -6.796875 5.546875 -6.796875 L 2.3125 -6.796875 C 2.125 -6.796875 2.015625 -6.796875 2.015625 -6.609375 C 2.015625 -6.484375 2.109375 -6.484375 2.3125 -6.484375 C 2.4375 -6.484375 2.625 -6.484375 2.734375 -6.46875 C 2.890625 -6.453125 2.953125 -6.421875 2.953125 -6.3125 C 2.953125 -6.265625 2.953125 -6.234375 2.921875 -6.125 L 1.578125 -0.78125 C 1.484375 -0.390625 1.46875 -0.3125 0.671875 -0.3125 C 0.5 -0.3125 0.390625 -0.3125 0.390625 -0.125 C 0.390625 0 0.515625 0 0.546875 0 L 1.8125 -0.03125 L 2.453125 -0.015625 C 2.671875 -0.015625 2.890625 0 3.09375 0 C 3.171875 0 3.296875 0 3.296875 -0.203125 C 3.296875 -0.3125 3.203125 -0.3125 3.015625 -0.3125 C 2.640625 -0.3125 2.375 -0.3125 2.375 -0.484375 C 2.375 -0.546875 2.390625 -0.59375 2.40625 -0.65625 L 3.015625 -3.140625 L 4.703125 -3.140625 C 6.125 -3.140625 7.5 -4.1875 7.5 -5.296875 Z M 6.578125 -5.53125 C 6.578125 -5.140625 6.375 -4.296875 5.984375 -3.9375 C 5.5 -3.484375 4.890625 -3.40625 4.453125 -3.40625 L 3.0625 -3.40625 L 3.734375 -6.109375 C 3.828125 -6.453125 3.84375 -6.484375 4.265625 -6.484375 L 5.21875 -6.484375 C 6.046875 -6.484375 6.578125 -6.21875 6.578125 -5.53125 Z M 6.578125 -5.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 3.9375 -1.546875 C 3.9375 -1.90625 3.75 -2.15625 3.640625 -2.265625 C 3.359375 -2.546875 3.078125 -2.59375 2.640625 -2.6875 C 2.28125 -2.765625 1.875 -2.84375 1.875 -3.28125 C 1.875 -3.578125 2.125 -4.1875 3 -4.1875 C 3.25 -4.1875 3.75 -4.109375 3.890625 -3.71875 C 3.609375 -3.71875 3.40625 -3.5 3.40625 -3.28125 C 3.40625 -3.140625 3.5 -2.984375 3.71875 -2.984375 C 3.9375 -2.984375 4.1875 -3.15625 4.1875 -3.546875 C 4.1875 -3.984375 3.75 -4.40625 3 -4.40625 C 1.6875 -4.40625 1.3125 -3.390625 1.3125 -2.953125 C 1.3125 -2.171875 2.046875 -2.015625 2.34375 -1.953125 C 2.859375 -1.859375 3.375 -1.75 3.375 -1.203125 C 3.375 -0.953125 3.140625 -0.109375 1.953125 -0.109375 C 1.8125 -0.109375 1.046875 -0.109375 0.8125 -0.640625 C 1.1875 -0.59375 1.4375 -0.890625 1.4375 -1.171875 C 1.4375 -1.390625 1.28125 -1.515625 1.078125 -1.515625 C 0.8125 -1.515625 0.515625 -1.296875 0.515625 -0.859375 C 0.515625 -0.28125 1.078125 0.109375 1.9375 0.109375 C 3.546875 0.109375 3.9375 -1.09375 3.9375 -1.546875 Z M 3.9375 -1.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 10.4375 -6.6875 C 10.4375 -6.734375 10.390625 -6.796875 10.3125 -6.796875 C 10.078125 -6.796875 9.796875 -6.765625 9.546875 -6.765625 C 9.203125 -6.765625 8.84375 -6.796875 8.515625 -6.796875 C 8.453125 -6.796875 8.328125 -6.796875 8.328125 -6.609375 C 8.328125 -6.5 8.40625 -6.484375 8.46875 -6.484375 C 8.703125 -6.484375 9.0625 -6.40625 9.0625 -6.09375 C 9.0625 -5.984375 9 -5.90625 8.921875 -5.765625 L 6.234375 -1.078125 L 5.875 -6.015625 C 5.859375 -6.21875 5.84375 -6.484375 6.5625 -6.484375 C 6.734375 -6.484375 6.84375 -6.484375 6.84375 -6.6875 C 6.84375 -6.78125 6.734375 -6.796875 6.6875 -6.796875 C 6.296875 -6.796875 5.875 -6.765625 5.46875 -6.765625 C 5.25 -6.765625 4.65625 -6.796875 4.421875 -6.796875 C 4.375 -6.796875 4.234375 -6.796875 4.234375 -6.59375 C 4.234375 -6.484375 4.34375 -6.484375 4.484375 -6.484375 C 4.921875 -6.484375 4.984375 -6.421875 5 -6.234375 L 5.0625 -5.46875 L 2.546875 -1.078125 L 2.171875 -6.125 C 2.171875 -6.25 2.171875 -6.484375 2.921875 -6.484375 C 3.03125 -6.484375 3.140625 -6.484375 3.140625 -6.6875 C 3.140625 -6.796875 3 -6.796875 3 -6.796875 C 2.59375 -6.796875 2.1875 -6.765625 1.765625 -6.765625 C 1.421875 -6.765625 1.0625 -6.796875 0.734375 -6.796875 C 0.671875 -6.796875 0.546875 -6.796875 0.546875 -6.609375 C 0.546875 -6.484375 0.640625 -6.484375 0.796875 -6.484375 C 1.296875 -6.484375 1.296875 -6.40625 1.328125 -6.125 L 1.765625 -0.046875 C 1.78125 0.140625 1.796875 0.21875 1.9375 0.21875 C 2.046875 0.21875 2.078125 0.15625 2.171875 0.015625 L 5.09375 -5.0625 L 5.46875 -0.046875 C 5.484375 0.171875 5.5 0.21875 5.625 0.21875 C 5.75 0.21875 5.8125 0.125 5.859375 0.03125 L 9.125 -5.640625 C 9.375 -6.078125 9.609375 -6.4375 10.234375 -6.484375 C 10.328125 -6.5 10.4375 -6.5 10.4375 -6.6875 Z M 10.4375 -6.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 7.140625 -0.203125 C 7.140625 -0.3125 7.0625 -0.3125 6.875 -0.3125 C 6.5 -0.3125 6.21875 -0.3125 6.21875 -0.484375 C 6.21875 -0.546875 6.234375 -0.59375 6.25 -0.65625 L 7.59375 -6.03125 C 7.6875 -6.390625 7.703125 -6.484375 8.4375 -6.484375 C 8.6875 -6.484375 8.765625 -6.484375 8.765625 -6.6875 C 8.765625 -6.796875 8.65625 -6.796875 8.625 -6.796875 L 7.359375 -6.765625 L 6.078125 -6.796875 C 5.984375 -6.796875 5.875 -6.796875 5.875 -6.59375 C 5.875 -6.484375 5.96875 -6.484375 6.15625 -6.484375 C 6.15625 -6.484375 6.375 -6.484375 6.546875 -6.46875 C 6.71875 -6.453125 6.8125 -6.4375 6.8125 -6.3125 C 6.8125 -6.265625 6.796875 -6.25 6.765625 -6.125 L 6.171875 -3.6875 L 3.140625 -3.6875 L 3.71875 -6.03125 C 3.8125 -6.390625 3.84375 -6.484375 4.5625 -6.484375 C 4.8125 -6.484375 4.890625 -6.484375 4.890625 -6.6875 C 4.890625 -6.796875 4.78125 -6.796875 4.75 -6.796875 L 3.484375 -6.765625 L 2.203125 -6.796875 C 2.125 -6.796875 2.015625 -6.796875 2.015625 -6.59375 C 2.015625 -6.484375 2.09375 -6.484375 2.296875 -6.484375 C 2.296875 -6.484375 2.5 -6.484375 2.671875 -6.46875 C 2.84375 -6.453125 2.9375 -6.4375 2.9375 -6.3125 C 2.9375 -6.265625 2.921875 -6.234375 2.890625 -6.125 L 1.5625 -0.78125 C 1.46875 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.484375 -0.3125 0.390625 -0.3125 0.390625 -0.109375 C 0.390625 0 0.53125 0 0.53125 0 L 1.796875 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.078125 0 C 3.15625 0 3.28125 0 3.28125 -0.203125 C 3.28125 -0.3125 3.1875 -0.3125 3 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.546875 2.375 -0.59375 2.375 -0.65625 L 3.0625 -3.390625 L 6.09375 -3.390625 L 5.40625 -0.640625 C 5.3125 -0.3125 5.109375 -0.3125 4.5 -0.3125 C 4.34375 -0.3125 4.265625 -0.3125 4.265625 -0.109375 C 4.265625 0 4.40625 0 4.40625 0 L 5.65625 -0.03125 L 6.296875 -0.015625 C 6.515625 -0.015625 6.734375 0 6.953125 0 C 7.03125 0 7.140625 0 7.140625 -0.203125 Z M 7.140625 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 6.875 -3.703125 C 6.875 -4.25 6.609375 -4.40625 6.4375 -4.40625 C 6.1875 -4.40625 5.9375 -4.140625 5.9375 -3.921875 C 5.9375 -3.796875 6 -3.734375 6.09375 -3.65625 C 6.203125 -3.546875 6.453125 -3.28125 6.453125 -2.8125 C 6.453125 -2.46875 6.15625 -1.5 5.90625 -0.984375 C 5.640625 -0.453125 5.296875 -0.109375 4.8125 -0.109375 C 4.34375 -0.109375 4.078125 -0.40625 4.078125 -0.96875 C 4.078125 -1.25 4.140625 -1.5625 4.1875 -1.703125 L 4.59375 -3.375 C 4.640625 -3.59375 4.75 -3.96875 4.75 -4.015625 C 4.75 -4.203125 4.609375 -4.296875 4.453125 -4.296875 C 4.34375 -4.296875 4.15625 -4.203125 4.09375 -4.015625 C 4.0625 -3.9375 3.59375 -2.046875 3.515625 -1.78125 C 3.453125 -1.484375 3.4375 -1.296875 3.4375 -1.125 C 3.4375 -1.015625 3.4375 -1 3.4375 -0.953125 C 3.21875 -0.421875 2.921875 -0.109375 2.53125 -0.109375 C 1.734375 -0.109375 1.734375 -0.84375 1.734375 -1.015625 C 1.734375 -1.328125 1.78125 -1.71875 2.25 -2.953125 C 2.359375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.40625 1.609375 -4.40625 C 0.65625 -4.40625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.953125 C 0.84375 -3.875 1.21875 -4.1875 1.578125 -4.1875 C 1.65625 -4.1875 1.828125 -4.171875 1.828125 -3.859375 C 1.828125 -3.609375 1.71875 -3.328125 1.640625 -3.15625 C 1.203125 -1.984375 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.5 0.109375 C 2.671875 0.109375 3.140625 0.109375 3.53125 -0.59375 C 3.796875 0.046875 4.484375 0.109375 4.78125 0.109375 C 5.53125 0.109375 5.96875 -0.515625 6.21875 -1.109375 C 6.5625 -1.890625 6.875 -3.21875 6.875 -3.703125 Z M 6.875 -3.703125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 4.328125 -1.421875 C 4.328125 -1.46875 4.296875 -1.515625 4.203125 -1.515625 C 4.125 -1.515625 4.09375 -1.46875 4.078125 -1.390625 C 3.84375 -0.75 3.203125 -0.5625 2.875 -0.5625 C 2.671875 -0.5625 2.5 -0.609375 2.296875 -0.6875 C 1.953125 -0.8125 1.796875 -0.859375 1.59375 -0.859375 C 1.59375 -0.859375 1.40625 -0.859375 1.328125 -0.828125 C 1.859375 -1.40625 2.15625 -1.65625 2.515625 -1.953125 C 2.515625 -1.953125 3.125 -2.5 3.484375 -2.859375 C 4.421875 -3.78125 4.640625 -4.265625 4.640625 -4.296875 C 4.640625 -4.40625 4.53125 -4.40625 4.53125 -4.40625 C 4.46875 -4.40625 4.4375 -4.375 4.390625 -4.296875 C 4.09375 -3.8125 3.875 -3.65625 3.640625 -3.65625 C 3.40625 -3.65625 3.28125 -3.796875 3.140625 -3.96875 C 2.953125 -4.203125 2.78125 -4.40625 2.453125 -4.40625 C 1.703125 -4.40625 1.25 -3.46875 1.25 -3.265625 C 1.25 -3.21875 1.28125 -3.15625 1.359375 -3.15625 C 1.453125 -3.15625 1.46875 -3.203125 1.5 -3.265625 C 1.6875 -3.71875 2.265625 -3.734375 2.34375 -3.734375 C 2.546875 -3.734375 2.734375 -3.65625 2.96875 -3.578125 C 3.359375 -3.4375 3.46875 -3.4375 3.734375 -3.4375 C 3.375 -3 2.53125 -2.296875 2.34375 -2.125 L 1.453125 -1.296875 C 0.78125 -0.625 0.421875 -0.0625 0.421875 0.015625 C 0.421875 0.109375 0.546875 0.109375 0.546875 0.109375 C 0.625 0.109375 0.640625 0.09375 0.703125 -0.015625 C 0.9375 -0.375 1.234375 -0.640625 1.546875 -0.640625 C 1.78125 -0.640625 1.875 -0.546875 2.125 -0.265625 C 2.296875 -0.046875 2.484375 0.109375 2.765625 0.109375 C 3.75 0.109375 4.328125 -1.15625 4.328125 -1.421875 Z M 4.328125 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 5.40625 -1.421875 C 5.40625 -1.515625 5.3125 -1.515625 5.28125 -1.515625 C 5.1875 -1.515625 5.171875 -1.484375 5.140625 -1.34375 C 5 -0.78125 4.8125 -0.109375 4.40625 -0.109375 C 4.1875 -0.109375 4.09375 -0.234375 4.09375 -0.5625 C 4.09375 -0.78125 4.203125 -1.25 4.296875 -1.609375 L 4.5625 -2.671875 C 4.59375 -2.828125 4.703125 -3.203125 4.734375 -3.359375 C 4.78125 -3.578125 4.890625 -3.96875 4.890625 -4.015625 C 4.890625 -4.203125 4.75 -4.296875 4.59375 -4.296875 C 4.546875 -4.296875 4.296875 -4.28125 4.203125 -3.9375 L 3.46875 -0.953125 C 3.453125 -0.90625 3.0625 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.71875 -0.5625 1.71875 -0.921875 C 1.71875 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.40625 1.609375 -4.40625 C 0.65625 -4.40625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.953125 C 0.8125 -3.8125 1.1875 -4.1875 1.578125 -4.1875 C 1.65625 -4.1875 1.828125 -4.171875 1.828125 -3.859375 C 1.828125 -3.609375 1.71875 -3.328125 1.65625 -3.171875 C 1.28125 -2.1875 1.078125 -1.578125 1.078125 -1.078125 C 1.078125 -0.140625 1.765625 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.3125 -0.34375 3.484375 -0.5625 C 3.59375 -0.15625 3.9375 0.109375 4.375 0.109375 C 4.71875 0.109375 4.953125 -0.125 5.109375 -0.4375 C 5.28125 -0.796875 5.40625 -1.421875 5.40625 -1.421875 Z M 5.40625 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.65625 -3.703125 C 4.65625 -4.234375 4.40625 -4.40625 4.21875 -4.40625 C 3.96875 -4.40625 3.734375 -4.140625 3.734375 -3.921875 C 3.734375 -3.796875 3.78125 -3.734375 3.890625 -3.625 C 4.09375 -3.421875 4.234375 -3.171875 4.234375 -2.8125 C 4.234375 -2.390625 3.625 -0.109375 2.453125 -0.109375 C 1.953125 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.265625 2.296875 -3.078125 C 2.375 -3.25 2.421875 -3.390625 2.421875 -3.578125 C 2.421875 -4.03125 2.09375 -4.40625 1.609375 -4.40625 C 0.671875 -4.40625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.953125 C 0.859375 -3.953125 1.28125 -4.1875 1.578125 -4.1875 C 1.65625 -4.1875 1.828125 -4.1875 1.828125 -3.859375 C 1.828125 -3.609375 1.71875 -3.34375 1.65625 -3.171875 C 1.21875 -2.015625 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.421875 0.109375 C 4.09375 0.109375 4.65625 -3.1875 4.65625 -3.703125 Z M 4.65625 -3.703125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 3.578125 -1.203125 C 3.578125 -1.75 3.140625 -2.296875 2.375 -2.453125 C 3.09375 -2.71875 3.359375 -3.234375 3.359375 -3.671875 C 3.359375 -4.21875 2.734375 -4.625 1.953125 -4.625 C 1.1875 -4.625 0.59375 -4.25 0.59375 -3.6875 C 0.59375 -3.453125 0.75 -3.328125 0.953125 -3.328125 C 1.171875 -3.328125 1.3125 -3.484375 1.3125 -3.671875 C 1.3125 -3.875 1.171875 -4.03125 0.953125 -4.046875 C 1.203125 -4.34375 1.671875 -4.421875 1.9375 -4.421875 C 2.25 -4.421875 2.6875 -4.265625 2.6875 -3.671875 C 2.6875 -3.375 2.59375 -3.046875 2.40625 -2.84375 C 2.1875 -2.578125 1.984375 -2.5625 1.640625 -2.53125 C 1.46875 -2.515625 1.453125 -2.515625 1.421875 -2.515625 C 1.421875 -2.515625 1.34375 -2.5 1.34375 -2.421875 C 1.34375 -2.328125 1.40625 -2.328125 1.53125 -2.328125 L 1.90625 -2.328125 C 2.453125 -2.328125 2.84375 -1.953125 2.84375 -1.203125 C 2.84375 -0.34375 2.328125 -0.078125 1.9375 -0.078125 C 1.65625 -0.078125 1.03125 -0.15625 0.75 -0.578125 C 1.078125 -0.578125 1.15625 -0.8125 1.15625 -0.96875 C 1.15625 -1.1875 0.984375 -1.34375 0.765625 -1.34375 C 0.578125 -1.34375 0.375 -1.21875 0.375 -0.9375 C 0.375 -0.28125 1.09375 0.140625 1.9375 0.140625 C 2.90625 0.140625 3.578125 -0.515625 3.578125 -1.203125 Z M 3.578125 -1.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 3.296875 0 L 3.296875 -0.25 L 3.03125 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.578125 L 2.328125 -4.4375 C 2.328125 -4.625 2.328125 -4.625 2.125 -4.625 C 1.671875 -4.1875 1.046875 -4.1875 0.765625 -4.1875 L 0.765625 -3.9375 C 0.921875 -3.9375 1.390625 -3.9375 1.765625 -4.125 L 1.765625 -0.578125 C 1.765625 -0.34375 1.765625 -0.25 1.078125 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.296875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph1-3">
<path style="stroke:none;" d="M 3.515625 -1.265625 L 3.28125 -1.265625 C 3.265625 -1.109375 3.1875 -0.703125 3.09375 -0.640625 C 3.046875 -0.59375 2.515625 -0.59375 2.40625 -0.59375 L 1.125 -0.59375 C 1.859375 -1.234375 2.109375 -1.4375 2.515625 -1.765625 C 3.03125 -2.171875 3.515625 -2.609375 3.515625 -3.265625 C 3.515625 -4.109375 2.78125 -4.625 1.890625 -4.625 C 1.03125 -4.625 0.4375 -4.015625 0.4375 -3.375 C 0.4375 -3.03125 0.734375 -2.984375 0.8125 -2.984375 C 0.96875 -2.984375 1.171875 -3.109375 1.171875 -3.359375 C 1.171875 -3.484375 1.125 -3.734375 0.765625 -3.734375 C 0.984375 -4.21875 1.453125 -4.375 1.78125 -4.375 C 2.484375 -4.375 2.84375 -3.828125 2.84375 -3.265625 C 2.84375 -2.65625 2.40625 -2.1875 2.1875 -1.9375 L 0.515625 -0.265625 C 0.4375 -0.203125 0.4375 -0.1875 0.4375 0 L 3.3125 0 Z M 3.515625 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph2-1">
<path style="stroke:none;" d="M 3.296875 2.390625 C 3.296875 2.359375 3.296875 2.34375 3.125 2.171875 C 1.875 0.921875 1.5625 -0.96875 1.5625 -2.484375 C 1.5625 -4.21875 1.9375 -5.953125 3.171875 -7.203125 C 3.296875 -7.3125 3.296875 -7.328125 3.296875 -7.359375 C 3.296875 -7.4375 3.25 -7.46875 3.1875 -7.46875 C 3.09375 -7.46875 2.203125 -6.78125 1.609375 -5.53125 C 1.109375 -4.421875 0.984375 -3.328125 0.984375 -2.484375 C 0.984375 -1.71875 1.09375 -0.5 1.640625 0.609375 C 2.234375 1.84375 3.09375 2.484375 3.1875 2.484375 C 3.25 2.484375 3.296875 2.453125 3.296875 2.390625 Z M 3.296875 2.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 2.875 -2.484375 C 2.875 -3.265625 2.765625 -4.46875 2.21875 -5.59375 C 1.625 -6.8125 0.765625 -7.46875 0.671875 -7.46875 C 0.609375 -7.46875 0.5625 -7.421875 0.5625 -7.359375 C 0.5625 -7.328125 0.5625 -7.3125 0.75 -7.140625 C 1.734375 -6.15625 2.296875 -4.5625 2.296875 -2.484375 C 2.296875 -0.78125 1.9375 0.96875 0.703125 2.21875 C 0.5625 2.34375 0.5625 2.359375 0.5625 2.390625 C 0.5625 2.453125 0.609375 2.484375 0.671875 2.484375 C 0.765625 2.484375 1.65625 1.8125 2.25 0.546875 C 2.75 -0.546875 2.875 -1.65625 2.875 -2.484375 Z M 2.875 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph3-1">
<path style="stroke:none;" d="M 8.09375 -3 C 8.09375 -3.21875 7.90625 -3.21875 7.71875 -3.21875 L 4.53125 -3.21875 L 4.53125 -6.40625 C 4.53125 -6.5625 4.53125 -6.78125 4.328125 -6.78125 C 4.109375 -6.78125 4.109375 -6.578125 4.109375 -6.40625 L 4.109375 -3.21875 L 0.921875 -3.21875 C 0.765625 -3.21875 0.546875 -3.21875 0.546875 -3.015625 C 0.546875 -2.796875 0.75 -2.796875 0.921875 -2.796875 L 4.109375 -2.796875 L 4.109375 0.390625 C 4.109375 0.5625 4.109375 0.765625 4.3125 0.765625 C 4.53125 0.765625 4.53125 0.578125 4.53125 0.390625 L 4.53125 -2.796875 L 7.71875 -2.796875 C 7.890625 -2.796875 8.09375 -2.796875 8.09375 -3 Z M 8.09375 -3 "/>
</symbol>
<symbol overflow="visible" id="glyph4-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph4-1">
<path style="stroke:none;" d="M 6.90625 -2.484375 C 6.90625 -2.6875 6.71875 -2.6875 6.578125 -2.6875 L 1.15625 -2.6875 C 1.015625 -2.6875 0.828125 -2.6875 0.828125 -2.484375 C 0.828125 -2.296875 1.015625 -2.296875 1.15625 -2.296875 L 6.578125 -2.296875 C 6.71875 -2.296875 6.90625 -2.296875 6.90625 -2.484375 Z M 6.90625 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph5-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph5-1">
<path style="stroke:none;" d="M 5.109375 23.484375 L 5.109375 22.9375 L 3.03125 22.9375 L 3.03125 0.15625 L 5.109375 0.15625 L 5.109375 -0.390625 L 2.484375 -0.390625 L 2.484375 23.484375 Z M 5.109375 23.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph5-2">
<path style="stroke:none;" d="M 2.75 23.484375 L 2.75 -0.390625 L 0.140625 -0.390625 L 0.140625 0.15625 L 2.203125 0.15625 L 2.203125 22.9375 L 0.140625 22.9375 L 0.140625 23.484375 Z M 2.75 23.484375 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 0.0429688 42 L 45 42 L 45 44 L 0.0429688 44 Z M 0.0429688 42 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 33 42 L 184.554688 42 L 184.554688 171 L 33 171 Z M 33 42 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 0.0429688 74 L 106 74 L 106 165 L 0.0429688 165 Z M 0.0429688 74 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 163 27 L 184.554688 27 L 184.554688 59 L 163 59 Z M 163 27 "/>
</clipPath>
<clipPath id="clip5">
<path d="M 163 59 L 184.554688 59 L 184.554688 92 L 163 92 Z M 163 59 "/>
</clipPath>
<clipPath id="clip6">
<path d="M 163 91 L 184.554688 91 L 184.554688 124 L 163 124 Z M 163 91 "/>
</clipPath>
</defs>
<g id="surface1">
<path style="fill-rule:nonzero;fill:rgb(89.99939%,89.99939%,89.99939%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -70.86535 -63.781263 L 70.866926 -63.781263 L 70.866926 63.780524 L -70.86535 63.780524 Z M -70.86535 -63.781263 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="80.86947" y="11.275426"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="87.255517" y="12.767102"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="91.718561" y="11.275426"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="95.586533" y="11.275426"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="100.249266" y="11.275426"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 18.085571 27.227548 L 51.023547 27.227548 L 51.023547 49.907372 L 18.085571 49.907372 Z M 18.085571 27.227548 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="113.866043" y="45.731724"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="123.260401" y="47.224397"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="127.723445" y="45.731724"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="131.591416" y="45.731724"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="136.254149" y="45.731724"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 18.085571 -4.91231 L 51.023547 -4.91231 L 51.023547 17.767514 L 18.085571 17.767514 Z M 18.085571 -4.91231 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="113.866043" y="77.820711"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="123.260401" y="79.312386"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="127.723445" y="77.820711"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="131.591416" y="77.820711"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="136.254149" y="77.820711"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 18.085571 -37.048256 L 51.023547 -37.048256 L 51.023547 -14.372344 L 18.085571 -14.372344 Z M 18.085571 -37.048256 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="113.866043" y="109.909697"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="123.260401" y="111.401373"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="127.723445" y="109.909697"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="131.591416" y="109.909697"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="136.254149" y="109.909697"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 0.577858 38.569416 C 0.577858 42.419157 -2.544188 45.541203 -6.393929 45.541203 C -10.247582 45.541203 -13.369628 42.419157 -13.369628 38.569416 C -13.369628 34.715763 -10.247582 31.593717 -6.393929 31.593717 C -2.544188 31.593717 0.577858 34.715763 0.577858 38.569416 Z M 0.577858 38.569416 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="81.778054" y="46.157061"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="76.382464" y="57.999603"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -30.376562 38.569416 C -30.376562 42.419157 -33.498608 45.541203 -37.352261 45.541203 C -41.202001 45.541203 -44.324047 42.419157 -44.324047 38.569416 C -44.324047 34.715763 -41.202001 31.593717 -37.352261 31.593717 C -33.498608 31.593717 -30.376562 34.715763 -30.376562 38.569416 Z M -30.376562 38.569416 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="50.871225" y="46.157061"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="45.475634" y="57.999603"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -21.163005 -103.831869 L 21.164582 -103.831869 L 21.164582 -73.28042 L -21.163005 -73.28042 Z M -21.163005 -103.831869 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-1" x="74.679119" y="158.630762"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="79.928936" y="166.58836"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="88.19705" y="168.081033"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="92.659095" y="166.58836"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="96.528065" y="166.58836"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="101.190798" y="166.58836"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="79.928936" y="178.525754"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="88.19705" y="180.017429"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="92.659095" y="178.525754"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="96.528065" y="178.525754"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="101.190798" y="178.525754"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-2" x="105.05877" y="158.630762"/>
</g>
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -91.209508 38.569416 L -48.960168 38.569416 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052524 0.0019463 L 1.608108 1.684252 L 3.086972 0.0019463 L 1.608108 -1.684271 Z M 6.052524 0.0019463 " transform="matrix(0.998444,0,0,-0.998444,40.777207,43.244131)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="5.241343" y="39.432541"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -6.393929 -25.7103 L -6.393929 26.961509 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052039 -0.000801368 L 1.607622 1.681504 L 3.086486 -0.000801368 L 1.607622 -1.683107 Z M 6.052039 -0.000801368 " transform="matrix(0,-0.998444,-0.998444,0,86.108575,57.667621)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 88.097656 107.421875 C 88.097656 106.324219 87.207031 105.433594 86.109375 105.433594 C 85.011719 105.433594 84.117188 106.324219 84.117188 107.421875 C 84.117188 108.519531 85.011719 109.410156 86.109375 109.410156 C 87.207031 109.410156 88.097656 108.519531 88.097656 107.421875 Z M 88.097656 107.421875 "/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -37.352261 6.429558 L -37.352261 26.961509 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052039 0.00148068 L 1.607622 1.683786 L 3.086486 0.00148068 L 1.607622 -1.684737 Z M 6.052039 0.00148068 " transform="matrix(0,-0.998444,-0.998444,0,55.200697,57.667621)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 57.191406 75.332031 C 57.191406 74.234375 56.300781 73.34375 55.199219 73.34375 C 54.101562 73.34375 53.210938 74.234375 53.210938 75.332031 C 53.210938 76.433594 54.101562 77.324219 55.199219 77.324219 C 56.300781 77.324219 57.191406 76.433594 57.191406 75.332031 Z M 57.191406 75.332031 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -58.498449 38.569416 L -58.498449 -51.422187 L 91.207172 -51.422187 L 91.207172 -88.558101 L 26.293657 -88.558101 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052273 0.00137065 L 1.607857 1.683676 L 3.08672 0.00137065 L 1.607857 -1.684847 Z M 6.052273 0.00137065 " transform="matrix(-0.998444,0,0,0.998444,121.581917,170.170506)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 36.074219 43.242188 C 36.074219 42.144531 35.183594 41.253906 34.085938 41.253906 C 32.988281 41.253906 32.097656 42.144531 32.097656 43.242188 C 32.097656 44.34375 32.988281 45.234375 34.085938 45.234375 C 35.183594 45.234375 36.074219 44.34375 36.074219 43.242188 Z M 36.074219 43.242188 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -21.659872 -82.247499 L -91.209508 -82.247499 L -91.209508 6.429558 L 12.952584 6.429558 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053196 0.00131812 L 1.608779 1.683624 L 3.087643 0.00131812 L 1.608779 -1.6849 Z M 6.053196 0.00131812 " transform="matrix(0.998444,0,0,-0.998444,102.592943,75.333347)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -21.659872 -94.86479 L -79.86764 -94.86479 L -79.86764 -25.7103 L 12.952584 -25.7103 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053196 0.000679939 L 1.608779 1.682985 L 3.087643 0.000679939 L 1.608779 -1.681625 Z M 6.053196 0.000679939 " transform="matrix(0.998444,0,0,-0.998444,102.592943,107.422554)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -30.376562 38.569416 L -18.001836 38.569416 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054806 0.0019463 L 1.61039 1.684252 L 3.089254 0.0019463 L 1.61039 -1.684271 Z M 6.054806 0.0019463 " transform="matrix(0.998444,0,0,-0.998444,71.685085,43.244131)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 0.577858 38.569416 L 12.952584 38.569416 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053196 0.0019463 L 1.608779 1.684252 L 3.087643 0.0019463 L 1.608779 -1.684271 Z M 6.053196 0.0019463 " transform="matrix(0.998444,0,0,-0.998444,102.592943,43.244131)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 51.524326 38.569416 L 86.574964 38.569416 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 182.144531 43.242188 L 177.703125 41.5625 L 179.179688 43.242188 L 177.703125 44.925781 Z M 182.144531 43.242188 "/>
<g clip-path="url(#clip4)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.055146 0.0019463 L 1.606817 1.684252 L 3.085681 0.0019463 L 1.606817 -1.684271 Z M 6.055146 0.0019463 " transform="matrix(0.998444,0,0,-0.998444,176.098808,43.244131)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="170.657529" y="37.939868"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="175.283319" y="39.432541"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 51.524326 6.429558 L 86.574964 6.429558 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 182.144531 75.332031 L 177.703125 73.652344 L 179.179688 75.332031 L 177.703125 77.015625 Z M 182.144531 75.332031 "/>
<g clip-path="url(#clip5)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.055146 0.00131812 L 1.606817 1.683624 L 3.085681 0.00131812 L 1.606817 -1.6849 Z M 6.055146 0.00131812 " transform="matrix(0.998444,0,0,-0.998444,176.098808,75.333347)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="170.657529" y="70.028855"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="175.283319" y="71.521528"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 51.524326 -25.7103 L 86.574964 -25.7103 " transform="matrix(0.998444,0,0,-0.998444,92.493354,81.751584)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 182.144531 107.421875 L 177.703125 105.742188 L 179.179688 107.421875 L 177.703125 109.101562 Z M 182.144531 107.421875 "/>
<g clip-path="url(#clip6)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.055146 0.000679939 L 1.606817 1.682985 L 3.085681 0.000679939 L 1.606817 -1.681625 Z M 6.055146 0.000679939 " transform="matrix(0.998444,0,0,-0.998444,176.098808,107.422554)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="170.657529" y="102.117842"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="175.283319" y="103.609517"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="3.857499" y="70.028855"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="9.552623" y="71.521528"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="3.857499" y="102.117842"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="9.552623" y="103.609517"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="172.612482" y="129.280507"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@ -1,36 +0,0 @@
\begin{tikzpicture}
\node[block={5.0cm}{3.5cm}, fill=black!20!white, dashed] (P) {};
\node[above] at (P.north) {$P(s)$};
\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)$);
\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, 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[block, below=0.3 of P] (H) {$\begin{bmatrix}H_2(s) \\ H_3(s)\end{bmatrix}$};
\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) |- (H.east);
\draw[->] ($(H.south west)!0.7!(H.north west)$) -| (inputu|-W2) -- (W2.west);
\draw[->] ($(H.south west)!0.3!(H.north west)$) -| ($(inputu|-W3)+(0.4, 0)$) -- (W3.west);
\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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,198 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="170.236pt" height="141.984pt" viewBox="0 0 170.236 141.984" version="1.2">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 7.484375 -5.28125 C 7.484375 -6.046875 6.828125 -6.78125 5.53125 -6.78125 L 2.3125 -6.78125 C 2.125 -6.78125 2.015625 -6.78125 2.015625 -6.59375 C 2.015625 -6.46875 2.109375 -6.46875 2.296875 -6.46875 C 2.4375 -6.46875 2.609375 -6.453125 2.734375 -6.453125 C 2.890625 -6.421875 2.953125 -6.40625 2.953125 -6.296875 C 2.953125 -6.25 2.9375 -6.21875 2.90625 -6.109375 L 1.578125 -0.78125 C 1.484375 -0.390625 1.453125 -0.3125 0.671875 -0.3125 C 0.5 -0.3125 0.390625 -0.3125 0.390625 -0.125 C 0.390625 0 0.515625 0 0.546875 0 L 1.8125 -0.03125 L 2.4375 -0.015625 C 2.65625 -0.015625 2.875 0 3.078125 0 C 3.15625 0 3.28125 0 3.28125 -0.203125 C 3.28125 -0.3125 3.1875 -0.3125 3 -0.3125 C 2.640625 -0.3125 2.359375 -0.3125 2.359375 -0.484375 C 2.359375 -0.546875 2.375 -0.59375 2.390625 -0.65625 L 3 -3.140625 L 4.6875 -3.140625 C 6.109375 -3.140625 7.484375 -4.171875 7.484375 -5.28125 Z M 6.5625 -5.515625 C 6.5625 -5.125 6.359375 -4.28125 5.96875 -3.921875 C 5.484375 -3.46875 4.875 -3.390625 4.4375 -3.390625 L 3.046875 -3.390625 L 3.71875 -6.09375 C 3.8125 -6.4375 3.828125 -6.46875 4.25 -6.46875 L 5.203125 -6.46875 C 6.03125 -6.46875 6.5625 -6.203125 6.5625 -5.515625 Z M 6.5625 -5.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 3.921875 -1.53125 C 3.921875 -1.890625 3.734375 -2.140625 3.625 -2.265625 C 3.359375 -2.546875 3.0625 -2.59375 2.625 -2.671875 C 2.265625 -2.765625 1.875 -2.828125 1.875 -3.28125 C 1.875 -3.5625 2.109375 -4.171875 2.984375 -4.171875 C 3.234375 -4.171875 3.734375 -4.09375 3.875 -3.703125 C 3.609375 -3.703125 3.40625 -3.484375 3.40625 -3.265625 C 3.40625 -3.125 3.5 -2.96875 3.703125 -2.96875 C 3.921875 -2.96875 4.171875 -3.140625 4.171875 -3.53125 C 4.171875 -3.984375 3.734375 -4.390625 2.984375 -4.390625 C 1.671875 -4.390625 1.3125 -3.375 1.3125 -2.9375 C 1.3125 -2.15625 2.046875 -2.015625 2.328125 -1.953125 C 2.84375 -1.859375 3.359375 -1.75 3.359375 -1.203125 C 3.359375 -0.9375 3.140625 -0.109375 1.9375 -0.109375 C 1.8125 -0.109375 1.046875 -0.109375 0.8125 -0.640625 C 1.1875 -0.578125 1.4375 -0.890625 1.4375 -1.15625 C 1.4375 -1.390625 1.28125 -1.515625 1.078125 -1.515625 C 0.8125 -1.515625 0.515625 -1.296875 0.515625 -0.859375 C 0.515625 -0.28125 1.078125 0.109375 1.9375 0.109375 C 3.546875 0.109375 3.921875 -1.09375 3.921875 -1.53125 Z M 3.921875 -1.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 10.390625 -6.671875 C 10.390625 -6.703125 10.359375 -6.78125 10.28125 -6.78125 C 10.046875 -6.78125 9.765625 -6.75 9.515625 -6.75 C 9.171875 -6.75 8.8125 -6.78125 8.484375 -6.78125 C 8.421875 -6.78125 8.296875 -6.78125 8.296875 -6.59375 C 8.296875 -6.484375 8.390625 -6.46875 8.4375 -6.46875 C 8.6875 -6.453125 9.03125 -6.375 9.03125 -6.078125 C 9.03125 -5.96875 8.984375 -5.890625 8.90625 -5.75 L 6.21875 -1.078125 L 5.859375 -6 C 5.84375 -6.203125 5.828125 -6.453125 6.546875 -6.46875 C 6.71875 -6.46875 6.8125 -6.46875 6.8125 -6.671875 C 6.8125 -6.765625 6.703125 -6.78125 6.671875 -6.78125 C 6.265625 -6.78125 5.859375 -6.75 5.453125 -6.75 C 5.234375 -6.75 4.640625 -6.78125 4.421875 -6.78125 C 4.359375 -6.78125 4.234375 -6.78125 4.234375 -6.578125 C 4.234375 -6.46875 4.328125 -6.46875 4.46875 -6.46875 C 4.90625 -6.46875 4.96875 -6.40625 4.984375 -6.21875 L 5.046875 -5.453125 L 2.546875 -1.078125 L 2.15625 -6.109375 C 2.15625 -6.234375 2.15625 -6.453125 2.921875 -6.46875 C 3.015625 -6.46875 3.125 -6.46875 3.125 -6.671875 C 3.125 -6.78125 2.984375 -6.78125 2.984375 -6.78125 C 2.59375 -6.78125 2.171875 -6.75 1.765625 -6.75 C 1.421875 -6.75 1.0625 -6.78125 0.71875 -6.78125 C 0.671875 -6.78125 0.546875 -6.78125 0.546875 -6.59375 C 0.546875 -6.46875 0.640625 -6.46875 0.796875 -6.46875 C 1.296875 -6.46875 1.296875 -6.375 1.3125 -6.109375 L 1.765625 -0.046875 C 1.78125 0.140625 1.78125 0.21875 1.921875 0.21875 C 2.046875 0.21875 2.078125 0.15625 2.15625 0.015625 L 5.078125 -5.046875 L 5.453125 -0.046875 C 5.46875 0.171875 5.484375 0.21875 5.609375 0.21875 C 5.734375 0.21875 5.796875 0.125 5.84375 0.03125 L 9.09375 -5.625 C 9.34375 -6.0625 9.578125 -6.421875 10.203125 -6.46875 C 10.296875 -6.484375 10.390625 -6.484375 10.390625 -6.671875 Z M 10.390625 -6.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 7.125 -0.203125 C 7.125 -0.3125 7.03125 -0.3125 6.84375 -0.3125 C 6.484375 -0.3125 6.203125 -0.3125 6.203125 -0.484375 C 6.203125 -0.546875 6.21875 -0.59375 6.234375 -0.65625 L 7.578125 -6.015625 C 7.65625 -6.375 7.671875 -6.46875 8.40625 -6.46875 C 8.65625 -6.46875 8.734375 -6.46875 8.734375 -6.671875 C 8.734375 -6.78125 8.625 -6.78125 8.609375 -6.78125 L 7.328125 -6.75 L 6.046875 -6.78125 C 5.96875 -6.78125 5.859375 -6.78125 5.859375 -6.578125 C 5.859375 -6.46875 5.953125 -6.46875 6.140625 -6.46875 C 6.140625 -6.46875 6.34375 -6.46875 6.515625 -6.453125 C 6.703125 -6.421875 6.78125 -6.421875 6.78125 -6.296875 C 6.78125 -6.25 6.78125 -6.234375 6.75 -6.109375 L 6.15625 -3.6875 L 3.125 -3.6875 L 3.703125 -6.015625 C 3.796875 -6.375 3.828125 -6.46875 4.546875 -6.46875 C 4.796875 -6.46875 4.875 -6.46875 4.875 -6.671875 C 4.875 -6.78125 4.765625 -6.78125 4.75 -6.78125 L 3.46875 -6.75 L 2.1875 -6.78125 C 2.109375 -6.78125 2 -6.78125 2 -6.578125 C 2 -6.46875 2.09375 -6.46875 2.28125 -6.46875 C 2.28125 -6.46875 2.484375 -6.46875 2.65625 -6.453125 C 2.84375 -6.421875 2.921875 -6.421875 2.921875 -6.296875 C 2.921875 -6.25 2.921875 -6.21875 2.890625 -6.109375 L 1.5625 -0.78125 C 1.453125 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.46875 -0.3125 0.390625 -0.3125 0.390625 -0.109375 C 0.390625 0 0.53125 0 0.53125 0 L 1.78125 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.0625 0 C 3.140625 0 3.265625 0 3.265625 -0.203125 C 3.265625 -0.3125 3.171875 -0.3125 2.984375 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.546875 2.359375 -0.59375 2.375 -0.65625 L 3.046875 -3.375 L 6.078125 -3.375 L 5.390625 -0.640625 C 5.28125 -0.3125 5.09375 -0.3125 4.484375 -0.3125 C 4.328125 -0.3125 4.25 -0.3125 4.25 -0.109375 C 4.25 0 4.390625 0 4.390625 0 L 5.640625 -0.03125 L 6.28125 -0.015625 C 6.5 -0.015625 6.71875 0 6.921875 0 C 7 0 7.125 0 7.125 -0.203125 Z M 7.125 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 6.859375 -3.6875 C 6.859375 -4.234375 6.59375 -4.390625 6.421875 -4.390625 C 6.171875 -4.390625 5.921875 -4.125 5.921875 -3.90625 C 5.921875 -3.78125 5.984375 -3.71875 6.078125 -3.640625 C 6.1875 -3.53125 6.421875 -3.28125 6.421875 -2.796875 C 6.421875 -2.453125 6.140625 -1.484375 5.890625 -0.984375 C 5.625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.125 -1.5625 4.171875 -1.703125 L 4.578125 -3.359375 C 4.640625 -3.578125 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.4375 -4.28125 C 4.328125 -4.28125 4.140625 -4.203125 4.078125 -4 C 4.046875 -3.921875 3.578125 -2.03125 3.515625 -1.78125 C 3.4375 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -0.984375 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.515625 -0.109375 C 1.71875 -0.109375 1.71875 -0.84375 1.71875 -1.015625 C 1.71875 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.34375 -3.234375 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.078125 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.125 0.109375 3.515625 -0.578125 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.5 0.109375 5.9375 -0.515625 6.203125 -1.109375 C 6.53125 -1.890625 6.859375 -3.21875 6.859375 -3.6875 Z M 6.859375 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 4.640625 -3.6875 C 4.640625 -4.234375 4.390625 -4.390625 4.203125 -4.390625 C 3.953125 -4.390625 3.71875 -4.125 3.71875 -3.90625 C 3.71875 -3.78125 3.765625 -3.71875 3.875 -3.609375 C 4.09375 -3.40625 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.375 3.609375 -0.109375 2.453125 -0.109375 C 1.9375 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.328125 1.640625 -3.15625 C 1.203125 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.40625 0.109375 C 4.078125 0.109375 4.640625 -3.171875 4.640625 -3.6875 Z M 4.640625 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.3125 -1.421875 C 4.3125 -1.46875 4.28125 -1.515625 4.203125 -1.515625 C 4.109375 -1.515625 4.09375 -1.453125 4.0625 -1.390625 C 3.828125 -0.75 3.1875 -0.5625 2.875 -0.5625 C 2.671875 -0.5625 2.484375 -0.609375 2.28125 -0.6875 C 1.9375 -0.8125 1.796875 -0.859375 1.59375 -0.859375 C 1.59375 -0.859375 1.40625 -0.859375 1.3125 -0.828125 C 1.859375 -1.40625 2.140625 -1.640625 2.5 -1.953125 C 2.5 -1.953125 3.109375 -2.484375 3.46875 -2.84375 C 4.421875 -3.765625 4.640625 -4.25 4.640625 -4.28125 C 4.640625 -4.390625 4.53125 -4.390625 4.53125 -4.390625 C 4.453125 -4.390625 4.421875 -4.359375 4.375 -4.28125 C 4.078125 -3.796875 3.875 -3.640625 3.625 -3.640625 C 3.390625 -3.640625 3.28125 -3.796875 3.125 -3.953125 C 2.9375 -4.1875 2.765625 -4.390625 2.4375 -4.390625 C 1.703125 -4.390625 1.234375 -3.46875 1.234375 -3.25 C 1.234375 -3.203125 1.265625 -3.140625 1.359375 -3.140625 C 1.453125 -3.140625 1.46875 -3.1875 1.484375 -3.25 C 1.671875 -3.703125 2.25 -3.71875 2.328125 -3.71875 C 2.546875 -3.71875 2.734375 -3.65625 2.953125 -3.578125 C 3.359375 -3.421875 3.46875 -3.421875 3.71875 -3.421875 C 3.359375 -3 2.53125 -2.28125 2.34375 -2.125 L 1.453125 -1.296875 C 0.78125 -0.625 0.421875 -0.0625 0.421875 0.015625 C 0.421875 0.109375 0.546875 0.109375 0.546875 0.109375 C 0.625 0.109375 0.640625 0.09375 0.703125 -0.015625 C 0.9375 -0.359375 1.234375 -0.640625 1.546875 -0.640625 C 1.78125 -0.640625 1.875 -0.546875 2.125 -0.265625 C 2.296875 -0.046875 2.46875 0.109375 2.765625 0.109375 C 3.734375 0.109375 4.3125 -1.15625 4.3125 -1.421875 Z M 4.3125 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 3.28125 0 L 3.28125 -0.25 L 3.015625 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.5625 L 2.328125 -4.40625 C 2.328125 -4.59375 2.3125 -4.609375 2.109375 -4.609375 C 1.671875 -4.171875 1.046875 -4.15625 0.75 -4.15625 L 0.75 -3.90625 C 0.921875 -3.90625 1.375 -3.90625 1.765625 -4.109375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.0625 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 3.5 -1.265625 L 3.265625 -1.265625 C 3.25 -1.109375 3.171875 -0.703125 3.09375 -0.625 C 3.03125 -0.59375 2.5 -0.59375 2.40625 -0.59375 L 1.125 -0.59375 C 1.859375 -1.234375 2.09375 -1.421875 2.515625 -1.75 C 3.03125 -2.171875 3.5 -2.59375 3.5 -3.25 C 3.5 -4.09375 2.765625 -4.609375 1.875 -4.609375 C 1.015625 -4.609375 0.4375 -4 0.4375 -3.359375 C 0.4375 -3.015625 0.734375 -2.96875 0.8125 -2.96875 C 0.96875 -2.96875 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.46875 1.125 -3.71875 0.765625 -3.71875 C 0.984375 -4.203125 1.453125 -4.359375 1.78125 -4.359375 C 2.46875 -4.359375 2.828125 -3.8125 2.828125 -3.25 C 2.828125 -2.65625 2.40625 -2.171875 2.171875 -1.921875 L 0.5 -0.265625 C 0.4375 -0.203125 0.4375 -0.1875 0.4375 0 L 3.296875 0 Z M 3.5 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph2-1">
<path style="stroke:none;" d="M 3.28125 2.375 C 3.28125 2.34375 3.28125 2.328125 3.109375 2.15625 C 1.875 0.90625 1.5625 -0.96875 1.5625 -2.484375 C 1.5625 -4.203125 1.9375 -5.9375 3.15625 -7.171875 C 3.28125 -7.296875 3.28125 -7.3125 3.28125 -7.34375 C 3.28125 -7.40625 3.25 -7.4375 3.1875 -7.4375 C 3.078125 -7.4375 2.1875 -6.765625 1.609375 -5.5 C 1.09375 -4.421875 0.984375 -3.3125 0.984375 -2.484375 C 0.984375 -1.703125 1.09375 -0.5 1.640625 0.609375 C 2.234375 1.828125 3.078125 2.484375 3.1875 2.484375 C 3.25 2.484375 3.28125 2.453125 3.28125 2.375 Z M 3.28125 2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 2.875 -2.484375 C 2.875 -3.25 2.765625 -4.453125 2.21875 -5.578125 C 1.625 -6.796875 0.765625 -7.4375 0.671875 -7.4375 C 0.609375 -7.4375 0.5625 -7.40625 0.5625 -7.34375 C 0.5625 -7.3125 0.5625 -7.296875 0.75 -7.109375 C 1.71875 -6.125 2.296875 -4.546875 2.296875 -2.484375 C 2.296875 -0.78125 1.921875 0.96875 0.6875 2.21875 C 0.5625 2.328125 0.5625 2.34375 0.5625 2.375 C 0.5625 2.4375 0.609375 2.484375 0.671875 2.484375 C 0.765625 2.484375 1.65625 1.8125 2.25 0.546875 C 2.75 -0.546875 2.875 -1.640625 2.875 -2.484375 Z M 2.875 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph3-1">
<path style="stroke:none;" d="M 11.53125 -4.265625 C 11.53125 -4.578125 11.265625 -4.578125 11 -4.578125 L 6.46875 -4.578125 L 6.46875 -9.125 C 6.46875 -9.359375 6.46875 -9.65625 6.171875 -9.65625 C 5.859375 -9.65625 5.859375 -9.375 5.859375 -9.125 L 5.859375 -4.578125 L 1.3125 -4.578125 C 1.078125 -4.578125 0.78125 -4.578125 0.78125 -4.28125 C 0.78125 -3.984375 1.0625 -3.984375 1.3125 -3.984375 L 5.859375 -3.984375 L 5.859375 0.5625 C 5.859375 0.8125 5.859375 1.09375 6.15625 1.09375 C 6.46875 1.09375 6.46875 0.828125 6.46875 0.5625 L 6.46875 -3.984375 L 11 -3.984375 C 11.25 -3.984375 11.53125 -3.984375 11.53125 -4.265625 Z M 11.53125 -4.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph4-1">
<path style="stroke:none;" d="M 6.890625 -2.484375 C 6.890625 -2.671875 6.703125 -2.671875 6.5625 -2.671875 L 1.15625 -2.671875 C 1.015625 -2.671875 0.828125 -2.671875 0.828125 -2.484375 C 0.828125 -2.28125 1.015625 -2.28125 1.15625 -2.28125 L 6.5625 -2.28125 C 6.703125 -2.28125 6.890625 -2.28125 6.890625 -2.484375 Z M 6.890625 -2.484375 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 67 111 L 103 111 L 103 141.660156 L 67 141.660156 Z M 67 111 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 89 110 L 123 110 L 123 141.660156 L 89 141.660156 Z M 89 110 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 148 23 L 169.476562 23 L 169.476562 55 L 148 55 Z M 148 23 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 148 57 L 169.476562 57 L 169.476562 90 L 148 90 Z M 148 57 "/>
</clipPath>
</defs>
<g id="surface1">
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -63.78048 -42.520877 L 63.781634 -42.520877 L 63.781634 42.519225 L -63.78048 42.519225 Z M -63.78048 -42.520877 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="73.147721" y="11.550766"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="79.515145" y="13.039086"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="83.964178" y="11.550766"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="87.821865" y="11.550766"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="92.471001" y="11.550766"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 9.919895 7.334682 L 43.939075 7.334682 L 43.939075 35.683998 L 9.919895 35.683998 Z M 9.919895 7.334682 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="98.457135" y="41.72435"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="107.824098" y="43.212671"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="112.273131" y="41.72435"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="116.130818" y="41.72435"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="120.779953" y="41.72435"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 9.919895 -27.076876 L 43.939075 -27.076876 L 43.939075 1.268517 L 9.919895 1.268517 Z M 9.919895 -27.076876 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="98.457135" y="75.984594"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="107.824098" y="77.471919"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="112.273131" y="75.984594"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="116.130818" y="75.984594"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="120.779953" y="75.984594"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -18.923818 21.507378 C -18.923818 27.012443 -23.385157 31.473782 -28.886297 31.473782 C -34.387438 31.473782 -38.848777 27.012443 -38.848777 21.507378 C -38.848777 16.006238 -34.387438 11.544899 -28.886297 11.544899 C -23.385157 11.544899 -18.923818 16.006238 -18.923818 21.507378 Z M -18.923818 21.507378 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="49.812447" y="43.392862"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="46.283286" y="56.932099"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 67.804688 140.664062 L 101.667969 140.664062 L 101.667969 112.445312 L 67.804688 112.445312 Z M 67.804688 140.664062 "/>
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.009013 -80.365743 L 17.006243 -80.365743 L 17.006243 -52.02035 L -17.009013 -52.02035 Z M -17.009013 -80.365743 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="72.208934" y="129.034512"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="80.453932" y="130.522832"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="84.902965" y="129.034512"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="88.759657" y="129.034512"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="93.408792" y="129.034512"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -84.12136 21.507378 L -43.482762 21.507378 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.051825 -0.0018117 L 1.610105 1.68149 L 3.08937 -0.0018117 L 1.610105 -1.68119 Z M 6.051825 -0.0018117 " transform="matrix(0.995532,0,0,-0.995532,38.623651,39.24429)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="4.795478" y="35.443537"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.507333 -66.193047 L -74.198118 -66.193047 L -74.198118 -12.904179 L 4.791513 -12.904179 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05377 0.000800598 L 1.608126 1.684103 L 3.087392 0.000800598 L 1.608126 -1.682501 Z M 6.05377 0.000800598 " transform="matrix(0.995532,0,0,-0.995532,86.680309,73.504703)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="8.031953" y="69.703781"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -28.886297 -12.904179 L -28.886297 6.910914 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.054074 0.000127209 L 1.60843 1.683429 L 3.087696 0.000127209 L 1.60843 -1.683175 Z M 6.054074 0.000127209 " transform="matrix(0,-0.995532,-0.995532,0,55.980595,56.601244)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 57.964844 73.503906 C 57.964844 72.410156 57.074219 71.519531 55.980469 71.519531 C 54.886719 71.519531 53.996094 72.410156 53.996094 73.503906 C 53.996094 74.601562 54.886719 75.488281 55.980469 75.488281 C 57.074219 75.488281 57.964844 74.601562 57.964844 73.503906 Z M 57.964844 73.503906 "/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -18.923818 21.507378 L 4.791513 21.507378 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05377 -0.0018117 L 1.608126 1.68149 L 3.087392 -0.0018117 L 1.608126 -1.68119 Z M 6.05377 -0.0018117 " transform="matrix(0.995532,0,0,-0.995532,86.680309,39.24429)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -55.858366 21.507378 L -55.858366 -34.414346 L 74.199272 -34.414346 L 74.199272 -66.193047 L 22.138548 -66.193047 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 103.578125 126.554688 L 108.003906 128.230469 L 106.53125 126.554688 L 108.003906 124.878906 Z M 103.578125 126.554688 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053288 -0.000973415 L 1.607644 1.682329 L 3.08691 -0.000973415 L 1.607644 -1.684275 Z M 6.053288 -0.000973415 " transform="matrix(-0.995532,0,0,0.995532,109.604368,126.555657)"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 31.113281 39.246094 C 31.113281 38.148438 30.226562 37.261719 29.128906 37.261719 C 28.035156 37.261719 27.144531 38.148438 27.144531 39.246094 C 27.144531 40.339844 28.035156 41.226562 29.128906 41.226562 C 30.226562 41.226562 31.113281 40.339844 31.113281 39.246094 Z M 31.113281 39.246094 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="156.023783" y="91.116683"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.437395 21.507378 L 79.488529 21.507378 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.070312 39.246094 L 162.644531 37.570312 L 164.117188 39.246094 L 162.644531 40.917969 Z M 167.070312 39.246094 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053055 -0.0018117 L 1.607412 1.68149 L 3.086677 -0.0018117 L 1.607412 -1.68119 Z M 6.053055 -0.0018117 " transform="matrix(0.995532,0,0,-0.995532,161.044301,39.24429)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="155.618601" y="33.956212"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="160.230902" y="35.443537"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.437395 -12.904179 L 79.488529 -12.904179 " transform="matrix(0.995532,0,0,-0.995532,84.737707,60.657381)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.070312 73.503906 L 162.644531 71.828125 L 164.117188 73.503906 L 162.644531 75.179688 Z M 167.070312 73.503906 "/>
<g clip-path="url(#clip4)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053055 0.000800598 L 1.607412 1.684103 L 3.086677 0.000800598 L 1.607412 -1.682501 Z M 6.053055 0.000800598 " transform="matrix(0.995532,0,0,-0.995532,161.044301,73.504703)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="155.618601" y="68.215461"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="160.230902" y="69.703781"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,197 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="170.236pt" height="184.504pt" viewBox="0 0 170.236 184.504" version="1.2">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 7.484375 -5.28125 C 7.484375 -6.046875 6.828125 -6.78125 5.53125 -6.78125 L 2.3125 -6.78125 C 2.125 -6.78125 2.015625 -6.78125 2.015625 -6.59375 C 2.015625 -6.46875 2.109375 -6.46875 2.296875 -6.46875 C 2.4375 -6.46875 2.609375 -6.453125 2.734375 -6.453125 C 2.890625 -6.421875 2.953125 -6.40625 2.953125 -6.296875 C 2.953125 -6.25 2.9375 -6.21875 2.90625 -6.109375 L 1.578125 -0.78125 C 1.484375 -0.390625 1.453125 -0.3125 0.671875 -0.3125 C 0.5 -0.3125 0.390625 -0.3125 0.390625 -0.125 C 0.390625 0 0.515625 0 0.546875 0 L 1.8125 -0.03125 L 2.4375 -0.015625 C 2.65625 -0.015625 2.875 0 3.078125 0 C 3.15625 0 3.28125 0 3.28125 -0.203125 C 3.28125 -0.3125 3.1875 -0.3125 3 -0.3125 C 2.640625 -0.3125 2.359375 -0.3125 2.359375 -0.484375 C 2.359375 -0.546875 2.375 -0.59375 2.390625 -0.65625 L 3 -3.140625 L 4.6875 -3.140625 C 6.109375 -3.140625 7.484375 -4.171875 7.484375 -5.28125 Z M 6.5625 -5.515625 C 6.5625 -5.125 6.359375 -4.28125 5.96875 -3.921875 C 5.484375 -3.46875 4.875 -3.390625 4.4375 -3.390625 L 3.046875 -3.390625 L 3.71875 -6.09375 C 3.8125 -6.4375 3.828125 -6.46875 4.25 -6.46875 L 5.203125 -6.46875 C 6.03125 -6.46875 6.5625 -6.203125 6.5625 -5.515625 Z M 6.5625 -5.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 3.921875 -1.53125 C 3.921875 -1.890625 3.734375 -2.140625 3.625 -2.265625 C 3.359375 -2.546875 3.0625 -2.59375 2.625 -2.671875 C 2.265625 -2.765625 1.875 -2.828125 1.875 -3.28125 C 1.875 -3.5625 2.109375 -4.171875 2.984375 -4.171875 C 3.234375 -4.171875 3.734375 -4.09375 3.875 -3.703125 C 3.609375 -3.703125 3.40625 -3.484375 3.40625 -3.265625 C 3.40625 -3.125 3.5 -2.96875 3.703125 -2.96875 C 3.921875 -2.96875 4.171875 -3.140625 4.171875 -3.53125 C 4.171875 -3.984375 3.734375 -4.390625 2.984375 -4.390625 C 1.671875 -4.390625 1.3125 -3.375 1.3125 -2.9375 C 1.3125 -2.15625 2.046875 -2.015625 2.328125 -1.953125 C 2.84375 -1.859375 3.359375 -1.75 3.359375 -1.203125 C 3.359375 -0.9375 3.140625 -0.109375 1.9375 -0.109375 C 1.8125 -0.109375 1.046875 -0.109375 0.8125 -0.640625 C 1.1875 -0.578125 1.4375 -0.890625 1.4375 -1.15625 C 1.4375 -1.390625 1.28125 -1.515625 1.078125 -1.515625 C 0.8125 -1.515625 0.515625 -1.296875 0.515625 -0.859375 C 0.515625 -0.28125 1.078125 0.109375 1.9375 0.109375 C 3.546875 0.109375 3.921875 -1.09375 3.921875 -1.53125 Z M 3.921875 -1.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 10.390625 -6.671875 C 10.390625 -6.703125 10.359375 -6.78125 10.28125 -6.78125 C 10.046875 -6.78125 9.765625 -6.75 9.515625 -6.75 C 9.171875 -6.75 8.8125 -6.78125 8.484375 -6.78125 C 8.421875 -6.78125 8.296875 -6.78125 8.296875 -6.59375 C 8.296875 -6.484375 8.390625 -6.46875 8.4375 -6.46875 C 8.6875 -6.453125 9.03125 -6.375 9.03125 -6.078125 C 9.03125 -5.96875 8.984375 -5.890625 8.90625 -5.75 L 6.21875 -1.078125 L 5.859375 -6 C 5.84375 -6.203125 5.828125 -6.453125 6.546875 -6.46875 C 6.71875 -6.46875 6.8125 -6.46875 6.8125 -6.671875 C 6.8125 -6.765625 6.703125 -6.78125 6.671875 -6.78125 C 6.265625 -6.78125 5.859375 -6.75 5.453125 -6.75 C 5.234375 -6.75 4.640625 -6.78125 4.421875 -6.78125 C 4.359375 -6.78125 4.234375 -6.78125 4.234375 -6.578125 C 4.234375 -6.46875 4.328125 -6.46875 4.46875 -6.46875 C 4.90625 -6.46875 4.96875 -6.40625 4.984375 -6.21875 L 5.046875 -5.453125 L 2.546875 -1.078125 L 2.15625 -6.109375 C 2.15625 -6.234375 2.15625 -6.453125 2.921875 -6.46875 C 3.015625 -6.46875 3.125 -6.46875 3.125 -6.671875 C 3.125 -6.78125 2.984375 -6.78125 2.984375 -6.78125 C 2.59375 -6.78125 2.171875 -6.75 1.765625 -6.75 C 1.421875 -6.75 1.0625 -6.78125 0.71875 -6.78125 C 0.671875 -6.78125 0.546875 -6.78125 0.546875 -6.59375 C 0.546875 -6.46875 0.640625 -6.46875 0.796875 -6.46875 C 1.296875 -6.46875 1.296875 -6.375 1.3125 -6.109375 L 1.765625 -0.046875 C 1.78125 0.140625 1.78125 0.21875 1.921875 0.21875 C 2.046875 0.21875 2.078125 0.15625 2.15625 0.015625 L 5.078125 -5.046875 L 5.453125 -0.046875 C 5.46875 0.171875 5.484375 0.21875 5.609375 0.21875 C 5.734375 0.21875 5.796875 0.125 5.84375 0.03125 L 9.09375 -5.625 C 9.34375 -6.0625 9.578125 -6.421875 10.203125 -6.46875 C 10.296875 -6.484375 10.390625 -6.484375 10.390625 -6.671875 Z M 10.390625 -6.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 7.125 -0.203125 C 7.125 -0.3125 7.03125 -0.3125 6.84375 -0.3125 C 6.484375 -0.3125 6.203125 -0.3125 6.203125 -0.484375 C 6.203125 -0.546875 6.21875 -0.59375 6.234375 -0.65625 L 7.578125 -6.015625 C 7.65625 -6.375 7.671875 -6.46875 8.40625 -6.46875 C 8.65625 -6.46875 8.734375 -6.46875 8.734375 -6.671875 C 8.734375 -6.78125 8.625 -6.78125 8.609375 -6.78125 L 7.328125 -6.75 L 6.046875 -6.78125 C 5.96875 -6.78125 5.859375 -6.78125 5.859375 -6.578125 C 5.859375 -6.46875 5.953125 -6.46875 6.140625 -6.46875 C 6.140625 -6.46875 6.34375 -6.46875 6.515625 -6.453125 C 6.703125 -6.421875 6.78125 -6.421875 6.78125 -6.296875 C 6.78125 -6.25 6.78125 -6.234375 6.75 -6.109375 L 6.15625 -3.6875 L 3.125 -3.6875 L 3.703125 -6.015625 C 3.796875 -6.375 3.828125 -6.46875 4.546875 -6.46875 C 4.796875 -6.46875 4.875 -6.46875 4.875 -6.671875 C 4.875 -6.78125 4.765625 -6.78125 4.75 -6.78125 L 3.46875 -6.75 L 2.1875 -6.78125 C 2.109375 -6.78125 2 -6.78125 2 -6.578125 C 2 -6.46875 2.09375 -6.46875 2.28125 -6.46875 C 2.28125 -6.46875 2.484375 -6.46875 2.65625 -6.453125 C 2.84375 -6.421875 2.921875 -6.421875 2.921875 -6.296875 C 2.921875 -6.25 2.921875 -6.21875 2.890625 -6.109375 L 1.5625 -0.78125 C 1.453125 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.46875 -0.3125 0.390625 -0.3125 0.390625 -0.109375 C 0.390625 0 0.53125 0 0.53125 0 L 1.78125 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.0625 0 C 3.140625 0 3.265625 0 3.265625 -0.203125 C 3.265625 -0.3125 3.171875 -0.3125 2.984375 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.546875 2.359375 -0.59375 2.375 -0.65625 L 3.046875 -3.375 L 6.078125 -3.375 L 5.390625 -0.640625 C 5.28125 -0.3125 5.09375 -0.3125 4.484375 -0.3125 C 4.328125 -0.3125 4.25 -0.3125 4.25 -0.109375 C 4.25 0 4.390625 0 4.390625 0 L 5.640625 -0.03125 L 6.28125 -0.015625 C 6.5 -0.015625 6.71875 0 6.921875 0 C 7 0 7.125 0 7.125 -0.203125 Z M 7.125 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 6.859375 -3.6875 C 6.859375 -4.234375 6.59375 -4.390625 6.421875 -4.390625 C 6.171875 -4.390625 5.921875 -4.125 5.921875 -3.90625 C 5.921875 -3.78125 5.984375 -3.71875 6.078125 -3.640625 C 6.1875 -3.53125 6.421875 -3.28125 6.421875 -2.796875 C 6.421875 -2.453125 6.140625 -1.484375 5.890625 -0.984375 C 5.625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.125 -1.5625 4.171875 -1.703125 L 4.578125 -3.359375 C 4.640625 -3.578125 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.4375 -4.28125 C 4.328125 -4.28125 4.140625 -4.203125 4.078125 -4 C 4.046875 -3.921875 3.578125 -2.03125 3.515625 -1.78125 C 3.4375 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -0.984375 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.515625 -0.109375 C 1.71875 -0.109375 1.71875 -0.84375 1.71875 -1.015625 C 1.71875 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.34375 -3.234375 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.078125 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.125 0.109375 3.515625 -0.578125 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.5 0.109375 5.9375 -0.515625 6.203125 -1.109375 C 6.53125 -1.890625 6.859375 -3.21875 6.859375 -3.6875 Z M 6.859375 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 4.640625 -3.6875 C 4.640625 -4.234375 4.390625 -4.390625 4.203125 -4.390625 C 3.953125 -4.390625 3.71875 -4.125 3.71875 -3.90625 C 3.71875 -3.78125 3.765625 -3.71875 3.875 -3.609375 C 4.09375 -3.40625 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.375 3.609375 -0.109375 2.453125 -0.109375 C 1.9375 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.328125 1.640625 -3.15625 C 1.203125 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.40625 0.109375 C 4.078125 0.109375 4.640625 -3.171875 4.640625 -3.6875 Z M 4.640625 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.3125 -1.421875 C 4.3125 -1.46875 4.28125 -1.515625 4.203125 -1.515625 C 4.109375 -1.515625 4.09375 -1.453125 4.0625 -1.390625 C 3.828125 -0.75 3.1875 -0.5625 2.875 -0.5625 C 2.671875 -0.5625 2.484375 -0.609375 2.28125 -0.6875 C 1.9375 -0.8125 1.796875 -0.859375 1.59375 -0.859375 C 1.59375 -0.859375 1.40625 -0.859375 1.3125 -0.828125 C 1.859375 -1.40625 2.140625 -1.640625 2.5 -1.953125 C 2.5 -1.953125 3.109375 -2.484375 3.46875 -2.84375 C 4.421875 -3.765625 4.640625 -4.25 4.640625 -4.28125 C 4.640625 -4.390625 4.53125 -4.390625 4.53125 -4.390625 C 4.453125 -4.390625 4.421875 -4.359375 4.375 -4.28125 C 4.078125 -3.796875 3.875 -3.640625 3.625 -3.640625 C 3.390625 -3.640625 3.28125 -3.796875 3.125 -3.953125 C 2.9375 -4.1875 2.765625 -4.390625 2.4375 -4.390625 C 1.703125 -4.390625 1.234375 -3.46875 1.234375 -3.25 C 1.234375 -3.203125 1.265625 -3.140625 1.359375 -3.140625 C 1.453125 -3.140625 1.46875 -3.1875 1.484375 -3.25 C 1.671875 -3.703125 2.25 -3.71875 2.328125 -3.71875 C 2.546875 -3.71875 2.734375 -3.65625 2.953125 -3.578125 C 3.359375 -3.421875 3.46875 -3.421875 3.71875 -3.421875 C 3.359375 -3 2.53125 -2.28125 2.34375 -2.125 L 1.453125 -1.296875 C 0.78125 -0.625 0.421875 -0.0625 0.421875 0.015625 C 0.421875 0.109375 0.546875 0.109375 0.546875 0.109375 C 0.625 0.109375 0.640625 0.09375 0.703125 -0.015625 C 0.9375 -0.359375 1.234375 -0.640625 1.546875 -0.640625 C 1.78125 -0.640625 1.875 -0.546875 2.125 -0.265625 C 2.296875 -0.046875 2.46875 0.109375 2.765625 0.109375 C 3.734375 0.109375 4.3125 -1.15625 4.3125 -1.421875 Z M 4.3125 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 3.5 -1.265625 L 3.265625 -1.265625 C 3.25 -1.109375 3.171875 -0.703125 3.09375 -0.625 C 3.03125 -0.59375 2.5 -0.59375 2.40625 -0.59375 L 1.125 -0.59375 C 1.859375 -1.234375 2.09375 -1.421875 2.515625 -1.75 C 3.03125 -2.171875 3.5 -2.59375 3.5 -3.25 C 3.5 -4.09375 2.765625 -4.609375 1.875 -4.609375 C 1.015625 -4.609375 0.4375 -4 0.4375 -3.359375 C 0.4375 -3.015625 0.734375 -2.96875 0.8125 -2.96875 C 0.96875 -2.96875 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.46875 1.125 -3.71875 0.765625 -3.71875 C 0.984375 -4.203125 1.453125 -4.359375 1.78125 -4.359375 C 2.46875 -4.359375 2.828125 -3.8125 2.828125 -3.25 C 2.828125 -2.65625 2.40625 -2.171875 2.171875 -1.921875 L 0.5 -0.265625 C 0.4375 -0.203125 0.4375 -0.1875 0.4375 0 L 3.296875 0 Z M 3.5 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 3.28125 0 L 3.28125 -0.25 L 3.015625 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.5625 L 2.328125 -4.40625 C 2.328125 -4.59375 2.3125 -4.609375 2.109375 -4.609375 C 1.671875 -4.171875 1.046875 -4.15625 0.75 -4.15625 L 0.75 -3.90625 C 0.921875 -3.90625 1.375 -3.90625 1.765625 -4.109375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.0625 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph2-1">
<path style="stroke:none;" d="M 3.28125 2.375 C 3.28125 2.34375 3.28125 2.328125 3.109375 2.15625 C 1.875 0.90625 1.5625 -0.96875 1.5625 -2.484375 C 1.5625 -4.203125 1.9375 -5.9375 3.15625 -7.171875 C 3.28125 -7.296875 3.28125 -7.3125 3.28125 -7.34375 C 3.28125 -7.40625 3.25 -7.4375 3.1875 -7.4375 C 3.078125 -7.4375 2.1875 -6.765625 1.609375 -5.5 C 1.09375 -4.421875 0.984375 -3.3125 0.984375 -2.484375 C 0.984375 -1.703125 1.09375 -0.5 1.640625 0.609375 C 2.234375 1.828125 3.078125 2.484375 3.1875 2.484375 C 3.25 2.484375 3.28125 2.453125 3.28125 2.375 Z M 3.28125 2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 2.875 -2.484375 C 2.875 -3.25 2.765625 -4.453125 2.21875 -5.578125 C 1.625 -6.796875 0.765625 -7.4375 0.671875 -7.4375 C 0.609375 -7.4375 0.5625 -7.40625 0.5625 -7.34375 C 0.5625 -7.3125 0.5625 -7.296875 0.75 -7.109375 C 1.71875 -6.125 2.296875 -4.546875 2.296875 -2.484375 C 2.296875 -0.78125 1.921875 0.96875 0.6875 2.21875 C 0.5625 2.328125 0.5625 2.34375 0.5625 2.375 C 0.5625 2.4375 0.609375 2.484375 0.671875 2.484375 C 0.765625 2.484375 1.65625 1.8125 2.25 0.546875 C 2.75 -0.546875 2.875 -1.640625 2.875 -2.484375 Z M 2.875 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph3-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph3-1">
<path style="stroke:none;" d="M 11.53125 -4.265625 C 11.53125 -4.578125 11.265625 -4.578125 11 -4.578125 L 6.46875 -4.578125 L 6.46875 -9.125 C 6.46875 -9.359375 6.46875 -9.65625 6.171875 -9.65625 C 5.859375 -9.65625 5.859375 -9.375 5.859375 -9.125 L 5.859375 -4.578125 L 1.3125 -4.578125 C 1.078125 -4.578125 0.78125 -4.578125 0.78125 -4.28125 C 0.78125 -3.984375 1.0625 -3.984375 1.3125 -3.984375 L 5.859375 -3.984375 L 5.859375 0.5625 C 5.859375 0.8125 5.859375 1.09375 6.15625 1.09375 C 6.46875 1.09375 6.46875 0.828125 6.46875 0.5625 L 6.46875 -3.984375 L 11 -3.984375 C 11.25 -3.984375 11.53125 -3.984375 11.53125 -4.265625 Z M 11.53125 -4.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph4-1">
<path style="stroke:none;" d="M 6.890625 -2.484375 C 6.890625 -2.671875 6.703125 -2.671875 6.5625 -2.671875 L 1.15625 -2.671875 C 1.015625 -2.671875 0.828125 -2.671875 0.828125 -2.484375 C 0.828125 -2.28125 1.015625 -2.28125 1.15625 -2.28125 L 6.5625 -2.28125 C 6.703125 -2.28125 6.890625 -2.28125 6.890625 -2.484375 Z M 6.890625 -2.484375 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 67 154 L 103 154 L 103 183.84375 L 67 183.84375 Z M 67 154 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 89 153 L 123 153 L 123 183.84375 L 89 183.84375 Z M 89 153 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 148 91 L 169.476562 91 L 169.476562 123 L 148 123 Z M 148 91 "/>
</clipPath>
</defs>
<g id="surface1">
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -63.78048 -63.781297 L 63.781634 -63.781297 L 63.781634 63.780817 L -63.78048 63.780817 Z M -63.78048 -63.781297 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="73.147721" y="11.40782"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="79.515145" y="12.895145"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="83.964178" y="11.40782"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="87.821865" y="11.40782"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="92.471001" y="11.40782"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -43.93792 30.821058 L -9.922665 30.821058 L -9.922665 59.170374 L -43.93792 59.170374 Z M -43.93792 30.821058 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="44.838769" y="39.364354"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="54.205731" y="40.852674"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="58.65576" y="39.364354"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="62.512451" y="39.364354"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="67.161586" y="39.364354"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -43.93792 -7.745783 L -9.922665 -7.745783 L -9.922665 20.603533 L -43.93792 20.603533 Z M -43.93792 -7.745783 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="44.838769" y="77.759043"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="54.205731" y="79.247363"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="58.65576" y="77.759043"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="62.512451" y="77.759043"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="67.161586" y="77.759043"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.849931 6.426913 C 38.849931 11.931977 34.388592 16.389392 28.887451 16.389392 C 23.382387 16.389392 18.924972 11.931977 18.924972 6.426913 C 18.924972 0.925772 23.382387 -3.535567 28.887451 -3.535567 C 34.388592 -3.535567 38.849931 0.925772 38.849931 6.426913 Z M 38.849931 6.426913 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="107.326332" y="79.427555"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="93.878683" y="72.46978"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 13.255109 -25.712776 C 13.255109 -20.207711 8.79377 -15.746373 3.292629 -15.746373 C -2.212435 -15.746373 -6.66985 -20.207711 -6.66985 -25.712776 C -6.66985 -31.213916 -2.212435 -35.675255 3.292629 -35.675255 C 8.79377 -35.675255 13.255109 -31.213916 13.255109 -25.712776 Z M 13.255109 -25.712776 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="81.845686" y="111.421967"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 67.804688 182.851562 L 101.667969 182.851562 L 101.667969 154.632812 L 67.804688 154.632812 Z M 67.804688 182.851562 "/>
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.009013 -101.626163 L 17.006243 -101.626163 L 17.006243 -73.280771 L -17.009013 -73.280771 Z M -17.009013 -101.626163 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="72.208934" y="171.220598"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="80.453932" y="172.708918"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="84.902965" y="171.220598"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="88.759657" y="171.220598"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="93.408792" y="171.220598"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -84.12136 44.997678 L -49.070226 44.997678 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.055125 0.00194818 L 1.609481 1.681326 L 3.088746 0.00194818 L 1.609481 -1.681354 Z M 6.055125 0.00194818 " transform="matrix(0.995532,0,0,-0.995532,33.061772,36.884752)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="4.795478" y="31.595221"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="11.895614" y="33.083541"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -84.12136 6.426913 L -49.070226 6.426913 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.055125 -0.00132718 L 1.609481 1.681975 L 3.088746 -0.00132718 L 1.609481 -1.684629 Z M 6.055125 -0.00132718 " transform="matrix(0.995532,0,0,-0.995532,33.061772,75.279929)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="4.795478" y="69.98991"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="11.895614" y="71.47823"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -9.424344 44.997678 L 28.887451 44.997678 L 28.887451 21.023377 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053279 0.00128144 L 1.607635 1.684583 L 3.086901 0.00128144 L 1.607635 -1.682021 Z M 6.053279 0.00128144 " transform="matrix(0,0.995532,0.995532,0,113.494818,57.922985)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -9.424344 6.426913 L 14.290987 6.426913 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053243 -0.00132718 L 1.6076 1.681975 L 3.086865 -0.00132718 L 1.6076 -1.684629 Z M 6.053243 -0.00132718 " transform="matrix(0.995532,0,0,-0.995532,96.137864,75.279929)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 3.292629 6.426913 L 3.292629 -11.116311 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053748 0.00128921 L 1.608104 1.684591 L 3.087369 0.00128921 L 1.608104 -1.682013 Z M 6.053748 0.00128921 " transform="matrix(0,0.995532,0.995532,0,88.014342,89.918612)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 89.996094 75.28125 C 89.996094 74.183594 89.109375 73.296875 88.015625 73.296875 C 86.917969 73.296875 86.03125 74.183594 86.03125 75.28125 C 86.03125 76.375 86.917969 77.261719 88.015625 77.261719 C 89.109375 77.261719 89.996094 76.375 89.996094 75.28125 Z M 89.996094 75.28125 "/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.887451 -3.535567 L 28.887451 -51.421388 L 84.122514 -51.421388 L 84.122514 -87.453467 L 22.138548 -87.453467 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 103.578125 168.742188 L 108.003906 170.417969 L 106.53125 168.742188 L 108.003906 167.066406 Z M 103.578125 168.742188 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053288 -0.000663151 L 1.607644 1.682639 L 3.08691 -0.000663151 L 1.607644 -1.683965 Z M 6.053288 -0.000663151 " transform="matrix(-0.995532,0,0,0.995532,109.604368,168.742848)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="159.517105" y="129.06877"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.507333 -87.453467 L -84.12136 -87.453467 L -84.12136 -25.712776 L -11.303835 -25.712776 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053241 -0.0017958 L 1.607597 1.681506 L 3.086863 -0.0017958 L 1.607597 -1.681174 Z M 6.053241 -0.0017958 " transform="matrix(0.995532,0,0,-0.995532,70.657398,107.275556)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="4.795478" y="103.473639"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 13.255109 -25.712776 L 79.488529 -25.712776 " transform="matrix(0.995532,0,0,-0.995532,84.737707,81.679448)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.070312 107.277344 L 162.644531 105.601562 L 164.117188 107.277344 L 162.644531 108.949219 Z M 167.070312 107.277344 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053055 -0.0017958 L 1.607412 1.681506 L 3.086677 -0.0017958 L 1.607412 -1.681174 Z M 6.053055 -0.0017958 " transform="matrix(0.995532,0,0,-0.995532,161.044301,107.275556)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="159.631591" y="103.473639"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,231 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="170.236pt" height="170.331pt" viewBox="0 0 170.236 170.331" version="1.2">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 7.484375 -5.28125 C 7.484375 -6.046875 6.828125 -6.78125 5.53125 -6.78125 L 2.3125 -6.78125 C 2.125 -6.78125 2.015625 -6.78125 2.015625 -6.59375 C 2.015625 -6.46875 2.109375 -6.46875 2.296875 -6.46875 C 2.4375 -6.46875 2.609375 -6.453125 2.734375 -6.453125 C 2.890625 -6.421875 2.953125 -6.40625 2.953125 -6.296875 C 2.953125 -6.25 2.9375 -6.21875 2.90625 -6.109375 L 1.578125 -0.78125 C 1.484375 -0.390625 1.453125 -0.3125 0.671875 -0.3125 C 0.5 -0.3125 0.390625 -0.3125 0.390625 -0.125 C 0.390625 0 0.515625 0 0.546875 0 L 1.8125 -0.03125 L 2.4375 -0.015625 C 2.65625 -0.015625 2.875 0 3.078125 0 C 3.15625 0 3.28125 0 3.28125 -0.203125 C 3.28125 -0.3125 3.1875 -0.3125 3 -0.3125 C 2.640625 -0.3125 2.359375 -0.3125 2.359375 -0.484375 C 2.359375 -0.546875 2.375 -0.59375 2.390625 -0.65625 L 3 -3.140625 L 4.6875 -3.140625 C 6.109375 -3.140625 7.484375 -4.171875 7.484375 -5.28125 Z M 6.5625 -5.515625 C 6.5625 -5.125 6.359375 -4.28125 5.96875 -3.921875 C 5.484375 -3.46875 4.875 -3.390625 4.4375 -3.390625 L 3.046875 -3.390625 L 3.71875 -6.09375 C 3.8125 -6.4375 3.828125 -6.46875 4.25 -6.46875 L 5.203125 -6.46875 C 6.03125 -6.46875 6.5625 -6.203125 6.5625 -5.515625 Z M 6.5625 -5.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 3.921875 -1.53125 C 3.921875 -1.890625 3.734375 -2.140625 3.625 -2.265625 C 3.359375 -2.546875 3.0625 -2.59375 2.625 -2.671875 C 2.265625 -2.765625 1.875 -2.828125 1.875 -3.28125 C 1.875 -3.5625 2.109375 -4.171875 2.984375 -4.171875 C 3.234375 -4.171875 3.734375 -4.09375 3.875 -3.703125 C 3.609375 -3.703125 3.40625 -3.484375 3.40625 -3.265625 C 3.40625 -3.125 3.5 -2.96875 3.703125 -2.96875 C 3.921875 -2.96875 4.171875 -3.140625 4.171875 -3.53125 C 4.171875 -3.984375 3.734375 -4.390625 2.984375 -4.390625 C 1.671875 -4.390625 1.3125 -3.375 1.3125 -2.9375 C 1.3125 -2.15625 2.046875 -2.015625 2.328125 -1.953125 C 2.84375 -1.859375 3.359375 -1.75 3.359375 -1.203125 C 3.359375 -0.9375 3.140625 -0.109375 1.9375 -0.109375 C 1.8125 -0.109375 1.046875 -0.109375 0.8125 -0.640625 C 1.1875 -0.578125 1.4375 -0.890625 1.4375 -1.15625 C 1.4375 -1.390625 1.28125 -1.515625 1.078125 -1.515625 C 0.8125 -1.515625 0.515625 -1.296875 0.515625 -0.859375 C 0.515625 -0.28125 1.078125 0.109375 1.9375 0.109375 C 3.546875 0.109375 3.921875 -1.09375 3.921875 -1.53125 Z M 3.921875 -1.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 10.390625 -6.671875 C 10.390625 -6.703125 10.359375 -6.78125 10.28125 -6.78125 C 10.046875 -6.78125 9.765625 -6.75 9.515625 -6.75 C 9.171875 -6.75 8.8125 -6.78125 8.484375 -6.78125 C 8.421875 -6.78125 8.296875 -6.78125 8.296875 -6.59375 C 8.296875 -6.484375 8.390625 -6.46875 8.4375 -6.46875 C 8.6875 -6.453125 9.03125 -6.375 9.03125 -6.078125 C 9.03125 -5.96875 8.984375 -5.890625 8.90625 -5.75 L 6.21875 -1.078125 L 5.859375 -6 C 5.84375 -6.203125 5.828125 -6.453125 6.546875 -6.46875 C 6.71875 -6.46875 6.8125 -6.46875 6.8125 -6.671875 C 6.8125 -6.765625 6.703125 -6.78125 6.671875 -6.78125 C 6.265625 -6.78125 5.859375 -6.75 5.453125 -6.75 C 5.234375 -6.75 4.640625 -6.78125 4.421875 -6.78125 C 4.359375 -6.78125 4.234375 -6.78125 4.234375 -6.578125 C 4.234375 -6.46875 4.328125 -6.46875 4.46875 -6.46875 C 4.90625 -6.46875 4.96875 -6.40625 4.984375 -6.21875 L 5.046875 -5.453125 L 2.546875 -1.078125 L 2.15625 -6.109375 C 2.15625 -6.234375 2.15625 -6.453125 2.921875 -6.46875 C 3.015625 -6.46875 3.125 -6.46875 3.125 -6.671875 C 3.125 -6.78125 2.984375 -6.78125 2.984375 -6.78125 C 2.59375 -6.78125 2.171875 -6.75 1.765625 -6.75 C 1.421875 -6.75 1.0625 -6.78125 0.71875 -6.78125 C 0.671875 -6.78125 0.546875 -6.78125 0.546875 -6.59375 C 0.546875 -6.46875 0.640625 -6.46875 0.796875 -6.46875 C 1.296875 -6.46875 1.296875 -6.375 1.3125 -6.109375 L 1.765625 -0.046875 C 1.78125 0.140625 1.78125 0.21875 1.921875 0.21875 C 2.046875 0.21875 2.078125 0.15625 2.15625 0.015625 L 5.078125 -5.046875 L 5.453125 -0.046875 C 5.46875 0.171875 5.484375 0.21875 5.609375 0.21875 C 5.734375 0.21875 5.796875 0.125 5.84375 0.03125 L 9.09375 -5.625 C 9.34375 -6.0625 9.578125 -6.421875 10.203125 -6.46875 C 10.296875 -6.484375 10.390625 -6.484375 10.390625 -6.671875 Z M 10.390625 -6.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 7.125 -0.203125 C 7.125 -0.3125 7.03125 -0.3125 6.84375 -0.3125 C 6.484375 -0.3125 6.203125 -0.3125 6.203125 -0.484375 C 6.203125 -0.546875 6.21875 -0.59375 6.234375 -0.65625 L 7.578125 -6.015625 C 7.65625 -6.375 7.671875 -6.46875 8.40625 -6.46875 C 8.65625 -6.46875 8.734375 -6.46875 8.734375 -6.671875 C 8.734375 -6.78125 8.625 -6.78125 8.609375 -6.78125 L 7.328125 -6.75 L 6.046875 -6.78125 C 5.96875 -6.78125 5.859375 -6.78125 5.859375 -6.578125 C 5.859375 -6.46875 5.953125 -6.46875 6.140625 -6.46875 C 6.140625 -6.46875 6.34375 -6.46875 6.515625 -6.453125 C 6.703125 -6.421875 6.78125 -6.421875 6.78125 -6.296875 C 6.78125 -6.25 6.78125 -6.234375 6.75 -6.109375 L 6.15625 -3.6875 L 3.125 -3.6875 L 3.703125 -6.015625 C 3.796875 -6.375 3.828125 -6.46875 4.546875 -6.46875 C 4.796875 -6.46875 4.875 -6.46875 4.875 -6.671875 C 4.875 -6.78125 4.765625 -6.78125 4.75 -6.78125 L 3.46875 -6.75 L 2.1875 -6.78125 C 2.109375 -6.78125 2 -6.78125 2 -6.578125 C 2 -6.46875 2.09375 -6.46875 2.28125 -6.46875 C 2.28125 -6.46875 2.484375 -6.46875 2.65625 -6.453125 C 2.84375 -6.421875 2.921875 -6.421875 2.921875 -6.296875 C 2.921875 -6.25 2.921875 -6.21875 2.890625 -6.109375 L 1.5625 -0.78125 C 1.453125 -0.390625 1.4375 -0.3125 0.65625 -0.3125 C 0.46875 -0.3125 0.390625 -0.3125 0.390625 -0.109375 C 0.390625 0 0.53125 0 0.53125 0 L 1.78125 -0.03125 L 2.421875 -0.015625 C 2.640625 -0.015625 2.859375 0 3.0625 0 C 3.140625 0 3.265625 0 3.265625 -0.203125 C 3.265625 -0.3125 3.171875 -0.3125 2.984375 -0.3125 C 2.625 -0.3125 2.34375 -0.3125 2.34375 -0.484375 C 2.34375 -0.546875 2.359375 -0.59375 2.375 -0.65625 L 3.046875 -3.375 L 6.078125 -3.375 L 5.390625 -0.640625 C 5.28125 -0.3125 5.09375 -0.3125 4.484375 -0.3125 C 4.328125 -0.3125 4.25 -0.3125 4.25 -0.109375 C 4.25 0 4.390625 0 4.390625 0 L 5.640625 -0.03125 L 6.28125 -0.015625 C 6.5 -0.015625 6.71875 0 6.921875 0 C 7 0 7.125 0 7.125 -0.203125 Z M 7.125 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 6.859375 -3.6875 C 6.859375 -4.234375 6.59375 -4.390625 6.421875 -4.390625 C 6.171875 -4.390625 5.921875 -4.125 5.921875 -3.90625 C 5.921875 -3.78125 5.984375 -3.71875 6.078125 -3.640625 C 6.1875 -3.53125 6.421875 -3.28125 6.421875 -2.796875 C 6.421875 -2.453125 6.140625 -1.484375 5.890625 -0.984375 C 5.625 -0.453125 5.28125 -0.109375 4.796875 -0.109375 C 4.328125 -0.109375 4.0625 -0.40625 4.0625 -0.96875 C 4.0625 -1.25 4.125 -1.5625 4.171875 -1.703125 L 4.578125 -3.359375 C 4.640625 -3.578125 4.734375 -3.953125 4.734375 -4.015625 C 4.734375 -4.1875 4.59375 -4.28125 4.4375 -4.28125 C 4.328125 -4.28125 4.140625 -4.203125 4.078125 -4 C 4.046875 -3.921875 3.578125 -2.03125 3.515625 -1.78125 C 3.4375 -1.484375 3.421875 -1.296875 3.421875 -1.125 C 3.421875 -1.015625 3.421875 -0.984375 3.4375 -0.9375 C 3.203125 -0.421875 2.90625 -0.109375 2.515625 -0.109375 C 1.71875 -0.109375 1.71875 -0.84375 1.71875 -1.015625 C 1.71875 -1.328125 1.78125 -1.71875 2.25 -2.9375 C 2.34375 -3.234375 2.40625 -3.375 2.40625 -3.578125 C 2.40625 -4.015625 2.078125 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.828125 -3.859375 1.21875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.703125 -3.3125 1.640625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.75 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.125 0.109375 3.515625 -0.578125 C 3.78125 0.046875 4.46875 0.109375 4.765625 0.109375 C 5.5 0.109375 5.9375 -0.515625 6.203125 -1.109375 C 6.53125 -1.890625 6.859375 -3.21875 6.859375 -3.6875 Z M 6.859375 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 5.390625 -1.421875 C 5.390625 -1.515625 5.296875 -1.515625 5.265625 -1.515625 C 5.171875 -1.515625 5.15625 -1.484375 5.125 -1.34375 C 4.984375 -0.78125 4.796875 -0.109375 4.390625 -0.109375 C 4.171875 -0.109375 4.078125 -0.234375 4.078125 -0.5625 C 4.078125 -0.78125 4.203125 -1.25 4.28125 -1.59375 L 4.546875 -2.671875 C 4.578125 -2.8125 4.6875 -3.1875 4.71875 -3.34375 C 4.765625 -3.578125 4.875 -3.953125 4.875 -4.015625 C 4.875 -4.1875 4.734375 -4.28125 4.578125 -4.28125 C 4.53125 -4.28125 4.28125 -4.265625 4.203125 -3.921875 L 3.453125 -0.9375 C 3.4375 -0.90625 3.046875 -0.109375 2.328125 -0.109375 C 1.8125 -0.109375 1.703125 -0.5625 1.703125 -0.921875 C 1.703125 -1.484375 1.984375 -2.265625 2.25 -2.953125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.65625 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.8125 -3.796875 1.1875 -4.171875 1.5625 -4.171875 C 1.65625 -4.171875 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.609375 1.703125 -3.3125 1.640625 -3.171875 C 1.28125 -2.1875 1.078125 -1.5625 1.078125 -1.078125 C 1.078125 -0.140625 1.75 0.109375 2.296875 0.109375 C 2.953125 0.109375 3.296875 -0.34375 3.46875 -0.5625 C 3.578125 -0.15625 3.921875 0.109375 4.359375 0.109375 C 4.703125 0.109375 4.9375 -0.125 5.09375 -0.4375 C 5.265625 -0.796875 5.390625 -1.421875 5.390625 -1.421875 Z M 5.390625 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 4.640625 -3.6875 C 4.640625 -4.234375 4.390625 -4.390625 4.203125 -4.390625 C 3.953125 -4.390625 3.71875 -4.125 3.71875 -3.90625 C 3.71875 -3.78125 3.765625 -3.71875 3.875 -3.609375 C 4.09375 -3.40625 4.21875 -3.15625 4.21875 -2.796875 C 4.21875 -2.375 3.609375 -0.109375 2.453125 -0.109375 C 1.9375 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.53125 1.984375 -2.25 2.296875 -3.078125 C 2.359375 -3.25 2.40625 -3.390625 2.40625 -3.578125 C 2.40625 -4.015625 2.09375 -4.390625 1.59375 -4.390625 C 0.671875 -4.390625 0.28125 -2.953125 0.28125 -2.859375 C 0.28125 -2.765625 0.40625 -2.765625 0.40625 -2.765625 C 0.5 -2.765625 0.515625 -2.78125 0.5625 -2.9375 C 0.859375 -3.9375 1.28125 -4.171875 1.5625 -4.171875 C 1.640625 -4.171875 1.8125 -4.171875 1.8125 -3.84375 C 1.8125 -3.609375 1.71875 -3.328125 1.640625 -3.15625 C 1.203125 -2 1.078125 -1.546875 1.078125 -1.125 C 1.078125 -0.046875 1.953125 0.109375 2.40625 0.109375 C 4.078125 0.109375 4.640625 -3.171875 4.640625 -3.6875 Z M 4.640625 -3.6875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.3125 -1.421875 C 4.3125 -1.46875 4.28125 -1.515625 4.203125 -1.515625 C 4.109375 -1.515625 4.09375 -1.453125 4.0625 -1.390625 C 3.828125 -0.75 3.1875 -0.5625 2.875 -0.5625 C 2.671875 -0.5625 2.484375 -0.609375 2.28125 -0.6875 C 1.9375 -0.8125 1.796875 -0.859375 1.59375 -0.859375 C 1.59375 -0.859375 1.40625 -0.859375 1.3125 -0.828125 C 1.859375 -1.40625 2.140625 -1.640625 2.5 -1.953125 C 2.5 -1.953125 3.109375 -2.484375 3.46875 -2.84375 C 4.421875 -3.765625 4.640625 -4.25 4.640625 -4.28125 C 4.640625 -4.390625 4.53125 -4.390625 4.53125 -4.390625 C 4.453125 -4.390625 4.421875 -4.359375 4.375 -4.28125 C 4.078125 -3.796875 3.875 -3.640625 3.625 -3.640625 C 3.390625 -3.640625 3.28125 -3.796875 3.125 -3.953125 C 2.9375 -4.1875 2.765625 -4.390625 2.4375 -4.390625 C 1.703125 -4.390625 1.234375 -3.46875 1.234375 -3.25 C 1.234375 -3.203125 1.265625 -3.140625 1.359375 -3.140625 C 1.453125 -3.140625 1.46875 -3.1875 1.484375 -3.25 C 1.671875 -3.703125 2.25 -3.71875 2.328125 -3.71875 C 2.546875 -3.71875 2.734375 -3.65625 2.953125 -3.578125 C 3.359375 -3.421875 3.46875 -3.421875 3.71875 -3.421875 C 3.359375 -3 2.53125 -2.28125 2.34375 -2.125 L 1.453125 -1.296875 C 0.78125 -0.625 0.421875 -0.0625 0.421875 0.015625 C 0.421875 0.109375 0.546875 0.109375 0.546875 0.109375 C 0.625 0.109375 0.640625 0.09375 0.703125 -0.015625 C 0.9375 -0.359375 1.234375 -0.640625 1.546875 -0.640625 C 1.78125 -0.640625 1.875 -0.546875 2.125 -0.265625 C 2.296875 -0.046875 2.46875 0.109375 2.765625 0.109375 C 3.734375 0.109375 4.3125 -1.15625 4.3125 -1.421875 Z M 4.3125 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 3.28125 2.375 C 3.28125 2.34375 3.28125 2.328125 3.109375 2.15625 C 1.875 0.90625 1.5625 -0.96875 1.5625 -2.484375 C 1.5625 -4.203125 1.9375 -5.9375 3.15625 -7.171875 C 3.28125 -7.296875 3.28125 -7.3125 3.28125 -7.34375 C 3.28125 -7.40625 3.25 -7.4375 3.1875 -7.4375 C 3.078125 -7.4375 2.1875 -6.765625 1.609375 -5.5 C 1.09375 -4.421875 0.984375 -3.3125 0.984375 -2.484375 C 0.984375 -1.703125 1.09375 -0.5 1.640625 0.609375 C 2.234375 1.828125 3.078125 2.484375 3.1875 2.484375 C 3.25 2.484375 3.28125 2.453125 3.28125 2.375 Z M 3.28125 2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 2.875 -2.484375 C 2.875 -3.25 2.765625 -4.453125 2.21875 -5.578125 C 1.625 -6.796875 0.765625 -7.4375 0.671875 -7.4375 C 0.609375 -7.4375 0.5625 -7.40625 0.5625 -7.34375 C 0.5625 -7.3125 0.5625 -7.296875 0.75 -7.109375 C 1.71875 -6.125 2.296875 -4.546875 2.296875 -2.484375 C 2.296875 -0.78125 1.921875 0.96875 0.6875 2.21875 C 0.5625 2.328125 0.5625 2.34375 0.5625 2.375 C 0.5625 2.4375 0.609375 2.484375 0.671875 2.484375 C 0.765625 2.484375 1.65625 1.8125 2.25 0.546875 C 2.75 -0.546875 2.875 -1.640625 2.875 -2.484375 Z M 2.875 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph2-1">
<path style="stroke:none;" d="M 3.28125 0 L 3.28125 -0.25 L 3.015625 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.5625 L 2.328125 -4.40625 C 2.328125 -4.59375 2.3125 -4.609375 2.109375 -4.609375 C 1.671875 -4.171875 1.046875 -4.15625 0.75 -4.15625 L 0.75 -3.90625 C 0.921875 -3.90625 1.375 -3.90625 1.765625 -4.109375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.0625 -0.25 L 0.8125 -0.25 L 0.8125 0 L 2.046875 -0.03125 Z M 3.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 3.5 -1.265625 L 3.265625 -1.265625 C 3.25 -1.109375 3.171875 -0.703125 3.09375 -0.625 C 3.03125 -0.59375 2.5 -0.59375 2.40625 -0.59375 L 1.125 -0.59375 C 1.859375 -1.234375 2.09375 -1.421875 2.515625 -1.75 C 3.03125 -2.171875 3.5 -2.59375 3.5 -3.25 C 3.5 -4.09375 2.765625 -4.609375 1.875 -4.609375 C 1.015625 -4.609375 0.4375 -4 0.4375 -3.359375 C 0.4375 -3.015625 0.734375 -2.96875 0.8125 -2.96875 C 0.96875 -2.96875 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.46875 1.125 -3.71875 0.765625 -3.71875 C 0.984375 -4.203125 1.453125 -4.359375 1.78125 -4.359375 C 2.46875 -4.359375 2.828125 -3.8125 2.828125 -3.25 C 2.828125 -2.65625 2.40625 -2.171875 2.171875 -1.921875 L 0.5 -0.265625 C 0.4375 -0.203125 0.4375 -0.1875 0.4375 0 L 3.296875 0 Z M 3.5 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph3-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph3-1">
<path style="stroke:none;" d="M 5.40625 -2.515625 C 5.40625 -3.03125 5.109375 -3.0625 5.0625 -3.0625 C 4.890625 -3.0625 4.6875 -2.875 4.6875 -2.703125 C 4.6875 -2.578125 4.765625 -2.53125 4.8125 -2.484375 C 4.96875 -2.34375 5.0625 -2.15625 5.0625 -1.921875 C 5.0625 -1.84375 4.765625 -0.125 3.890625 -0.125 C 3.328125 -0.125 3.328125 -0.625 3.328125 -0.75 C 3.328125 -0.921875 3.359375 -1.046875 3.453125 -1.4375 L 3.65625 -2.21875 C 3.703125 -2.40625 3.78125 -2.734375 3.78125 -2.765625 C 3.78125 -2.90625 3.671875 -2.984375 3.546875 -2.984375 C 3.421875 -2.984375 3.296875 -2.90625 3.25 -2.78125 C 3.234375 -2.734375 3.15625 -2.4375 3.109375 -2.265625 C 3.015625 -1.875 3.015625 -1.859375 2.90625 -1.46875 C 2.828125 -1.09375 2.8125 -1.03125 2.796875 -0.828125 C 2.828125 -0.6875 2.78125 -0.5625 2.609375 -0.359375 C 2.515625 -0.25 2.375 -0.125 2.140625 -0.125 C 1.875 -0.125 1.515625 -0.21875 1.515625 -0.765625 C 1.515625 -1.109375 1.71875 -1.625 1.859375 -1.984375 C 1.96875 -2.296875 2 -2.359375 2 -2.46875 C 2 -2.796875 1.71875 -3.0625 1.34375 -3.0625 C 0.640625 -3.0625 0.328125 -2.109375 0.328125 -2 C 0.328125 -1.90625 0.421875 -1.90625 0.4375 -1.90625 C 0.546875 -1.90625 0.546875 -1.9375 0.5625 -2.015625 C 0.75 -2.59375 1.046875 -2.859375 1.3125 -2.859375 C 1.4375 -2.859375 1.484375 -2.78125 1.484375 -2.625 C 1.484375 -2.46875 1.421875 -2.3125 1.390625 -2.21875 C 1 -1.203125 1 -1.0625 1 -0.859375 C 1 -0.03125 1.734375 0.0625 2.109375 0.0625 C 2.25 0.0625 2.59375 0.0625 2.90625 -0.390625 C 3.0625 -0.078125 3.4375 0.0625 3.859375 0.0625 C 4.484375 0.0625 4.78125 -0.46875 4.921875 -0.75 C 5.21875 -1.328125 5.40625 -2.203125 5.40625 -2.515625 Z M 5.40625 -2.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph4-1">
<path style="stroke:none;" d="M 11.53125 -4.265625 C 11.53125 -4.578125 11.265625 -4.578125 11 -4.578125 L 6.46875 -4.578125 L 6.46875 -9.125 C 6.46875 -9.359375 6.46875 -9.65625 6.171875 -9.65625 C 5.859375 -9.65625 5.859375 -9.375 5.859375 -9.125 L 5.859375 -4.578125 L 1.3125 -4.578125 C 1.078125 -4.578125 0.78125 -4.578125 0.78125 -4.28125 C 0.78125 -3.984375 1.0625 -3.984375 1.3125 -3.984375 L 5.859375 -3.984375 L 5.859375 0.5625 C 5.859375 0.8125 5.859375 1.09375 6.15625 1.09375 C 6.46875 1.09375 6.46875 0.828125 6.46875 0.5625 L 6.46875 -3.984375 L 11 -3.984375 C 11.25 -3.984375 11.53125 -3.984375 11.53125 -4.265625 Z M 11.53125 -4.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph5-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph5-1">
<path style="stroke:none;" d="M 6.890625 -2.484375 C 6.890625 -2.671875 6.703125 -2.671875 6.5625 -2.671875 L 1.15625 -2.671875 C 1.015625 -2.671875 0.828125 -2.671875 0.828125 -2.484375 C 0.828125 -2.28125 1.015625 -2.28125 1.15625 -2.28125 L 6.5625 -2.28125 C 6.703125 -2.28125 6.890625 -2.28125 6.890625 -2.484375 Z M 6.890625 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph6-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph6-1">
<path style="stroke:none;" d="M 2.078125 -3.5 C 2.078125 -3.71875 1.890625 -3.875 1.671875 -3.875 C 1.390625 -3.875 1.3125 -3.65625 1.296875 -3.5625 L 0.375 -0.5625 L 0.328125 -0.4375 C 0.328125 -0.359375 0.546875 -0.28125 0.609375 -0.28125 C 0.65625 -0.28125 0.6875 -0.3125 0.703125 -0.390625 L 2.015625 -3.28125 C 2.046875 -3.34375 2.078125 -3.40625 2.078125 -3.5 Z M 2.078125 -3.5 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 67 139 L 103 139 L 103 169.617188 L 67 169.617188 Z M 67 139 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 89 138 L 123 138 L 123 169.617188 L 89 169.617188 Z M 89 138 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 148 24 L 169.476562 24 L 169.476562 57 L 148 57 Z M 148 24 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 148 58 L 169.476562 58 L 169.476562 91 L 148 91 Z M 148 58 "/>
</clipPath>
</defs>
<g id="surface1">
<path style="fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -63.78048 -56.692267 L 63.781634 -56.692267 L 63.781634 56.693227 L -63.78048 56.693227 Z M -63.78048 -56.692267 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="74.683827" y="11.290045"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="82.429068" y="11.290045"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="86.285759" y="11.290045"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="90.934894" y="11.290045"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 9.919895 20.143209 L 43.939075 20.143209 L 43.939075 48.488601 L 9.919895 48.488601 Z M 9.919895 20.143209 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="98.457135" y="42.824522"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="107.824098" y="44.311847"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="112.273131" y="42.824522"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="116.130818" y="42.824522"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="120.779953" y="42.824522"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 9.919895 -14.174178 L 43.939075 -14.174178 L 43.939075 14.175138 L 9.919895 14.175138 Z M 9.919895 -14.174178 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="98.457135" y="76.986208"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="107.824098" y="78.473533"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="112.273131" y="76.986208"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="116.130818" y="76.986208"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="120.779953" y="76.986208"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.176608 -48.487641 L 43.939075 -48.487641 L 43.939075 -20.142249 L 6.176608 -20.142249 Z M 6.176608 -48.487641 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="94.19128" y="111.147894"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="102.435282" y="112.635219"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="106.389536" y="112.635219"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="112.809723" y="111.147894"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="116.666414" y="111.147894"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="121.315549" y="111.147894"/>
</g>
<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -18.923818 34.315905 C -18.923818 39.817046 -23.385157 44.278384 -28.886297 44.278384 C -34.387438 44.278384 -38.848777 39.817046 -38.848777 34.315905 C -38.848777 28.814764 -34.387438 24.353425 -28.886297 24.353425 C -23.385157 24.353425 -18.923818 28.814764 -18.923818 34.315905 Z M -18.923818 34.315905 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="49.812447" y="44.492038"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-1" x="46.283286" y="58.032271"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 67.804688 168.625 L 101.667969 168.625 L 101.667969 140.40625 L 67.804688 140.40625 Z M 67.804688 168.625 "/>
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.009013 -94.541057 L 17.006243 -94.541057 L 17.006243 -66.195664 L -17.009013 -66.195664 Z M -17.009013 -94.541057 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="72.208934" y="157.002105"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph6-1" x="81.259317" y="153.403257"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="80.453932" y="159.464056"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="84.902965" y="157.002105"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="88.759657" y="157.002105"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="93.408792" y="157.002105"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -84.12136 34.315905 L -43.482762 34.315905 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.051825 0.000494967 L 1.610105 1.683797 L 3.08937 0.000494967 L 1.610105 -1.682807 Z M 6.051825 0.000494967 " transform="matrix(0.995532,0,0,-0.995532,38.623651,40.344243)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="4.795478" y="36.543709"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -17.507333 -80.368361 L -74.198118 -80.368361 L -74.198118 -0.001482 L 4.791513 -0.001482 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05377 -0.001482 L 1.608126 1.68182 L 3.087392 -0.001482 L 1.608126 -1.684784 Z M 6.05377 -0.001482 " transform="matrix(0.995532,0,0,-0.995532,86.680309,74.506337)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="8.031953" y="70.705395"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -28.886297 -0.001482 L -28.886297 19.71944 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052447 0.000127209 L 1.606803 1.683429 L 3.086069 0.000127209 L 1.606803 -1.683175 Z M 6.052447 0.000127209 " transform="matrix(0,-0.995532,-0.995532,0,55.980595,57.701187)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 57.964844 74.507812 C 57.964844 73.410156 57.074219 72.523438 55.980469 72.523438 C 54.886719 72.523438 53.996094 73.410156 53.996094 74.507812 C 53.996094 75.601562 54.886719 76.488281 55.980469 76.488281 C 57.074219 76.488281 57.964844 75.601562 57.964844 74.507812 Z M 57.964844 74.507812 "/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -18.923818 34.315905 L 4.791513 34.315905 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.05377 0.000494967 L 1.608126 1.683797 L 3.087392 0.000494967 L 1.608126 -1.682807 Z M 6.05377 0.000494967 " transform="matrix(0.995532,0,0,-0.995532,86.680309,40.344243)"/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -55.858366 34.315905 L -55.858366 -34.314945 L 1.044303 -34.314945 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style="fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.052679 0.000464817 L 1.607036 1.683767 L 3.086301 0.000464817 L 1.607036 -1.682837 Z M 6.052679 0.000464817 " transform="matrix(0.995532,0,0,-0.995532,82.950926,108.668431)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 31.113281 40.34375 C 31.113281 39.25 30.226562 38.359375 29.128906 38.359375 C 28.035156 38.359375 27.144531 39.25 27.144531 40.34375 C 27.144531 41.441406 28.035156 42.328125 29.128906 42.328125 C 30.226562 42.328125 31.113281 41.441406 31.113281 40.34375 Z M 31.113281 40.34375 "/>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.437395 -34.314945 L 74.199272 -34.314945 L 74.199272 -80.368361 L 22.138548 -80.368361 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 103.578125 154.515625 L 108.003906 156.191406 L 106.53125 154.515625 L 108.003906 152.839844 Z M 103.578125 154.515625 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053288 0.000930552 L 1.607644 1.684233 L 3.08691 0.000930552 L 1.607644 -1.682371 Z M 6.053288 0.000930552 " transform="matrix(-0.995532,0,0,0.995532,109.604368,154.514699)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="156.022787" y="104.867082"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.437395 34.315905 L 79.488529 34.315905 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.070312 40.34375 L 162.644531 38.667969 L 164.117188 40.34375 L 162.644531 42.019531 Z M 167.070312 40.34375 "/>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053055 0.000494967 L 1.607412 1.683797 L 3.086677 0.000494967 L 1.607412 -1.682807 Z M 6.053055 0.000494967 " transform="matrix(0.995532,0,0,-0.995532,161.044301,40.344243)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="155.618601" y="35.055389"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="160.230902" y="36.543709"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.437395 -0.001482 L 79.488529 -0.001482 " transform="matrix(0.995532,0,0,-0.995532,84.737707,74.506337)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.070312 74.507812 L 162.644531 72.832031 L 164.117188 74.507812 L 162.644531 76.183594 Z M 167.070312 74.507812 "/>
<g clip-path="url(#clip4)" clip-rule="nonzero">
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 6.053055 -0.001482 L 1.607412 1.68182 L 3.086677 -0.001482 L 1.607412 -1.684784 Z M 6.053055 -0.001482 " transform="matrix(0.995532,0,0,-0.995532,161.044301,74.506337)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="155.618601" y="69.217075"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="160.230902" y="70.705395"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@ -1,25 +0,0 @@
\begin{tikzpicture}
\node[block={4.0cm}{2.5cm}, fill=black!20!white, dashed] (P) {};
\node[above] at (P.north) {$P(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)$);
\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.7, 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) {};
\node[block, below=0.3 of P] (H2) {$H_2(s)$};
\draw[->] (inputw) node[above right]{$w$} -- (sub.west);
\draw[->] (H2.west) -| ($(inputu)+(0.35, 0)$) node[above]{$u$} -- (W2.west);
\draw[->] (inputu-|sub) node[branch]{} -- (sub.south);
\draw[->] (sub.east) -- (W1.west);
\draw[->] ($(sub.west)+(-0.6, 0)$) node[branch]{} |- ($(outputv)+(-0.35, 0)$) node[above]{$v$} |- (H2.east);
\draw[->] (W1.east) -- (output1)node[above left]{$z_1$};
\draw[->] (W2.east) -- (output2)node[above left]{$z_2$};
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,123 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
%% Initialize Frequency Vector
freqs = logspace(-1, 3, 1000);
%% Add functions to path
addpath('./src');
%% Weighting Function Design
% Parameters
n = 3; w0 = 2*pi*10; G0 = 1e-3; G1 = 1e1; Gc = 2;
% Formulas
W = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
%% Magnitude of the weighting function with parameters
figure;
hold on;
plot(freqs, abs(squeeze(freqresp(W, freqs, 'Hz'))), 'k-');
plot([1e-3 1e0], [G0 G0], 'k--', 'LineWidth', 1)
text(1e0, G0, '$\quad G_0$')
plot([1e1 1e3], [G1 G1], 'k--', 'LineWidth', 1)
text(1e1,G1,'$G_{\infty}\quad$','HorizontalAlignment', 'right')
plot([w0/2/pi w0/2/pi], [1 2*Gc], 'k--', 'LineWidth', 1)
text(w0/2/pi,1,'$\omega_c$','VerticalAlignment', 'top', 'HorizontalAlignment', 'center')
plot([w0/2/pi/2 2*w0/2/pi], [Gc Gc], 'k--', 'LineWidth', 1)
text(w0/2/pi/2, Gc, '$G_c \quad$','HorizontalAlignment', 'right')
text(w0/5/pi/2, abs(evalfr(W, j*w0/5)), 'Slope: $n \quad$', 'HorizontalAlignment', 'right')
text(w0/2/pi, abs(evalfr(W, j*w0)), '$\bullet$', 'HorizontalAlignment', 'center')
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([5e-4, 20]);
yticks([1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1]);
%% Design of the Weighting Functions
W1 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'G1', 1/10, 'Gc', 0.45);
W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'G1', 1000, 'Gc', 0.45);
%% Plot of the Weighting function magnitude
figure;
tiledlayout(1, 1, 'TileSpacing', 'None', 'Padding', 'None');
ax1 = nexttile();
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$');
set(gca,'ColorOrderIndex',2)
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]', 'FontSize', 10); ylabel('Magnitude', 'FontSize', 10);
hold off;
xlim([freqs(1), freqs(end)]);
xticks([0.1, 1, 10, 100, 1000]);
ylim([8e-4, 20]);
yticks([1e-3, 1e-2, 1e-1, 1, 1e1]);
yticklabels({'', '$10^{-2}$', '', '$10^0$', ''});
ax1.FontSize = 9;
leg = legend('location', 'south', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
%% Generalized Plant
P = [W1 -W1;
0 W2;
1 0];
%% H-Infinity Synthesis
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
%% Define H1 to be the complementary of H2
H1 = 1 - H2;
%% Bode plot of the complementary filters
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$');
set(gca,'ColorOrderIndex',2)
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
set(gca, 'XTickLabel',[]); ylabel('Magnitude');
ylim([8e-4, 20]);
yticks([1e-3, 1e-2, 1e-1, 1, 1e1]);
yticklabels({'', '$10^{-2}$', '', '$10^0$', ''})
leg = legend('location', 'south', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 18;
% Phase
ax2 = nexttile;
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-');
set(gca,'ColorOrderIndex',2)
plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-');
hold off;
set(gca, 'XScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
yticks([-180:90:180]);
ylim([-180, 200])
yticklabels({'-180', '', '0', '', '180'})
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);

View File

@ -0,0 +1,258 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
%% Initialize Frequency Vector
freqs = logspace(-3, 0, 1000);
%% Add functions to path
addpath('./src');
%% Upper bounds for the complementary filters
figure;
hold on;
set(gca,'ColorOrderIndex',1)
plot([0.0001, 0.008], [8e-3, 8e-3], ':', 'DisplayName', 'Spec. on $H_H$');
set(gca,'ColorOrderIndex',1)
plot([0.008 0.04], [8e-3, 1], ':', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',1)
plot([0.04 0.1], [3, 3], ':', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',2)
plot([0.1, 10], [0.045, 0.045], ':', 'DisplayName', 'Spec. on $H_L$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([1e-4, 10]);
leg = legend('location', 'southeast', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
%% Initialized CVX
cvx_startup;
cvx_solver sedumi;
%% Frequency vectors
w1 = 0:4.06e-4:0.008;
w2 = 0.008:4.06e-4:0.04;
w3 = 0.04:8.12e-4:0.1;
w4 = 0.1:8.12e-4:0.83;
%% Filter order
n = 512;
%% Initialization of filter responses
A1 = [ones(length(w1),1), cos(kron(w1'.*(2*pi),[1:n-1]))];
A2 = [ones(length(w2),1), cos(kron(w2'.*(2*pi),[1:n-1]))];
A3 = [ones(length(w3),1), cos(kron(w3'.*(2*pi),[1:n-1]))];
A4 = [ones(length(w4),1), cos(kron(w4'.*(2*pi),[1:n-1]))];
B1 = [zeros(length(w1),1), sin(kron(w1'.*(2*pi),[1:n-1]))];
B2 = [zeros(length(w2),1), sin(kron(w2'.*(2*pi),[1:n-1]))];
B3 = [zeros(length(w3),1), sin(kron(w3'.*(2*pi),[1:n-1]))];
B4 = [zeros(length(w4),1), sin(kron(w4'.*(2*pi),[1:n-1]))];
%% Convex optimization
cvx_begin
variable y(n+1,1)
% t
maximize(-y(1))
for i = 1:length(w1)
norm([0 A1(i,:); 0 B1(i,:)]*y) <= 8e-3;
end
for i = 1:length(w2)
norm([0 A2(i,:); 0 B2(i,:)]*y) <= 8e-3*(2*pi*w2(i)/(0.008*2*pi))^3;
end
for i = 1:length(w3)
norm([0 A3(i,:); 0 B3(i,:)]*y) <= 3;
end
for i = 1:length(w4)
norm([[1 0]'- [0 A4(i,:); 0 B4(i,:)]*y]) <= y(1);
end
cvx_end
h = y(2:end);
%% Combine the frequency vectors to form the obtained filter
w = [w1 w2 w3 w4];
H = [exp(-j*kron(w'.*2*pi,[0:n-1]))]*h;
%% Bode plot of the obtained complementary filters
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
set(gca,'ColorOrderIndex',1)
plot(w, abs(1-H), '-', 'DisplayName', '$L_1$');
plot([0.1, 10], [0.045, 0.045], 'k:', 'DisplayName', 'Spec. on $L_1$');
set(gca,'ColorOrderIndex',2)
plot(w, abs(H), '-', 'DisplayName', '$H_1$');
plot([0.0001, 0.008], [8e-3, 8e-3], 'k--', 'DisplayName', 'Spec. on $H_1$');
plot([0.008 0.04], [8e-3, 1], 'k--', 'HandleVisibility', 'off');
plot([0.04 0.1], [3, 3], 'k--', 'HandleVisibility', 'off');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
set(gca, 'XTickLabel',[]); ylabel('Magnitude');
hold off;
ylim([5e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 16;
% Phase
ax2 = nexttile;
hold on;
plot(w, 180/pi*unwrap(angle(1-H)), '-');
plot(w, 180/pi*unwrap(angle(H)), '-');
hold off;
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
set(gca, 'XScale', 'log');
yticks([-360:180:180]); ylim([-380, 200]);
linkaxes([ax1,ax2],'x');
xlim([1e-3, 1]);
%% Design of the weight for the high pass filter
w1 = 2*pi*0.008; x1 = 0.35;
w2 = 2*pi*0.04; x2 = 0.5;
w3 = 2*pi*0.05; x3 = 0.5;
% Slope of +3 from w1
wH = 0.008*(s^2/w1^2 + 2*x1/w1*s + 1)*(s/w1 + 1);
% Little bump from w2 to w3
wH = wH*(s^2/w2^2 + 2*x2/w2*s + 1)/(s^2/w3^2 + 2*x3/w3*s + 1);
% No Slope at high frequencies
wH = wH/(s^2/w3^2 + 2*x3/w3*s + 1)/(s/w3 + 1);
% Little bump between w2 and w3
w0 = 2*pi*0.045; xi = 0.1; A = 2; n = 1;
wH = wH*((s^2 + 2*w0*xi*A^(1/n)*s + w0^2)/(s^2 + 2*w0*xi*s + w0^2))^n;
wH = 1/wH;
wH = minreal(ss(wH));
%% Design of the weight for the low pass filter
n = 20; % Filter order
Rp = 1; % Peak to peak passband ripple
Wp = 2*pi*0.102; % Edge frequency
% Chebyshev Type I filter design
[b,a] = cheby1(n, Rp, Wp, 'high', 's');
wL = 0.04*tf(a, b);
wL = 1/wL;
wL = minreal(ss(wL));
%% Magnitude of the designed Weights and initial specifications
figure;
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, abs(squeeze(freqresp(inv(wL), freqs, 'Hz'))), '-', 'DisplayName', '$|W_L|^{-1}$');
plot([0.1, 10], [0.045, 0.045], 'k:', 'DisplayName', 'Spec. on $L_1$');
set(gca,'ColorOrderIndex',2);
plot(freqs, abs(squeeze(freqresp(inv(wH), freqs, 'Hz'))), '-', 'DisplayName', '$|W_H|^{-1}$');
plot([0.0001, 0.008], [8e-3, 8e-3], 'k--', 'DisplayName', 'Spec. on $H_1$');
plot([0.008 0.04], [8e-3, 1], 'k--', 'HandleVisibility', 'off');
plot([0.04 0.1], [3, 3], 'k--', 'HandleVisibility', 'off');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([5e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 16;
%% Generalized plant for the H-infinity Synthesis
P = [0 wL;
wH -wH;
1 0];
%% Standard H-Infinity synthesis
[Hl, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
%% High pass filter as the complementary of the low pass filter
Hh = 1 - Hl;
%% Minimum realization of the filters
Hh = minreal(Hh);
Hl = minreal(Hl);
%% Bode plot of the obtained filters and comparison with the upper bounds
figure;
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, abs(squeeze(freqresp(Hl, freqs, 'Hz'))), '-', 'DisplayName', '$L_1^\prime$');
plot([0.1, 10], [0.045, 0.045], 'k:', 'DisplayName', 'Spec. on $L_1$');
set(gca,'ColorOrderIndex',2);
plot(freqs, abs(squeeze(freqresp(Hh, freqs, 'Hz'))), '-', 'DisplayName', '$H_1^\prime$');
plot([0.0001, 0.008], [8e-3, 8e-3], 'k--', 'DisplayName', 'Spec. on $H_1$');
plot([0.008 0.04], [8e-3, 1], 'k--', 'HandleVisibility', 'off');
plot([0.04 0.1], [3, 3], 'k--', 'HandleVisibility', 'off');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([5e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 16;
%% Comparison of the complementary filters obtained with H-infinity and with CVX
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, abs(squeeze(freqresp(Hl, freqs, 'Hz'))), '-', ...
'DisplayName', '$L_1(s)$ - $\mathcal{H}_\infty$');
set(gca,'ColorOrderIndex',2);
plot(freqs, abs(squeeze(freqresp(Hh, freqs, 'Hz'))), '-', ...
'DisplayName', '$H_1(s)$ - $\mathcal{H}_\infty$');
set(gca,'ColorOrderIndex',1);
plot(w, abs(1-H), '--', ...
'DisplayName', '$L_1(s)$ - FIR');
set(gca,'ColorOrderIndex',2);
plot(w, abs(H), '--', ...
'DisplayName', '$H_1(s)$ - FIR');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
ylim([5e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 16;
% Phase
ax2 = nexttile;
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Hl, freqs, 'Hz')))), '-');
set(gca,'ColorOrderIndex',2);
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Hh, freqs, 'Hz')))), '-');
set(gca,'ColorOrderIndex',1);
plot(w, 180/pi*unwrap(angle(1-H)), '--');
set(gca,'ColorOrderIndex',2);
plot(w, 180/pi*unwrap(angle(H)), '--');
set(gca, 'XScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks([-360:180:180]); ylim([-380, 200]);
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);

View File

@ -0,0 +1,71 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
%% Initialize Frequency Vector
freqs = logspace(-1, 3, 1000);
%% Add functions to path
addpath('./src');
%% Design of the Weighting Functions
W1 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'G1', 1/10, 'Gc', 0.45);
W2 = generateWF('n', 2, 'w0', 2*pi*10, 'G0', 1/10, 'G1', 1000, 'Gc', 0.45);
%% Generalized plant for "closed-loop" complementary filter synthesis
P = [ W1 0 1;
-W1 W2 -1];
%% Standard H-Infinity Synthesis
[L, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
%% Complementary filters
H1 = inv(1 + L);
H2 = 1 - H1;
%% Bode plot of the obtained Complementary filters with upper-bounds
freqs = logspace(-1, 3, 1000);
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$');
set(gca,'ColorOrderIndex',2)
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$');
plot(freqs, abs(squeeze(freqresp(L, freqs, 'Hz'))), 'k--', 'DisplayName', '$|L|$');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
set(gca, 'XTickLabel',[]); ylabel('Magnitude');
ylim([1e-3, 1e3]);
yticks([1e-3, 1e-2, 1e-1, 1, 1e1, 1e2, 1e3]);
yticklabels({'', '$10^{-2}$', '', '$10^0$', '', '$10^2$', ''});
leg = legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 3);
leg.ItemTokenSize(1) = 18;
% Phase
ax2 = nexttile;
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-');
set(gca,'ColorOrderIndex',2)
plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-');
hold off;
set(gca, 'XScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
yticks([-180:90:180]);
ylim([-180, 200])
yticklabels({'-180', '', '0', '', '180'})
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);

View File

@ -4,21 +4,19 @@ clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
freqs = logspace(-2, 4, 1000);
freqs = logspace(-2, 3, 1000);
addpath('./src');
% Weights
% First we define the weights.
n = 2; w0 = 2*pi*1; G0 = 1/10; G1 = 1000; Gc = 1/2;
W1 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
%% Design of the Weighting Functions
W1 = generateWF('n', 2, 'w0', 2*pi*1, 'G0', 1/10, 'G1', 1000, 'Gc', 0.5);
W2 = 0.22*(1 + s/2/pi/1)^2/(sqrt(1e-4) + s/2/pi/1)^2*(1 + s/2/pi/10)^2/(1 + s/2/pi/1000)^2;
W3 = generateWF('n', 3, 'w0', 2*pi*10, 'G0', 1000, 'G1', 1/10, 'Gc', 0.5);
n = 3; w0 = 2*pi*10; G0 = 1000; G1 = 0.1; Gc = 1/2;
W3 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
%% Inverse magnitude of the weighting functions
figure;
hold on;
set(gca,'ColorOrderIndex',1)
@ -37,6 +35,7 @@ leg.ItemTokenSize(1) = 18;
% H-Infinity Synthesis
% Then we create the generalized plant =P=.
%% Generalized plant for the synthesis of 3 complementary filters
P = [W1 -W1 -W1;
0 W2 0 ;
0 0 W3;
@ -46,15 +45,18 @@ P = [W1 -W1 -W1;
% And we do the $\mathcal{H}_\infty$ synthesis.
%% Standard H-Infinity Synthesis
[H, ~, gamma, ~] = hinfsyn(P, 1, 2,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
% Obtained Complementary Filters
% The obtained filters are:
%%
H2 = tf(H(1));
H3 = tf(H(2));
H1 = 1 - H2 - H3;
%% Bode plot of the obtained complementary filters
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
@ -79,7 +81,7 @@ set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
ylim([1e-4, 20]);
leg = legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 2);
leg = legend('location', 'northeast', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
% Phase
@ -94,7 +96,7 @@ plot(freqs, 180/pi*phase(squeeze(freqresp(H3, freqs, 'Hz'))));
hold off;
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
set(gca, 'XScale', 'log');
yticks([-360:90:360]); ylim([-270, 270]);
yticks([-180:90:180]); ylim([-220, 220]);
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);

View File

@ -1,410 +0,0 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
freqs = logspace(-3, 0, 1000);
addpath('./src');
% Specifications
% The specifications for the filters are:
% 1. From $0$ to $0.008\text{ Hz}$,the magnitude of the filters transfer function should be less than or equal to $8 \times 10^{-3}$
% 2. From $0.008\text{ Hz}$ to $0.04\text{ Hz}$, it attenuates the input signal proportional to frequency cubed
% 3. Between $0.04\text{ Hz}$ and $0.1\text{ Hz}$, the magnitude of the transfer function should be less than 3
% 4. Above $0.1\text{ Hz}$, the maximum of the magnitude of the complement filter should be as close to zero as possible. In our system, we would like to have the magnitude of the complementary filter to be less than $0.1$. As the filters obtained in cite:hua05_low_ligo have a magnitude of $0.045$, we will set that as our requirement
% The specifications are translated in upper bounds of the complementary filters are shown on figure [[fig:ligo_specifications]].
figure;
hold on;
set(gca,'ColorOrderIndex',1)
plot([0.0001, 0.008], [8e-3, 8e-3], ':', 'DisplayName', 'Spec. on $H_H$');
set(gca,'ColorOrderIndex',1)
plot([0.008 0.04], [8e-3, 1], ':', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',1)
plot([0.04 0.1], [3, 3], ':', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',2)
plot([0.1, 10], [0.045, 0.045], ':', 'DisplayName', 'Spec. on $H_L$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([1e-4, 10]);
leg = legend('location', 'southeast', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
% FIR Filter
% We here try to implement the FIR complementary filter synthesis as explained in cite:hua05_low_ligo.
% For that, we use the [[http://cvxr.com/cvx/][CVX matlab Toolbox]].
% We setup the CVX toolbox and use the =SeDuMi= solver.
cvx_startup;
cvx_solver sedumi;
% We define the frequency vectors on which we will constrain the norm of the FIR filter.
w1 = 0:4.06e-4:0.008;
w2 = 0.008:4.06e-4:0.04;
w3 = 0.04:8.12e-4:0.1;
w4 = 0.1:8.12e-4:0.83;
% We then define the order of the FIR filter.
n = 512;
A1 = [ones(length(w1),1), cos(kron(w1'.*(2*pi),[1:n-1]))];
A2 = [ones(length(w2),1), cos(kron(w2'.*(2*pi),[1:n-1]))];
A3 = [ones(length(w3),1), cos(kron(w3'.*(2*pi),[1:n-1]))];
A4 = [ones(length(w4),1), cos(kron(w4'.*(2*pi),[1:n-1]))];
B1 = [zeros(length(w1),1), sin(kron(w1'.*(2*pi),[1:n-1]))];
B2 = [zeros(length(w2),1), sin(kron(w2'.*(2*pi),[1:n-1]))];
B3 = [zeros(length(w3),1), sin(kron(w3'.*(2*pi),[1:n-1]))];
B4 = [zeros(length(w4),1), sin(kron(w4'.*(2*pi),[1:n-1]))];
% We run the convex optimization.
cvx_begin
variable y(n+1,1)
% t
maximize(-y(1))
for i = 1:length(w1)
norm([0 A1(i,:); 0 B1(i,:)]*y) <= 8e-3;
end
for i = 1:length(w2)
norm([0 A2(i,:); 0 B2(i,:)]*y) <= 8e-3*(2*pi*w2(i)/(0.008*2*pi))^3;
end
for i = 1:length(w3)
norm([0 A3(i,:); 0 B3(i,:)]*y) <= 3;
end
for i = 1:length(w4)
norm([[1 0]'- [0 A4(i,:); 0 B4(i,:)]*y]) <= y(1);
end
cvx_end
h = y(2:end);
% #+RESULTS:
% #+begin_example
% cvx_begin
% variable y(n+1,1)
% % t
% maximize(-y(1))
% for i = 1:length(w1)
% norm([0 A1(i,:); 0 B1(i,:)]*y) <= 8e-3;
% end
% for i = 1:length(w2)
% norm([0 A2(i,:); 0 B2(i,:)]*y) <= 8e-3*(2*pi*w2(i)/(0.008*2*pi))^3;
% end
% for i = 1:length(w3)
% norm([0 A3(i,:); 0 B3(i,:)]*y) <= 3;
% end
% for i = 1:length(w4)
% norm([[1 0]'- [0 A4(i,:); 0 B4(i,:)]*y]) <= y(1);
% end
% cvx_end
% Calling SeDuMi 1.34: 4291 variables, 1586 equality constraints
% For improved efficiency, SeDuMi is solving the dual problem.
% ------------------------------------------------------------
% SeDuMi 1.34 (beta) by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.
% Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500
% eqs m = 1586, order n = 3220, dim = 4292, blocks = 1073
% nnz(A) = 1100727 + 0, nnz(ADA) = 1364794, nnz(L) = 683190
% it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
% 0 : 4.11E+02 0.000
% 1 : -2.58E+00 1.25E+02 0.000 0.3049 0.9000 0.9000 4.87 1 1 3.0E+02
% 2 : -2.36E+00 3.90E+01 0.000 0.3118 0.9000 0.9000 1.83 1 1 6.6E+01
% 3 : -1.69E+00 1.31E+01 0.000 0.3354 0.9000 0.9000 1.76 1 1 1.5E+01
% 4 : -8.60E-01 7.10E+00 0.000 0.5424 0.9000 0.9000 2.48 1 1 4.8E+00
% 5 : -4.91E-01 5.44E+00 0.000 0.7661 0.9000 0.9000 3.12 1 1 2.5E+00
% 6 : -2.96E-01 3.88E+00 0.000 0.7140 0.9000 0.9000 2.62 1 1 1.4E+00
% 7 : -1.98E-01 2.82E+00 0.000 0.7271 0.9000 0.9000 2.14 1 1 8.5E-01
% 8 : -1.39E-01 2.00E+00 0.000 0.7092 0.9000 0.9000 1.78 1 1 5.4E-01
% 9 : -9.99E-02 1.30E+00 0.000 0.6494 0.9000 0.9000 1.51 1 1 3.3E-01
% 10 : -7.57E-02 8.03E-01 0.000 0.6175 0.9000 0.9000 1.31 1 1 2.0E-01
% 11 : -5.99E-02 4.22E-01 0.000 0.5257 0.9000 0.9000 1.17 1 1 1.0E-01
% 12 : -5.28E-02 2.45E-01 0.000 0.5808 0.9000 0.9000 1.08 1 1 5.9E-02
% 13 : -4.82E-02 1.28E-01 0.000 0.5218 0.9000 0.9000 1.05 1 1 3.1E-02
% 14 : -4.56E-02 5.65E-02 0.000 0.4417 0.9045 0.9000 1.02 1 1 1.4E-02
% 15 : -4.43E-02 2.41E-02 0.000 0.4265 0.9004 0.9000 1.01 1 1 6.0E-03
% 16 : -4.37E-02 8.90E-03 0.000 0.3690 0.9070 0.9000 1.00 1 1 2.3E-03
% 17 : -4.35E-02 3.24E-03 0.000 0.3641 0.9164 0.9000 1.00 1 1 9.5E-04
% 18 : -4.34E-02 1.55E-03 0.000 0.4788 0.9086 0.9000 1.00 1 1 4.7E-04
% 19 : -4.34E-02 8.77E-04 0.000 0.5653 0.9169 0.9000 1.00 1 1 2.8E-04
% 20 : -4.34E-02 5.05E-04 0.000 0.5754 0.9034 0.9000 1.00 1 1 1.6E-04
% 21 : -4.34E-02 2.94E-04 0.000 0.5829 0.9136 0.9000 1.00 1 1 9.9E-05
% 22 : -4.34E-02 1.63E-04 0.015 0.5548 0.9000 0.0000 1.00 1 1 6.6E-05
% 23 : -4.33E-02 9.42E-05 0.000 0.5774 0.9053 0.9000 1.00 1 1 3.9E-05
% 24 : -4.33E-02 6.27E-05 0.000 0.6658 0.9148 0.9000 1.00 1 1 2.6E-05
% 25 : -4.33E-02 3.75E-05 0.000 0.5972 0.9187 0.9000 1.00 1 1 1.6E-05
% 26 : -4.33E-02 1.89E-05 0.000 0.5041 0.9117 0.9000 1.00 1 1 8.6E-06
% 27 : -4.33E-02 9.72E-06 0.000 0.5149 0.9050 0.9000 1.00 1 1 4.5E-06
% 28 : -4.33E-02 2.94E-06 0.000 0.3021 0.9194 0.9000 1.00 1 1 1.5E-06
% 29 : -4.33E-02 9.73E-07 0.000 0.3312 0.9189 0.9000 1.00 2 2 5.3E-07
% 30 : -4.33E-02 2.82E-07 0.000 0.2895 0.9063 0.9000 1.00 2 2 1.6E-07
% 31 : -4.33E-02 8.05E-08 0.000 0.2859 0.9049 0.9000 1.00 2 2 4.7E-08
% 32 : -4.33E-02 1.43E-08 0.000 0.1772 0.9059 0.9000 1.00 2 2 8.8E-09
% iter seconds digits c*x b*y
% 32 49.4 6.8 -4.3334083581e-02 -4.3334090214e-02
% |Ax-b| = 3.7e-09, [Ay-c]_+ = 1.1E-10, |x|= 1.0e+00, |y|= 2.6e+00
% Detailed timing (sec)
% Pre IPM Post
% 3.902E+00 4.576E+01 1.035E-02
% Max-norms: ||b||=1, ||c|| = 3,
% Cholesky |add|=0, |skip| = 0, ||L.L|| = 4.26267.
% ------------------------------------------------------------
% Status: Solved
% Optimal value (cvx_optval): -0.0433341
% h = y(2:end);
% #+end_example
% Finally, we compute the filter response over the frequency vector defined and the result is shown on figure [[fig:fir_filter_ligo]] which is very close to the filters obtain in cite:hua05_low_ligo.
w = [w1 w2 w3 w4];
H = [exp(-j*kron(w'.*2*pi,[0:n-1]))]*h;
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
plot(w, abs(H), 'k-');
plot(w, abs(1-H), 'k--');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
ylim([5e-3, 5]);
% Phase
ax2 = nexttile;
hold on;
plot(w, 180/pi*unwrap(angle(H)), 'k-');
plot(w, 180/pi*unwrap(angle(1-H)), 'k--');
hold off;
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
set(gca, 'XScale', 'log');
yticks([-450:90:180]); ylim([-450, 200]);
linkaxes([ax1,ax2],'x');
xlim([1e-3, 1]);
% Weights
% We design weights that will be used for the $\mathcal{H}_\infty$ synthesis of the complementary filters.
% These weights will determine the order of the obtained filters.
% Here are the requirements on the filters:
% - reasonable order
% - to be as close as possible to the specified upper bounds
% - stable minimum phase
% The bode plot of the weights is shown on figure [[fig:ligo_weights]].
w1 = 2*pi*0.008; x1 = 0.35;
w2 = 2*pi*0.04; x2 = 0.5;
w3 = 2*pi*0.05; x3 = 0.5;
% Slope of +3 from w1
wH = 0.008*(s^2/w1^2 + 2*x1/w1*s + 1)*(s/w1 + 1);
% Little bump from w2 to w3
wH = wH*(s^2/w2^2 + 2*x2/w2*s + 1)/(s^2/w3^2 + 2*x3/w3*s + 1);
% No Slope at high frequencies
wH = wH/(s^2/w3^2 + 2*x3/w3*s + 1)/(s/w3 + 1);
% Little bump between w2 and w3
w0 = 2*pi*0.045; xi = 0.1; A = 2; n = 1;
wH = wH*((s^2 + 2*w0*xi*A^(1/n)*s + w0^2)/(s^2 + 2*w0*xi*s + w0^2))^n;
wH = 1/wH;
wH = minreal(ss(wH));
n = 20; Rp = 1; Wp = 2*pi*0.102;
[b,a] = cheby1(n, Rp, Wp, 'high', 's');
wL = 0.04*tf(a, b);
wL = 1/wL;
wL = minreal(ss(wL));
figure;
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, abs(squeeze(freqresp(inv(wH), freqs, 'Hz'))), '-', 'DisplayName', '$|w_H|^{-1}$');
set(gca,'ColorOrderIndex',2);
plot(freqs, abs(squeeze(freqresp(inv(wL), freqs, 'Hz'))), '-', 'DisplayName', '$|w_L|^{-1}$');
plot([0.0001, 0.008], [8e-3, 8e-3], 'k--', 'DisplayName', 'Spec.');
plot([0.008 0.04], [8e-3, 1], 'k--', 'HandleVisibility', 'off');
plot([0.04 0.1], [3, 3], 'k--', 'HandleVisibility', 'off');
plot([0.1, 10], [0.045, 0.045], 'k--', 'HandleVisibility', 'off');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([1e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
% H-Infinity Synthesis
% We define the generalized plant as shown on figure [[fig:h_infinity_robst_fusion]].
P = [0 wL;
wH -wH;
1 0];
% And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command.
[Hl, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
% #+RESULTS:
% #+begin_example
% [Hl, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
% Resetting value of Gamma min based on D_11, D_12, D_21 terms
% Test bounds: 0.3276 < gamma <= 1.8063
% gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f
% 1.806 1.4e-02 -1.7e-16 3.6e-03 -4.8e-12 0.0000 p
% 1.067 1.3e-02 -4.2e-14 3.6e-03 -1.9e-12 0.0000 p
% 0.697 1.3e-02 -3.0e-01# 3.6e-03 -3.5e-11 0.0000 f
% 0.882 1.3e-02 -9.5e-01# 3.6e-03 -1.2e-34 0.0000 f
% 0.975 1.3e-02 -2.7e+00# 3.6e-03 -1.6e-12 0.0000 f
% 1.021 1.3e-02 -8.7e+00# 3.6e-03 -4.5e-16 0.0000 f
% 1.044 1.3e-02 -6.5e-14 3.6e-03 -3.0e-15 0.0000 p
% 1.032 1.3e-02 -1.8e+01# 3.6e-03 0.0e+00 0.0000 f
% 1.038 1.3e-02 -3.8e+01# 3.6e-03 0.0e+00 0.0000 f
% 1.041 1.3e-02 -8.3e+01# 3.6e-03 -2.9e-33 0.0000 f
% 1.042 1.3e-02 -1.9e+02# 3.6e-03 -3.4e-11 0.0000 f
% 1.043 1.3e-02 -5.3e+02# 3.6e-03 -7.5e-13 0.0000 f
% Gamma value achieved: 1.0439
% #+end_example
% The high pass filter is defined as $H_H = 1 - H_L$.
Hh = 1 - Hl;
Hh = minreal(Hh);
Hl = minreal(Hl);
% The size of the filters is shown below.
size(Hh), size(Hl)
% #+RESULTS:
% #+begin_example
% size(Hh), size(Hl)
% State-space model with 1 outputs, 1 inputs, and 27 states.
% State-space model with 1 outputs, 1 inputs, and 27 states.
% #+end_example
% The bode plot of the obtained filters as shown on figure [[fig:hinf_synthesis_ligo_results]].
figure;
hold on;
set(gca,'ColorOrderIndex',1);
plot([0.0001, 0.008], [8e-3, 8e-3], ':', 'DisplayName', 'Spec. on $H_H$');
set(gca,'ColorOrderIndex',1);
plot([0.008 0.04], [8e-3, 1], ':', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',1);
plot([0.04 0.1], [3, 3], ':', 'HandleVisibility', 'off');
set(gca,'ColorOrderIndex',2);
plot([0.1, 10], [0.045, 0.045], ':', 'DisplayName', 'Spec. on $H_L$');
set(gca,'ColorOrderIndex',1);
plot(freqs, abs(squeeze(freqresp(Hh, freqs, 'Hz'))), '-', 'DisplayName', '$H_H$');
set(gca,'ColorOrderIndex',2);
plot(freqs, abs(squeeze(freqresp(Hl, freqs, 'Hz'))), '-', 'DisplayName', '$H_L$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([1e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
% Compare FIR and H-Infinity Filters
% Let's now compare the FIR filters designed in cite:hua05_low_ligo and the one obtained with the $\mathcal{H}_\infty$ synthesis on figure [[fig:comp_fir_ligo_hinf]].
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, abs(squeeze(freqresp(Hh, freqs, 'Hz'))), '-', ...
'DisplayName', '$H_H(s)$ - $\mathcal{H}_\infty$');
set(gca,'ColorOrderIndex',2);
plot(freqs, abs(squeeze(freqresp(Hl, freqs, 'Hz'))), '-', ...
'DisplayName', '$H_L(s)$ - $\mathcal{H}_\infty$');
set(gca,'ColorOrderIndex',1);
plot(w, abs(H), '--', ...
'DisplayName', '$H_H(s)$ - FIR');
set(gca,'ColorOrderIndex',2);
plot(w, abs(1-H), '--', ...
'DisplayName', '$H_L(s)$ - FIR');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
ylim([5e-3, 10]);
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 16;
% Phase
ax2 = nexttile;
hold on;
set(gca,'ColorOrderIndex',1);
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Hh, freqs, 'Hz')))), '-');
set(gca,'ColorOrderIndex',2);
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Hl, freqs, 'Hz')))), '-');
set(gca,'ColorOrderIndex',1);
plot(w, 180/pi*unwrap(angle(H)), '--');
set(gca,'ColorOrderIndex',2);
plot(w, 180/pi*unwrap(angle(1-H)), '--');
set(gca, 'XScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks([-450:90:180]); ylim([-450, 200]);
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);

View File

@ -1,177 +0,0 @@
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
freqs = logspace(-1, 3, 1000);
addpath('./src');
% Design of Weighting Function
% A formula is proposed to help the design of the weighting functions:
% \begin{equation}
% W(s) = \left( \frac{
% \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}}
% }{
% \left(\frac{1}{G_\infty}\right)^{\frac{1}{n}} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{1}{G_c}\right)^{\frac{1}{n}}
% }\right)^n
% \end{equation}
% The parameters permits to specify:
% - the low frequency gain: $G_0 = lim_{\omega \to 0} |W(j\omega)|$
% - the high frequency gain: $G_\infty = lim_{\omega \to \infty} |W(j\omega)|$
% - the absolute gain at $\omega_0$: $G_c = |W(j\omega_0)|$
% - the absolute slope between high and low frequency: $n$
% The general shape of a weighting function generated using the formula is shown in figure [[fig:weight_formula]].
n = 3; w0 = 2*pi*10; G0 = 1e-3; G1 = 1e1; Gc = 2;
W = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
figure;
hold on;
plot(freqs, abs(squeeze(freqresp(W, freqs, 'Hz'))), 'k-');
plot([1e-3 1e0], [G0 G0], 'k--', 'LineWidth', 1)
text(1e0, G0, '$\quad G_0$')
plot([1e1 1e3], [G1 G1], 'k--', 'LineWidth', 1)
text(1e1,G1,'$G_{\infty}\quad$','HorizontalAlignment', 'right')
plot([w0/2/pi w0/2/pi], [1 2*Gc], 'k--', 'LineWidth', 1)
text(w0/2/pi,1,'$\omega_c$','VerticalAlignment', 'top', 'HorizontalAlignment', 'center')
plot([w0/2/pi/2 2*w0/2/pi], [Gc Gc], 'k--', 'LineWidth', 1)
text(w0/2/pi/2, Gc, '$G_c \quad$','HorizontalAlignment', 'right')
text(w0/5/pi/2, abs(evalfr(W, j*w0/5)), 'Slope: $n \quad$', 'HorizontalAlignment', 'right')
text(w0/2/pi, abs(evalfr(W, j*w0)), '$\bullet$', 'HorizontalAlignment', 'center')
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([5e-4, 20]);
% #+name: fig:weight_formula
% #+caption: Gain of the Weighting Function formula
% #+RESULTS:
% [[file:figs/weight_formula.png]]
n = 2; w0 = 2*pi*10; G0 = 1/10; G1 = 1000; Gc = 0.45;
W1 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
n = 3; w0 = 2*pi*10; G0 = 1000; G1 = 0.1; Gc = 0.45;
W2 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
figure;
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$|W_1|^{-1}$');
set(gca,'ColorOrderIndex',2)
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$|W_2|^{-1}$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude');
hold off;
xlim([freqs(1), freqs(end)]);
ylim([1e-4, 20]);
xticks([0.1, 1, 10, 100, 1000]);
leg = legend('location', 'southeast', 'FontSize', 8);
leg.ItemTokenSize(1) = 18;
% H-Infinity Synthesis
% We define the generalized plant $P$ on matlab.
P = [W1 -W1;
0 W2;
1 0];
% And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command.
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
% #+RESULTS:
% #+begin_example
% [H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
% Test bounds: 0.3223 <= gamma <= 1000
% gamma X>=0 Y>=0 rho(XY)<1 p/f
% 1.795e+01 1.4e-07 0.0e+00 1.481e-16 p
% 2.406e+00 1.4e-07 0.0e+00 3.604e-15 p
% 8.806e-01 -3.1e+02 # -1.4e-16 7.370e-19 f
% 1.456e+00 1.4e-07 0.0e+00 1.499e-18 p
% 1.132e+00 1.4e-07 0.0e+00 8.587e-15 p
% 9.985e-01 1.4e-07 0.0e+00 2.331e-13 p
% 9.377e-01 -7.7e+02 # -6.6e-17 3.744e-14 f
% 9.676e-01 -2.0e+03 # -5.7e-17 1.046e-13 f
% 9.829e-01 -6.6e+03 # -1.1e-16 2.949e-13 f
% 9.907e-01 1.4e-07 0.0e+00 2.374e-19 p
% 9.868e-01 -1.6e+04 # -6.4e-17 5.331e-14 f
% 9.887e-01 -5.1e+04 # -1.5e-17 2.703e-19 f
% 9.897e-01 1.4e-07 0.0e+00 1.583e-11 p
% Limiting gains...
% 9.897e-01 1.5e-07 0.0e+00 1.183e-12 p
% 9.897e-01 6.9e-07 0.0e+00 1.365e-12 p
% Best performance (actual): 0.9897
% #+end_example
% We then define the high pass filter $H_1 = 1 - H_2$. The bode plot of both $H_1$ and $H_2$ is shown on figure [[fig:hinf_filters_results]].
H1 = 1 - H2;
% Obtained Complementary Filters
% The obtained complementary filters are shown on figure [[fig:hinf_filters_results]].
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
% Magnitude
ax1 = nexttile([2, 1]);
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$w_1$');
set(gca,'ColorOrderIndex',2)
plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$w_2$');
set(gca,'ColorOrderIndex',1)
plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$');
set(gca,'ColorOrderIndex',2)
plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
ylim([1e-4, 20]);
yticks([1e-4, 1e-3, 1e-2, 1e-1, 1, 1e1]);
leg = legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2);
leg.ItemTokenSize(1) = 18;
% Phase
ax2 = nexttile;
hold on;
set(gca,'ColorOrderIndex',1)
plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-');
set(gca,'ColorOrderIndex',2)
plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-');
hold off;
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
set(gca, 'XScale', 'log');
yticks([-180:90:180]);
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);

View File

@ -1,17 +1,3 @@
@article{collette15_sensor_fusion_method_high_perfor,
author = {C. Collette and F. Matichard},
title = {Sensor Fusion Methods for High Performance Active Vibration Isolation Systems},
journal = {Journal of Sound and Vibration},
volume = {342},
number = {nil},
pages = {1-21},
year = {2015},
doi = {10.1016/j.jsv.2015.01.006},
url = {https://doi.org/10.1016/j.jsv.2015.01.006},
keywords = {},
}
@phdthesis{hua05_low_ligo,
author = {Hua, Wensheng},
school = {stanford university},
@ -20,152 +6,11 @@
year = 2005,
}
@inproceedings{hua04_polyp_fir_compl_filter_contr_system,
author = {Wensheng Hua and Dan B. Debra and Corwin T. Hardham and Brian T. Lantz and Joseph A. Giaime},
title = {Polyphase FIR Complementary Filters for Control Systems},
booktitle = {Proceedings of ASPE Spring Topical Meeting on Control of Precision Systems},
year = {2004},
pages = {109--114},
@article{dehaeze21_new_method_desig_compl_filter,
author = {Dehaeze, Thomas and Vermat, Mohit and Collette, Christophe},
title = {A New Method of Designing Complementary Filters for Sensor
Fusion Using the $\mathcal{H}_\infty$ Synthesis},
journal = {Mechanical Systems and Signal Processing},
year = 2021,
month = {Nov},
}
@article{matichard15_seism_isolat_advan_ligo,
author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and Kissel, J and Abbott, B and Biscans, S and McIver, J and Abbott, R and Abbott, S and others},
title = {Seismic Isolation of Advanced Ligo: Review of Strategy, Instrumentation and Performance},
journal = {Classical and Quantum Gravity},
volume = {32},
number = {18},
pages = {185003},
year = {2015},
publisher = {IOP Publishing},
}
@article{min15_compl_filter_desig_angle_estim,
author = {Min, Hyung Gi and Jeung, Eun Tae},
title = {Complementary Filter Design for Angle Estimation Using Mems Accelerometer and Gyroscope},
journal = {Department of Control and Instrumentation, Changwon National University, Changwon, Korea},
pages = {641--773},
year = {2015},
}
@article{corke04_inert_visual_sensin_system_small_auton_helic,
author = {Peter Corke},
title = {An Inertial and Visual Sensing System for a Small Autonomous Helicopter},
journal = {Journal of Robotic Systems},
volume = {21},
number = {2},
pages = {43-51},
year = {2004},
doi = {10.1002/rob.10127},
url = {https://doi.org/10.1002/rob.10127},
}
@inproceedings{jensen13_basic_uas,
author = {Austin Jensen and Cal Coopmans and YangQuan Chen},
title = {Basics and guidelines of complementary filters for small UAS
navigation},
booktitle = {2013 International Conference on Unmanned Aircraft Systems
(ICUAS)},
year = 2013,
pages = {nil},
doi = {10.1109/icuas.2013.6564726},
url = {https://doi.org/10.1109/icuas.2013.6564726},
month = 5,
}
@inproceedings{pascoal99_navig_system_desig_using_time,
author = {A. Pascoal and I. Kaminer and P. Oliveira},
title = {Navigation System Design Using Time-Varying Complementary Filters},
booktitle = {Guidance, Navigation, and Control Conference and Exhibit},
year = {1999},
pages = {nil},
doi = {10.2514/6.1999-4290},
url = {https://doi.org/10.2514/6.1999-4290},
}
@article{zimmermann92_high_bandw_orien_measur_contr,
author = {M. Zimmermann and W. Sulzer},
title = {High Bandwidth Orientation Measurement and Control Based on Complementary Filtering},
journal = {Robot Control 1991},
pages = {525-530},
year = {1992},
doi = {10.1016/b978-0-08-041276-4.50093-5},
url = {https://doi.org/10.1016/b978-0-08-041276-4.50093-5},
publisher = {Elsevier},
series = {Robot Control 1991},
}
@inproceedings{baerveldt97_low_cost_low_weigh_attit,
author = {A.-J. Baerveldt and R. Klang},
title = {A Low-Cost and Low-Weight Attitude Estimation System for an Autonomous Helicopter},
booktitle = {Proceedings of IEEE International Conference on Intelligent Engineering Systems},
year = {1997},
pages = {nil},
doi = {10.1109/ines.1997.632450},
url = {https://doi.org/10.1109/ines.1997.632450},
month = {-},
}
@article{shaw90_bandw_enhan_posit_measur_using_measur_accel,
author = {F.R. Shaw and K. Srinivasan},
title = {Bandwidth Enhancement of Position Measurements Using Measured
Acceleration},
journal = {Mechanical Systems and Signal Processing},
volume = 4,
number = 1,
pages = {23-38},
year = 1990,
doi = {10.1016/0888-3270(90)90038-m},
url = {https://doi.org/10.1016/0888-3270(90)90038-m},
}
@article{brown72_integ_navig_system_kalman_filter,
author = {R. G. Brown},
title = {Integrated Navigation Systems and Kalman Filtering: a
Perspective},
journal = {Navigation},
volume = 19,
number = 4,
pages = {355-362},
year = 1972,
doi = {10.1002/j.2161-4296.1972.tb01706.x},
url = {https://doi.org/10.1002/j.2161-4296.1972.tb01706.x},
}
@article{matichard15_seism_isolat_advan_ligo,
author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and
Kissel, J and Abbott, B and Biscans, S and McIver, J and
Abbott, R and Abbott, S and others},
title = {Seismic Isolation of Advanced Ligo: Review of Strategy,
Instrumentation and Performance},
journal = {Classical and Quantum Gravity},
volume = 32,
number = 18,
pages = 185003,
year = 2015,
publisher = {IOP Publishing},
}
@article{mahony08_nonlin_compl_filter_special_orthog_group,
author = {Robert Mahony and Tarek Hamel and Jean-Michel Pflimlin},
title = {Nonlinear Complementary Filters on the Special Orthogonal
Group},
journal = {IEEE Transactions on Automatic Control},
volume = 53,
number = 5,
pages = {1203-1218},
year = 2008,
doi = {10.1109/tac.2008.923738},
url = {https://doi.org/10.1109/tac.2008.923738},
}

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>