Initial Commit

This commit is contained in:
Thomas Dehaeze 2020-10-05 14:59:04 +02:00
commit f41dfc9560
65 changed files with 15641 additions and 0 deletions

261
.gitignore vendored Normal file
View File

@ -0,0 +1,261 @@
administrative/
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Comment the next line if you want to keep your tikz graphics files
*.tikz
*-tikzDictionary
# listings
*.lol
# makeidx
*.idx
*.ilg
*.ind
*.ist
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices
*.xyc
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# KBibTeX
*~[0-9]*
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta

21
LICENSE.txt Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Dehaeze Thomas
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

12
README.md Normal file
View File

@ -0,0 +1,12 @@
# Complementary Filters Shaping Using H-Infinity Synthesis
<!-- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3937394.svg)](https://doi.org/10.5281/zenodo.3937394) -->
<!-- # Paper -->
<!-- The paper and Matlab scripts are available [here](https://tdehaeze.github.io/dehaeze19_desig_compl_filte/). -->
<!-- # Matlab Scripts -->
<!-- All the scripts that were used to obtained the results described in the paper are inside the -->
<!-- `matlab/matlab` directory. -->
<!-- The scripts have been developed and tested with Matlab 2019b. -->

145
css/htmlize.css Normal file
View File

@ -0,0 +1,145 @@
.org-bold { /* bold */ font-weight: bold; }
.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; }
.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; }
.org-builtin { /* font-lock-builtin-face */ color: #7a378b; }
.org-button { /* button */ text-decoration: underline; }
.org-calendar-today { /* calendar-today */ text-decoration: underline; }
.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; }
.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; }
.org-change-log-date { /* change-log-date */ color: #8b2252; }
.org-change-log-email { /* change-log-email */ color: #a0522d; }
.org-change-log-file { /* change-log-file */ color: #0000ff; }
.org-change-log-function { /* change-log-function */ color: #a0522d; }
.org-change-log-list { /* change-log-list */ color: #a020f0; }
.org-change-log-name { /* change-log-name */ color: #008b8b; }
.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; }
.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; }
.org-comment { /* font-lock-comment-face */ color: #999988; font-style: italic; }
.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #999988; font-style: italic; }
.org-completions-annotations { /* completions-annotations */ font-style: italic; }
.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; }
.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; }
.org-constant { /* font-lock-constant-face */ color: #008b8b; }
.org-diary { /* diary */ color: #ff0000; }
.org-diff-context { /* diff-context */ color: #7f7f7f; }
.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; }
.org-diff-function { /* diff-function */ background-color: #cccccc; }
.org-diff-header { /* diff-header */ background-color: #cccccc; }
.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; }
.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; }
.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; }
.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; }
.org-dired-directory { /* dired-directory */ color: #0000ff; }
.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; }
.org-dired-header { /* dired-header */ color: #228b22; }
.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; }
.org-dired-mark { /* dired-mark */ color: #008b8b; }
.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; }
.org-dired-perm-write { /* dired-perm-write */ color: #b22222; }
.org-dired-symlink { /* dired-symlink */ color: #a020f0; }
.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; }
.org-doc { /* font-lock-doc-face */ color: #8b2252; }
.org-escape-glyph { /* escape-glyph */ color: #a52a2a; }
.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; }
.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; }
.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; }
.org-fringe { /* fringe */ background-color: #f2f2f2; }
.org-function-name { /* font-lock-function-name-face */ color: teal; }
.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; }
.org-help-argument-name { /* help-argument-name */ font-style: italic; }
.org-highlight { /* highlight */ background-color: #b4eeb4; }
.org-holiday { /* holiday */ background-color: #ffc0cb; }
.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; }
.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; }
.org-italic { /* italic */ font-style: italic; }
.org-keyword { /* font-lock-keyword-face */ color: #0086b3; }
.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; }
.org-link { /* link */ color: #0000ff; text-decoration: underline; }
.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; }
.org-log-edit-header { /* log-edit-header */ color: #a020f0; }
.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; }
.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; }
.org-match { /* match */ background-color: #ffff00; }
.org-next-error { /* next-error */ background-color: #eedc82; }
.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; }
.org-org-archived { /* org-archived */ color: #7f7f7f; }
.org-org-block { /* org-block */ color: #7f7f7f; }
.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; }
.org-org-block-end-line { /* org-block-end-line */ color: #b22222; }
.org-org-checkbox { /* org-checkbox */ font-weight: bold; }
.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; }
.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; }
.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; }
.org-org-code { /* org-code */ color: #7f7f7f; }
.org-org-column { /* org-column */ background-color: #e5e5e5; }
.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; }
.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; }
.org-org-document-info { /* org-document-info */ color: #191970; }
.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; }
.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; }
.org-org-done { /* org-done */ color: #228b22; font-weight: bold; }
.org-org-drawer { /* org-drawer */ color: #0000ff; }
.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; }
.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; }
.org-org-formula { /* org-formula */ color: #b22222; }
.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; }
.org-org-hide { /* org-hide */ color: #ffffff; }
.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; }
.org-org-level-1 { /* org-level-1 */ color: #0000ff; }
.org-org-level-2 { /* org-level-2 */ color: #a0522d; }
.org-org-level-3 { /* org-level-3 */ color: #a020f0; }
.org-org-level-4 { /* org-level-4 */ color: #b22222; }
.org-org-level-5 { /* org-level-5 */ color: #228b22; }
.org-org-level-6 { /* org-level-6 */ color: #008b8b; }
.org-org-level-7 { /* org-level-7 */ color: #7a378b; }
.org-org-level-8 { /* org-level-8 */ color: #8b2252; }
.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; }
.org-org-meta-line { /* org-meta-line */ color: #b22222; }
.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; }
.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; }
.org-org-quote { /* org-quote */ color: #7f7f7f; }
.org-org-scheduled { /* org-scheduled */ color: #006400; }
.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; }
.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; }
.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; }
.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; }
.org-org-table { /* org-table */ color: #0000ff; }
.org-org-tag { /* org-tag */ font-weight: bold; }
.org-org-target { /* org-target */ text-decoration: underline; }
.org-org-time-grid { /* org-time-grid */ color: #b8860b; }
.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; }
.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; }
.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; }
.org-org-verse { /* org-verse */ color: #7f7f7f; }
.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; }
.org-outline-1 { /* outline-1 */ color: #0000ff; }
.org-outline-2 { /* outline-2 */ color: #a0522d; }
.org-outline-3 { /* outline-3 */ color: #a020f0; }
.org-outline-4 { /* outline-4 */ color: #b22222; }
.org-outline-5 { /* outline-5 */ color: #228b22; }
.org-outline-6 { /* outline-6 */ color: #008b8b; }
.org-outline-7 { /* outline-7 */ color: #7a378b; }
.org-outline-8 { /* outline-8 */ color: #8b2252; }
.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; }
.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; }
.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; }
.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; }
.org-region { /* region */ background-color: #eedc82; }
.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; }
.org-shadow { /* shadow */ color: #7f7f7f; }
.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; }
.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; }
.org-string { /* font-lock-string-face */ color: #dd1144; }
.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; }
.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; }
.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; }
.org-type { /* font-lock-type-face */ color: #228b22; }
.org-underline { /* underline */ text-decoration: underline; }
.org-variable-name { /* font-lock-variable-name-face */ color: teal; }
.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; }
.org-widget-button { /* widget-button */ font-weight: bold; }
.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; }
.org-widget-documentation { /* widget-documentation */ color: #006400; }
.org-widget-field { /* widget-field */ background-color: #d9d9d9; }
.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; }
.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; }

1096
css/readtheorg.css Normal file

File diff suppressed because it is too large Load Diff

63
index.html Normal file
View File

@ -0,0 +1,63 @@
<?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-10-05 lun. 14:58 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<link rel="stylesheet" type="text/css" href="css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="css/readtheorg.css"/>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery.stickytableheaders.min.js"></script>
<script src="js/readtheorg.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="content">
<h1 class="title">Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis
<br />
<span class="subtitle">Dehaeze Thomas, Verma Mohit and Collette Christophe</span>
</h1>
<blockquote>
<p>
<b>Abstract</b>:
</p>
<p>
For many applications, large bandwidth and dynamic ranges are requiring to use several sensors, whose signals are combined using complementary filters.
This paper presents a method for designing these complementary filters using \(\mathcal{H}_\infty\) synthesis that allows to shape the filter norms.
This method is shown to be easily applicable for the synthesis of complex complementary filters.
</p>
</blockquote>
<div id="outline-container-orgf99c99d" class="outline-2">
<h2 id="orgf99c99d">Paper (<a href="paper/paper.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-orgf99c99d">
<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-orga085973" class="outline-2">
<h2 id="orga085973">Tikz Figures (<a href="tikz/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orga085973">
<p>
All the figures for the paper have been generated using <a href="https://sourceforge.net/projects/pgf/">TikZ</a>.
</p>
</div>
</div>
</div>
</body>
</html>

59
index.org Normal file
View File

@ -0,0 +1,59 @@
#+TITLE: Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis
:DRAWER:
#+SUBTITLE: Dehaeze Thomas, Verma Mohit and Collette Christophe
#+OPTIONS: toc:nil
#+OPTIONS: html-postamble:nil
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="css/readtheorg.css"/>
#+HTML_HEAD: <script src="js/jquery.min.js"></script>
#+HTML_HEAD: <script src="js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="js/readtheorg.js"></script>
:END:
#+begin_quote
*Abstract*:
For many applications, large bandwidth and dynamic ranges are requiring to use several sensors, whose signals are combined using complementary filters.
This paper presents a method for designing these complementary filters using $\mathcal{H}_\infty$ synthesis that allows to shape the filter norms.
This method is shown to be easily applicable for the synthesis of complex complementary filters.
#+end_quote
* Paper ([[file:paper/paper.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]]) :noexport:
:PROPERTIES:
:UNNUMBERED: t
:END:
All the [[https://fr.mathworks.com/][Matlab]] code that was used for the paper are accessible so that all the results are reproducible.
* Tikz Figures ([[file:tikz/index.org][link]])
:PROPERTIES:
:UNNUMBERED: t
:END:
All the figures for the paper have been generated using [[https://sourceforge.net/projects/pgf/][TikZ]].
* Cite this paper :noexport:
:PROPERTIES:
:UNNUMBERED: t
:END:
To cite this paper use the following bibtex code.
#+begin_src bibtex
@inproceedings{dehaeze19_compl_filter_shapin_using_synth,
author = {Dehaeze, Thomas and Vermat, Mohit and Collette Christophe},
title = {Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis},
booktitle = {7th International Conference on Control, Mechatronics and Automation (ICCMA)},
year = {2019},
language = {english},
doi = {10.1109/ICCMA46720.2019.8988642},
}
#+end_src
You can also use the formatted citation below.
#+begin_quote
Dehaeze T., Vermat M., and Collette C., "Complementary Filters Shaping Using ℋ∞ Synthesis," 2019 7th International Conference on Control, Mechatronics and Automation (ICCMA), Delft, Netherlands, 2019, pp. 459-464.
#+end_quote

7
js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

4
js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
js/jquery.stickytableheaders.min.js vendored Normal file
View File

@ -0,0 +1 @@
!function(a,b){"use strict";function c(c,g){var h=this;h.$el=a(c),h.el=c,h.id=e++,h.$window=a(b),h.$document=a(document),h.$el.bind("destroyed",a.proxy(h.teardown,h)),h.$clonedHeader=null,h.$originalHeader=null,h.isSticky=!1,h.hasBeenSticky=!1,h.leftOffset=null,h.topOffset=null,h.init=function(){h.$el.each(function(){var b=a(this);b.css("padding",0),h.$originalHeader=a("thead:first",this),h.$clonedHeader=h.$originalHeader.clone(),b.trigger("clonedHeader."+d,[h.$clonedHeader]),h.$clonedHeader.addClass("tableFloatingHeader"),h.$clonedHeader.css("display","none"),h.$originalHeader.addClass("tableFloatingHeaderOriginal"),h.$originalHeader.after(h.$clonedHeader),h.$printStyle=a('<style type="text/css" media="print">.tableFloatingHeader{display:none !important;}.tableFloatingHeaderOriginal{position:static !important;}</style>'),a("head").append(h.$printStyle)}),h.setOptions(g),h.updateWidth(),h.toggleHeaders(),h.bind()},h.destroy=function(){h.$el.unbind("destroyed",h.teardown),h.teardown()},h.teardown=function(){h.isSticky&&h.$originalHeader.css("position","static"),a.removeData(h.el,"plugin_"+d),h.unbind(),h.$clonedHeader.remove(),h.$originalHeader.removeClass("tableFloatingHeaderOriginal"),h.$originalHeader.css("visibility","visible"),h.$printStyle.remove(),h.el=null,h.$el=null},h.bind=function(){h.$scrollableArea.on("scroll."+d,h.toggleHeaders),h.isWindowScrolling||(h.$window.on("scroll."+d+h.id,h.setPositionValues),h.$window.on("resize."+d+h.id,h.toggleHeaders)),h.$scrollableArea.on("resize."+d,h.toggleHeaders),h.$scrollableArea.on("resize."+d,h.updateWidth)},h.unbind=function(){h.$scrollableArea.off("."+d,h.toggleHeaders),h.isWindowScrolling||(h.$window.off("."+d+h.id,h.setPositionValues),h.$window.off("."+d+h.id,h.toggleHeaders)),h.$scrollableArea.off("."+d,h.updateWidth)},h.toggleHeaders=function(){h.$el&&h.$el.each(function(){var b,c=a(this),d=h.isWindowScrolling?isNaN(h.options.fixedOffset)?h.options.fixedOffset.outerHeight():h.options.fixedOffset:h.$scrollableArea.offset().top+(isNaN(h.options.fixedOffset)?0:h.options.fixedOffset),e=c.offset(),f=h.$scrollableArea.scrollTop()+d,g=h.$scrollableArea.scrollLeft(),i=h.isWindowScrolling?f>e.top:d>e.top,j=(h.isWindowScrolling?f:0)<e.top+c.height()-h.$clonedHeader.height()-(h.isWindowScrolling?0:d);i&&j?(b=e.left-g+h.options.leftOffset,h.$originalHeader.css({position:"fixed","margin-top":h.options.marginTop,left:b,"z-index":3}),h.leftOffset=b,h.topOffset=d,h.$clonedHeader.css("display",""),h.isSticky||(h.isSticky=!0,h.updateWidth()),h.setPositionValues()):h.isSticky&&(h.$originalHeader.css("position","static"),h.$clonedHeader.css("display","none"),h.isSticky=!1,h.resetWidth(a("td,th",h.$clonedHeader),a("td,th",h.$originalHeader)))})},h.setPositionValues=function(){var a=h.$window.scrollTop(),b=h.$window.scrollLeft();!h.isSticky||0>a||a+h.$window.height()>h.$document.height()||0>b||b+h.$window.width()>h.$document.width()||h.$originalHeader.css({top:h.topOffset-(h.isWindowScrolling?0:a),left:h.leftOffset-(h.isWindowScrolling?0:b)})},h.updateWidth=function(){if(h.isSticky){h.$originalHeaderCells||(h.$originalHeaderCells=a("th,td",h.$originalHeader)),h.$clonedHeaderCells||(h.$clonedHeaderCells=a("th,td",h.$clonedHeader));var b=h.getWidth(h.$clonedHeaderCells);h.setWidth(b,h.$clonedHeaderCells,h.$originalHeaderCells),h.$originalHeader.css("width",h.$clonedHeader.width())}},h.getWidth=function(c){var d=[];return c.each(function(c){var e,f=a(this);if("border-box"===f.css("box-sizing"))e=f[0].getBoundingClientRect().width;else{var g=a("th",h.$originalHeader);if("collapse"===g.css("border-collapse"))if(b.getComputedStyle)e=parseFloat(b.getComputedStyle(this,null).width);else{var i=parseFloat(f.css("padding-left")),j=parseFloat(f.css("padding-right")),k=parseFloat(f.css("border-width"));e=f.outerWidth()-i-j-k}else e=f.width()}d[c]=e}),d},h.setWidth=function(a,b,c){b.each(function(b){var d=a[b];c.eq(b).css({"min-width":d,"max-width":d})})},h.resetWidth=function(b,c){b.each(function(b){var d=a(this);c.eq(b).css({"min-width":d.css("min-width"),"max-width":d.css("max-width")})})},h.setOptions=function(c){h.options=a.extend({},f,c),h.$scrollableArea=a(h.options.scrollableArea),h.isWindowScrolling=h.$scrollableArea[0]===b},h.updateOptions=function(a){h.setOptions(a),h.unbind(),h.bind(),h.updateWidth(),h.toggleHeaders()},h.init()}var d="stickyTableHeaders",e=0,f={fixedOffset:0,leftOffset:0,marginTop:0,scrollableArea:b};a.fn[d]=function(b){return this.each(function(){var e=a.data(this,"plugin_"+d);e?"string"==typeof b?e[b].apply(e):e.updateOptions(b):"destroy"!==b&&a.data(this,"plugin_"+d,new c(this,b))})}}(jQuery,window);

85
js/readtheorg.js Normal file
View File

@ -0,0 +1,85 @@
$(function() {
$('.note').before("<p class='admonition-title note'>Note</p>");
$('.seealso').before("<p class='admonition-title seealso'>See also</p>");
$('.warning').before("<p class='admonition-title warning'>Warning</p>");
$('.caution').before("<p class='admonition-title caution'>Caution</p>");
$('.attention').before("<p class='admonition-title attention'>Attention</p>");
$('.tip').before("<p class='admonition-title tip'>Tip</p>");
$('.important').before("<p class='admonition-title important'>Important</p>");
$('.hint').before("<p class='admonition-title hint'>Hint</p>");
$('.error').before("<p class='admonition-title error'>Error</p>");
$('.danger').before("<p class='admonition-title danger'>Danger</p>");
});
$( document ).ready(function() {
// Shift nav in mobile when clicking the menu.
$(document).on('click', "[data-toggle='wy-nav-top']", function() {
$("[data-toggle='wy-nav-shift']").toggleClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
// Close menu when you click a link.
$(document).on('click', ".wy-menu-vertical .current ul li a", function() {
$("[data-toggle='wy-nav-shift']").removeClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
$(document).on('click', "[data-toggle='rst-current-version']", function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
});
// Make tables responsive
$("table.docutils:not(.field-list)").wrap("<div class='wy-table-responsive'></div>");
});
$( document ).ready(function() {
$('#text-table-of-contents ul').first().addClass('nav');
// ScrollSpy also requires that we use
// a Bootstrap nav component.
$('body').scrollspy({target: '#text-table-of-contents'});
// add sticky table headers
$('table').stickyTableHeaders();
// set the height of tableOfContents
var $postamble = $('#postamble');
var $tableOfContents = $('#table-of-contents');
$tableOfContents.css({paddingBottom: $postamble.outerHeight()});
// add TOC button
var toggleSidebar = $('<div id="toggle-sidebar"><a href="#table-of-contents"><h2>Table of Contents</h2></a></div>');
$('#content').prepend(toggleSidebar);
// add close button when sidebar showed in mobile screen
var closeBtn = $('<a class="close-sidebar" href="#">Close</a>');
var tocTitle = $('#table-of-contents').find('h2');
tocTitle.append(closeBtn);
});
window.SphinxRtdTheme = (function (jquery) {
var stickyNav = (function () {
var navBar,
win,
stickyNavCssClass = 'stickynav',
applyStickNav = function () {
if (navBar.height() <= win.height()) {
navBar.addClass(stickyNavCssClass);
} else {
navBar.removeClass(stickyNavCssClass);
}
},
enable = function () {
applyStickNav();
win.on('resize', applyStickNav);
},
init = function () {
navBar = jquery('nav.wy-nav-side:first');
win = jquery(window);
};
jquery(init);
return {
enable : enable
};
}());
return {
StickyNav : stickyNav
};
}($));

2
js/siunitx.js Normal file

File diff suppressed because one or more lines are too long

1597
paper/elsarticle-harv.bst Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1508
paper/elsarticle-num.bst Normal file

File diff suppressed because it is too large Load Diff

1056
paper/elsarticle.cls Normal file

File diff suppressed because it is too large Load Diff

1
paper/figs Symbolic link
View File

@ -0,0 +1 @@
../tikz/figs/

453
paper/paper.org Normal file
View File

@ -0,0 +1,453 @@
#+TITLE: Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis
:DRAWER:
#+BIND: org-latex-title-command ""
#+LATEX_CLASS: elsarticle
#+LATEX_CLASS_OPTIONS: [preprint,12pt,number]
#+OPTIONS: toc:nil todo:nil
#+STARTUP: overview
#+OPTIONS: author:nil date:nil
#+LATEX_HEADER_EXTRA: \author[1,2]{Dehaeze Thomas\corref{cor1}}
#+LATEX_HEADER_EXTRA: \author[2,3]{Verma Mohit}
#+LATEX_HEADER_EXTRA: \author[3,3]{Collette Christophe}
#+LATEX_HEADER_EXTRA: \cortext[cor1]{Corresponding author. Email Address: dehaeze.thomas@gmail.com}
#+LATEX_HEADER_EXTRA: \address[1]{European Synchrotron Radiation Facility, Grenoble, France}
#+LATEX_HEADER_EXTRA: \address[2]{Precision Mechatronics Laboratory, Univeristy of Liege, Belgium}
#+LATEX_HEADER_EXTRA: \address[3]{BEAMS Department, Free University of Brussels, Belgium}
#+LATEX_HEADER_EXTRA: \biboptions{number,sort&compress}
#+LATEX_HEADER: \usepackage{amsmath,amssymb,amsfonts}
#+LATEX_HEADER: \usepackage{algorithmic}
#+LATEX_HEADER: \usepackage{textcomp}
#+LATEX_HEADER: \usepackage{xcolor}
#+LATEX_HEADER: \usepackage{cases}
#+LATEX_HEADER: \usepackage{tabularx,siunitx,booktabs}
#+LATEX_HEADER: \usepackage{algorithmic}
#+LATEX_HEADER: \usepackage{import}
# #+LATEX_HEADER: \usepackage[USenglish]{babel}
# #+LATEX_HEADER: \setcounter{footnote}{1}
#+LATEX_HEADER: \renewcommand{\citedash}{--}
# #+LATEX_HEADER: \IEEEoverridecommandlockouts
:END:
* Build :noexport:
#+NAME: startblock
#+BEGIN_SRC emacs-lisp :results none
(add-to-list 'org-latex-classes
'("elsarticle"
"\\documentclass{elsarticle}"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
)
(defun delete-org-comments (backend)
(loop for comment in (reverse (org-element-map (org-element-parse-buffer)
'comment 'identity))
do
(setf (buffer-substring (org-element-property :begin comment)
(org-element-property :end comment))
"")))
;; add to export hook
(add-hook 'org-export-before-processing-hook 'delete-org-comments)
;; Remove hypersetup
(setq org-latex-with-hyperref nil)
#+END_SRC
* Front Matter :ignore:
#+begin_frontmatter
#+begin_abstract
For many applications, large bandwidth and dynamic ranges are requiring to use several sensors, whose signals are combined using complementary filters.
This paper presents a method for designing these complementary filters using $\mathcal{H}_\infty$ synthesis that allows to shape the filter norms.
This method is shown to be easily applicable for the synthesis of complex complementary filters.
#+end_abstract
#+begin_keyword
Complementary Filters \sep Sensor Fusion \sep H-Infinity Synthesis
#+end_keyword
#+end_frontmatter
* Introduction
<<sec:introduction>>
*** Establish the importance of the research topic :ignore:
# What are Complementary Filters
A set of filters is said to be complementary if the sum of their transfer functions is equal to one at all frequencies.
These filters are used when two or more sensors are measuring the same physical quantity with different noise characteristics. Unreliable frequencies of each sensor are filtered out by the complementary filters and then combined to form a super sensor giving a better estimate of the physical quantity over a wider bandwidth.
This technique is called sensor fusion and is used in many applications.\par
*** Applications of complementary filtering :ignore:
# Improve bandwidth for UAV
In cite:zimmermann92_high_bandw_orien_measur_contr,corke04_inert_visual_sensin_system_small_auton_helic,min15_compl_filter_desig_angle_estim, various sensors (accelerometers, gyroscopes, vision sensors, etc.) are merged using complementary filters for the attitude estimation of Unmanned Aerial Vehicles (UAV).
# Improving the control robustness
In cite:collette15_sensor_fusion_method_high_perfor, several sensor fusion configurations using different types of sensors are discussed in order to increase the control bandwidth of active vibration isolation systems.
# Merging of different sensor types
Furthermore, sensor fusion is used in the isolation systems of the Laser Interferometer Gravitational-Wave Observator (LIGO) to merge inertial sensors with relative sensors
cite:matichard15_seism_isolat_advan_ligo,hua04_polyp_fir_compl_filter_contr_system. \par
*** Current design methods for complementary filters :ignore:
# Why Design of Complementary Filter is important
As the super sensor noise characteristics largely depend on the complementary filter norms, their proper design is of primary importance for sensor fusion.
# Discuss the different approach to complementary filter design
In cite:corke04_inert_visual_sensin_system_small_auton_helic,jensen13_basic_uas,min15_compl_filter_desig_angle_estim, first and second order analytical formulas of complementary filters have been presented.
# Third Order and Higher orders
Higher order complementary filters have been used in
cite:shaw90_bandw_enhan_posit_measur_using_measur_accel,zimmermann92_high_bandw_orien_measur_contr,collette15_sensor_fusion_method_high_perfor.
# Alternate Formulation
In cite:jensen13_basic_uas, the sensitivity and complementary sensitivity transfer functions of a feedback architecture have been proposed to be used as complementary filters. The design of such filters can then benefit from the classical control theory developments.
# LMI / convex Optimization
Linear Matrix Inequalities (LMIs) are used in cite:pascoal99_navig_system_desig_using_time for the synthesis of complementary filters satisfying some frequency-like performance.
# FIR Filters
Finally, a synthesis method of high order Finite Impulse Response (FIR) complementary filters using convex optimization has been developed in cite:hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system. \par
*** Describe a gap in the research :ignore:
# There is a need for easy synthesis methods for complementary filters
Although many design methods of complementary filters have been proposed in the literature, no simple method that allows to shape the norm of the complementary filters is available.
*** Describe the paper itself / the problem which is addressed :ignore:
# In this paper, we propose a synthesis method for the shaping of complementary filters using the $\mathcal{H}_\infty$ norm.\par
This paper presents a new design method of complementary filters based on $\mathcal{H}_\infty$ synthesis.
This design method permits to easily shape the norms of the generated filters.\par
*** Introduce Each part of the paper :ignore:
The section ref:sec:requirements gives a brief overview of sensor fusion using complementary filters and explains how the typical requirements for such fusion can be expressed as upper bounds on the filters norms.
In section ref:sec:hinf_method, a new design method for the shaping of complementary filters using $\mathcal{H}_\infty$ synthesis is proposed.
In section ref:sec:application_ligo, the method is used to design complex complementary filters that are used for sensor fusion at the LIGO.
Our conclusions are drawn in the final section.
* Complementary Filters Requirements
<<sec:requirements>>
** Sensor Fusion Architecture
<<sec:sensor_fusion>>
Let's consider two sensors measuring the same physical quantity $x$ with dynamics $G_1(s)$ and $G_2(s)$, and with uncorrelated noise characteristics $n_1$ and $n_2$.
The signals from both sensors are fed into two complementary filters $H_1(s)$ and $H_2(s)$ and then combined to yield an estimate $\hat{x}$ of $x$ as shown in Fig. ref:fig:fusion_super_sensor.
#+name: eq:comp_filter_estimate
\begin{equation}
\hat{x} = \left(G_1 H_1 + G_2 H_2\right) x + H_1 n_1 + H_2 n_2
\end{equation}
#+name: fig:fusion_super_sensor
#+caption: Sensor fusion architecture
#+attr_latex: :scale 1
[[file:figs/fusion_super_sensor.pdf]]
The complementary property of $H_1(s)$ and $H_2(s)$ implies that their transfer function sum is equal to one at all frequencies eqref:eq:comp_filter.
#+name: eq:comp_filter
\begin{equation}
H_1(s) + H_2(s) = 1
\end{equation}
** Noise Sensor Filtering
<<sec:noise_filtering>>
Let's first consider sensors with perfect dynamics
#+name: eq:perfect_dynamics
\begin{equation}
G_1(s) = G_2(s) = 1
\end{equation}
The estimate $\hat{x}$ is then described by
#+name: eq:estimate_perfect_dyn
\begin{equation}
\hat{x} = x + H_1 n_1 + H_2 n_2
\end{equation}
From eqref:eq:estimate_perfect_dyn, the complementary filters $H_1(s)$ and $H_2(s)$ are shown to only operate on the sensor's noise.
Thus, this sensor fusion architecture permits to filter the noise of both sensors without introducing any distortion in the physical quantity to be measured.
Let's define the estimation error $\delta x$ by eqref:eq:estimate_error.
#+name: eq:estimate_error
\begin{equation}
\delta x \triangleq \hat{x} - x = H_1 n_1 + H_2 n_2
\end{equation}
As shown in eqref:eq:noise_filtering_psd, the Power Spectral Density (PSD) of the estimation error $\Phi_{\delta x}$ depends both on the norm of the two complementary filters and on the PSD of the noise sources $\Phi_{n_1}$ and $\Phi_{n_2}$.
#+name: eq:noise_filtering_psd
\begin{equation}
\Phi_{\delta x} = \left|H_1\right|^2 \Phi_{n_1} + \left|H_2\right|^2 \Phi_{n_2}
\end{equation}
Usually, the two sensors have high noise levels over distinct frequency regions.
In order to lower the noise of the super sensor, the value of the norm $|H_1|$ has to be lowered when $\Phi_{n_1}$ is larger than $\Phi_{n_2}$ and that of $|H_2|$ lowered when $\Phi_{n_2}$ is larger than $\Phi_{n_1}$.
** Robustness of the Fusion
<<sec:fusion_robustness>>
In practical systems the sensor dynamics is not perfect and eqref:eq:perfect_dynamics is not verified.
In such case, one can use an inversion filter $\hat{G}_i^{-1}(s)$ to normalize the sensor dynamics, where $\hat{G}_i(s)$ is an estimate of the sensor dynamics $G_i(s)$.
However, as there is always some level of uncertainty on the dynamics, it cannot be perfectly inverted and $\hat{G}_i^{-1}(s) G_i(s) \neq 1$.
Let's represent the resulting dynamic uncertainty of the inverted sensors by an input multiplicative uncertainty as shown in Fig. ref:fig:sensor_fusion_dynamic_uncertainty where $\Delta_i$ is any stable transfer function satisfying $|\Delta_i(j\omega)| \le 1,\ \forall\omega$, and $|w_i(s)|$ is a weight representing the magnitude of the uncertainty.
#+name: fig:sensor_fusion_dynamic_uncertainty
#+caption: Sensor fusion architecture with sensor dynamics uncertainty
#+attr_latex: :scale 1
[[file:figs/sensor_fusion_dynamic_uncertainty.pdf]]
The super sensor dynamics eqref:eq:super_sensor_dyn_uncertainty is no longer equal to $1$ and now depends on the sensor dynamics uncertainty weights $w_i(s)$ as well as on the complementary filters $H_i(s)$.
#+name: eq:super_sensor_dyn_uncertainty
\begin{equation}
\frac{\hat{x}}{x} = 1 + w_1(s) H_1(s) \Delta_1(s) + w_2(s) H_2(s) \Delta_2(s)
\end{equation}
The uncertainty region of the super sensor can be represented in the complex plane by a circle centered on $1$ with a radius equal to $|w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)|$ as shown in Fig. ref:fig:uncertainty_set_super_sensor.
#+name: fig:uncertainty_set_super_sensor
#+caption: Uncertainty region of the super sensor dynamics in the complex plane (solid circle). The contribution of both sensors 1 and 2 to the uncertainty are represented respectively by a dotted and a dashed circle
#+attr_latex: :scale 1
[[file:figs/uncertainty_set_super_sensor.pdf]]
The maximum phase added $\Delta\phi(\omega)$ by the super sensor dynamics at frequency $\omega$ is then
#+name: eq:max_phase_uncertainty
\begin{equation}
\Delta\phi(\omega) = \arcsin\big( |w_1(j\omega) H_1(j\omega)| + |w_2(j\omega) H_2(j\omega)| \big)
\end{equation}
As it is generally desired to limit the maximum phase added by the super sensor, $H_1(s)$ and $H_2(s)$ should be designed such that eqref:eq:max_uncertainty_super_sensor is satisfied.
#+name: eq:max_uncertainty_super_sensor
\begin{equation}
\max_\omega \big( \left|w_1 H_1\right| + \left|w_2 H_2\right|\big) < \sin\left( \Delta \phi_\text{max} \right)
\end{equation}
where $\Delta \phi_\text{max}$ is the maximum allowed added phase.
Thus the norm of the complementary filter $|H_i|$ should be made small at frequencies where $|w_i|$ is large.
* Complementary Filters Shaping using $\mathcal{H}_\infty$ Synthesis
<<sec:hinf_method>>
** Introduction :ignore:
As shown in Sec. ref:sec:requirements, the performance and robustness of the sensor fusion architecture depends on the complementary filters norms.
Therefore, the development of a synthesis method of complementary filters that allows the shaping of their norm is necessary.
** Shaping of Complementary Filters using $\mathcal{H}_\infty$ synthesis
<<sec:hinf_synthesis>>
The synthesis objective is to shape the norm of two filters $H_1(s)$ and $H_2(s)$ while ensuring their complementary property eqref:eq:comp_filter.
This is equivalent as to finding stable transfer functions $H_1(s)$ and $H_2(s)$ such that conditions eqref:eq:comp_filter_problem_form are satisfied.
#+name: eq:comp_filter_problem_form
\begin{subequations}
\begin{align}
& H_1(s) + H_2(s) = 1 \label{eq:hinf_cond_complementarity} \\
& |H_1(j\omega)| \le \frac{1}{|W_1(j\omega)|} \quad \forall\omega \label{eq:hinf_cond_h1} \\
& |H_2(j\omega)| \le \frac{1}{|W_2(j\omega)|} \quad \forall\omega \label{eq:hinf_cond_h2}
\end{align}
\end{subequations}
where $W_1(s)$ and $W_2(s)$ are two weighting transfer functions that are chosen to shape the norms of the corresponding filters.
In order to express this optimization problem as a standard $\mathcal{H}_\infty$ problem, the architecture shown in Fig. ref:fig:h_infinity_robust_fusion is used where the generalized plant $P$ is described by eqref:eq:generalized_plant.
#+name: eq:generalized_plant
\begin{equation}
\begin{bmatrix} z_1 \\ z_2 \\ v \end{bmatrix} = P(s) \begin{bmatrix} w\\u \end{bmatrix}; \quad P(s) = \begin{bmatrix}W_1(s) & -W_1(s) \\ 0 & W_2(s) \\ 1 & 0 \end{bmatrix}
\end{equation}
#+name: fig:h_infinity_robust_fusion
#+caption: Architecture used for $\mathcal{H}_\infty$ synthesis of complementary filters
#+attr_latex: :scale 1
[[file:figs/h_infinity_robust_fusion.pdf]]
The $\mathcal{H}_\infty$ filter design problem is then to find a stable filter $H_2(s)$ which based on $v$, generates a signal $u$ such that the $\mathcal{H}_\infty$ norm from $w$ to $[z_1, \ z_2]$ is less than one eqref:eq:hinf_syn_obj.
#+name: eq:hinf_syn_obj
\begin{equation}
\left\|\begin{matrix} \left[1 - H_2(s)\right] W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
\end{equation}
This is equivalent to having eqref:eq:hinf_problem by defining $H_1(s)$ as the complementary filter of $H_2(s)$ eqref:eq:definition_H1.
#+name: eq:hinf_problem
\begin{equation}
\left\|\begin{matrix} H_1(s) W_1(s) \\ H_2(s) W_2(s) \end{matrix}\right\|_\infty \le 1
\end{equation}
#+name: eq:definition_H1
\begin{equation}
H_1(s) \triangleq 1 - H_2(s)
\end{equation}
The complementary condition eqref:eq:hinf_cond_complementarity is ensured by eqref:eq:definition_H1.
The conditions eqref:eq:hinf_cond_h1 and eqref:eq:hinf_cond_h2 on the filters shapes are satisfied by eqref:eq:hinf_problem.
Therefore, all the conditions eqref:eq:comp_filter_problem_form are satisfied using this synthesis method based on $\mathcal{H}_\infty$ synthesis, and thus it permits to shape complementary filters as desired.
** Weighting Functions Design
<<sec:hinf_weighting_func>>
The proper design of the weighting functions is of primary importance for the success of the presented complementary filters $\mathcal{H}_\infty$ synthesis.
First, only proper, stable and minimum phase transfer functions should be used.
Second, the order of the weights should stay reasonably small in order to reduce the computational costs associated with the solving of the optimization problem and for the physical implementation of the filters (the order of the synthesized filters being equal to the sum of the weighting functions order).
Third, one should not forget the fundamental limitations imposed by the complementary property eqref:eq:comp_filter.
This implies for instance that $|H_1(j\omega)|$ and $|H_2(j\omega)|$ cannot be made small at the same time.
# Explain why we propose such weighting function
When designing complementary filters, it is usually desired to specify the slope of the filter, its crossover frequency and its gain at low and high frequency.
To help with the design of the weighting functions such that the above specification can be easily expressed, the following formula is proposed.
#+name: eq:weight_formula
\begin{equation}
W(s) = \left( \frac{
\hfill{} \frac{1}{\omega_0} \sqrt{\frac{1 - \left(\frac{G_0}{G_c}\right)^{\frac{2}{n}}}{1 - \left(\frac{G_c}{G_\infty}\right)^{\frac{2}{n}}}} s + \left(\frac{G_0}{G_c}\right)^{\frac{1}{n}}
}{
\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 permit to specify:
- the low frequency gain: $G_0 = lim_{\omega \to 0} |W(j\omega)|$
- the high frequency gain: $G_\infty = lim_{\omega \to \infty} |W(j\omega)|$
- the absolute gain at $\omega_0$: $G_c = |W(j\omega_0)|$
- the absolute slope between high and low frequency: $n$
The parameters $G_0$, $G_c$ and $G_\infty$ should either satisfy condition eqref:eq:cond_formula_1 or eqref:eq:cond_formula_2.
#+name: eq:condition_params_formula
\begin{subequations}
\begin{align}
G_0 < 1 < G_\infty \text{ and } G_0 < G_c < G_\infty \label{eq:cond_formula_1}\\
G_\infty < 1 < G_0 \text{ and } G_\infty < G_c < G_0 \label{eq:cond_formula_2}
\end{align}
\end{subequations}
The general shape of a weighting function generated using eqref:eq:weight_formula is shown in Fig. ref:fig:weight_formula.
#+name: fig:weight_formula
#+caption: Magnitude of a weighting function generated using the proposed formula eqref:eq:weight_formula, $G_0 = 1e^{-3}$, $G_\infty = 10$, $\omega_c = \SI{10}{Hz}$, $G_c = 2$, $n = 3$
#+attr_latex: :scale 1
[[file:figs/weight_formula.pdf]]
** Validation of the proposed synthesis method
<<sec:hinf_example>>
Let's validate the proposed design method of complementary filters with a simple example where two complementary filters $H_1(s)$ and $H_2(s)$ have to be designed such that:
- the merging frequency is around $\SI{10}{Hz}$
- the slope of $|H_1(j\omega)|$ is $-2$ above $\SI{10}{Hz}$
- the slope of $|H_2(j\omega)|$ is $+3$ below $\SI{10}{Hz}$
- the gain of both filters is equal to $10^{-3}$ away from the merging frequency
The weighting functions $W_1(s)$ and $W_2(s)$ are designed using eqref:eq:weight_formula.
The parameters used are summarized in table ref:tab:weights_params and the magnitude of the weighting functions is shown in Fig. ref:fig:hinf_synthesis_results.
#+name: tab:weights_params
#+caption: Parameters used for $W_1(s)$ and $W_2(s)$
#+ATTR_LATEX: :environment tabularx :width 0.5\linewidth :align Xcc
#+ATTR_LATEX: :center t :booktabs t :float t
| Parameter | $W_1(s)$ | $W_2(s)$ |
|------------------------+----------+----------|
| $G_0$ | $0.1$ | $1000$ |
| $G_\infty$ | $1000$ | $0.1$ |
| $\omega_c$ [$\si{Hz}$] | $11$ | $10$ |
| $G_c$ | $0.5$ | $0.5$ |
| $n$ | $2$ | $3$ |
The bode plots of the obtained complementary filters are shown in Fig. ref:fig:hinf_synthesis_results and their transfer functions in the Laplace domain are given below.
\begin{align*}
H_1(s) &= \frac{10^{-8} (s+6.6e^9) (s+3450)^2 (s^2 + 49s + 895)}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)}\\
H_2(s) &= \frac{(s+6.6e^4) (s+160) (s+4)^3}{(s+6.6e^4) (s^2 + 106 s + 3e^3) (s^2 + 72s + 3580)}
\end{align*}
#+name: fig:hinf_synthesis_results
#+caption: Frequency response of the weighting functions and complementary filters obtained using $\mathcal{H}_\infty$ synthesis
#+attr_latex: :scale 1
[[file:figs/hinf_synthesis_results.pdf]]
** Synthesis of Three Complementary Filters
<<sec:hinf_three_comp_filters>>
*** Why it is used sometimes :ignore:
Some applications may require to merge more than two sensors.
In such a case, it is necessary to design as many complementary filters as the number of sensors used.
*** Mathematical Problem :ignore:
The synthesis problem is then to compute $n$ stable transfer functions $H_i(s)$ such that eqref:eq:hinf_problem_gen is satisfied.
#+name: eq:hinf_problem_gen
\begin{subequations}
\begin{align}
& \sum_{i=0}^n H_i(s) = 1 \label{eq:hinf_cond_compl_gen} \\
& \left| H_i(j\omega) \right| < \frac{1}{\left| W_i(j\omega) \right|}, \quad \forall \omega,\ i = 1 \dots n \label{eq:hinf_cond_perf_gen}
\end{align}
\end{subequations}
*** H-Infinity Architecture :ignore:
The synthesis method is generalized here for the synthesis of three complementary filters using the architecture shown in Fig. ref:fig:comp_filter_three_hinf.
The $\mathcal{H}_\infty$ synthesis objective applied on $P(s)$ is to design two stable filters $H_2(s)$ and $H_3(s)$ such that the $\mathcal{H}_\infty$ norm of the transfer function from $w$ to $[z_1,\ z_2, \ z_3]$ is less than one eqref:eq:hinf_syn_obj_three.
#+name: eq:hinf_syn_obj_three
\begin{equation}
\left\| \begin{matrix} \left[1 - H_2(s) - H_3(s)\right] W_1(s) \\ H_2(s) W_2(s) \\ H_3(s) W_3(s) \end{matrix} \right\|_\infty \le 1
\end{equation}
#+name: fig:comp_filter_three_hinf
#+caption: Architecture for $\mathcal{H}_\infty$ synthesis of three complementary filters
#+attr_latex: :scale 1
[[file:figs/comp_filter_three_hinf.pdf]]
By choosing $H_1(s) \triangleq 1 - H_2(s) - H_3(s)$, the proposed $\mathcal{H}_\infty$ synthesis solves the design problem eqref:eq:hinf_problem_gen. \par
*** Example of generated complementary filters :ignore:
An example is given to validate the method where three sensors are used in different frequency bands (up to $\SI{1}{Hz}$, from $1$ to $\SI{10}{Hz}$ and above $\SI{10}{Hz}$ respectively).
Three weighting functions are designed using eqref:eq:weight_formula and shown by dashed curves in Fig. ref:fig:hinf_three_synthesis_results.
The bode plots of the obtained complementary filters are shown in Fig. ref:fig:hinf_three_synthesis_results.
#+name: fig:hinf_three_synthesis_results
#+caption: Frequency response of the weighting functions and three complementary filters obtained using $\mathcal{H}_\infty$ synthesis
#+attr_latex: :scale 1
[[file:figs/hinf_three_synthesis_results.pdf]]
* Application: Design of Complementary Filters used in the Active Vibration Isolation System at the LIGO
<<sec:application_ligo>>
** Introduction :ignore:
Several complementary filters are used in the active isolation system at the LIGO cite:hua05_low_ligo,hua04_polyp_fir_compl_filter_contr_system.
The requirements on those filters are very tight and thus their design is complex.
The approach used in cite:hua05_low_ligo for their design is to write the synthesis of complementary FIR filters as a convex optimization problem.
The obtained FIR filters are compliant with the requirements. However they are of very high order so their implementation is quite complex.
The effectiveness of the proposed method is demonstrated by designing complementary filters with the same requirements as the one described in cite:hua05_low_ligo.
** Complementary Filters Specifications
<<sec:ligo_specifications>>
The specifications for one pair of complementary filters used at the LIGO are summarized below (for further details, refer to cite:hua04_polyp_fir_compl_filter_contr_system) and shown in Fig. ref:fig:ligo_weights:
- From $0$ to $\SI{0.008}{Hz}$, the magnitude of the filter's transfer function should be less or equal to $8 \times 10^{-4}$
- Between $\SI{0.008}{Hz}$ to $\SI{0.04}{Hz}$, the filter should attenuate the input signal proportional to frequency cubed
- Between $\SI{0.04}{Hz}$ to $\SI{0.1}{Hz}$, the magnitude of the transfer function should be less than $3$
- Above $\SI{0.1}{Hz}$, the magnitude of the complementary filter should be less than $0.045$
** Weighting Functions Design
<<sec:ligo_weights>>
The weighting functions should be designed such that their inverse magnitude is as close as possible to the specifications in order to not over-constrain the synthesis problem.
However, the order of each weight should stay reasonably small in order to reduce the computational costs of the optimization problem as well as for the physical implementation of the filters.
A Type I Chebyshev filter of order $20$ is used as the weighting transfer function $w_L(s)$ corresponding to the low pass filter.
For the one corresponding to the high pass filter $w_H(s)$, a $7^{\text{th}}$ order transfer function is designed.
The magnitudes of the weighting functions are shown in Fig. ref:fig:ligo_weights.
#+name: fig:ligo_weights
#+caption: Specifications and weighting functions magnitudes
#+attr_latex: :scale 1
[[file:figs/ligo_weights.pdf]]
** $\mathcal{H}_\infty$ Synthesis
<<sec:ligo_results>>
$\mathcal{H}_\infty$ synthesis is performed using the architecture shown in Fig. ref:eq:generalized_plant.
The complementary filters obtained are of order $27$.
In Fig. ref:fig:comp_fir_ligo_hinf, their bode plot is compared with the FIR filters of order 512 obtained in cite:hua05_low_ligo.
They are found to be very close to each other and this shows the effectiveness of the proposed synthesis method.
#+name: fig:comp_fir_ligo_hinf
#+caption: Comparison of the FIR filters (solid) designed in cite:hua05_low_ligo with the filters obtained with $\mathcal{H}_\infty$ synthesis (dashed)
#+attr_latex: :scale 1
[[file:figs/comp_fir_ligo_hinf.pdf]]
* Conclusion
<<sec:conclusion>>
This paper has shown how complementary filters can be used to combine multiple sensors in order to obtain a super sensor.
Typical specification on the super sensor noise and on the robustness of the sensor fusion has been shown to be linked to the norm of the complementary filters.
Therefore, a synthesis method that permits the shaping of the complementary filters norms has been proposed and has been successfully applied for the design of complex filters.
Future work will aim at further developing this synthesis method for the robust and optimal synthesis of complementary filters used in sensor fusion.
* Acknowledgment
:PROPERTIES:
:UNNUMBERED: t
:END:
This research benefited from a FRIA grant from the French Community of Belgium.
* Bibliography :ignore:
\bibliographystyle{elsarticle-num}
\bibliography{ref}

BIN
paper/paper.pdf Normal file

Binary file not shown.

134
paper/ref.bib Normal file
View File

@ -0,0 +1,134 @@
@article{collette15_sensor_fusion_method_high_perfor,
author = {Collette, Christophe and Matichard, Fabrice},
title = {Sensor Fusion Methods for High Performance Active Vibration
Isolation Systems},
journal = {Journal of Sound and Vibration},
volume = 342,
pages = {1-21},
year = 2015,
doi = {10.1016/j.jsv.2015.01.006},
}
@phdthesis{hua05_low_ligo,
author = {Hua, Wensheng},
school = {stanford university},
title = {Low frequency vibration isolation and alignment system for
advanced LIGO},
year = 2005,
}
@inproceedings{hua04_polyp_fir_compl_filter_contr_system,
author = {Hua, Wensheng and Debra, B. and Hardham, T. and Lantz, T. and Giaime, A.},
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{matichard15_seism_isolat_advan_ligo,
author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and
Kissel, J 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 = {Corke, Peter},
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,
}
@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,
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,
}
@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,
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,
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,
}
@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,
}
@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,
}

1126
tikz/config.html Normal file

File diff suppressed because it is too large Load Diff

637
tikz/config.org Normal file
View File

@ -0,0 +1,637 @@
#+TITLE: LaTeX Configuration for Tikz Figures
:DRAWER:
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
#+PROPERTY: header-args:latex+ :tangle config.tex
#+PROPERTY: header-args:latex+ :exports code
:END:
* Packages
#+begin_src latex
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french, english]{babel} % Last language is main language
\usepackage{lmodern} % Latin Modern Font
\usepackage{gensymb} % Generic symbols for both text and math mode
\usepackage{standalone} % Used to generate standalone Tikz
\usepackage{amsmath} % Main math Package
\usepackage{mathtools} % Extension package to amsmath
\usepackage{amsthm} % Typesetting theorems (AMS style)
\usepackage{amsfonts} % More fonts from the AMS
\usepackage{textcomp} % provide many text symbols
\usepackage{steinmetz} % For phase symbol
\usepackage{xstring} % Utils to manipulate strings
\usepackage{etoolbox} % Add basic if/then
\usepackage{esvect} % Beautyfull vectors
\usepackage{graphicx} % Enhanced support for graphics
\usepackage{grffile} % Used by matlab2tikz
\usepackage{microtype} % typographic tuning
\usepackage{setspace} % for line spacing, e.g. \onehalfspacing
\usepackage{tabularx} % table features
\usepackage{enumitem} % for simple list modifications
\usepackage{booktabs} % better table support
\usepackage{stackengine} %
\usepackage[load-configurations=abbreviations]{siunitx} % SI units
\sisetup{
locale = US,
detect-all,
range-phrase=--,
range-units=single
}
#+end_src
* Tikz related packages
#+begin_src latex
\usepackage{tikz} % Tikz
\usepackage{tikzscale} % Used to scale Tikz graphics
\usepackage{adjustbox} % Used to proper positioning of tikz pictures
\usepackage{circuitikz} % Draw electronic circuits
\usepackage{pgfpages} % Needed to use notes
\usepackage{pgfplots} % Used to plot functions
#+end_src
* Tikz Libraries
#+begin_src latex
\usetikzlibrary{arrows} % Arrow tip library
\usetikzlibrary{arrows.meta} % Add some arrows
\usetikzlibrary{calc} % The library allows advanced Coordinate Calculations
\usetikzlibrary{intersections} % calculate intersections of paths
\usetikzlibrary{matrix} %
\usetikzlibrary{patterns} %
\usetikzlibrary{shapes} % Defines circle and rectangle
\usetikzlibrary{shapes.geometric} % Use for the shape diamond and isosceles triangle
\usetikzlibrary{snakes} % snake=coil and snake=zigzag using segment amplitude=10pt
\usetikzlibrary{positioning} % Additional options for placing nodes
\usetikzlibrary{3d} % Plot 3D shapes
\usetikzlibrary{spy} % Creating a magnified area
\usetikzlibrary{decorations.text} % Used to make text follows a curve
\usetikzlibrary{decorations.pathmorphing} % deformation of a path
\usetikzlibrary{decorations.markings} % Used for spring and damper
\usetikzlibrary{babel} % A tiny library that make the interaction with the babel package easier
\usetikzlibrary{plotmarks} % This library defines a number of plot marks
\usetikzlibrary{fit} % Used to make rectangle as nodes by specifying two points
\usetikzlibrary{backgrounds} % Used to put things under others
#+end_src
* PGF Plot libraries and config
#+begin_src latex
\usepgfplotslibrary{patchplots}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=newest}
\pgfplotsset{plot coordinates/math parser=false}
#+end_src
* Setup size of figures
#+begin_src latex
\newlength{\fheight}
\newlength{\fwidth}
\setlength{\fwidth}{85mm}
\setlength{\fheight}{112mm}
#+end_src
* Setup Arrows style
#+begin_src latex
\tikzset{>=Stealth}
% Setup default Linewidth
\tikzset{every path/.style={line width=1pt}}
#+end_src
* Colors
#+begin_src latex
\usepackage{xcolor}% Color extension
\definecolor{mycolor1}{RGB}{79,115,193}
\definecolor{mycolor2}{RGB}{213,91,53}
\definecolor{mycolor3}{RGB}{152,126,49}
#+end_src
* Control
** Blocks
#+begin_src latex
\tikzset{%
block/.style n args={2}{%
draw,
fill=white,
minimum width = #1,
minimum height = #2,
},
block/.default={1.2cm}{1.0cm}
}
#+end_src
** Branches
#+begin_src latex
\tikzstyle{branch}=[fill,shape=circle,minimum size=4pt,inner sep=0pt]
\tikzstyle{->top}=[-{Stealth[color=black, scale=0.8]}, draw=white, double=black, double distance=1pt, line width=1pt]
\tikzstyle{<-top}=[{stealth[color=black, scale=0.8]}-, draw=white, double=black, double distance=1pt, line width=1pt]
#+end_src
** Hand Writen Style
Usefull for schematic plots
#+begin_src latex
\tikzstyle{handwriten}=[decorate,decoration={random steps,amplitude=0.1pt,segment length=0.8pt}]
#+end_src
** DAC
#+begin_src latex
\tikzset{%
DAC/.style={%
draw,
signal,
}
}
#+end_src
** ADC
#+begin_src latex
\tikzset{%
ADC/.style={%
draw,
signal,
signal to = west,
}
}
#+end_src
** Gain
#+begin_src latex
\tikzset{%
gain right/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=-90
},
gain left/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=90
},
gain top/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=0
},
gain bottom/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=180
},
}
#+end_src
** Add / Substract / Divide / Multiply block
#+begin_src latex
\tikzset{% Add block with Circled operations
addc/.style n args={5}{%
draw,
fill=white,
circle,
outer sep = 0pt,
inner sep = 0pt,
minimum size = 2em,
execute at begin node={\LARGE $#1$},
append after command={\pgfextra{\let\mainnode=\tikzlastnode}
\ifx#2\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, above left] at (\mainnode.west) {$#2$}%
\fi
\ifx#3\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, above right] at (\mainnode.north) {$#3$}%
\fi
\ifx#4\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, below right] at (\mainnode.east) {$#4$}%
\fi
\ifx#5\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, below left] at (\mainnode.south) {$#5$}%
\fi
}
},
addc/.default={+}{}{}{}{},
}
#+end_src
#+begin_src latex
\tikzset{% Add Block
addb/.style n args={5}{%
draw,
fill=white,
circle,
outer sep = 0pt,
inner sep = 0pt,
minimum size = 2em,
execute at begin node={\LARGE $#1$},
append after command={\pgfextra{\let\mainnode=\tikzlastnode}
\ifx#2\empty\else
node[outer sep=2pt, inner sep=0pt, above left] at (\mainnode.west) {$#2$}%
\fi
\ifx#3\empty\else
node[outer sep=2pt, inner sep=0pt, above right] at (\mainnode.north) {$#3$}%
\fi
\ifx#4\empty\else
node[outer sep=2pt, inner sep=0pt, below right] at (\mainnode.east) {$#4$}%
\fi
\ifx#5\empty\else
node[outer sep=2pt, inner sep=0pt, below left] at (\mainnode.south) {$#5$}%
\fi
}
},
addb/.default={+}{}{}{}{},
}
#+end_src
* Plots
** Default line caps
#+begin_src latex
\pgfplotsset{
every axis plot/.append style={line join=round},
every axis plot/.append style={line cap=round},
}
#+end_src
** Grid
#+begin_src latex
\pgfplotsset{grid style={black}}
\pgfplotsset{major grid style={black!30!white}}
\pgfplotsset{minor grid style={black!10!white}}
\pgfplotsset{xmajorgrids}
\pgfplotsset{ymajorgrids}
#+end_src
** Lines
#+begin_src latex
\pgfplotsset{separate axis lines=false} % draw axis as rectangle and not as 4 lines
\pgfplotsset{every outer x axis line/.append style={black}}
\pgfplotsset{every outer y axis line/.append style={black}}
\pgfplotsset{axis background/.style={fill=white}}
\pgfplotsset{axis x line*=bottom} % solid line on the bottom with thin on the top
\pgfplotsset{axis y line*=left} % solid line on the left with thin on the right
#+end_src
** Ticks
#+begin_src latex
\pgfplotsset{every y tick label/.append style={font=\color{black}}}
\pgfplotsset{every y tick/.append style={black}}
\pgfplotsset{every x tick label/.append style={font=\color{black}}}
\pgfplotsset{every x tick/.append style={black}}
#+end_src
** Size
If =scale only axis=false= (the default), pgfplots will try to produce the desired width including labels, titles and ticks.
#+begin_src latex
\pgfplotsset{scale only axis=true}
#+end_src
** Label
Used to align all of ylabel of one figure.
#+begin_src latex
\pgfplotsset{ylabel absolute}
#+end_src
** Legend
#+begin_src latex
% https://tex.stackexchange.com/questions/54794/using-a-pgfplots-style-legend-in-a-plain-old-tikzpicture#54834
% argument #1: any options
\newenvironment{customlegend}[1][]{%
\begingroup
% inits/clears the lists (which might be populated from previous
% axes):
\csname pgfplots@init@cleared@structures\endcsname
\pgfplotsset{#1}%
}{%
% draws the legend:
\csname pgfplots@createlegend\endcsname
\endgroup
}%
% makes \addlegendimage available (typically only available within an
% axis environment):
\def\addlegendimage{\csname pgfplots@addlegendimage\endcsname}
% definition to insert numbers
% \pgfkeys{/pgfplots/number in legend/.style={%
% /pgfplots/legend image code/.code={%
% \node at (0.125,-0.0225){#1}; % <= changed x value
% },%
% },
% }
\pgfplotsset{
every legend to name picture/.style={west}
}
#+end_src
* Mechanical
** Spring
#+begin_src latex
\tikzset{%
spring/.style={%
thick,
decoration={
zigzag,
pre length = #1cm,
post length = #1cm,
segment length = 6
},
decorate
},
spring/.default={0.2}
}
#+end_src
** Coil
#+begin_src latex
\tikzset{%
coil/.style n args={2}{%
thick,
decoration={
coil,
pre length = #1cm,
post length = #2cm,
segment length = 4
},
decorate
},
coil/.default={0.3}{0.3}
}
#+end_src
** Damper
#+begin_src latex
\tikzset{%
damper/.style n args={2}{%
thick,
decoration={markings, mark connection node=dmp, mark=at position 0.5 with {
\node (dmp) [thick,
inner sep = 0pt,
transform shape,
rotate =-90,
minimum width = #1pt,
minimum height = #2pt,
draw=none] {};
\draw [thick] ($(dmp.north east)+(0.6*#2pt,0)$) -- (dmp.south east) -- (dmp.south west) -- ($(dmp.north west)+(0.6*#2pt,0)$);
\draw [thick] ($(dmp.north)+(0,-0.3*#1pt)$) -- ($(dmp.north)+(0,0.3*#1pt)$);
}
},
decorate
},
damper/.default={12}{3}
}
#+end_src
** Actuator
#+begin_src latex
\tikzset{%
actuator/.style n args={2}{%
thick,
draw=none,
decoration={
markings,
mark connection node=my node,
mark=at position .5 with {
\node [draw, inner sep=0pt, minimum width=#1cm, minimum height=#2cm,
transform shape, fill=white] (my node) {};
},
mark=at position .0 with {
\draw[<-] (0, 0) -- (my node);
},
mark=at position 1.0 with {
\draw[<-] (0, 0) -- (my node);
}
},
decorate
},
actuator/.default={0.5}{0.2}
}
#+end_src
** Ground
#+begin_src latex
\tikzset{%
ground/.style n args={2}{%
fill,
pattern = north east lines,
draw = none,
anchor = north,
minimum width = #1cm,
minimum height = #2cm,
append after command={
(\tikzlastnode.north west) edge (\tikzlastnode.north east)
}
},
ground/.default={2.5}{0.3}
}
#+end_src
** Force Sensor
#+begin_src latex
\tikzset{%
forcesensor/.style n args={2}{%
rectangle,
outer sep=0pt,
inner sep=0pt,
draw=black,
fill=white!60!black,
anchor=south,
minimum width =#1cm,
minimum height=#2cm,
append after command={
[every edge/.append style={
thick,
black,
}]
(\tikzlastnode.north west) edge (\tikzlastnode.south east)
(\tikzlastnode.north east) edge (\tikzlastnode.south west)
}
},
forcesensor/.default={2.0}{0.5}
}
#+end_src
** Inertial Sensor
#+begin_src latex
\tikzset{%
inertialsensor/.style={%
rectangle,
outer sep=0pt,
inner sep=0pt,
draw=black,
fill=white!60!black,
anchor=south east,
minimum size=#1cm,
append after command={
[every edge/.append style={
thick,
black,
}]
(\tikzlastnode.north west) edge (\tikzlastnode.south east)
(\tikzlastnode.north east) edge (\tikzlastnode.south west)
}
},
inertialsensor/.default={0.3}
}
#+end_src
** Cross
#+begin_src latex
\tikzstyle{cross}=[path picture={
\draw[black]
(path picture bounding box.south east) -- (path picture bounding box.north west) (path picture bounding box.south west) -- (path picture bounding box.north east);
}]
#+end_src
** Piezoelectric actuator
#+begin_src latex
\tikzset{%
piezo/.style n args={3}{%
draw,
rectangle,
minimum width = #1cm,
minimum height = #2cm,
fill=blue!10!white,
anchor=center,
append after command={
[every edge/.append style={
thick,
black,
}]
\foreach \i in {1,...,#3}{
(${\i/(1+#3)}*(\tikzlastnode.north west)+{(1+#3-\i)/(1+#3)}*(\tikzlastnode.south west)+0.1*(#1,0)$) edge (${\i/(1+#3)}*(\tikzlastnode.north east)+{(1+#3-\i)/(1+#3)}*(\tikzlastnode.south east)-0.1*(#1,0)$)
}
}
},
piezo/.default={2}{4}{10}
}
#+end_src
** Voice coil
#+begin_src latex
\def\voicecoil#1#2#3{
% ======================
% Parameters
% ======================
\def\voicecoilw{#1} % Total Width
\def\voicecoilh{#2} % Total Height
\def\magnetw{\voicecoilw} % Width of the magnet
\def\magneth{\voicecoilh/1.4} % Height of the magnet
\def\magnetwb{0.15*\magnetw} % Width of the borders of the magnet
\def\magnetmw{0.15*\magnetw} % Width of the middle part of the magnet
\def\magnetwg{0.5*\magnetw} % Width of the gap of the magnet
\def\magnethl{\magnetwb} % Height of the low part of the magnet
\def\magnetmh{0.15*\magneth} % Height of the middle part of the magnet
\def\magnethg{0.2*\magneth} % Height of the gap of the magnet
% ======================
\begin{scope}[shift={(0.5*\voicecoilw, 0.5*\voicecoilh)}, rotate=#3, shift={(0, -0.5*\voicecoilh)}]
% ======================
% Magnet
% ======================
\draw[fill=white] (0, 0) -| ++(0.5*\magnetw, \magneth) -| ++(-0.5*\magnetw+0.5*\magnetwg, -\magnethg) -| (0.5*\magnetw-\magnetwb, \magnethl) -| (-0.5*\magnetw+\magnetwb, \magneth-\magnethg) -| (-0.5*\magnetwg, \magneth) -| (-0.5*\magnetw, 0) -- (cycle);
\begin{scope}[shift={(0, \magnethl)}]
\draw[fill=red] (-0.5*\magnetmw, 0) rectangle (0.5*\magnetmw, \magnetmh);
\draw[fill=blue] (-0.5*\magnetmw, \magnetmh) rectangle (0.5*\magnetmw, 2*\magnetmh);
% Top conductive Magnet
\draw[fill=white] (-0.5*\magnetmw, 2*\magnetmh) -| (0.5*\magnetmw, -\magnethl+\magneth-\magnethg) -| ++(0.1, \magnethg) -| ++(-0.2-\magnetmw, -\magnethg) -| (-0.5*\magnetmw, \magnetmh);
\end{scope}
% ======================
% ======================
% Coil
% ======================
\pgfmathsetmacro{\coilwidth}{0.5*0.5*\magnetmw+0.5*0.1+0.25*\magnetwg}%
\draw[] ( \coilwidth, 0.5*\magneth) -- ++(0, 0.7*\magneth);
\draw[] (-\coilwidth, 0.5*\magneth) -- ++(0, 0.7*\magneth);
% Point on the coil
\foreach \x in {0,1,...,9}
{
\node[circle,inner sep=0.6pt,fill] at ( \coilwidth, \x*0.7*\magneth/10+0.5*\magneth);
\node[circle,inner sep=0.6pt,fill] at (-\coilwidth, \x*0.7*\magneth/10+0.5*\magneth);
}
\draw[fill=white] (-0.5*\magnetw, 1.2*\magneth) rectangle ++(\magnetw, \magnethg);
% ======================
% ======================
% Coordinates
% ======================
% Force
\coordinate[] (vc_force) at (0, \magneth-0.5*\magnethg);
% Coil
\coordinate[] (vc_coil) at (0, \voicecoilh);
% Magnet
\coordinate[] (vc_magnet) at (0, 0);
% Coil Wires
\coordinate[] (vc_wire_one) at ( \coilwidth, 1.2*\magneth);
\coordinate[] (vc_wire_two) at (-\coilwidth, 1.2*\magneth);
% ======================
\end{scope}
}
#+end_src
* Optics
#+begin_src latex
\tikzset{%
->-/.style={
decoration={
markings,
mark = at position #1 with {\arrow{>}
}
},
postaction={decorate}
}
}
\tikzset{%
-<-/.style={
decoration={
markings,
mark = at position #1 with {\arrow{<}
}
},
postaction={decorate}
}
}
#+end_src
* Misc
#+begin_src latex
\tikzset{%
labelc/.style= {%
draw,
fill=white,
shape=circle,
inner sep=2pt,
outer sep=6pt,
}
}
#+end_src
* More Defaults specific to this paper
#+begin_src latex
\tikzset{block/.default={0.8cm}{0.8cm}}
\tikzset{addb/.append style={scale=0.7}}
\tikzset{node distance=0.6}
#+end_src

513
tikz/config.tex Normal file
View File

@ -0,0 +1,513 @@
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french, english]{babel} % Last language is main language
\usepackage{lmodern} % Latin Modern Font
\usepackage{gensymb} % Generic symbols for both text and math mode
\usepackage{standalone} % Used to generate standalone Tikz
\usepackage{amsmath} % Main math Package
\usepackage{mathtools} % Extension package to amsmath
\usepackage{amsthm} % Typesetting theorems (AMS style)
\usepackage{amsfonts} % More fonts from the AMS
\usepackage{textcomp} % provide many text symbols
\usepackage{steinmetz} % For phase symbol
\usepackage{xstring} % Utils to manipulate strings
\usepackage{etoolbox} % Add basic if/then
\usepackage{esvect} % Beautyfull vectors
\usepackage{graphicx} % Enhanced support for graphics
\usepackage{grffile} % Used by matlab2tikz
\usepackage{microtype} % typographic tuning
\usepackage{setspace} % for line spacing, e.g. \onehalfspacing
\usepackage{tabularx} % table features
\usepackage{enumitem} % for simple list modifications
\usepackage{booktabs} % better table support
\usepackage{stackengine} %
\usepackage[load-configurations=abbreviations]{siunitx} % SI units
\sisetup{
locale = US,
detect-all,
range-phrase=--,
range-units=single
}
\usepackage{tikz} % Tikz
\usepackage{tikzscale} % Used to scale Tikz graphics
\usepackage{adjustbox} % Used to proper positioning of tikz pictures
\usepackage{circuitikz} % Draw electronic circuits
\usepackage{pgfpages} % Needed to use notes
\usepackage{pgfplots} % Used to plot functions
\usetikzlibrary{arrows} % Arrow tip library
\usetikzlibrary{arrows.meta} % Add some arrows
\usetikzlibrary{calc} % The library allows advanced Coordinate Calculations
\usetikzlibrary{intersections} % calculate intersections of paths
\usetikzlibrary{matrix} %
\usetikzlibrary{patterns} %
\usetikzlibrary{shapes} % Defines circle and rectangle
\usetikzlibrary{shapes.geometric} % Use for the shape diamond and isosceles triangle
\usetikzlibrary{snakes} % snake=coil and snake=zigzag using segment amplitude=10pt
\usetikzlibrary{positioning} % Additional options for placing nodes
\usetikzlibrary{3d} % Plot 3D shapes
\usetikzlibrary{spy} % Creating a magnified area
\usetikzlibrary{decorations.text} % Used to make text follows a curve
\usetikzlibrary{decorations.pathmorphing} % deformation of a path
\usetikzlibrary{decorations.markings} % Used for spring and damper
\usetikzlibrary{babel} % A tiny library that make the interaction with the babel package easier
\usetikzlibrary{plotmarks} % This library defines a number of plot marks
\usetikzlibrary{fit} % Used to make rectangle as nodes by specifying two points
\usetikzlibrary{backgrounds} % Used to put things under others
\usepgfplotslibrary{patchplots}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=newest}
\pgfplotsset{plot coordinates/math parser=false}
\newlength{\fheight}
\newlength{\fwidth}
\setlength{\fwidth}{85mm}
\setlength{\fheight}{112mm}
\tikzset{>=Stealth}
% Setup default Linewidth
\tikzset{every path/.style={line width=1pt}}
\usepackage{xcolor}% Color extension
\definecolor{mycolor1}{RGB}{79,115,193}
\definecolor{mycolor2}{RGB}{213,91,53}
\definecolor{mycolor3}{RGB}{152,126,49}
\tikzset{%
block/.style n args={2}{%
draw,
fill=white,
minimum width = #1,
minimum height = #2,
},
block/.default={1.2cm}{1.0cm}
}
\tikzstyle{branch}=[fill,shape=circle,minimum size=4pt,inner sep=0pt]
\tikzstyle{->top}=[-{Stealth[color=black, scale=0.8]}, draw=white, double=black, double distance=1pt, line width=1pt]
\tikzstyle{<-top}=[{stealth[color=black, scale=0.8]}-, draw=white, double=black, double distance=1pt, line width=1pt]
\tikzstyle{handwriten}=[decorate,decoration={random steps,amplitude=0.1pt,segment length=0.8pt}]
\tikzset{%
DAC/.style={%
draw,
signal,
}
}
\tikzset{%
ADC/.style={%
draw,
signal,
signal to = west,
}
}
\tikzset{%
gain right/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=-90
},
gain left/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=90
},
gain top/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=0
},
gain bottom/.style={%
draw,
regular polygon,
regular polygon sides = 3,
inner sep = 2pt,
shape border rotate=180
},
}
\tikzset{% Add block with Circled operations
addc/.style n args={5}{%
draw,
fill=white,
circle,
outer sep = 0pt,
inner sep = 0pt,
minimum size = 2em,
execute at begin node={\LARGE $#1$},
append after command={\pgfextra{\let\mainnode=\tikzlastnode}
\ifx#2\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, above left] at (\mainnode.west) {$#2$}%
\fi
\ifx#3\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, above right] at (\mainnode.north) {$#3$}%
\fi
\ifx#4\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, below right] at (\mainnode.east) {$#4$}%
\fi
\ifx#5\empty\else
node[draw, circle, outer sep=6pt, inner sep=0pt, below left] at (\mainnode.south) {$#5$}%
\fi
}
},
addc/.default={+}{}{}{}{},
}
\tikzset{% Add Block
addb/.style n args={5}{%
draw,
fill=white,
circle,
outer sep = 0pt,
inner sep = 0pt,
minimum size = 2em,
execute at begin node={\LARGE $#1$},
append after command={\pgfextra{\let\mainnode=\tikzlastnode}
\ifx#2\empty\else
node[outer sep=2pt, inner sep=0pt, above left] at (\mainnode.west) {$#2$}%
\fi
\ifx#3\empty\else
node[outer sep=2pt, inner sep=0pt, above right] at (\mainnode.north) {$#3$}%
\fi
\ifx#4\empty\else
node[outer sep=2pt, inner sep=0pt, below right] at (\mainnode.east) {$#4$}%
\fi
\ifx#5\empty\else
node[outer sep=2pt, inner sep=0pt, below left] at (\mainnode.south) {$#5$}%
\fi
}
},
addb/.default={+}{}{}{}{},
}
\pgfplotsset{
every axis plot/.append style={line join=round},
every axis plot/.append style={line cap=round},
}
\pgfplotsset{grid style={black}}
\pgfplotsset{major grid style={black!30!white}}
\pgfplotsset{minor grid style={black!10!white}}
\pgfplotsset{xmajorgrids}
\pgfplotsset{ymajorgrids}
\pgfplotsset{separate axis lines=false} % draw axis as rectangle and not as 4 lines
\pgfplotsset{every outer x axis line/.append style={black}}
\pgfplotsset{every outer y axis line/.append style={black}}
\pgfplotsset{axis background/.style={fill=white}}
\pgfplotsset{axis x line*=bottom} % solid line on the bottom with thin on the top
\pgfplotsset{axis y line*=left} % solid line on the left with thin on the right
\pgfplotsset{every y tick label/.append style={font=\color{black}}}
\pgfplotsset{every y tick/.append style={black}}
\pgfplotsset{every x tick label/.append style={font=\color{black}}}
\pgfplotsset{every x tick/.append style={black}}
\pgfplotsset{scale only axis=true}
\pgfplotsset{ylabel absolute}
% https://tex.stackexchange.com/questions/54794/using-a-pgfplots-style-legend-in-a-plain-old-tikzpicture#54834
% argument #1: any options
\newenvironment{customlegend}[1][]{%
\begingroup
% inits/clears the lists (which might be populated from previous
% axes):
\csname pgfplots@init@cleared@structures\endcsname
\pgfplotsset{#1}%
}{%
% draws the legend:
\csname pgfplots@createlegend\endcsname
\endgroup
}%
% makes \addlegendimage available (typically only available within an
% axis environment):
\def\addlegendimage{\csname pgfplots@addlegendimage\endcsname}
% definition to insert numbers
% \pgfkeys{/pgfplots/number in legend/.style={%
% /pgfplots/legend image code/.code={%
% \node at (0.125,-0.0225){#1}; % <= changed x value
% },%
% },
% }
\pgfplotsset{
every legend to name picture/.style={west}
}
\tikzset{%
spring/.style={%
thick,
decoration={
zigzag,
pre length = #1cm,
post length = #1cm,
segment length = 6
},
decorate
},
spring/.default={0.2}
}
\tikzset{%
coil/.style n args={2}{%
thick,
decoration={
coil,
pre length = #1cm,
post length = #2cm,
segment length = 4
},
decorate
},
coil/.default={0.3}{0.3}
}
\tikzset{%
damper/.style n args={2}{%
thick,
decoration={markings, mark connection node=dmp, mark=at position 0.5 with {
\node (dmp) [thick,
inner sep = 0pt,
transform shape,
rotate =-90,
minimum width = #1pt,
minimum height = #2pt,
draw=none] {};
\draw [thick] ($(dmp.north east)+(0.6*#2pt,0)$) -- (dmp.south east) -- (dmp.south west) -- ($(dmp.north west)+(0.6*#2pt,0)$);
\draw [thick] ($(dmp.north)+(0,-0.3*#1pt)$) -- ($(dmp.north)+(0,0.3*#1pt)$);
}
},
decorate
},
damper/.default={12}{3}
}
\tikzset{%
actuator/.style n args={2}{%
thick,
draw=none,
decoration={
markings,
mark connection node=my node,
mark=at position .5 with {
\node [draw, inner sep=0pt, minimum width=#1cm, minimum height=#2cm,
transform shape, fill=white] (my node) {};
},
mark=at position .0 with {
\draw[<-] (0, 0) -- (my node);
},
mark=at position 1.0 with {
\draw[<-] (0, 0) -- (my node);
}
},
decorate
},
actuator/.default={0.5}{0.2}
}
\tikzset{%
ground/.style n args={2}{%
fill,
pattern = north east lines,
draw = none,
anchor = north,
minimum width = #1cm,
minimum height = #2cm,
append after command={
(\tikzlastnode.north west) edge (\tikzlastnode.north east)
}
},
ground/.default={2.5}{0.3}
}
\tikzset{%
forcesensor/.style n args={2}{%
rectangle,
outer sep=0pt,
inner sep=0pt,
draw=black,
fill=white!60!black,
anchor=south,
minimum width =#1cm,
minimum height=#2cm,
append after command={
[every edge/.append style={
thick,
black,
}]
(\tikzlastnode.north west) edge (\tikzlastnode.south east)
(\tikzlastnode.north east) edge (\tikzlastnode.south west)
}
},
forcesensor/.default={2.0}{0.5}
}
\tikzset{%
inertialsensor/.style={%
rectangle,
outer sep=0pt,
inner sep=0pt,
draw=black,
fill=white!60!black,
anchor=south east,
minimum size=#1cm,
append after command={
[every edge/.append style={
thick,
black,
}]
(\tikzlastnode.north west) edge (\tikzlastnode.south east)
(\tikzlastnode.north east) edge (\tikzlastnode.south west)
}
},
inertialsensor/.default={0.3}
}
\tikzstyle{cross}=[path picture={
\draw[black]
(path picture bounding box.south east) -- (path picture bounding box.north west) (path picture bounding box.south west) -- (path picture bounding box.north east);
}]
\tikzset{%
piezo/.style n args={3}{%
draw,
rectangle,
minimum width = #1cm,
minimum height = #2cm,
fill=blue!10!white,
anchor=center,
append after command={
[every edge/.append style={
thick,
black,
}]
\foreach \i in {1,...,#3}{
(${\i/(1+#3)}*(\tikzlastnode.north west)+{(1+#3-\i)/(1+#3)}*(\tikzlastnode.south west)+0.1*(#1,0)$) edge (${\i/(1+#3)}*(\tikzlastnode.north east)+{(1+#3-\i)/(1+#3)}*(\tikzlastnode.south east)-0.1*(#1,0)$)
}
}
},
piezo/.default={2}{4}{10}
}
\def\voicecoil#1#2#3{
% ======================
% Parameters
% ======================
\def\voicecoilw{#1} % Total Width
\def\voicecoilh{#2} % Total Height
\def\magnetw{\voicecoilw} % Width of the magnet
\def\magneth{\voicecoilh/1.4} % Height of the magnet
\def\magnetwb{0.15*\magnetw} % Width of the borders of the magnet
\def\magnetmw{0.15*\magnetw} % Width of the middle part of the magnet
\def\magnetwg{0.5*\magnetw} % Width of the gap of the magnet
\def\magnethl{\magnetwb} % Height of the low part of the magnet
\def\magnetmh{0.15*\magneth} % Height of the middle part of the magnet
\def\magnethg{0.2*\magneth} % Height of the gap of the magnet
% ======================
\begin{scope}[shift={(0.5*\voicecoilw, 0.5*\voicecoilh)}, rotate=#3, shift={(0, -0.5*\voicecoilh)}]
% ======================
% Magnet
% ======================
\draw[fill=white] (0, 0) -| ++(0.5*\magnetw, \magneth) -| ++(-0.5*\magnetw+0.5*\magnetwg, -\magnethg) -| (0.5*\magnetw-\magnetwb, \magnethl) -| (-0.5*\magnetw+\magnetwb, \magneth-\magnethg) -| (-0.5*\magnetwg, \magneth) -| (-0.5*\magnetw, 0) -- (cycle);
\begin{scope}[shift={(0, \magnethl)}]
\draw[fill=red] (-0.5*\magnetmw, 0) rectangle (0.5*\magnetmw, \magnetmh);
\draw[fill=blue] (-0.5*\magnetmw, \magnetmh) rectangle (0.5*\magnetmw, 2*\magnetmh);
% Top conductive Magnet
\draw[fill=white] (-0.5*\magnetmw, 2*\magnetmh) -| (0.5*\magnetmw, -\magnethl+\magneth-\magnethg) -| ++(0.1, \magnethg) -| ++(-0.2-\magnetmw, -\magnethg) -| (-0.5*\magnetmw, \magnetmh);
\end{scope}
% ======================
% ======================
% Coil
% ======================
\pgfmathsetmacro{\coilwidth}{0.5*0.5*\magnetmw+0.5*0.1+0.25*\magnetwg}%
\draw[] ( \coilwidth, 0.5*\magneth) -- ++(0, 0.7*\magneth);
\draw[] (-\coilwidth, 0.5*\magneth) -- ++(0, 0.7*\magneth);
% Point on the coil
\foreach \x in {0,1,...,9}
{
\node[circle,inner sep=0.6pt,fill] at ( \coilwidth, \x*0.7*\magneth/10+0.5*\magneth);
\node[circle,inner sep=0.6pt,fill] at (-\coilwidth, \x*0.7*\magneth/10+0.5*\magneth);
}
\draw[fill=white] (-0.5*\magnetw, 1.2*\magneth) rectangle ++(\magnetw, \magnethg);
% ======================
% ======================
% Coordinates
% ======================
% Force
\coordinate[] (vc_force) at (0, \magneth-0.5*\magnethg);
% Coil
\coordinate[] (vc_coil) at (0, \voicecoilh);
% Magnet
\coordinate[] (vc_magnet) at (0, 0);
% Coil Wires
\coordinate[] (vc_wire_one) at ( \coilwidth, 1.2*\magneth);
\coordinate[] (vc_wire_two) at (-\coilwidth, 1.2*\magneth);
% ======================
\end{scope}
}
\tikzset{%
->-/.style={
decoration={
markings,
mark = at position #1 with {\arrow{>}
}
},
postaction={decorate}
}
}
\tikzset{%
-<-/.style={
decoration={
markings,
mark = at position #1 with {\arrow{<}
}
},
postaction={decorate}
}
}
\tikzset{%
labelc/.style= {%
draw,
fill=white,
shape=circle,
inner sep=2pt,
outer sep=6pt,
}
}
\tikzset{block/.default={0.8cm}{0.8cm}}
\tikzset{addb/.append style={scale=0.7}}
\tikzset{node distance=0.6}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,281 @@
<?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="158.363pt" viewBox="0 0 184.799 158.363" 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.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="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.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="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.03125 -0.25 C 2.328125 -0.25 2.328125 -0.34375 2.328125 -0.5625 L 2.328125 -4.421875 C 2.328125 -4.609375 2.3125 -4.609375 2.125 -4.609375 C 1.671875 -4.171875 1.046875 -4.171875 0.765625 -4.171875 L 0.765625 -3.921875 C 0.921875 -3.921875 1.390625 -3.921875 1.765625 -4.109375 L 1.765625 -0.5625 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.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 3.515625 -1.265625 L 3.28125 -1.265625 C 3.25 -1.109375 3.1875 -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.4375 2.515625 -1.765625 C 3.03125 -2.171875 3.515625 -2.59375 3.515625 -3.265625 C 3.515625 -4.109375 2.78125 -4.609375 1.890625 -4.609375 C 1.015625 -4.609375 0.4375 -4.015625 0.4375 -3.375 C 0.4375 -3.015625 0.734375 -2.984375 0.8125 -2.984375 C 0.96875 -2.984375 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.484375 1.125 -3.71875 0.765625 -3.71875 C 0.984375 -4.21875 1.453125 -4.359375 1.78125 -4.359375 C 2.46875 -4.359375 2.84375 -3.828125 2.84375 -3.265625 C 2.84375 -2.65625 2.40625 -2.171875 2.1875 -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.515625 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-3">
<path style="stroke:none;" d="M 3.578125 -1.203125 C 3.578125 -1.75 3.125 -2.28125 2.359375 -2.453125 C 3.09375 -2.71875 3.359375 -3.234375 3.359375 -3.65625 C 3.359375 -4.203125 2.71875 -4.609375 1.953125 -4.609375 C 1.1875 -4.609375 0.59375 -4.234375 0.59375 -3.6875 C 0.59375 -3.453125 0.75 -3.3125 0.953125 -3.3125 C 1.171875 -3.3125 1.3125 -3.484375 1.3125 -3.671875 C 1.3125 -3.875 1.171875 -4.015625 0.953125 -4.03125 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.65625 C 2.6875 -3.359375 2.59375 -3.046875 2.40625 -2.828125 C 2.171875 -2.5625 1.984375 -2.546875 1.640625 -2.53125 C 1.453125 -2.515625 1.453125 -2.515625 1.40625 -2.515625 C 1.40625 -2.515625 1.34375 -2.5 1.34375 -2.421875 C 1.34375 -2.328125 1.40625 -2.328125 1.515625 -2.328125 L 1.890625 -2.328125 C 2.4375 -2.328125 2.828125 -1.953125 2.828125 -1.203125 C 2.828125 -0.34375 2.328125 -0.078125 1.921875 -0.078125 C 1.640625 -0.078125 1.03125 -0.15625 0.75 -0.5625 C 1.078125 -0.578125 1.140625 -0.8125 1.140625 -0.953125 C 1.140625 -1.1875 0.984375 -1.34375 0.765625 -1.34375 C 0.5625 -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.5 3.578125 -1.203125 Z M 3.578125 -1.203125 "/>
</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.078125 -2.984375 C 8.078125 -3.203125 7.890625 -3.203125 7.703125 -3.203125 L 4.53125 -3.203125 L 4.53125 -6.390625 C 4.53125 -6.546875 4.53125 -6.75 4.3125 -6.75 C 4.109375 -6.75 4.109375 -6.5625 4.109375 -6.390625 L 4.109375 -3.203125 L 0.921875 -3.203125 C 0.75 -3.203125 0.546875 -3.203125 0.546875 -3 C 0.546875 -2.78125 0.75 -2.78125 0.921875 -2.78125 L 4.109375 -2.78125 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.78125 L 7.703125 -2.78125 C 7.875 -2.78125 8.078125 -2.78125 8.078125 -2.984375 Z M 8.078125 -2.984375 "/>
</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>
<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.09375 23.40625 L 5.09375 22.859375 L 3.03125 22.859375 L 3.03125 0.15625 L 5.09375 0.15625 L 5.09375 -0.390625 L 2.484375 -0.390625 L 2.484375 23.40625 Z M 5.09375 23.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph5-2">
<path style="stroke:none;" d="M 2.75 23.40625 L 2.75 -0.390625 L 0.140625 -0.390625 L 0.140625 0.15625 L 2.203125 0.15625 L 2.203125 22.859375 L 0.140625 22.859375 L 0.140625 23.40625 Z M 2.75 23.40625 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 70 125 L 115 125 L 115 157.730469 L 70 157.730469 Z M 70 125 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 101 125 L 134 125 L 134 157.730469 L 101 157.730469 Z M 101 125 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 163 21 L 184.328125 21 L 184.328125 54 L 163 54 Z M 163 21 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 163 46 L 184.328125 46 L 184.328125 79 L 163 79 Z M 163 46 "/>
</clipPath>
<clipPath id="clip5">
<path d="M 163 71 L 184.328125 71 L 184.328125 104 L 163 104 Z M 163 71 "/>
</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 -70.86688 -49.606743 L 70.868923 -49.606743 L 70.868923 49.607143 L -70.86688 49.607143 Z M -70.86688 -49.606743 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="82.434583" y="11.247757"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="90.183414" y="11.247757"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="94.041894" y="11.247757"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="98.693184" y="11.247757"/>
</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.087151 18.72561 L 51.023793 18.72561 L 51.023793 41.402397 L 18.087151 41.402397 Z M 18.087151 18.72561 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="113.813365" y="39.973212"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="123.18467" y="41.462222"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="127.636761" y="39.973212"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="131.495241" y="39.973212"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="136.146532" y="39.973212"/>
</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.087151 -6.327886 L 51.023793 -6.327886 L 51.023793 16.348901 L 18.087151 16.348901 Z M 18.087151 -6.327886 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="113.813365" y="64.925842"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="123.18467" y="66.413857"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="127.636761" y="64.925842"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="131.495241" y="64.925842"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="136.146532" y="64.925842"/>
</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.087151 -31.381383 L 51.023793 -31.381383 L 51.023793 -8.704596 L 18.087151 -8.704596 Z M 18.087151 -31.381383 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="113.813365" y="89.877476"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-3" x="123.18467" y="91.365491"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="127.636761" y="89.877476"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="131.495241" y="89.877476"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="136.146532" y="89.877476"/>
</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.579511 30.064004 C 0.579511 33.915371 -2.542371 37.037253 -6.393739 37.037253 C -10.245106 37.037253 -13.366988 33.915371 -13.366988 30.064004 C -13.366988 26.212637 -10.245106 23.090754 -6.393739 23.090754 C -2.542371 23.090754 0.579511 26.212637 0.579511 30.064004 Z M 0.579511 30.064004 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="81.804119" y="40.397505"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="76.421769" y="52.211982"/>
</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.376539 30.064004 C -30.376539 33.915371 -33.498422 37.037253 -37.349789 37.037253 C -41.201156 37.037253 -44.323038 33.915371 -44.323038 30.064004 C -44.323038 26.212637 -41.201156 23.090754 -37.349789 23.090754 C -33.498422 23.090754 -30.376539 26.212637 -30.376539 30.064004 Z M -30.376539 30.064004 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="50.973134" y="40.397505"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="45.590784" y="52.211982"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 71.414062 156.734375 L 113.570312 156.734375 L 113.570312 126.304688 L 71.414062 126.304688 Z M 71.414062 156.734375 "/>
<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 -21.163849 -89.657824 L 21.16197 -89.657824 L 21.16197 -59.105736 L -21.163849 -59.105736 Z M -21.163849 -89.657824 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-1" x="74.722604" y="130.009051"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="79.959539" y="137.948117"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="88.207362" y="139.436132"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="92.658458" y="137.948117"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="96.517934" y="137.948117"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="101.169225" y="137.948117"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="79.959539" y="149.855222"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-3" x="88.207362" y="151.343236"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="92.658458" y="149.855222"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="96.517934" y="149.855222"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="101.169225" y="149.855222"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-2" x="105.027704" y="130.009051"/>
</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 -91.206178 30.064004 L -48.958798 30.064004 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053961 0.000663767 L 1.610378 1.683186 L 3.088958 0.000663767 L 1.610378 -1.681858 Z M 6.053961 0.000663767 " transform="matrix(0.995994,0,0,-0.995994,40.903886,37.492849)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="5.455225" y="33.689487"/>
</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.393739 -20.042989 L -6.393739 18.454995 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053634 -0.000991425 L 1.61005 1.68153 L 3.08863 -0.000991425 L 1.61005 -1.683513 Z M 6.053634 -0.000991425 " transform="matrix(0,-0.995994,-0.995994,0,86.124013,51.880944)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 88.109375 87.398438 C 88.109375 86.300781 87.21875 85.414062 86.125 85.414062 C 85.027344 85.414062 84.140625 86.300781 84.140625 87.398438 C 84.140625 88.492188 85.027344 89.382812 86.125 89.382812 C 87.21875 89.382812 88.109375 88.492188 88.109375 87.398438 Z M 88.109375 87.398438 "/>
<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.349789 5.010507 L -37.349789 18.454995 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053634 -0.000991282 L 1.61005 1.681531 L 3.08863 -0.000991282 L 1.61005 -1.683513 Z M 6.053634 -0.000991282 " transform="matrix(0,-0.995994,-0.995994,0,55.291981,51.880944)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 57.277344 62.445312 C 57.277344 61.347656 56.386719 60.460938 55.292969 60.460938 C 54.195312 60.460938 53.308594 61.347656 53.308594 62.445312 C 53.308594 63.542969 54.195312 64.429688 55.292969 64.429688 C 56.386719 64.429688 57.277344 63.542969 57.277344 62.445312 Z M 57.277344 62.445312 "/>
<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.497011 30.064004 L -58.497011 -40.084218 L 91.208221 -40.084218 L 91.208221 -74.38178 L 26.295819 -74.38178 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 115.480469 141.519531 L 119.90625 143.199219 L 118.433594 141.519531 L 119.90625 139.84375 Z M 115.480469 141.519531 "/>
<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.05409 -0.00153999 L 1.610507 1.684904 L 3.089087 -0.00153999 L 1.610507 -1.684062 Z M 6.05409 -0.00153999 " transform="matrix(-0.995994,0,0,0.995994,121.510305,141.521065)"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 36.214844 37.492188 C 36.214844 36.398438 35.324219 35.507812 34.230469 35.507812 C 33.132812 35.507812 32.246094 36.398438 32.246094 37.492188 C 32.246094 38.589844 33.132812 39.476562 34.230469 39.476562 C 35.324219 39.476562 36.214844 38.589844 36.214844 37.492188 Z M 36.214844 37.492188 "/>
<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.661939 -68.075264 L -91.206178 -68.075264 L -91.206178 5.010507 L 12.953303 5.010507 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053982 -0.000292789 L 1.610398 1.682229 L 3.088978 -0.000292789 L 1.610398 -1.682815 Z M 6.053982 -0.000292789 " transform="matrix(0.995994,0,0,-0.995994,102.567928,62.445021)"/>
<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.661939 -80.692218 L -79.867784 -80.692218 L -79.867784 -20.042989 L 12.953303 -20.042989 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053982 -0.00128934 L 1.610398 1.681233 L 3.088978 -0.00128934 L 1.610398 -1.683811 Z M 6.053982 -0.00128934 " transform="matrix(0.995994,0,0,-0.995994,102.567928,87.397153)"/>
<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.376539 30.064004 L -18.002748 30.064004 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053962 0.000663767 L 1.610378 1.683186 L 3.088958 0.000663767 L 1.610378 -1.681858 Z M 6.053962 0.000663767 " transform="matrix(0.995994,0,0,-0.995994,71.735917,37.492849)"/>
<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.579511 30.064004 L 12.953303 30.064004 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<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.053982 0.000663767 L 1.610398 1.683186 L 3.088978 0.000663767 L 1.610398 -1.681858 Z M 6.053982 0.000663767 " transform="matrix(0.995994,0,0,-0.995994,102.567928,37.492849)"/>
<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.521882 30.064004 L 86.572461 30.064004 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 181.921875 37.492188 L 177.496094 35.816406 L 178.96875 37.492188 L 177.496094 39.167969 Z M 181.921875 37.492188 "/>
<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.05271 0.000663767 L 1.609127 1.683186 L 3.087707 0.000663767 L 1.609127 -1.681858 Z M 6.05271 0.000663767 " transform="matrix(0.995994,0,0,-0.995994,175.893414,37.492849)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="170.465487" y="32.201473"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="175.079926" y="33.689487"/>
</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.521882 5.010507 L 86.572461 5.010507 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 181.921875 62.445312 L 177.496094 60.769531 L 178.96875 62.445312 L 177.496094 64.121094 Z M 181.921875 62.445312 "/>
<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.05271 -0.000292789 L 1.609127 1.682229 L 3.087707 -0.000292789 L 1.609127 -1.682815 Z M 6.05271 -0.000292789 " transform="matrix(0.995994,0,0,-0.995994,175.893414,62.445021)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="170.465487" y="57.153107"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="175.079926" y="58.641122"/>
</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.521882 -20.042989 L 86.572461 -20.042989 " transform="matrix(0.995994,0,0,-0.995994,92.493123,67.435746)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 181.921875 87.398438 L 177.496094 85.722656 L 178.96875 87.398438 L 177.496094 89.074219 Z M 181.921875 87.398438 "/>
<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.05271 -0.00128934 L 1.609127 1.681233 L 3.087707 -0.00128934 L 1.609127 -1.683811 Z M 6.05271 -0.00128934 " transform="matrix(0.995994,0,0,-0.995994,175.893414,87.397153)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="170.465487" y="82.104742"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-3" x="175.079926" y="83.593752"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="4.074778" y="57.153107"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="9.755926" y="58.641122"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="4.074778" y="82.104742"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="9.755926" y="83.593752"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="172.415643" y="103.554462"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,36 @@
\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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 206 KiB

View File

@ -0,0 +1,66 @@
\setlength\fwidth{6.5cm}
\setlength\fheight{7cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=0.60\fheight,
at={(0.0\fwidth, 0.35\fheight)},
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}}
]
\addplot [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};
\addlegendentry{$H_H(s)$ - $\mathcal{H}_\infty$}
\addplot [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};
\addlegendentry{$H_H(s)$ - FIR}
\addplot [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};
\addlegendentry{$H_L(s)$ - $\mathcal{H}_\infty$}
\addplot [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};
\addlegendentry{$H_L(s)$ - FIR}
\end{axis}
\begin{axis}[%
width=1.0\fwidth,
height=0.3\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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,
]
\addplot [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};
\addplot [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};
\addplot [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};
\addplot [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};
\end{axis}
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,253 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="199.852pt" height="116.034pt" viewBox="0 0 199.852 116.034" 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 4.921875 -1.84375 C 4.921875 -2.828125 4.28125 -3.640625 3.453125 -3.828125 L 2.1875 -4.140625 C 1.5625 -4.28125 1.1875 -4.8125 1.1875 -5.390625 C 1.1875 -6.078125 1.71875 -6.6875 2.484375 -6.6875 C 4.140625 -6.6875 4.359375 -5.0625 4.421875 -4.625 C 4.421875 -4.5625 4.421875 -4.5 4.53125 -4.5 C 4.65625 -4.5 4.65625 -4.546875 4.65625 -4.734375 L 4.65625 -6.71875 C 4.65625 -6.890625 4.65625 -6.96875 4.546875 -6.96875 C 4.484375 -6.96875 4.46875 -6.953125 4.40625 -6.828125 L 4.0625 -6.265625 C 3.765625 -6.5625 3.359375 -6.96875 2.484375 -6.96875 C 1.375 -6.96875 0.546875 -6.09375 0.546875 -5.046875 C 0.546875 -4.21875 1.078125 -3.5 1.84375 -3.234375 C 1.953125 -3.203125 2.453125 -3.078125 3.15625 -2.90625 C 3.421875 -2.84375 3.71875 -2.78125 3.984375 -2.40625 C 4.203125 -2.15625 4.296875 -1.828125 4.296875 -1.5 C 4.296875 -0.796875 3.796875 -0.09375 2.96875 -0.09375 C 2.6875 -0.09375 1.9375 -0.140625 1.40625 -0.625 C 0.84375 -1.15625 0.8125 -1.78125 0.796875 -2.140625 C 0.796875 -2.234375 0.71875 -2.234375 0.6875 -2.234375 C 0.546875 -2.234375 0.546875 -2.171875 0.546875 -2 L 0.546875 -0.015625 C 0.546875 0.140625 0.546875 0.21875 0.65625 0.21875 C 0.734375 0.21875 0.734375 0.203125 0.8125 0.09375 C 0.8125 0.09375 0.84375 0.046875 1.171875 -0.46875 C 1.46875 -0.140625 2.109375 0.21875 2.984375 0.21875 C 4.140625 0.21875 4.921875 -0.75 4.921875 -1.84375 Z M 4.921875 -1.84375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 5.28125 0 L 5.28125 -0.3125 C 4.59375 -0.3125 4.515625 -0.375 4.515625 -0.859375 L 4.515625 -4.359375 L 3.0625 -4.25 L 3.0625 -3.953125 C 3.75 -3.953125 3.828125 -3.875 3.828125 -3.390625 L 3.828125 -1.640625 C 3.828125 -0.78125 3.359375 -0.109375 2.640625 -0.109375 C 1.8125 -0.109375 1.765625 -0.578125 1.765625 -1.09375 L 1.765625 -4.359375 L 0.3125 -4.25 L 0.3125 -3.953125 C 1.09375 -3.953125 1.09375 -3.921875 1.09375 -3.046875 L 1.09375 -1.5625 C 1.09375 -0.796875 1.09375 0.109375 2.59375 0.109375 C 3.140625 0.109375 3.578125 -0.171875 3.859375 -0.78125 L 3.859375 0.109375 Z M 5.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 5.140625 -2.140625 C 5.140625 -3.390625 4.1875 -4.359375 3.078125 -4.359375 C 2.3125 -4.359375 1.890625 -3.9375 1.703125 -3.71875 L 1.703125 -4.359375 L 0.28125 -4.25 L 0.28125 -3.953125 C 0.984375 -3.953125 1.046875 -3.890625 1.046875 -3.453125 L 1.046875 1.171875 C 1.046875 1.609375 0.9375 1.609375 0.28125 1.609375 L 0.28125 1.921875 L 1.375 1.890625 L 2.5 1.921875 L 2.5 1.609375 C 1.84375 1.609375 1.734375 1.609375 1.734375 1.171875 L 1.734375 -0.578125 C 1.78125 -0.421875 2.1875 0.109375 2.9375 0.109375 C 4.125 0.109375 5.140625 -0.859375 5.140625 -2.140625 Z M 4.328125 -2.140625 C 4.328125 -0.9375 3.640625 -0.109375 2.90625 -0.109375 C 2.515625 -0.109375 2.140625 -0.3125 1.859375 -0.71875 C 1.734375 -0.921875 1.734375 -0.921875 1.734375 -1.125 L 1.734375 -3.328125 C 2.015625 -3.828125 2.5 -4.125 3 -4.125 C 3.71875 -4.125 4.328125 -3.25 4.328125 -2.140625 Z M 4.328125 -2.140625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 4.09375 -1.171875 C 4.09375 -1.28125 4.015625 -1.296875 3.96875 -1.296875 C 3.875 -1.296875 3.859375 -1.234375 3.84375 -1.15625 C 3.5 -0.140625 2.609375 -0.140625 2.515625 -0.140625 C 2.015625 -0.140625 1.625 -0.4375 1.390625 -0.796875 C 1.09375 -1.28125 1.09375 -1.921875 1.09375 -2.28125 L 3.84375 -2.28125 C 4.0625 -2.28125 4.09375 -2.28125 4.09375 -2.484375 C 4.09375 -3.46875 3.5625 -4.421875 2.328125 -4.421875 C 1.1875 -4.421875 0.28125 -3.40625 0.28125 -2.171875 C 0.28125 -0.84375 1.3125 0.109375 2.453125 0.109375 C 3.65625 0.109375 4.09375 -0.984375 4.09375 -1.171875 Z M 3.453125 -2.484375 L 1.109375 -2.484375 C 1.171875 -3.953125 2 -4.203125 2.328125 -4.203125 C 3.34375 -4.203125 3.453125 -2.875 3.453125 -2.484375 Z M 3.453125 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 3.59375 -3.765625 C 3.59375 -4.078125 3.28125 -4.359375 2.859375 -4.359375 C 2.140625 -4.359375 1.78125 -3.703125 1.65625 -3.28125 L 1.65625 -4.359375 L 0.28125 -4.25 L 0.28125 -3.953125 C 0.96875 -3.953125 1.046875 -3.875 1.046875 -3.390625 L 1.046875 -0.75 C 1.046875 -0.3125 0.9375 -0.3125 0.28125 -0.3125 L 0.28125 0 L 1.40625 -0.03125 C 1.796875 -0.03125 2.265625 -0.03125 2.65625 0 L 2.65625 -0.3125 L 2.453125 -0.3125 C 1.71875 -0.3125 1.703125 -0.421875 1.703125 -0.765625 L 1.703125 -2.296875 C 1.703125 -3.265625 2.109375 -4.140625 2.859375 -4.140625 C 2.9375 -4.140625 2.953125 -4.140625 2.96875 -4.140625 C 2.9375 -4.125 2.75 -4.015625 2.75 -3.75 C 2.75 -3.46875 2.953125 -3.328125 3.171875 -3.328125 C 3.34375 -3.328125 3.59375 -3.453125 3.59375 -3.765625 Z M 3.59375 -3.765625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 5.28125 0 L 5.28125 -0.3125 C 4.765625 -0.3125 4.515625 -0.3125 4.515625 -0.609375 L 4.515625 -2.484375 C 4.515625 -3.34375 4.515625 -3.640625 4.203125 -4 C 4.0625 -4.171875 3.75 -4.359375 3.171875 -4.359375 C 2.453125 -4.359375 1.984375 -3.9375 1.703125 -3.328125 L 1.703125 -4.359375 L 0.3125 -4.25 L 0.3125 -3.953125 C 1 -3.953125 1.09375 -3.875 1.09375 -3.390625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.53125 0 L 2.53125 -0.3125 C 1.875 -0.3125 1.765625 -0.3125 1.765625 -0.75 L 1.765625 -2.5625 C 1.765625 -3.59375 2.46875 -4.140625 3.09375 -4.140625 C 3.71875 -4.140625 3.828125 -3.609375 3.828125 -3.046875 L 3.828125 -0.75 C 3.828125 -0.3125 3.71875 -0.3125 3.0625 -0.3125 L 3.0625 0 L 4.171875 -0.03125 Z M 5.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 3.5625 -1.265625 C 3.5625 -1.78125 3.265625 -2.078125 3.140625 -2.203125 C 2.8125 -2.515625 2.421875 -2.59375 2.015625 -2.671875 C 1.46875 -2.78125 0.796875 -2.90625 0.796875 -3.484375 C 0.796875 -3.828125 1.0625 -4.234375 1.90625 -4.234375 C 2.984375 -4.234375 3.046875 -3.34375 3.0625 -3.046875 C 3.078125 -2.953125 3.1875 -2.953125 3.1875 -2.953125 C 3.3125 -2.953125 3.3125 -3 3.3125 -3.1875 L 3.3125 -4.1875 C 3.3125 -4.359375 3.3125 -4.421875 3.203125 -4.421875 C 3.15625 -4.421875 3.125 -4.421875 3 -4.3125 C 2.96875 -4.265625 2.875 -4.171875 2.828125 -4.140625 C 2.453125 -4.421875 2.046875 -4.421875 1.90625 -4.421875 C 0.703125 -4.421875 0.328125 -3.765625 0.328125 -3.203125 C 0.328125 -2.859375 0.484375 -2.59375 0.75 -2.375 C 1.0625 -2.109375 1.34375 -2.046875 2.046875 -1.921875 C 2.265625 -1.875 3.078125 -1.71875 3.078125 -1 C 3.078125 -0.5 2.734375 -0.109375 1.96875 -0.109375 C 1.140625 -0.109375 0.78125 -0.671875 0.59375 -1.515625 C 0.5625 -1.640625 0.546875 -1.671875 0.453125 -1.671875 C 0.328125 -1.671875 0.328125 -1.609375 0.328125 -1.4375 L 0.328125 -0.125 C 0.328125 0.046875 0.328125 0.109375 0.4375 0.109375 C 0.484375 0.109375 0.5 0.09375 0.6875 -0.09375 C 0.703125 -0.109375 0.703125 -0.125 0.875 -0.3125 C 1.3125 0.09375 1.75 0.109375 1.96875 0.109375 C 3.09375 0.109375 3.5625 -0.546875 3.5625 -1.265625 Z M 3.5625 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.65625 -2.109375 C 4.65625 -3.375 3.65625 -4.421875 2.46875 -4.421875 C 1.234375 -4.421875 0.28125 -3.34375 0.28125 -2.109375 C 0.28125 -0.84375 1.296875 0.109375 2.453125 0.109375 C 3.65625 0.109375 4.65625 -0.859375 4.65625 -2.109375 Z M 3.828125 -2.1875 C 3.828125 -1.84375 3.828125 -1.296875 3.609375 -0.875 C 3.390625 -0.421875 2.96875 -0.140625 2.46875 -0.140625 C 2.046875 -0.140625 1.609375 -0.34375 1.34375 -0.796875 C 1.09375 -1.234375 1.09375 -1.84375 1.09375 -2.1875 C 1.09375 -2.578125 1.09375 -3.109375 1.328125 -3.546875 C 1.59375 -4 2.0625 -4.203125 2.453125 -4.203125 C 2.890625 -4.203125 3.3125 -3.984375 3.578125 -3.5625 C 3.828125 -3.140625 3.828125 -2.5625 3.828125 -2.1875 Z M 3.828125 -2.1875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 4.140625 0 L 4.140625 -0.3125 L 3.828125 -0.3125 C 2.9375 -0.3125 2.90625 -0.421875 2.90625 -0.78125 L 2.90625 -6.3125 C 2.90625 -6.5625 2.90625 -6.578125 2.671875 -6.578125 C 2.0625 -5.9375 1.1875 -5.9375 0.875 -5.9375 L 0.875 -5.640625 C 1.078125 -5.640625 1.65625 -5.640625 2.171875 -5.890625 L 2.171875 -0.78125 C 2.171875 -0.421875 2.140625 -0.3125 1.25 -0.3125 L 0.9375 -0.3125 L 0.9375 0 C 1.28125 -0.03125 2.140625 -0.03125 2.53125 -0.03125 C 2.9375 -0.03125 3.796875 -0.03125 4.140625 0 Z M 4.140625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 4.4375 -1.71875 L 4.1875 -1.71875 C 4.140625 -1.421875 4.0625 -0.984375 3.96875 -0.84375 C 3.90625 -0.765625 3.25 -0.765625 3.03125 -0.765625 L 1.25 -0.765625 L 2.296875 -1.78125 C 3.84375 -3.140625 4.4375 -3.671875 4.4375 -4.65625 C 4.4375 -5.78125 3.546875 -6.578125 2.34375 -6.578125 C 1.21875 -6.578125 0.5 -5.671875 0.5 -4.796875 C 0.5 -4.234375 0.984375 -4.234375 1.015625 -4.234375 C 1.1875 -4.234375 1.53125 -4.359375 1.53125 -4.765625 C 1.53125 -5.015625 1.359375 -5.265625 1 -5.265625 C 0.921875 -5.265625 0.90625 -5.265625 0.875 -5.265625 C 1.109375 -5.90625 1.640625 -6.265625 2.21875 -6.265625 C 3.109375 -6.265625 3.53125 -5.46875 3.53125 -4.65625 C 3.53125 -3.875 3.046875 -3.09375 2.5 -2.484375 L 0.609375 -0.359375 C 0.5 -0.25 0.5 -0.234375 0.5 0 L 4.15625 0 Z M 4.4375 -1.71875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-11">
<path style="stroke:none;" d="M 3.265625 2.375 C 3.265625 2.34375 3.265625 2.328125 3.09375 2.15625 C 1.859375 0.90625 1.546875 -0.953125 1.546875 -2.46875 C 1.546875 -4.1875 1.921875 -5.90625 3.140625 -7.140625 C 3.265625 -7.265625 3.265625 -7.28125 3.265625 -7.3125 C 3.265625 -7.375 3.234375 -7.40625 3.171875 -7.40625 C 3.078125 -7.40625 2.1875 -6.734375 1.59375 -5.484375 C 1.09375 -4.390625 0.984375 -3.296875 0.984375 -2.46875 C 0.984375 -1.703125 1.09375 -0.5 1.625 0.609375 C 2.21875 1.828125 3.078125 2.46875 3.171875 2.46875 C 3.234375 2.46875 3.265625 2.4375 3.265625 2.375 Z M 3.265625 2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-12">
<path style="stroke:none;" d="M 2.859375 -2.46875 C 2.859375 -3.234375 2.75 -4.4375 2.203125 -5.546875 C 1.609375 -6.765625 0.765625 -7.40625 0.65625 -7.40625 C 0.609375 -7.40625 0.5625 -7.359375 0.5625 -7.3125 C 0.5625 -7.28125 0.5625 -7.265625 0.75 -7.078125 C 1.71875 -6.109375 2.28125 -4.53125 2.28125 -2.46875 C 2.28125 -0.78125 1.921875 0.953125 0.6875 2.203125 C 0.5625 2.328125 0.5625 2.34375 0.5625 2.375 C 0.5625 2.421875 0.609375 2.46875 0.65625 2.46875 C 0.765625 2.46875 1.65625 1.796875 2.234375 0.546875 C 2.734375 -0.546875 2.859375 -1.640625 2.859375 -2.46875 Z M 2.859375 -2.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-13">
<path style="stroke:none;" d="M 3.96875 -5.234375 L 2.46875 -6.828125 L 0.96875 -5.234375 L 1.09375 -5.09375 L 2.46875 -6.15625 L 3.84375 -5.09375 Z M 3.96875 -5.234375 "/>
</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 7.125 -2.59375 C 7.125 -2.65625 7.078125 -2.703125 6.984375 -2.703125 C 6.765625 -2.703125 6.1875 -2.671875 5.953125 -2.671875 L 4.578125 -2.703125 C 4.484375 -2.703125 4.359375 -2.703125 4.359375 -2.5 C 4.359375 -2.390625 4.4375 -2.390625 4.65625 -2.390625 C 4.65625 -2.390625 4.953125 -2.390625 5.1875 -2.375 C 5.4375 -2.34375 5.484375 -2.3125 5.484375 -2.1875 C 5.484375 -2.09375 5.375 -1.65625 5.28125 -1.28125 C 5 -0.203125 3.71875 -0.09375 3.375 -0.09375 C 2.421875 -0.09375 1.390625 -0.65625 1.390625 -2.15625 C 1.390625 -2.46875 1.484375 -4.09375 2.53125 -5.375 C 3.0625 -6.046875 4.015625 -6.65625 5 -6.65625 C 6 -6.65625 6.59375 -5.890625 6.59375 -4.75 C 6.59375 -4.359375 6.5625 -4.34375 6.5625 -4.25 C 6.5625 -4.140625 6.671875 -4.140625 6.703125 -4.140625 C 6.828125 -4.140625 6.828125 -4.171875 6.890625 -4.34375 L 7.5 -6.859375 C 7.5 -6.890625 7.484375 -6.96875 7.390625 -6.96875 C 7.359375 -6.96875 7.359375 -6.953125 7.25 -6.84375 L 6.5625 -6.078125 C 6.46875 -6.21875 6.015625 -6.96875 4.921875 -6.96875 C 2.71875 -6.96875 0.5 -4.78125 0.5 -2.484375 C 0.5 -0.921875 1.59375 0.21875 3.1875 0.21875 C 3.625 0.21875 4.0625 0.125 4.421875 -0.015625 C 4.921875 -0.21875 5.109375 -0.421875 5.28125 -0.625 C 5.375 -0.375 5.625 -0.015625 5.734375 -0.015625 C 5.78125 -0.015625 5.796875 -0.046875 5.796875 -0.046875 C 5.8125 -0.0625 5.921875 -0.4375 5.96875 -0.65625 L 6.15625 -1.40625 C 6.1875 -1.578125 6.234375 -1.75 6.28125 -1.921875 C 6.390625 -2.359375 6.40625 -2.375 6.96875 -2.390625 C 7.015625 -2.390625 7.125 -2.40625 7.125 -2.59375 Z M 7.125 -2.59375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 3.90625 -1.53125 C 3.90625 -1.890625 3.71875 -2.140625 3.609375 -2.25 C 3.34375 -2.53125 3.046875 -2.578125 2.609375 -2.671875 C 2.265625 -2.75 1.859375 -2.8125 1.859375 -3.265625 C 1.859375 -3.546875 2.109375 -4.140625 2.96875 -4.140625 C 3.21875 -4.140625 3.71875 -4.078125 3.859375 -3.6875 C 3.578125 -3.6875 3.390625 -3.46875 3.390625 -3.25 C 3.390625 -3.109375 3.46875 -2.96875 3.6875 -2.96875 C 3.90625 -2.96875 4.140625 -3.125 4.140625 -3.515625 C 4.140625 -3.953125 3.71875 -4.359375 2.96875 -4.359375 C 1.671875 -4.359375 1.296875 -3.359375 1.296875 -2.921875 C 1.296875 -2.15625 2.03125 -2 2.328125 -1.953125 C 2.828125 -1.84375 3.34375 -1.734375 3.34375 -1.1875 C 3.34375 -0.9375 3.125 -0.109375 1.9375 -0.109375 C 1.796875 -0.109375 1.03125 -0.109375 0.8125 -0.625 C 1.1875 -0.578125 1.4375 -0.875 1.4375 -1.15625 C 1.4375 -1.375 1.28125 -1.5 1.0625 -1.5 C 0.8125 -1.5 0.515625 -1.296875 0.515625 -0.84375 C 0.515625 -0.28125 1.078125 0.109375 1.921875 0.109375 C 3.53125 0.109375 3.90625 -1.09375 3.90625 -1.53125 Z M 3.90625 -1.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-3">
<path style="stroke:none;" d="M 7.09375 -0.203125 C 7.09375 -0.3125 7 -0.3125 6.8125 -0.3125 C 6.453125 -0.3125 6.171875 -0.3125 6.171875 -0.484375 C 6.171875 -0.546875 6.1875 -0.59375 6.203125 -0.65625 L 7.53125 -5.984375 C 7.625 -6.34375 7.640625 -6.4375 8.359375 -6.4375 C 8.625 -6.4375 8.703125 -6.4375 8.703125 -6.640625 C 8.703125 -6.75 8.59375 -6.75 8.5625 -6.75 L 7.296875 -6.71875 L 6.03125 -6.75 C 5.9375 -6.75 5.84375 -6.75 5.84375 -6.546875 C 5.84375 -6.4375 5.921875 -6.4375 6.109375 -6.4375 C 6.109375 -6.4375 6.3125 -6.4375 6.484375 -6.421875 C 6.671875 -6.40625 6.75 -6.390625 6.75 -6.265625 C 6.75 -6.21875 6.75 -6.203125 6.71875 -6.078125 L 6.125 -3.65625 L 3.109375 -3.65625 L 3.6875 -5.984375 C 3.78125 -6.34375 3.8125 -6.4375 4.515625 -6.4375 C 4.78125 -6.4375 4.859375 -6.4375 4.859375 -6.640625 C 4.859375 -6.75 4.75 -6.75 4.71875 -6.75 L 3.453125 -6.71875 L 2.1875 -6.75 C 2.109375 -6.75 2 -6.75 2 -6.546875 C 2 -6.4375 2.078125 -6.4375 2.265625 -6.4375 C 2.265625 -6.4375 2.484375 -6.4375 2.640625 -6.421875 C 2.828125 -6.40625 2.90625 -6.390625 2.90625 -6.265625 C 2.90625 -6.21875 2.90625 -6.1875 2.875 -6.078125 L 1.546875 -0.765625 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.515625 0 0.515625 0 L 1.78125 -0.03125 L 2.40625 -0.015625 C 2.625 -0.015625 2.84375 0 3.046875 0 C 3.125 0 3.25 0 3.25 -0.203125 C 3.25 -0.3125 3.15625 -0.3125 2.96875 -0.3125 C 2.609375 -0.3125 2.328125 -0.3125 2.328125 -0.484375 C 2.328125 -0.546875 2.34375 -0.59375 2.359375 -0.65625 L 3.03125 -3.359375 L 6.046875 -3.359375 L 5.359375 -0.625 C 5.265625 -0.3125 5.078125 -0.3125 4.46875 -0.3125 C 4.3125 -0.3125 4.21875 -0.3125 4.21875 -0.109375 C 4.21875 0 4.359375 0 4.359375 0 L 5.625 -0.03125 L 6.25 -0.015625 C 6.46875 -0.015625 6.6875 0 6.890625 0 C 6.96875 0 7.09375 0 7.09375 -0.203125 Z M 7.09375 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-4">
<path style="stroke:none;" d="M 4.890625 -1.40625 C 4.890625 -1.515625 4.8125 -1.515625 4.78125 -1.515625 C 4.6875 -1.515625 4.671875 -1.46875 4.65625 -1.40625 C 4.328125 -0.34375 3.65625 -0.109375 3.34375 -0.109375 C 2.953125 -0.109375 2.796875 -0.421875 2.796875 -0.765625 C 2.796875 -0.984375 2.859375 -1.1875 2.96875 -1.625 L 3.296875 -2.984375 C 3.359375 -3.234375 3.578125 -4.140625 4.28125 -4.140625 C 4.328125 -4.140625 4.5625 -4.140625 4.765625 -4.015625 C 4.5 -3.96875 4.296875 -3.71875 4.296875 -3.484375 C 4.296875 -3.328125 4.40625 -3.140625 4.671875 -3.140625 C 4.890625 -3.140625 5.203125 -3.3125 5.203125 -3.71875 C 5.203125 -4.21875 4.625 -4.359375 4.28125 -4.359375 C 3.71875 -4.359375 3.375 -3.84375 3.25 -3.609375 C 3 -4.265625 2.46875 -4.359375 2.1875 -4.359375 C 1.15625 -4.359375 0.59375 -3.09375 0.59375 -2.84375 C 0.59375 -2.75 0.71875 -2.75 0.71875 -2.75 C 0.796875 -2.75 0.8125 -2.765625 0.84375 -2.859375 C 1.171875 -3.90625 1.828125 -4.140625 2.15625 -4.140625 C 2.34375 -4.140625 2.703125 -4.0625 2.703125 -3.484375 C 2.703125 -3.1875 2.53125 -2.515625 2.15625 -1.140625 C 2 -0.515625 1.65625 -0.109375 1.21875 -0.109375 C 1.171875 -0.109375 0.9375 -0.109375 0.734375 -0.234375 C 0.984375 -0.28125 1.1875 -0.5 1.1875 -0.765625 C 1.1875 -1.03125 0.984375 -1.109375 0.828125 -1.109375 C 0.53125 -1.109375 0.28125 -0.859375 0.28125 -0.546875 C 0.28125 -0.09375 0.78125 0.109375 1.21875 0.109375 C 1.859375 0.109375 2.21875 -0.578125 2.25 -0.640625 C 2.375 -0.28125 2.71875 0.109375 3.3125 0.109375 C 4.328125 0.109375 4.890625 -1.171875 4.890625 -1.40625 Z M 4.890625 -1.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-5">
<path style="stroke:none;" d="M 5.640625 -1.40625 C 5.640625 -1.515625 5.546875 -1.515625 5.515625 -1.515625 C 5.421875 -1.515625 5.421875 -1.484375 5.375 -1.328125 C 5.171875 -0.65625 4.84375 -0.109375 4.359375 -0.109375 C 4.203125 -0.109375 4.125 -0.203125 4.125 -0.4375 C 4.125 -0.6875 4.21875 -0.921875 4.3125 -1.140625 C 4.5 -1.65625 4.90625 -2.75 4.90625 -3.3125 C 4.90625 -3.96875 4.484375 -4.359375 3.765625 -4.359375 C 2.890625 -4.359375 2.40625 -3.734375 2.234375 -3.5 C 2.1875 -4.0625 1.78125 -4.359375 1.328125 -4.359375 C 0.875 -4.359375 0.6875 -3.984375 0.578125 -3.796875 C 0.421875 -3.46875 0.28125 -2.890625 0.28125 -2.84375 C 0.28125 -2.75 0.40625 -2.75 0.40625 -2.75 C 0.5 -2.75 0.515625 -2.75 0.578125 -2.96875 C 0.734375 -3.671875 0.9375 -4.140625 1.296875 -4.140625 C 1.484375 -4.140625 1.59375 -4.015625 1.59375 -3.6875 C 1.59375 -3.484375 1.5625 -3.375 1.4375 -2.859375 L 0.875 -0.578125 C 0.84375 -0.4375 0.78125 -0.203125 0.78125 -0.15625 C 0.78125 0.015625 0.921875 0.109375 1.0625 0.109375 C 1.1875 0.109375 1.359375 0.03125 1.4375 -0.171875 C 1.4375 -0.1875 1.5625 -0.65625 1.625 -0.90625 L 1.84375 -1.78125 C 1.890625 -2 1.953125 -2.21875 2 -2.453125 L 2.140625 -2.9375 C 2.28125 -3.25 2.796875 -4.140625 3.75 -4.140625 C 4.1875 -4.140625 4.28125 -3.78125 4.28125 -3.453125 C 4.28125 -2.84375 3.796875 -1.578125 3.640625 -1.15625 C 3.546875 -0.921875 3.53125 -0.8125 3.53125 -0.703125 C 3.53125 -0.234375 3.875 0.109375 4.34375 0.109375 C 5.265625 0.109375 5.640625 -1.328125 5.640625 -1.40625 Z M 5.640625 -1.40625 "/>
</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.3125 -0.25 2.3125 -0.34375 2.3125 -0.5625 L 2.3125 -4.40625 C 2.3125 -4.59375 2.3125 -4.59375 2.109375 -4.59375 C 1.671875 -4.15625 1.03125 -4.15625 0.75 -4.15625 L 0.75 -3.90625 C 0.921875 -3.90625 1.375 -3.90625 1.765625 -4.09375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.0625 -0.25 L 0.796875 -0.25 L 0.796875 0 L 2.03125 -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.234375 -1.109375 3.171875 -0.703125 3.078125 -0.625 C 3.03125 -0.59375 2.484375 -0.59375 2.390625 -0.59375 L 1.125 -0.59375 C 1.84375 -1.234375 2.09375 -1.421875 2.5 -1.75 C 3.015625 -2.15625 3.5 -2.59375 3.5 -3.25 C 3.5 -4.078125 2.765625 -4.59375 1.875 -4.59375 C 1.015625 -4.59375 0.4375 -4 0.4375 -3.359375 C 0.4375 -3 0.734375 -2.96875 0.796875 -2.96875 C 0.96875 -2.96875 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.453125 1.125 -3.703125 0.765625 -3.703125 C 0.96875 -4.1875 1.453125 -4.34375 1.765625 -4.34375 C 2.46875 -4.34375 2.828125 -3.8125 2.828125 -3.25 C 2.828125 -2.640625 2.390625 -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.28125 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 8.046875 -2.96875 C 8.046875 -3.1875 7.859375 -3.1875 7.671875 -3.1875 L 4.5 -3.1875 L 4.5 -6.359375 C 4.5 -6.53125 4.5 -6.734375 4.296875 -6.734375 C 4.09375 -6.734375 4.09375 -6.53125 4.09375 -6.359375 L 4.09375 -3.1875 L 0.921875 -3.1875 C 0.75 -3.1875 0.546875 -3.1875 0.546875 -2.984375 C 0.546875 -2.765625 0.734375 -2.765625 0.921875 -2.765625 L 4.09375 -2.765625 L 4.09375 0.390625 C 4.09375 0.5625 4.09375 0.765625 4.296875 0.765625 C 4.5 0.765625 4.5 0.578125 4.5 0.390625 L 4.5 -2.765625 L 7.671875 -2.765625 C 7.84375 -2.765625 8.046875 -2.765625 8.046875 -2.96875 Z M 8.046875 -2.96875 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 178 50 L 198.953125 50 L 198.953125 83 L 178 83 Z M 178 50 "/>
</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-dasharray:2.98883,2.98883;stroke-miterlimit:10;" d="M -5.670512 -48.11172 L 163.842337 -48.11172 L 163.842337 65.927491 L -5.670512 65.927491 Z M -5.670512 -48.11172 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="124.240578" y="11.088685"/>
<use xlink:href="#glyph0-2" x="129.730097" y="11.088685"/>
<use xlink:href="#glyph0-3" x="135.219617" y="11.088685"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="140.985786" y="11.088685"/>
<use xlink:href="#glyph0-5" x="145.377599" y="11.088685"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="152.537885" y="11.088685"/>
<use xlink:href="#glyph0-4" x="158.027404" y="11.088685"/>
<use xlink:href="#glyph0-6" x="162.419217" y="11.088685"/>
<use xlink:href="#glyph0-7" x="167.908737" y="11.088685"/>
<use xlink:href="#glyph0-8" x="171.806533" y="11.088685"/>
<use xlink:href="#glyph0-5" x="176.746705" y="11.088685"/>
</g>
<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 7.429837 13.100707 L 96.032471 13.100707 L 96.032471 60.259601 L 7.429837 60.259601 Z M 7.429837 13.100707 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="32.081813" y="16.711871"/>
<use xlink:href="#glyph0-4" x="37.571332" y="16.711871"/>
<use xlink:href="#glyph0-6" x="41.963145" y="16.711871"/>
<use xlink:href="#glyph0-7" x="47.452665" y="16.711871"/>
<use xlink:href="#glyph0-8" x="51.350461" y="16.711871"/>
<use xlink:href="#glyph0-5" x="56.290633" y="16.711871"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-9" x="63.450919" y="16.711871"/>
</g>
<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 7.429837 -42.443829 L 96.032471 -42.443829 L 96.032471 4.715065 L 7.429837 4.715065 Z M 7.429837 -42.443829 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="32.081813" y="71.795294"/>
<use xlink:href="#glyph0-4" x="37.571332" y="71.795294"/>
<use xlink:href="#glyph0-6" x="41.963145" y="71.795294"/>
<use xlink:href="#glyph0-7" x="47.452665" y="71.795294"/>
<use xlink:href="#glyph0-8" x="51.350461" y="71.795294"/>
<use xlink:href="#glyph0-5" x="56.290633" y="71.795294"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="63.450919" y="71.795294"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 23.398438 66.371094 C 23.398438 65.28125 22.511719 64.394531 21.421875 64.394531 C 20.328125 64.394531 19.445312 65.28125 19.445312 66.371094 C 19.445312 67.460938 20.328125 68.347656 21.421875 68.347656 C 22.511719 68.347656 23.398438 67.460938 23.398438 66.371094 Z M 23.398438 66.371094 "/>
<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 16.433866 16.432906 L 47.794353 16.432906 L 47.794353 39.108406 L 16.433866 39.108406 Z M 16.433866 16.432906 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="41.01048" y="41.30017"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="48.778808" y="42.781835"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="53.21091" y="41.30017"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="57.052925" y="41.30017"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="61.684367" y="41.30017"/>
</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 16.433866 -39.11163 L 47.794353 -39.11163 L 47.794353 -16.432192 L 16.433866 -16.432192 Z M 16.433866 -39.11163 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="41.01048" y="96.383593"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="48.778808" y="97.865257"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="53.21091" y="96.383593"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="57.052925" y="96.383593"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="61.684367" y="96.383593"/>
</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 84.917261 27.772625 C 84.917261 31.624742 81.797755 34.744248 77.945638 34.744248 C 74.093521 34.744248 70.970076 31.624742 70.970076 27.772625 C 70.970076 23.920508 74.093521 20.797063 77.945638 20.797063 C 81.797755 20.797063 84.917261 23.920508 84.917261 27.772625 Z M 84.917261 27.772625 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="94.418848" y="41.721661"/>
</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 84.917261 -27.771911 C 84.917261 -23.919794 81.797755 -20.796349 77.945638 -20.796349 C 74.093521 -20.796349 70.970076 -23.919794 70.970076 -27.771911 C 70.970076 -31.624028 74.093521 -34.743534 77.945638 -34.743534 C 81.797755 -34.743534 84.917261 -31.624028 84.917261 -27.771911 Z M 84.917261 -27.771911 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="94.418848" y="96.805084"/>
</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 108.092985 16.432906 L 139.906431 16.432906 L 139.906431 39.108406 L 108.092985 39.108406 Z M 108.092985 16.432906 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="131.913698" y="41.30017"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="140.127318" y="42.781835"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="144.55942" y="41.30017"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="148.401435" y="41.30017"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="153.032877" y="41.30017"/>
</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 108.092985 -39.11163 L 139.906431 -39.11163 L 139.906431 -16.432192 L 108.092985 -16.432192 Z M 108.092985 -39.11163 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-3" x="131.913698" y="96.383593"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="140.127318" y="97.865257"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="144.55942" y="96.383593"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="148.401435" y="96.383593"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="153.032877" y="96.383593"/>
</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 158.174446 0.000357199 C 158.174446 3.852474 155.051002 6.97198 151.198885 6.97198 C 147.346767 6.97198 144.223323 3.852474 144.223323 0.000357199 C 144.223323 -3.85176 147.346767 -6.975205 151.198885 -6.975205 C 155.051002 -6.975205 158.174446 -3.85176 158.174446 0.000357199 Z M 158.174446 0.000357199 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="167.067041" y="69.263372"/>
</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 -19.842207 0.000357199 L 0.00131669 0.000357199 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-4" x="5.52887" y="62.583979"/>
</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 0.00131669 0.000357199 L 0.00131669 27.772625 L 11.301648 27.772625 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.053185 0.00115519 L 1.610252 1.68301 L 3.087291 0.00115519 L 1.610252 -1.684638 Z M 6.053185 0.00115519 " transform="matrix(0.991744,0,0,-0.991744,29.813199,38.829271)"/>
<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.00131669 0.000357199 L 0.00131669 -27.771911 L 11.301648 -27.771911 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.053185 -0.000440789 L 1.610252 1.681414 L 3.087291 -0.000440789 L 1.610252 -1.682296 Z M 6.053185 -0.000440789 " transform="matrix(0.991744,0,0,-0.991744,29.813199,93.913625)"/>
<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 48.294577 27.772625 L 66.338083 27.772625 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.053079 0.00115519 L 1.610146 1.68301 L 3.087185 0.00115519 L 1.610146 -1.684638 Z M 6.053079 0.00115519 " transform="matrix(0.991744,0,0,-0.991744,84.395335,38.829271)"/>
<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 48.294577 -27.771911 L 66.338083 -27.771911 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.053079 -0.000440789 L 1.610146 1.681414 L 3.087185 -0.000440789 L 1.610146 -1.682296 Z M 6.053079 -0.000440789 " transform="matrix(0.991744,0,0,-0.991744,84.395335,93.913625)"/>
<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 77.945638 39.380181 L 77.945638 57.423687 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.055244 0.000638237 L 1.608373 1.682493 L 3.089351 0.000638237 L 1.608373 -1.681217 Z M 6.055244 0.000638237 " transform="matrix(0,0.991744,0.991744,0,98.722023,24.502563)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-5" x="102.507509" y="17.464605"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="108.438135" y="18.94627"/>
</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 77.945638 -16.164355 L 77.945638 1.879151 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.052902 0.000638237 L 1.609969 1.682493 L 3.087008 0.000638237 L 1.609969 -1.681217 Z M 6.052902 0.000638237 " transform="matrix(0,0.991744,0.991744,0,98.722023,79.586917)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-5" x="102.507509" y="72.548027"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="108.438135" y="74.030684"/>
</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.917261 27.772625 L 102.964706 27.772625 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.054382 0.00115519 L 1.607511 1.68301 L 3.088488 0.00115519 L 1.607511 -1.684638 Z M 6.054382 0.00115519 " transform="matrix(0.991744,0,0,-0.991744,120.718261,38.829271)"/>
<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.917261 -27.771911 L 102.964706 -27.771911 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.054382 -0.000440789 L 1.607511 1.681414 L 3.088488 -0.000440789 L 1.607511 -1.682296 Z M 6.054382 -0.000440789 " transform="matrix(0.991744,0,0,-0.991744,120.718261,93.913625)"/>
<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 140.402716 27.772625 L 151.198885 27.772625 L 151.198885 11.607913 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.052104 0.000264592 L 1.609171 1.682119 L 3.08621 0.000264592 L 1.609171 -1.68159 Z M 6.052104 0.000264592 " transform="matrix(0,0.991744,0.991744,0,171.370831,52.04474)"/>
<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 140.402716 -27.771911 L 151.198885 -27.771911 L 151.198885 -11.607198 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<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.052808 -0.000264592 L 1.609875 1.68159 L 3.086914 -0.000264592 L 1.609875 -1.682119 Z M 6.052808 -0.000264592 " transform="matrix(0,-0.991744,-0.991744,0,171.370831,80.698146)"/>
<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 158.174446 0.000357199 L 173.382038 0.000357199 " transform="matrix(0.991744,0,0,-0.991744,21.420569,66.371448)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 196.558594 66.371094 L 192.152344 64.703125 L 193.617188 66.371094 L 192.152344 68.039062 Z M 196.558594 66.371094 "/>
<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 6.052954 0.000357199 L 1.610022 1.682212 L 3.08706 0.000357199 L 1.610022 -1.681498 Z M 6.052954 0.000357199 " transform="matrix(0.991744,0,0,-0.991744,190.555615,66.371448)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-13" x="189.157138" y="62.583979"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-4" x="188.529364" y="62.583979"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,33 @@
\begin{tikzpicture}
\node[branch] (x) at (0, 0);
\node[block, above right=0.5 and 0.5 of x](G1){$G_1(s)$};
\node[block, below right=0.5 and 0.5 of x](G2){$G_2(s)$};
\node[addb, right=0.8 of G1](add1){};
\node[addb, right=0.8 of G2](add2){};
\node[block, right=0.8 of add1](H1){$H_1(s)$};
\node[block, right=0.8 of add2](H2){$H_2(s)$};
\node[addb, right=5 of x](add){};
\draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center);
\draw[->] (x.center) |- (G1.west);
\draw[->] (x.center) |- (G2.west);
\draw[->] (G1.east) -- (add1.west);
\draw[->] (G2.east) -- (add2.west);
\draw[<-] (add1.north) -- ++(0, 0.8)node[below right](n1){$n_1$};
\draw[<-] (add2.north) -- ++(0, 0.8)node[below right](n2){$n_2$};
\draw[->] (add1.east) -- (H1.west);
\draw[->] (add2.east) -- (H2.west);
\draw[->] (H1) -| (add.north);
\draw[->] (H2) -| (add.south);
\draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$};
\begin{scope}[on background layer]
\node[fit={($(G2.south-|x)+(-0.2, -0.3)$) ($(n1.north east-|add.east)+(0.2, 0.3)$)}, fill=black!10!white, draw, dashed, inner sep=0pt] (supersensor) {};
\node[below left] at (supersensor.north east) {Super Sensor};
\node[fit={($(G1.south west)+(-0.3, -0.1)$) ($(n1.north east)+(0.0, 0.1)$)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor1) {};
\node[below right] at (sensor1.north west) {Sensor 1};
\node[fit={($(G2.south west)+(-0.3, -0.1)$) ($(n2.north east)+(0.0, 0.1)$)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor2) {};
\node[below right] at (sensor2.north west) {Sensor 2};
\end{scope}
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="156.063pt" height="122.142pt" viewBox="0 0 156.063 122.142" 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.453125 -5.265625 C 7.453125 -6.015625 6.8125 -6.75 5.515625 -6.75 L 2.296875 -6.75 C 2.109375 -6.75 2 -6.75 2 -6.5625 C 2 -6.453125 2.09375 -6.453125 2.296875 -6.453125 C 2.421875 -6.453125 2.59375 -6.4375 2.71875 -6.421875 C 2.875 -6.40625 2.9375 -6.375 2.9375 -6.265625 C 2.9375 -6.234375 2.921875 -6.203125 2.890625 -6.078125 L 1.578125 -0.765625 C 1.46875 -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.796875 -0.03125 L 2.4375 -0.015625 C 2.65625 -0.015625 2.875 0 3.078125 0 C 3.140625 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.359375 -0.3125 2.359375 -0.484375 C 2.359375 -0.546875 2.375 -0.59375 2.390625 -0.65625 L 3 -3.125 L 4.671875 -3.125 C 6.078125 -3.125 7.453125 -4.15625 7.453125 -5.265625 Z M 6.53125 -5.5 C 6.53125 -5.109375 6.34375 -4.265625 5.953125 -3.90625 C 5.453125 -3.46875 4.859375 -3.375 4.4375 -3.375 L 3.03125 -3.375 L 3.703125 -6.078125 C 3.796875 -6.421875 3.8125 -6.453125 4.25 -6.453125 L 5.1875 -6.453125 C 6.015625 -6.453125 6.53125 -6.1875 6.53125 -5.5 Z M 6.53125 -5.5 "/>
</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.609375 -2.25 C 3.34375 -2.53125 3.0625 -2.578125 2.625 -2.671875 C 2.265625 -2.75 1.875 -2.8125 1.875 -3.265625 C 1.875 -3.546875 2.109375 -4.15625 2.984375 -4.15625 C 3.21875 -4.15625 3.71875 -4.078125 3.875 -3.703125 C 3.59375 -3.6875 3.390625 -3.46875 3.390625 -3.25 C 3.390625 -3.109375 3.484375 -2.96875 3.703125 -2.96875 C 3.921875 -2.96875 4.15625 -3.140625 4.15625 -3.515625 C 4.15625 -3.96875 3.734375 -4.375 2.984375 -4.375 C 1.671875 -4.375 1.3125 -3.359375 1.3125 -2.921875 C 1.3125 -2.15625 2.03125 -2 2.328125 -1.953125 C 2.84375 -1.84375 3.359375 -1.734375 3.359375 -1.203125 C 3.359375 -0.9375 3.125 -0.109375 1.9375 -0.109375 C 1.796875 -0.109375 1.03125 -0.109375 0.8125 -0.640625 C 1.1875 -0.578125 1.4375 -0.875 1.4375 -1.15625 C 1.4375 -1.390625 1.28125 -1.5 1.0625 -1.5 C 0.8125 -1.5 0.515625 -1.296875 0.515625 -0.84375 C 0.515625 -0.28125 1.078125 0.109375 1.921875 0.109375 C 3.53125 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.359375 -6.640625 C 10.359375 -6.6875 10.328125 -6.75 10.25 -6.75 C 10.015625 -6.75 9.734375 -6.71875 9.484375 -6.71875 C 9.15625 -6.71875 8.78125 -6.75 8.453125 -6.75 C 8.390625 -6.75 8.265625 -6.75 8.265625 -6.5625 C 8.265625 -6.453125 8.359375 -6.453125 8.421875 -6.453125 C 8.65625 -6.4375 9 -6.359375 9 -6.0625 C 9 -5.953125 8.953125 -5.875 8.875 -5.734375 L 6.203125 -1.078125 L 5.828125 -5.984375 C 5.828125 -6.1875 5.8125 -6.4375 6.53125 -6.453125 C 6.703125 -6.453125 6.796875 -6.453125 6.796875 -6.640625 C 6.796875 -6.75 6.6875 -6.75 6.640625 -6.75 C 6.25 -6.75 5.828125 -6.71875 5.4375 -6.71875 C 5.21875 -6.71875 4.625 -6.75 4.40625 -6.75 C 4.34375 -6.75 4.21875 -6.75 4.21875 -6.5625 C 4.21875 -6.453125 4.3125 -6.453125 4.453125 -6.453125 C 4.890625 -6.453125 4.953125 -6.390625 4.96875 -6.203125 L 5.03125 -5.4375 L 2.53125 -1.078125 L 2.15625 -6.09375 C 2.15625 -6.21875 2.15625 -6.4375 2.90625 -6.453125 C 3 -6.453125 3.109375 -6.453125 3.109375 -6.640625 C 3.109375 -6.75 2.984375 -6.75 2.984375 -6.75 C 2.578125 -6.75 2.171875 -6.71875 1.765625 -6.71875 C 1.421875 -6.71875 1.0625 -6.75 0.71875 -6.75 C 0.671875 -6.75 0.546875 -6.75 0.546875 -6.5625 C 0.546875 -6.453125 0.640625 -6.453125 0.796875 -6.453125 C 1.28125 -6.453125 1.296875 -6.359375 1.3125 -6.078125 L 1.765625 -0.046875 C 1.765625 0.140625 1.78125 0.21875 1.921875 0.21875 C 2.03125 0.21875 2.0625 0.15625 2.15625 0.015625 L 5.0625 -5.03125 L 5.4375 -0.046875 C 5.453125 0.171875 5.46875 0.21875 5.59375 0.21875 C 5.71875 0.21875 5.78125 0.125 5.828125 0.03125 L 9.0625 -5.609375 C 9.3125 -6.046875 9.546875 -6.40625 10.171875 -6.453125 C 10.265625 -6.453125 10.359375 -6.453125 10.359375 -6.640625 Z M 10.359375 -6.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 7.09375 -0.203125 C 7.09375 -0.3125 7.015625 -0.3125 6.828125 -0.3125 C 6.453125 -0.3125 6.1875 -0.3125 6.1875 -0.484375 C 6.1875 -0.546875 6.203125 -0.59375 6.21875 -0.65625 L 7.546875 -6 C 7.640625 -6.34375 7.65625 -6.453125 8.375 -6.453125 C 8.640625 -6.453125 8.71875 -6.453125 8.71875 -6.640625 C 8.71875 -6.75 8.609375 -6.75 8.578125 -6.75 L 7.3125 -6.71875 L 6.03125 -6.75 C 5.953125 -6.75 5.84375 -6.75 5.84375 -6.5625 C 5.84375 -6.453125 5.9375 -6.453125 6.125 -6.453125 C 6.125 -6.453125 6.328125 -6.453125 6.5 -6.421875 C 6.671875 -6.40625 6.765625 -6.40625 6.765625 -6.265625 C 6.765625 -6.234375 6.75 -6.21875 6.71875 -6.078125 L 6.125 -3.671875 L 3.109375 -3.671875 L 3.703125 -6 C 3.78125 -6.34375 3.8125 -6.453125 4.53125 -6.453125 C 4.78125 -6.453125 4.859375 -6.453125 4.859375 -6.640625 C 4.859375 -6.75 4.75 -6.75 4.734375 -6.75 L 3.46875 -6.71875 L 2.1875 -6.75 C 2.109375 -6.75 2 -6.75 2 -6.5625 C 2 -6.453125 2.09375 -6.453125 2.28125 -6.453125 C 2.28125 -6.453125 2.484375 -6.453125 2.65625 -6.421875 C 2.828125 -6.40625 2.921875 -6.40625 2.921875 -6.265625 C 2.921875 -6.234375 2.90625 -6.203125 2.875 -6.078125 L 1.546875 -0.765625 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.40625 -0.015625 C 2.625 -0.015625 2.84375 0 3.0625 0 C 3.140625 0 3.25 0 3.25 -0.203125 C 3.25 -0.3125 3.171875 -0.3125 2.984375 -0.3125 C 2.609375 -0.3125 2.328125 -0.3125 2.328125 -0.484375 C 2.328125 -0.546875 2.359375 -0.59375 2.359375 -0.65625 L 3.03125 -3.359375 L 6.046875 -3.359375 L 5.375 -0.640625 C 5.265625 -0.3125 5.078125 -0.3125 4.46875 -0.3125 C 4.328125 -0.3125 4.234375 -0.3125 4.234375 -0.109375 C 4.234375 0 4.375 0 4.375 0 L 5.625 -0.03125 L 6.265625 -0.015625 C 6.484375 -0.015625 6.703125 0 6.90625 0 C 6.984375 0 7.09375 0 7.09375 -0.203125 Z M 7.09375 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 6.828125 -3.671875 C 6.828125 -4.21875 6.5625 -4.375 6.40625 -4.375 C 6.15625 -4.375 5.90625 -4.109375 5.90625 -3.890625 C 5.90625 -3.765625 5.96875 -3.703125 6.046875 -3.625 C 6.15625 -3.515625 6.40625 -3.265625 6.40625 -2.796875 C 6.40625 -2.453125 6.125 -1.484375 5.859375 -0.984375 C 5.609375 -0.453125 5.265625 -0.109375 4.78125 -0.109375 C 4.3125 -0.109375 4.046875 -0.40625 4.046875 -0.96875 C 4.046875 -1.25 4.109375 -1.546875 4.15625 -1.6875 L 4.5625 -3.359375 C 4.625 -3.578125 4.71875 -3.9375 4.71875 -4 C 4.71875 -4.171875 4.578125 -4.265625 4.4375 -4.265625 C 4.3125 -4.265625 4.140625 -4.1875 4.0625 -3.984375 C 4.03125 -3.921875 3.578125 -2.03125 3.5 -1.765625 C 3.4375 -1.46875 3.40625 -1.296875 3.40625 -1.125 C 3.40625 -1.015625 3.40625 -0.984375 3.421875 -0.9375 C 3.1875 -0.421875 2.890625 -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.765625 -1.71875 2.234375 -2.921875 C 2.34375 -3.21875 2.40625 -3.359375 2.40625 -3.5625 C 2.40625 -4 2.078125 -4.375 1.59375 -4.375 C 0.65625 -4.375 0.28125 -2.9375 0.28125 -2.84375 C 0.28125 -2.75 0.40625 -2.75 0.40625 -2.75 C 0.5 -2.75 0.515625 -2.765625 0.5625 -2.921875 C 0.828125 -3.84375 1.21875 -4.15625 1.5625 -4.15625 C 1.65625 -4.15625 1.8125 -4.140625 1.8125 -3.828125 C 1.8125 -3.578125 1.703125 -3.296875 1.625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.734375 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.109375 0.109375 3.515625 -0.578125 C 3.765625 0.046875 4.453125 0.109375 4.75 0.109375 C 5.484375 0.109375 5.921875 -0.515625 6.1875 -1.109375 C 6.515625 -1.875 6.828125 -3.203125 6.828125 -3.671875 Z M 6.828125 -3.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 5.375 -1.421875 C 5.375 -1.515625 5.28125 -1.515625 5.25 -1.515625 C 5.15625 -1.515625 5.140625 -1.46875 5.109375 -1.328125 C 4.96875 -0.78125 4.78125 -0.109375 4.375 -0.109375 C 4.15625 -0.109375 4.0625 -0.234375 4.0625 -0.5625 C 4.0625 -0.78125 4.1875 -1.25 4.265625 -1.59375 L 4.546875 -2.65625 C 4.5625 -2.8125 4.671875 -3.1875 4.703125 -3.328125 C 4.75 -3.5625 4.859375 -3.9375 4.859375 -4 C 4.859375 -4.171875 4.71875 -4.265625 4.5625 -4.265625 C 4.515625 -4.265625 4.265625 -4.25 4.1875 -3.921875 L 3.4375 -0.9375 C 3.4375 -0.90625 3.03125 -0.109375 2.3125 -0.109375 C 1.796875 -0.109375 1.703125 -0.546875 1.703125 -0.921875 C 1.703125 -1.46875 1.984375 -2.25 2.234375 -2.9375 C 2.359375 -3.234375 2.40625 -3.375 2.40625 -3.5625 C 2.40625 -4 2.09375 -4.375 1.59375 -4.375 C 0.65625 -4.375 0.28125 -2.9375 0.28125 -2.84375 C 0.28125 -2.75 0.40625 -2.75 0.40625 -2.75 C 0.5 -2.75 0.515625 -2.765625 0.5625 -2.921875 C 0.8125 -3.78125 1.1875 -4.15625 1.5625 -4.15625 C 1.65625 -4.15625 1.8125 -4.140625 1.8125 -3.828125 C 1.8125 -3.59375 1.703125 -3.296875 1.640625 -3.15625 C 1.28125 -2.171875 1.0625 -1.5625 1.0625 -1.078125 C 1.0625 -0.140625 1.75 0.109375 2.28125 0.109375 C 2.9375 0.109375 3.296875 -0.34375 3.46875 -0.546875 C 3.578125 -0.140625 3.921875 0.109375 4.34375 0.109375 C 4.6875 0.109375 4.921875 -0.125 5.078125 -0.4375 C 5.234375 -0.796875 5.375 -1.421875 5.375 -1.421875 Z M 5.375 -1.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 4.625 -3.671875 C 4.625 -4.21875 4.375 -4.375 4.1875 -4.375 C 3.953125 -4.375 3.703125 -4.109375 3.703125 -3.890625 C 3.703125 -3.765625 3.765625 -3.703125 3.875 -3.59375 C 4.078125 -3.40625 4.203125 -3.140625 4.203125 -2.796875 C 4.203125 -2.375 3.59375 -0.109375 2.4375 -0.109375 C 1.9375 -0.109375 1.71875 -0.453125 1.71875 -0.96875 C 1.71875 -1.515625 1.984375 -2.25 2.28125 -3.0625 C 2.359375 -3.234375 2.40625 -3.375 2.40625 -3.5625 C 2.40625 -4 2.09375 -4.375 1.59375 -4.375 C 0.65625 -4.375 0.28125 -2.9375 0.28125 -2.84375 C 0.28125 -2.75 0.40625 -2.75 0.40625 -2.75 C 0.5 -2.75 0.515625 -2.765625 0.5625 -2.921875 C 0.84375 -3.921875 1.28125 -4.15625 1.5625 -4.15625 C 1.640625 -4.15625 1.8125 -4.15625 1.8125 -3.84375 C 1.8125 -3.59375 1.71875 -3.328125 1.640625 -3.140625 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.0625 0.109375 4.625 -3.171875 4.625 -3.671875 Z M 4.625 -3.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.296875 -1.421875 C 4.296875 -1.46875 4.265625 -1.515625 4.1875 -1.515625 C 4.09375 -1.515625 4.078125 -1.453125 4.046875 -1.390625 C 3.8125 -0.734375 3.1875 -0.546875 2.859375 -0.546875 C 2.65625 -0.546875 2.484375 -0.609375 2.28125 -0.6875 C 1.9375 -0.8125 1.796875 -0.84375 1.578125 -0.84375 C 1.578125 -0.84375 1.40625 -0.84375 1.3125 -0.828125 C 1.84375 -1.390625 2.140625 -1.640625 2.5 -1.953125 C 2.5 -1.953125 3.109375 -2.484375 3.46875 -2.84375 C 4.40625 -3.765625 4.625 -4.234375 4.625 -4.265625 C 4.625 -4.375 4.515625 -4.375 4.515625 -4.375 C 4.4375 -4.375 4.40625 -4.359375 4.359375 -4.265625 C 4.0625 -3.78125 3.859375 -3.625 3.625 -3.625 C 3.375 -3.625 3.265625 -3.78125 3.109375 -3.953125 C 2.921875 -4.171875 2.765625 -4.375 2.4375 -4.375 C 1.6875 -4.375 1.234375 -3.453125 1.234375 -3.25 C 1.234375 -3.1875 1.265625 -3.140625 1.359375 -3.140625 C 1.4375 -3.140625 1.46875 -3.1875 1.484375 -3.25 C 1.671875 -3.703125 2.25 -3.703125 2.328125 -3.703125 C 2.53125 -3.703125 2.71875 -3.640625 2.953125 -3.5625 C 3.34375 -3.40625 3.453125 -3.40625 3.703125 -3.40625 C 3.359375 -2.984375 2.515625 -2.28125 2.328125 -2.109375 L 1.4375 -1.28125 C 0.765625 -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.21875 -0.640625 1.546875 -0.640625 C 1.765625 -0.640625 1.875 -0.546875 2.109375 -0.25 C 2.28125 -0.046875 2.46875 0.109375 2.75 0.109375 C 3.734375 0.109375 4.296875 -1.140625 4.296875 -1.421875 Z M 4.296875 -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.546875 -0.953125 1.546875 -2.46875 C 1.546875 -4.1875 1.921875 -5.921875 3.140625 -7.15625 C 3.28125 -7.265625 3.28125 -7.296875 3.28125 -7.3125 C 3.28125 -7.390625 3.234375 -7.421875 3.171875 -7.421875 C 3.078125 -7.421875 2.1875 -6.75 1.609375 -5.484375 C 1.09375 -4.40625 0.984375 -3.296875 0.984375 -2.46875 C 0.984375 -1.703125 1.09375 -0.5 1.625 0.609375 C 2.21875 1.828125 3.078125 2.46875 3.171875 2.46875 C 3.234375 2.46875 3.28125 2.4375 3.28125 2.375 Z M 3.28125 2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 2.859375 -2.46875 C 2.859375 -3.25 2.75 -4.4375 2.203125 -5.5625 C 1.609375 -6.78125 0.765625 -7.421875 0.65625 -7.421875 C 0.609375 -7.421875 0.5625 -7.375 0.5625 -7.3125 C 0.5625 -7.296875 0.5625 -7.265625 0.75 -7.09375 C 1.71875 -6.109375 2.28125 -4.546875 2.28125 -2.46875 C 2.28125 -0.78125 1.921875 0.953125 0.6875 2.203125 C 0.5625 2.328125 0.5625 2.34375 0.5625 2.375 C 0.5625 2.4375 0.609375 2.46875 0.65625 2.46875 C 0.765625 2.46875 1.65625 1.796875 2.234375 0.546875 C 2.734375 -0.546875 2.859375 -1.640625 2.859375 -2.46875 Z M 2.859375 -2.46875 "/>
</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.3125 -0.25 2.3125 -0.34375 2.3125 -0.5625 L 2.3125 -4.40625 C 2.3125 -4.59375 2.3125 -4.59375 2.109375 -4.59375 C 1.671875 -4.15625 1.03125 -4.15625 0.75 -4.15625 L 0.75 -3.90625 C 0.921875 -3.90625 1.375 -3.90625 1.765625 -4.09375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.0625 -0.25 L 0.796875 -0.25 L 0.796875 0 L 2.03125 -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.234375 -1.109375 3.171875 -0.703125 3.078125 -0.625 C 3.03125 -0.59375 2.484375 -0.59375 2.390625 -0.59375 L 1.125 -0.59375 C 1.84375 -1.234375 2.09375 -1.421875 2.5 -1.75 C 3.015625 -2.15625 3.5 -2.59375 3.5 -3.25 C 3.5 -4.078125 2.765625 -4.59375 1.875 -4.59375 C 1.015625 -4.59375 0.4375 -4 0.4375 -3.359375 C 0.4375 -3 0.734375 -2.96875 0.796875 -2.96875 C 0.96875 -2.96875 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.453125 1.125 -3.703125 0.765625 -3.703125 C 0.96875 -4.1875 1.453125 -4.34375 1.765625 -4.34375 C 2.46875 -4.34375 2.828125 -3.8125 2.828125 -3.25 C 2.828125 -2.640625 2.390625 -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.28125 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 8.0625 -2.984375 C 8.0625 -3.203125 7.859375 -3.203125 7.6875 -3.203125 L 4.515625 -3.203125 L 4.515625 -6.375 C 4.515625 -6.53125 4.515625 -6.734375 4.3125 -6.734375 C 4.09375 -6.734375 4.09375 -6.546875 4.09375 -6.375 L 4.09375 -3.203125 L 0.921875 -3.203125 C 0.75 -3.203125 0.546875 -3.203125 0.546875 -3 C 0.546875 -2.78125 0.734375 -2.78125 0.921875 -2.78125 L 4.09375 -2.78125 L 4.09375 0.390625 C 4.09375 0.5625 4.09375 0.765625 4.296875 0.765625 C 4.515625 0.765625 4.515625 0.578125 4.515625 0.390625 L 4.515625 -2.78125 L 7.6875 -2.78125 C 7.859375 -2.78125 8.0625 -2.78125 8.0625 -2.984375 Z M 8.0625 -2.984375 "/>
</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.859375 -2.46875 C 6.859375 -2.671875 6.671875 -2.671875 6.53125 -2.671875 L 1.140625 -2.671875 C 1.015625 -2.671875 0.828125 -2.671875 0.828125 -2.46875 C 0.828125 -2.28125 1.015625 -2.28125 1.140625 -2.28125 L 6.53125 -2.28125 C 6.671875 -2.28125 6.859375 -2.28125 6.859375 -2.46875 Z M 6.859375 -2.46875 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 0.078125 34 L 47 34 L 47 36 L 0.078125 36 Z M 0.078125 34 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 81 93 L 114 93 L 114 121.289062 L 81 121.289062 Z M 81 93 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 134 19 L 155.054688 19 L 155.054688 51 L 134 51 Z M 134 19 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 134 48 L 155.054688 48 L 155.054688 80 L 134 80 Z M 134 48 "/>
</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 -56.692699 -35.435264 L 56.691978 -35.435264 L 56.691978 35.434093 L -56.692699 35.434093 Z M -56.692699 -35.435264 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="67.537218" y="11.214224"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="75.262948" y="11.214224"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="79.109924" y="11.214224"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="83.747348" y="11.214224"/>
</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 3.913661 6.627682 L 36.850446 6.627682 L 36.850446 29.305404 L 3.913661 29.305404 Z M 3.913661 6.627682 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="84.748317" y="37.792522"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="94.091683" y="39.277094"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="98.530502" y="37.792522"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="102.377479" y="37.792522"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="107.014903" y="37.792522"/>
</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 3.913661 -22.119724 L 36.850446 -22.119724 L 36.850446 0.557998 L 3.913661 0.557998 Z M 3.913661 -22.119724 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="84.748317" y="66.337008"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="94.091683" y="67.820587"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="98.530502" y="66.337008"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="102.377479" y="66.337008"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="107.014903" y="66.337008"/>
</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.595193 17.964576 C -13.595193 21.815658 -16.714609 24.939008 -20.569625 24.939008 C -24.420708 24.939008 -27.540124 21.815658 -27.540124 17.964576 C -27.540124 14.113494 -24.420708 10.990144 -20.569625 10.990144 C -16.714609 10.990144 -13.595193 14.113494 -13.595193 17.964576 Z M -13.595193 17.964576 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="52.834499" y="38.215551"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="47.468195" y="49.994806"/>
</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 -15.904269 -67.612847 L 15.907481 -67.612847 L 15.907481 -44.935125 L -15.904269 -44.935125 Z M -15.904269 -67.612847 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="65.069553" y="111.512667"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="73.292788" y="112.996245"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="77.730614" y="111.512667"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="81.578583" y="111.512667"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-2" x="86.216007" y="111.512667"/>
</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 -77.03381 17.964576 L -32.17401 17.964576 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
</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.053924 -0.00122395 L 1.608855 1.682395 L 3.087922 -0.00122395 L 1.608855 -1.684843 Z M 6.053924 -0.00122395 " transform="matrix(0.993024,0,0,-0.993024,42.796899,35.319097)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="4.862484" y="31.527531"/>
</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 -16.403848 -56.272019 L -67.113044 -56.272019 L -67.113044 -10.778896 L -1.219805 -10.778896 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<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.05209 0.000154061 L 1.60702 1.683773 L 3.086088 0.000154061 L 1.60702 -1.683465 Z M 6.05209 0.000154061 " transform="matrix(0.993024,0,0,-0.993024,73.537002,63.863434)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-6" x="8.090806" y="60.072017"/>
</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 -20.569625 -10.778896 L -20.569625 6.360191 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<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.054176 0.00147526 L 1.609106 1.681161 L 3.088173 0.00147526 L 1.609106 -1.682144 Z M 6.054176 0.00147526 " transform="matrix(0,-0.993024,-0.993024,0,57.14209,49.664288)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 59.121094 63.863281 C 59.121094 62.769531 58.234375 61.886719 57.140625 61.886719 C 56.050781 61.886719 55.164062 62.769531 55.164062 63.863281 C 55.164062 64.957031 56.050781 65.84375 57.140625 65.84375 C 58.234375 65.84375 59.121094 64.957031 59.121094 63.863281 Z M 59.121094 63.863281 "/>
<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.595193 17.964576 L -1.219805 17.964576 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<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.05209 -0.00122395 L 1.60702 1.682395 L 3.086088 -0.00122395 L 1.60702 -1.684843 Z M 6.05209 -0.00122395 " transform="matrix(0.993024,0,0,-0.993024,73.537002,35.319097)"/>
<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.549399 17.964576 L -44.549399 -28.744058 L 67.112322 -28.744058 L 67.112322 -56.272019 L 21.037013 -56.272019 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 95.265625 109.039062 L 99.679688 110.710938 L 98.210938 109.039062 L 99.679688 107.367188 Z M 95.265625 109.039062 "/>
<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.052562 -0.000650535 L 1.607492 1.682969 L 3.08656 -0.000650535 L 1.607492 -1.68427 Z M 6.052562 -0.000650535 " transform="matrix(-0.993024,0,0,0.993024,101.275967,109.039708)"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 35.304688 35.320312 C 35.304688 34.226562 34.421875 33.339844 33.328125 33.339844 C 32.234375 33.339844 31.347656 34.226562 31.347656 35.320312 C 31.347656 36.410156 32.234375 37.296875 33.328125 37.296875 C 34.421875 37.296875 35.304688 36.410156 35.304688 35.320312 Z M 35.304688 35.320312 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="141.634712" y="77.911701"/>
</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 37.350025 17.964576 L 72.399201 17.964576 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 152.65625 35.320312 L 148.242188 33.648438 L 149.710938 35.320312 L 148.242188 36.992188 Z M 152.65625 35.320312 "/>
<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.05461 -0.00122395 L 1.60954 1.682395 L 3.088608 -0.00122395 L 1.60954 -1.684843 Z M 6.05461 -0.00122395 " transform="matrix(0.993024,0,0,-0.993024,146.643875,35.319097)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="141.231544" y="30.043953"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="145.832226" y="31.527531"/>
</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 37.350025 -10.778896 L 72.399201 -10.778896 " transform="matrix(0.993024,0,0,-0.993024,77.566765,53.159575)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 152.65625 63.863281 L 148.242188 62.191406 L 149.710938 63.863281 L 148.242188 65.535156 Z M 152.65625 63.863281 "/>
<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.05461 0.000154061 L 1.60954 1.683773 L 3.088608 0.000154061 L 1.60954 -1.683465 Z M 6.05461 0.000154061 " transform="matrix(0.993024,0,0,-0.993024,146.643875,63.863434)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="141.231544" y="58.587446"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="145.832226" y="60.072017"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,25 @@
\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.

After

Width:  |  Height:  |  Size: 36 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 128 KiB

View File

@ -0,0 +1,67 @@
\setlength\fwidth{6.5cm}
\setlength\fheight{6cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=0.5\fheight,
at={(0.0\fwidth, 0.5\fheight)},
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,
]
\addplot [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};
\addplot [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};
\addplot [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};
\addplot [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};
\end{axis}
\begin{axis}[%
width=1.0\fwidth,
height=0.45\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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}},
]
\addlegendimage{color=mycolor1, dashed, line width=1.5pt}
\addlegendentry{$W_1^{-1}$};
\addlegendimage{color=mycolor2, dashed, line width=1.5pt}
\addlegendentry{$W_2^{-1}$};
\addplot [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};
\addlegendentry{$H_1$};
\addplot [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};
\addlegendentry{$H_2$};
\end{axis}
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 196 KiB

View File

@ -0,0 +1,80 @@
\setlength\fwidth{6.5cm}
\setlength\fheight{6cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=0.55\fheight,
at={(0.0\fwidth, 0.45\fheight)},
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}
},
]
\addplot [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};
\addlegendentry{${W_1}^{-1}$};
\addplot [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};
\addlegendentry{$H_1$};
\addplot [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};
\addlegendentry{${W_2}^{-1}$};
\addplot [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};
\addlegendentry{$H_2$};
\addplot [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};
\addlegendentry{${W_3}^{-1}$};
\addplot [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};
\addlegendentry{$H_3$};
\end{axis}
\begin{axis}[%
width=1.0\fwidth,
height=0.4\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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,
]
\addplot [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};
\addplot [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};
\addplot [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};
\end{axis}
\end{tikzpicture}

BIN
tikz/figs/ligo_weights.pdf Normal file

Binary file not shown.

BIN
tikz/figs/ligo_weights.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

373
tikz/figs/ligo_weights.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -0,0 +1,66 @@
\setlength\fwidth{6.5cm}
\setlength\fheight{4cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=1.0\fheight,
at={(0.0\fwidth, 0.0\fheight)},
scale only axis,
separate axis lines,
every outer x axis line/.append style={black},
every x tick label/.append style={font=\color{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=\color{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}}
]
\addplot [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};
\addlegendentry{$|w_H|^{-1}$}
\addplot [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};
\addlegendentry{$|w_L|^{-1}$}
\addplot [color=black, dotted, line width=1.5pt]
table[row sep=crcr]{%
0.0005 0.008\\
0.008 0.008\\
};
\addlegendentry{Specifications}
\addplot [color=black, dotted, line width=1.5pt, forget plot]
table[row sep=crcr]{%
0.008 0.008\\
0.04 1\\
};
\addplot [color=black, dotted, line width=1.5pt, forget plot]
table[row sep=crcr]{%
0.04 3\\
0.1 3\\
};
\addplot [color=black, dotted, line width=1.5pt]
table[row sep=crcr]{%
0.1 0.045\\
2 0.045\\
};
\end{axis}
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,278 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="228.198pt" height="114.114pt" viewBox="0 0 228.198 114.114" 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 4.9375 -1.84375 C 4.9375 -2.828125 4.28125 -3.640625 3.453125 -3.84375 L 2.1875 -4.140625 C 1.578125 -4.296875 1.1875 -4.828125 1.1875 -5.40625 C 1.1875 -6.09375 1.71875 -6.703125 2.5 -6.703125 C 4.140625 -6.703125 4.359375 -5.078125 4.421875 -4.625 C 4.4375 -4.5625 4.4375 -4.515625 4.546875 -4.515625 C 4.671875 -4.515625 4.671875 -4.5625 4.671875 -4.75 L 4.671875 -6.734375 C 4.671875 -6.90625 4.671875 -6.96875 4.5625 -6.96875 C 4.484375 -6.96875 4.484375 -6.96875 4.40625 -6.84375 L 4.0625 -6.28125 C 3.765625 -6.5625 3.359375 -6.96875 2.484375 -6.96875 C 1.390625 -6.96875 0.546875 -6.109375 0.546875 -5.046875 C 0.546875 -4.234375 1.078125 -3.515625 1.84375 -3.25 C 1.953125 -3.203125 2.46875 -3.078125 3.15625 -2.921875 C 3.421875 -2.84375 3.71875 -2.78125 4 -2.40625 C 4.203125 -2.15625 4.296875 -1.828125 4.296875 -1.5 C 4.296875 -0.796875 3.8125 -0.09375 2.984375 -0.09375 C 2.6875 -0.09375 1.9375 -0.140625 1.421875 -0.625 C 0.84375 -1.15625 0.8125 -1.796875 0.796875 -2.140625 C 0.796875 -2.25 0.71875 -2.25 0.6875 -2.25 C 0.546875 -2.25 0.546875 -2.171875 0.546875 -2 L 0.546875 -0.015625 C 0.546875 0.140625 0.546875 0.21875 0.65625 0.21875 C 0.734375 0.21875 0.734375 0.203125 0.8125 0.09375 C 0.8125 0.09375 0.84375 0.046875 1.171875 -0.46875 C 1.46875 -0.140625 2.109375 0.21875 2.984375 0.21875 C 4.140625 0.21875 4.9375 -0.75 4.9375 -1.84375 Z M 4.9375 -1.84375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 4.109375 -1.171875 C 4.109375 -1.28125 4.03125 -1.296875 3.96875 -1.296875 C 3.890625 -1.296875 3.875 -1.234375 3.84375 -1.15625 C 3.5 -0.140625 2.609375 -0.140625 2.515625 -0.140625 C 2.015625 -0.140625 1.625 -0.4375 1.390625 -0.796875 C 1.09375 -1.28125 1.09375 -1.921875 1.09375 -2.28125 L 3.859375 -2.28125 C 4.078125 -2.28125 4.109375 -2.28125 4.109375 -2.5 C 4.109375 -3.46875 3.578125 -4.4375 2.328125 -4.4375 C 1.1875 -4.4375 0.28125 -3.40625 0.28125 -2.171875 C 0.28125 -0.84375 1.3125 0.109375 2.453125 0.109375 C 3.65625 0.109375 4.109375 -0.984375 4.109375 -1.171875 Z M 3.453125 -2.5 L 1.109375 -2.5 C 1.171875 -3.96875 2 -4.21875 2.328125 -4.21875 C 3.359375 -4.21875 3.453125 -2.875 3.453125 -2.5 Z M 3.453125 -2.5 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 5.296875 0 L 5.296875 -0.3125 C 4.78125 -0.3125 4.53125 -0.3125 4.515625 -0.609375 L 4.515625 -2.5 C 4.515625 -3.34375 4.515625 -3.65625 4.21875 -4 C 4.078125 -4.171875 3.75 -4.375 3.171875 -4.375 C 2.453125 -4.375 1.984375 -3.953125 1.71875 -3.328125 L 1.71875 -4.375 L 0.3125 -4.265625 L 0.3125 -3.953125 C 1.015625 -3.953125 1.09375 -3.890625 1.09375 -3.40625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.546875 0 L 2.546875 -0.3125 C 1.875 -0.3125 1.765625 -0.3125 1.765625 -0.75 L 1.765625 -2.578125 C 1.765625 -3.59375 2.46875 -4.15625 3.109375 -4.15625 C 3.734375 -4.15625 3.84375 -3.625 3.84375 -3.0625 L 3.84375 -0.75 C 3.84375 -0.3125 3.734375 -0.3125 3.0625 -0.3125 L 3.0625 0 L 4.1875 -0.03125 Z M 5.296875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 3.5625 -1.265625 C 3.5625 -1.796875 3.265625 -2.09375 3.140625 -2.203125 C 2.8125 -2.515625 2.4375 -2.59375 2.015625 -2.6875 C 1.46875 -2.796875 0.796875 -2.921875 0.796875 -3.484375 C 0.796875 -3.84375 1.0625 -4.25 1.90625 -4.25 C 3 -4.25 3.046875 -3.359375 3.0625 -3.046875 C 3.078125 -2.953125 3.1875 -2.953125 3.1875 -2.953125 C 3.3125 -2.953125 3.3125 -3 3.3125 -3.1875 L 3.3125 -4.1875 C 3.3125 -4.359375 3.3125 -4.4375 3.203125 -4.4375 C 3.15625 -4.4375 3.140625 -4.4375 3 -4.3125 C 2.984375 -4.265625 2.875 -4.1875 2.84375 -4.15625 C 2.46875 -4.4375 2.0625 -4.4375 1.90625 -4.4375 C 0.703125 -4.4375 0.328125 -3.765625 0.328125 -3.21875 C 0.328125 -2.875 0.484375 -2.59375 0.75 -2.375 C 1.0625 -2.109375 1.34375 -2.0625 2.0625 -1.921875 C 2.28125 -1.875 3.078125 -1.71875 3.078125 -1.015625 C 3.078125 -0.5 2.734375 -0.109375 1.96875 -0.109375 C 1.140625 -0.109375 0.78125 -0.671875 0.59375 -1.515625 C 0.5625 -1.640625 0.546875 -1.6875 0.453125 -1.6875 C 0.328125 -1.6875 0.328125 -1.609375 0.328125 -1.4375 L 0.328125 -0.125 C 0.328125 0.046875 0.328125 0.109375 0.4375 0.109375 C 0.484375 0.109375 0.5 0.09375 0.6875 -0.09375 C 0.703125 -0.109375 0.703125 -0.125 0.875 -0.3125 C 1.3125 0.09375 1.765625 0.109375 1.96875 0.109375 C 3.109375 0.109375 3.5625 -0.546875 3.5625 -1.265625 Z M 3.5625 -1.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 4.65625 -2.109375 C 4.65625 -3.375 3.671875 -4.4375 2.46875 -4.4375 C 1.234375 -4.4375 0.28125 -3.359375 0.28125 -2.109375 C 0.28125 -0.84375 1.3125 0.109375 2.46875 0.109375 C 3.65625 0.109375 4.65625 -0.859375 4.65625 -2.109375 Z M 3.84375 -2.203125 C 3.84375 -1.84375 3.84375 -1.3125 3.625 -0.875 C 3.40625 -0.421875 2.96875 -0.140625 2.46875 -0.140625 C 2.046875 -0.140625 1.609375 -0.34375 1.34375 -0.796875 C 1.09375 -1.234375 1.09375 -1.84375 1.09375 -2.203125 C 1.09375 -2.578125 1.09375 -3.109375 1.328125 -3.546875 C 1.609375 -4 2.0625 -4.21875 2.46875 -4.21875 C 2.890625 -4.21875 3.328125 -4 3.578125 -3.578125 C 3.84375 -3.140625 3.84375 -2.578125 3.84375 -2.203125 Z M 3.84375 -2.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 3.59375 -3.765625 C 3.59375 -4.078125 3.296875 -4.375 2.875 -4.375 C 2.140625 -4.375 1.796875 -3.703125 1.65625 -3.28125 L 1.65625 -4.375 L 0.28125 -4.265625 L 0.28125 -3.953125 C 0.96875 -3.953125 1.046875 -3.890625 1.046875 -3.40625 L 1.046875 -0.75 C 1.046875 -0.3125 0.9375 -0.3125 0.28125 -0.3125 L 0.28125 0 L 1.40625 -0.03125 C 1.796875 -0.03125 2.265625 -0.03125 2.65625 0 L 2.65625 -0.3125 L 2.453125 -0.3125 C 1.71875 -0.3125 1.703125 -0.421875 1.703125 -0.765625 L 1.703125 -2.296875 C 1.703125 -3.28125 2.109375 -4.15625 2.875 -4.15625 C 2.9375 -4.15625 2.953125 -4.15625 2.984375 -4.140625 C 2.953125 -4.140625 2.75 -4.015625 2.75 -3.765625 C 2.75 -3.484375 2.953125 -3.328125 3.171875 -3.328125 C 3.359375 -3.328125 3.59375 -3.453125 3.59375 -3.765625 Z M 3.59375 -3.765625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 4.140625 0 L 4.140625 -0.3125 L 3.828125 -0.3125 C 2.9375 -0.3125 2.90625 -0.421875 2.90625 -0.78125 L 2.90625 -6.328125 C 2.90625 -6.5625 2.90625 -6.59375 2.6875 -6.59375 C 2.0625 -5.953125 1.203125 -5.953125 0.875 -5.953125 L 0.875 -5.640625 C 1.078125 -5.640625 1.65625 -5.640625 2.171875 -5.90625 L 2.171875 -0.78125 C 2.171875 -0.421875 2.140625 -0.3125 1.25 -0.3125 L 0.9375 -0.3125 L 0.9375 0 C 1.28125 -0.03125 2.140625 -0.03125 2.546875 -0.03125 C 2.9375 -0.03125 3.796875 -0.03125 4.140625 0 Z M 4.140625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 4.4375 -1.71875 L 4.1875 -1.71875 C 4.140625 -1.421875 4.078125 -0.984375 3.96875 -0.84375 C 3.90625 -0.765625 3.25 -0.765625 3.03125 -0.765625 L 1.25 -0.765625 L 2.296875 -1.78125 C 3.84375 -3.140625 4.4375 -3.671875 4.4375 -4.671875 C 4.4375 -5.796875 3.546875 -6.59375 2.34375 -6.59375 C 1.21875 -6.59375 0.5 -5.671875 0.5 -4.796875 C 0.5 -4.25 0.984375 -4.25 1.015625 -4.25 C 1.1875 -4.25 1.53125 -4.359375 1.53125 -4.765625 C 1.53125 -5.03125 1.359375 -5.28125 1.015625 -5.28125 C 0.9375 -5.28125 0.90625 -5.28125 0.875 -5.265625 C 1.109375 -5.921875 1.640625 -6.28125 2.21875 -6.28125 C 3.109375 -6.28125 3.546875 -5.484375 3.546875 -4.671875 C 3.546875 -3.875 3.046875 -3.09375 2.5 -2.484375 L 0.609375 -0.359375 C 0.5 -0.25 0.5 -0.234375 0.5 0 L 4.15625 0 Z M 4.4375 -1.71875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 7.765625 -0.078125 C 7.765625 -0.078125 7.765625 -0.109375 7.71875 -0.203125 L 4.375 -6.90625 C 4.296875 -7.03125 4.28125 -7.078125 4.109375 -7.078125 C 3.953125 -7.078125 3.921875 -7.03125 3.859375 -6.90625 L 0.515625 -0.203125 C 0.46875 -0.109375 0.46875 -0.078125 0.46875 -0.078125 C 0.46875 0 0.53125 0 0.6875 0 L 7.546875 0 C 7.703125 0 7.765625 0 7.765625 -0.078125 Z M 6.453125 -0.75 L 1.125 -0.75 L 3.796875 -6.09375 Z M 6.453125 -0.75 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<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.546875 -0.953125 1.546875 -2.46875 C 1.546875 -4.1875 1.921875 -5.921875 3.140625 -7.15625 C 3.28125 -7.265625 3.28125 -7.296875 3.28125 -7.3125 C 3.28125 -7.390625 3.234375 -7.421875 3.171875 -7.421875 C 3.078125 -7.421875 2.1875 -6.75 1.609375 -5.484375 C 1.09375 -4.40625 0.984375 -3.296875 0.984375 -2.46875 C 0.984375 -1.703125 1.09375 -0.5 1.625 0.609375 C 2.21875 1.828125 3.078125 2.46875 3.171875 2.46875 C 3.234375 2.46875 3.28125 2.4375 3.28125 2.375 Z M 3.28125 2.375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-11">
<path style="stroke:none;" d="M 2.859375 -2.46875 C 2.859375 -3.25 2.75 -4.4375 2.203125 -5.5625 C 1.609375 -6.78125 0.765625 -7.421875 0.65625 -7.421875 C 0.609375 -7.421875 0.5625 -7.375 0.5625 -7.3125 C 0.5625 -7.296875 0.5625 -7.265625 0.75 -7.09375 C 1.71875 -6.109375 2.28125 -4.546875 2.28125 -2.46875 C 2.28125 -0.78125 1.921875 0.953125 0.6875 2.203125 C 0.5625 2.328125 0.5625 2.34375 0.5625 2.375 C 0.5625 2.4375 0.609375 2.46875 0.65625 2.46875 C 0.765625 2.46875 1.65625 1.796875 2.234375 0.546875 C 2.734375 -0.546875 2.859375 -1.640625 2.859375 -2.46875 Z M 2.859375 -2.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-12">
<path style="stroke:none;" d="M 3.96875 -5.234375 L 2.46875 -6.84375 L 0.96875 -5.234375 L 1.09375 -5.109375 L 2.46875 -6.171875 L 3.84375 -5.109375 Z M 3.96875 -5.234375 "/>
</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 8.046875 -2.96875 C 8.046875 -3.1875 7.859375 -3.1875 7.671875 -3.1875 L 4.5 -3.1875 L 4.5 -6.359375 C 4.5 -6.53125 4.5 -6.734375 4.296875 -6.734375 C 4.09375 -6.734375 4.09375 -6.53125 4.09375 -6.359375 L 4.09375 -3.1875 L 0.921875 -3.1875 C 0.75 -3.1875 0.546875 -3.1875 0.546875 -2.984375 C 0.546875 -2.765625 0.734375 -2.765625 0.921875 -2.765625 L 4.09375 -2.765625 L 4.09375 0.390625 C 4.09375 0.5625 4.09375 0.765625 4.296875 0.765625 C 4.5 0.765625 4.5 0.578125 4.5 0.390625 L 4.5 -2.765625 L 7.671875 -2.765625 C 7.84375 -2.765625 8.046875 -2.765625 8.046875 -2.96875 Z M 8.046875 -2.96875 "/>
</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.3125 -0.25 2.3125 -0.34375 2.3125 -0.5625 L 2.3125 -4.40625 C 2.3125 -4.59375 2.3125 -4.59375 2.109375 -4.59375 C 1.671875 -4.15625 1.03125 -4.15625 0.75 -4.15625 L 0.75 -3.90625 C 0.921875 -3.90625 1.375 -3.90625 1.765625 -4.09375 L 1.765625 -0.5625 C 1.765625 -0.34375 1.765625 -0.25 1.0625 -0.25 L 0.796875 -0.25 L 0.796875 0 L 2.03125 -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.234375 -1.109375 3.171875 -0.703125 3.078125 -0.625 C 3.03125 -0.59375 2.484375 -0.59375 2.390625 -0.59375 L 1.125 -0.59375 C 1.84375 -1.234375 2.09375 -1.421875 2.5 -1.75 C 3.015625 -2.15625 3.5 -2.59375 3.5 -3.25 C 3.5 -4.078125 2.765625 -4.59375 1.875 -4.59375 C 1.015625 -4.59375 0.4375 -4 0.4375 -3.359375 C 0.4375 -3 0.734375 -2.96875 0.796875 -2.96875 C 0.96875 -2.96875 1.171875 -3.09375 1.171875 -3.34375 C 1.171875 -3.453125 1.125 -3.703125 0.765625 -3.703125 C 0.96875 -4.1875 1.453125 -4.34375 1.765625 -4.34375 C 2.46875 -4.34375 2.828125 -3.8125 2.828125 -3.25 C 2.828125 -2.640625 2.390625 -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.28125 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 3.921875 -1.53125 C 3.921875 -1.890625 3.734375 -2.140625 3.609375 -2.25 C 3.34375 -2.53125 3.0625 -2.578125 2.625 -2.671875 C 2.265625 -2.75 1.875 -2.8125 1.875 -3.265625 C 1.875 -3.546875 2.109375 -4.15625 2.984375 -4.15625 C 3.21875 -4.15625 3.71875 -4.078125 3.875 -3.703125 C 3.59375 -3.6875 3.390625 -3.46875 3.390625 -3.25 C 3.390625 -3.109375 3.484375 -2.96875 3.703125 -2.96875 C 3.921875 -2.96875 4.15625 -3.140625 4.15625 -3.515625 C 4.15625 -3.96875 3.734375 -4.375 2.984375 -4.375 C 1.671875 -4.375 1.3125 -3.359375 1.3125 -2.921875 C 1.3125 -2.15625 2.03125 -2 2.328125 -1.953125 C 2.84375 -1.84375 3.359375 -1.734375 3.359375 -1.203125 C 3.359375 -0.9375 3.125 -0.109375 1.9375 -0.109375 C 1.796875 -0.109375 1.03125 -0.109375 0.8125 -0.640625 C 1.1875 -0.578125 1.4375 -0.875 1.4375 -1.15625 C 1.4375 -1.390625 1.28125 -1.5 1.0625 -1.5 C 0.8125 -1.5 0.515625 -1.296875 0.515625 -0.84375 C 0.515625 -0.28125 1.078125 0.109375 1.921875 0.109375 C 3.53125 0.109375 3.921875 -1.09375 3.921875 -1.53125 Z M 3.921875 -1.53125 "/>
</symbol>
<symbol overflow="visible" id="glyph3-2">
<path style="stroke:none;" d="M 6.828125 -3.671875 C 6.828125 -4.21875 6.5625 -4.375 6.40625 -4.375 C 6.15625 -4.375 5.90625 -4.109375 5.90625 -3.890625 C 5.90625 -3.765625 5.96875 -3.703125 6.046875 -3.625 C 6.15625 -3.515625 6.40625 -3.265625 6.40625 -2.796875 C 6.40625 -2.453125 6.125 -1.484375 5.859375 -0.984375 C 5.609375 -0.453125 5.265625 -0.109375 4.78125 -0.109375 C 4.3125 -0.109375 4.046875 -0.40625 4.046875 -0.96875 C 4.046875 -1.25 4.109375 -1.546875 4.15625 -1.6875 L 4.5625 -3.359375 C 4.625 -3.578125 4.71875 -3.9375 4.71875 -4 C 4.71875 -4.171875 4.578125 -4.265625 4.4375 -4.265625 C 4.3125 -4.265625 4.140625 -4.1875 4.0625 -3.984375 C 4.03125 -3.921875 3.578125 -2.03125 3.5 -1.765625 C 3.4375 -1.46875 3.40625 -1.296875 3.40625 -1.125 C 3.40625 -1.015625 3.40625 -0.984375 3.421875 -0.9375 C 3.1875 -0.421875 2.890625 -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.765625 -1.71875 2.234375 -2.921875 C 2.34375 -3.21875 2.40625 -3.359375 2.40625 -3.5625 C 2.40625 -4 2.078125 -4.375 1.59375 -4.375 C 0.65625 -4.375 0.28125 -2.9375 0.28125 -2.84375 C 0.28125 -2.75 0.40625 -2.75 0.40625 -2.75 C 0.5 -2.75 0.515625 -2.765625 0.5625 -2.921875 C 0.828125 -3.84375 1.21875 -4.15625 1.5625 -4.15625 C 1.65625 -4.15625 1.8125 -4.140625 1.8125 -3.828125 C 1.8125 -3.578125 1.703125 -3.296875 1.625 -3.140625 C 1.203125 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.734375 0.109375 2.484375 0.109375 C 2.65625 0.109375 3.109375 0.109375 3.515625 -0.578125 C 3.765625 0.046875 4.453125 0.109375 4.75 0.109375 C 5.484375 0.109375 5.921875 -0.515625 6.1875 -1.109375 C 6.515625 -1.875 6.828125 -3.203125 6.828125 -3.671875 Z M 6.828125 -3.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph3-3">
<path style="stroke:none;" d="M 7.09375 -0.203125 C 7.09375 -0.3125 7.015625 -0.3125 6.828125 -0.3125 C 6.453125 -0.3125 6.1875 -0.3125 6.1875 -0.484375 C 6.1875 -0.546875 6.203125 -0.59375 6.21875 -0.65625 L 7.546875 -6 C 7.640625 -6.34375 7.65625 -6.453125 8.375 -6.453125 C 8.640625 -6.453125 8.71875 -6.453125 8.71875 -6.640625 C 8.71875 -6.75 8.609375 -6.75 8.578125 -6.75 L 7.3125 -6.71875 L 6.03125 -6.75 C 5.953125 -6.75 5.84375 -6.75 5.84375 -6.5625 C 5.84375 -6.453125 5.9375 -6.453125 6.125 -6.453125 C 6.125 -6.453125 6.328125 -6.453125 6.5 -6.421875 C 6.671875 -6.40625 6.765625 -6.40625 6.765625 -6.265625 C 6.765625 -6.234375 6.75 -6.21875 6.71875 -6.078125 L 6.125 -3.671875 L 3.109375 -3.671875 L 3.703125 -6 C 3.78125 -6.34375 3.8125 -6.453125 4.53125 -6.453125 C 4.78125 -6.453125 4.859375 -6.453125 4.859375 -6.640625 C 4.859375 -6.75 4.75 -6.75 4.734375 -6.75 L 3.46875 -6.71875 L 2.1875 -6.75 C 2.109375 -6.75 2 -6.75 2 -6.5625 C 2 -6.453125 2.09375 -6.453125 2.28125 -6.453125 C 2.28125 -6.453125 2.484375 -6.453125 2.65625 -6.421875 C 2.828125 -6.40625 2.921875 -6.40625 2.921875 -6.265625 C 2.921875 -6.234375 2.90625 -6.203125 2.875 -6.078125 L 1.546875 -0.765625 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.40625 -0.015625 C 2.625 -0.015625 2.84375 0 3.0625 0 C 3.140625 0 3.25 0 3.25 -0.203125 C 3.25 -0.3125 3.171875 -0.3125 2.984375 -0.3125 C 2.609375 -0.3125 2.328125 -0.3125 2.328125 -0.484375 C 2.328125 -0.546875 2.359375 -0.59375 2.359375 -0.65625 L 3.03125 -3.359375 L 6.046875 -3.359375 L 5.375 -0.640625 C 5.265625 -0.3125 5.078125 -0.3125 4.46875 -0.3125 C 4.328125 -0.3125 4.234375 -0.3125 4.234375 -0.109375 C 4.234375 0 4.375 0 4.375 0 L 5.625 -0.03125 L 6.265625 -0.015625 C 6.484375 -0.015625 6.703125 0 6.90625 0 C 6.984375 0 7.09375 0 7.09375 -0.203125 Z M 7.09375 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph3-4">
<path style="stroke:none;" d="M 4.90625 -1.421875 C 4.90625 -1.515625 4.8125 -1.515625 4.78125 -1.515625 C 4.703125 -1.515625 4.671875 -1.46875 4.65625 -1.40625 C 4.328125 -0.34375 3.65625 -0.109375 3.34375 -0.109375 C 2.953125 -0.109375 2.796875 -0.421875 2.796875 -0.765625 C 2.796875 -0.984375 2.859375 -1.203125 2.96875 -1.625 L 3.296875 -2.984375 C 3.359375 -3.25 3.59375 -4.15625 4.28125 -4.15625 C 4.328125 -4.15625 4.5625 -4.15625 4.78125 -4.03125 C 4.5 -3.96875 4.296875 -3.734375 4.296875 -3.484375 C 4.296875 -3.328125 4.40625 -3.140625 4.671875 -3.140625 C 4.890625 -3.140625 5.21875 -3.328125 5.21875 -3.71875 C 5.21875 -4.234375 4.625 -4.375 4.296875 -4.375 C 3.71875 -4.375 3.375 -3.84375 3.25 -3.625 C 3 -4.265625 2.46875 -4.375 2.1875 -4.375 C 1.15625 -4.375 0.59375 -3.09375 0.59375 -2.84375 C 0.59375 -2.75 0.71875 -2.75 0.71875 -2.75 C 0.796875 -2.75 0.828125 -2.765625 0.84375 -2.859375 C 1.171875 -3.90625 1.828125 -4.15625 2.171875 -4.15625 C 2.359375 -4.15625 2.703125 -4.0625 2.703125 -3.484375 C 2.703125 -3.1875 2.53125 -2.515625 2.171875 -1.140625 C 2 -0.53125 1.65625 -0.109375 1.21875 -0.109375 C 1.171875 -0.109375 0.9375 -0.109375 0.734375 -0.234375 C 0.984375 -0.28125 1.203125 -0.5 1.203125 -0.765625 C 1.203125 -1.03125 0.984375 -1.125 0.828125 -1.125 C 0.53125 -1.125 0.28125 -0.859375 0.28125 -0.546875 C 0.28125 -0.09375 0.78125 0.109375 1.21875 0.109375 C 1.875 0.109375 2.21875 -0.578125 2.25 -0.640625 C 2.375 -0.28125 2.734375 0.109375 3.328125 0.109375 C 4.34375 0.109375 4.90625 -1.171875 4.90625 -1.421875 Z M 4.90625 -1.421875 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 119 78 L 162 78 L 162 113.234375 L 119 113.234375 Z M 119 78 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 0.480469 69 L 22 69 L 22 71 L 0.480469 71 Z M 0.480469 69 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 113 83 L 146 83 L 146 113.234375 L 113 113.234375 Z M 113 83 "/>
</clipPath>
<clipPath id="clip4">
<path d="M 141 83 L 174 83 L 174 113.234375 L 141 113.234375 Z M 141 83 "/>
</clipPath>
<clipPath id="clip5">
<path d="M 206 54 L 226.921875 54 L 226.921875 86 L 206 86 Z M 206 54 "/>
</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 13.812019 15.935037 L 130.681169 15.935037 L 130.681169 69.315046 L 13.812019 69.315046 Z M 13.812019 15.935037 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="38.160598" y="50.662647"/>
<use xlink:href="#glyph0-2" x="43.653174" y="50.662647"/>
<use xlink:href="#glyph0-3" x="48.047432" y="50.662647"/>
<use xlink:href="#glyph0-4" x="53.540007" y="50.662647"/>
<use xlink:href="#glyph0-5" x="57.439973" y="50.662647"/>
<use xlink:href="#glyph0-6" x="62.382895" y="50.662647"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="69.547167" y="50.662647"/>
</g>
<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 13.812019 -42.806591 L 130.681169 -42.806591 L 130.681169 10.573417 L 13.812019 10.573417 Z M 13.812019 -42.806591 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="38.160598" y="108.949101"/>
<use xlink:href="#glyph0-2" x="43.653174" y="108.949101"/>
<use xlink:href="#glyph0-3" x="48.047432" y="108.949101"/>
<use xlink:href="#glyph0-4" x="53.540007" y="108.949101"/>
<use xlink:href="#glyph0-5" x="57.439973" y="108.949101"/>
<use xlink:href="#glyph0-6" x="62.382895" y="108.949101"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="69.547167" y="108.949101"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 23.140625 69.769531 C 23.140625 68.675781 22.253906 67.792969 21.160156 67.792969 C 20.070312 67.792969 19.183594 68.675781 19.183594 69.769531 C 19.183594 70.859375 20.070312 71.746094 21.160156 71.746094 C 22.253906 71.746094 23.140625 70.859375 23.140625 69.769531 Z M 23.140625 69.769531 "/>
<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 127.05558 29.370581 C 127.05558 33.220555 123.929937 36.342262 120.079963 36.342262 C 116.229988 36.342262 113.104345 33.220555 113.104345 29.370581 C 113.104345 25.51667 116.229988 22.394963 120.079963 22.394963 C 123.929937 22.394963 127.05558 25.51667 127.05558 29.370581 Z M 127.05558 29.370581 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="136.00988" y="43.520103"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 147.238281 98.914062 C 147.238281 95.089844 144.136719 91.992188 140.316406 91.992188 C 136.496094 91.992188 133.394531 95.089844 133.394531 98.914062 C 133.394531 102.734375 136.496094 105.832031 140.316406 105.832031 C 144.136719 105.832031 147.238281 102.734375 147.238281 98.914062 Z M 147.238281 98.914062 "/>
<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 127.05558 -29.371048 C 127.05558 -25.517137 123.929937 -22.39543 120.079963 -22.39543 C 116.229988 -22.39543 113.104345 -25.517137 113.104345 -29.371048 C 113.104345 -33.221022 116.229988 -36.342729 120.079963 -36.342729 C 123.929937 -36.342729 127.05558 -33.221022 127.05558 -29.371048 Z M 127.05558 -29.371048 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="136.00988" y="101.806557"/>
</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 79.981971 40.467796 L 111.817084 40.467796 L 111.817084 63.146427 L 79.981971 63.146427 Z M 79.981971 40.467796 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-9" x="103.822786" y="20.833247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="112.060825" y="22.315737"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="116.495394" y="20.833247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="120.34054" y="20.833247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="124.97456" y="20.833247"/>
</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 79.981971 -18.269896 L 111.817084 -18.269896 L 111.817084 4.404798 L 79.981971 4.404798 Z M 79.981971 -18.269896 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-9" x="103.822786" y="79.119702"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="112.060825" y="80.602191"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="116.495394" y="79.119702"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="120.34054" y="79.119702"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="124.97456" y="79.119702"/>
</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 34.152321 40.467796 L 64.814333 40.467796 L 64.814333 63.146427 L 34.152321 63.146427 Z M 34.152321 40.467796 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-2" x="58.344884" y="20.833247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="65.421937" y="22.315737"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="69.857498" y="20.833247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="73.701652" y="20.833247"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="78.335672" y="20.833247"/>
</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 34.152321 -18.269896 L 64.814333 -18.269896 L 64.814333 4.404798 L 34.152321 4.404798 Z M 34.152321 -18.269896 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-2" x="58.344884" y="79.119702"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="65.421937" y="80.602191"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="69.857498" y="79.119702"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="73.701652" y="79.119702"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="78.335672" y="79.119702"/>
</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 141.723273 18.029297 L 173.534766 18.029297 L 173.534766 40.707928 L 141.723273 40.707928 Z M 141.723273 18.029297 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-3" x="165.08712" y="43.097385"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="173.305312" y="44.579874"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="177.739882" y="43.097385"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="181.585027" y="43.097385"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="186.219048" y="43.097385"/>
</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 141.723273 -40.708395 L 173.534766 -40.708395 L 173.534766 -18.029764 L 141.723273 -18.029764 Z M 141.723273 -40.708395 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-3" x="165.08712" y="101.383839"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="173.305312" y="102.867321"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-10" x="177.739882" y="101.383839"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="181.585027" y="101.383839"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-11" x="186.219048" y="101.383839"/>
</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 186.517602 -0.000233449 C 186.517602 3.849741 183.395896 6.975384 179.545921 6.975384 C 175.692011 6.975384 172.570304 3.849741 172.570304 -0.000233449 C 172.570304 -3.850207 175.692011 -6.975851 179.545921 -6.975851 C 183.395896 -6.975851 186.517602 -3.850207 186.517602 -0.000233449 Z M 186.517602 -0.000233449 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="195.016741" y="72.662834"/>
</g>
<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 -19.841793 -0.000233449 L -0.00143633 -0.000233449 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-4" x="5.261036" y="65.979723"/>
</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 -0.00143633 -0.000233449 L -0.00143633 29.370581 L 108.470992 29.370581 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.053437 0.00062077 L 1.609039 1.68154 L 3.089193 0.00062077 L 1.609039 -1.684235 Z M 6.053437 0.00062077 " transform="matrix(0.992296,0,0,-0.992296,125.981482,40.625616)"/>
<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.00143633 -0.000233449 L -0.00143633 -29.371048 L 108.470992 -29.371048 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 131.988281 98.914062 L 127.578125 97.242188 L 129.046875 98.914062 L 127.578125 100.582031 Z M 131.988281 98.914062 "/>
<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.053437 -0.00104767 L 1.609039 1.683808 L 3.089193 -0.00104767 L 1.609039 -1.681967 Z M 6.053437 -0.00104767 " transform="matrix(0.992296,0,0,-0.992296,125.981482,98.913023)"/>
</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 19.480692 29.370581 L 19.480692 51.80908 L 29.019022 51.80908 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.053187 0.00162977 L 1.60879 1.682549 L 3.088943 0.00162977 L 1.60879 -1.683226 Z M 6.053187 0.00162977 " transform="matrix(0.992296,0,0,-0.992296,47.141886,18.360992)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 42.46875 40.625 C 42.46875 39.535156 41.585938 38.648438 40.492188 38.648438 C 39.398438 38.648438 38.515625 39.535156 38.515625 40.625 C 38.515625 41.71875 39.398438 42.601562 40.492188 42.601562 C 41.585938 42.601562 42.46875 41.71875 42.46875 40.625 Z M 42.46875 40.625 "/>
<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 19.480692 -29.371048 L 19.480692 -6.932549 L 29.019022 -6.932549 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.053187 -0.0000186662 L 1.60879 1.684837 L 3.088943 -0.0000186662 L 1.60879 -1.684874 Z M 6.053187 -0.0000186662 " transform="matrix(0.992296,0,0,-0.992296,47.141886,76.648419)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 42.46875 98.914062 C 42.46875 97.820312 41.585938 96.9375 40.492188 96.9375 C 39.398438 96.9375 38.515625 97.820312 38.515625 98.914062 C 38.515625 100.003906 39.398438 100.890625 40.492188 100.890625 C 41.585938 100.890625 42.46875 100.003906 42.46875 98.914062 Z M 42.46875 98.914062 "/>
<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 65.314279 51.80908 L 74.852609 51.80908 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.055074 0.00162977 L 1.610676 1.682549 L 3.086893 0.00162977 L 1.610676 -1.683226 Z M 6.055074 0.00162977 " transform="matrix(0.992296,0,0,-0.992296,92.620483,18.360992)"/>
<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 65.314279 -6.932549 L 74.852609 -6.932549 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.055074 -0.0000186662 L 1.610676 1.684837 L 3.086893 -0.0000186662 L 1.610676 -1.684874 Z M 6.055074 -0.0000186662 " transform="matrix(0.992296,0,0,-0.992296,92.620483,76.648419)"/>
<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 112.313093 51.80908 L 120.079963 51.80908 L 120.079963 40.975615 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.052583 0.000252535 L 1.608186 1.681172 L 3.088339 0.000252535 L 1.608186 -1.684603 Z M 6.052583 0.000252535 " transform="matrix(0,0.992296,0.992296,0,140.316156,26.290923)"/>
<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 112.313093 -6.932549 L 120.079963 -6.932549 L 120.079963 -17.762077 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.054252 0.000252535 L 1.609854 1.681172 L 3.086071 0.000252535 L 1.609854 -1.684603 Z M 6.054252 0.000252535 " transform="matrix(0,0.992296,0.992296,0,140.316156,84.57833)"/>
<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 127.05558 29.370581 L 136.59391 29.370581 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.055165 0.00062077 L 1.606831 1.68154 L 3.086985 0.00062077 L 1.606831 -1.684235 Z M 6.055165 0.00062077 " transform="matrix(0.992296,0,0,-0.992296,153.886017,40.625616)"/>
<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 127.05558 -29.371048 L 136.59391 -29.371048 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 159.894531 98.914062 L 155.480469 97.242188 L 156.949219 98.914062 L 155.480469 100.582031 Z M 159.894531 98.914062 "/>
<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.055165 -0.00104767 L 1.606831 1.683808 L 3.086985 -0.00104767 L 1.606831 -1.681967 Z M 6.055165 -0.00104767 " transform="matrix(0.992296,0,0,-0.992296,153.886017,98.913023)"/>
</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 174.034711 29.370581 L 179.545921 29.370581 L 179.545921 11.608737 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.053428 0.000481467 L 1.60903 1.681401 L 3.089184 0.000481467 L 1.60903 -1.684374 Z M 6.053428 0.000481467 " transform="matrix(0,0.992296,0.992296,0,199.323741,55.434616)"/>
<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 174.034711 -29.371048 L 179.545921 -29.371048 L 179.545921 -11.609204 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<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.052951 -0.000481467 L 1.608553 1.684374 L 3.088707 -0.000481467 L 1.608553 -1.681401 Z M 6.052951 -0.000481467 " transform="matrix(0,-0.992296,-0.992296,0,199.323741,84.103973)"/>
<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 186.517602 -0.000233449 L 201.728543 -0.000233449 " transform="matrix(0.992296,0,0,-0.992296,21.161582,69.7693)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 224.527344 69.769531 L 220.117188 68.097656 L 221.582031 69.769531 L 220.117188 71.4375 Z M 224.527344 69.769531 "/>
<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.054788 -0.000233449 L 1.61039 1.684622 L 3.086607 -0.000233449 L 1.61039 -1.681153 Z M 6.054788 -0.000233449 " transform="matrix(0.992296,0,0,-0.992296,218.519204,69.7693)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-12" x="217.119135" y="65.979723"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-4" x="216.491011" y="65.979723"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -0,0 +1,34 @@
\begin{tikzpicture}
\node[branch] (x) at (0, 0);
\node[addb, above right=0.8 and 4 of x](add1){};
\node[addb, below right=0.8 and 4 of x](add2){};
\node[block, above left=0.2 and 0.1 of add1](delta1){$\Delta_1(s)$};
\node[block, above left=0.2 and 0.1 of add2](delta2){$\Delta_2(s)$};
\node[block, left=0.5 of delta1](W1){$w_1(s)$};
\node[block, left=0.5 of delta2](W2){$w_2(s)$};
\node[block, right=0.5 of add1](H1){$H_1(s)$};
\node[block, right=0.5 of add2](H2){$H_2(s)$};
\node[addb, right=6 of x](add){};
\draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center);
\draw[->] (x.center) |- (add1.west);
\draw[->] (x.center) |- (add2.west);
\draw[->] ($(add1-|W1.west)+(-0.5, 0)$)node[branch](S1){} |- (W1.west);
\draw[->] ($(add2-|W2.west)+(-0.5, 0)$)node[branch](S1){} |- (W2.west);
\draw[->] (W1.east) -- (delta1.west);
\draw[->] (W2.east) -- (delta2.west);
\draw[->] (delta1.east) -| (add1.north);
\draw[->] (delta2.east) -| (add2.north);
\draw[->] (add1.east) -- (H1.west);
\draw[->] (add2.east) -- (H2.west);
\draw[->] (H1.east) -| (add.north);
\draw[->] (H2.east) -| (add.south);
\draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$};
\begin{scope}[on background layer]
\node[block, fit={($(W1.north-|S1)+(-0.2, 0.2)$) ($(add1.south east)+(0.2, -0.3)$)}, fill=black!20!white, dashed, inner sep=0pt] (sensor1) {};
\node[above right] at (sensor1.south west) {Sensor 1};
\node[block, fit={($(W2.north-|S1)+(-0.2, 0.2)$) ($(add2.south east)+(0.2, -0.3)$)}, fill=black!20!white, dashed, inner sep=0pt] (sensor2) {};
\node[above right] at (sensor2.south west) {Sensor 2};
\end{scope}
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="218.962pt" height="104.044pt" viewBox="0 0 218.962 104.044" 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 4.140625 0 L 4.140625 -0.3125 L 3.828125 -0.3125 C 2.9375 -0.3125 2.90625 -0.421875 2.90625 -0.78125 L 2.90625 -6.3125 C 2.90625 -6.5625 2.90625 -6.578125 2.671875 -6.578125 C 2.0625 -5.9375 1.1875 -5.9375 0.875 -5.9375 L 0.875 -5.640625 C 1.078125 -5.640625 1.65625 -5.640625 2.171875 -5.890625 L 2.171875 -0.78125 C 2.171875 -0.421875 2.140625 -0.3125 1.25 -0.3125 L 0.9375 -0.3125 L 0.9375 0 C 1.28125 -0.03125 2.140625 -0.03125 2.53125 -0.03125 C 2.9375 -0.03125 3.796875 -0.03125 4.140625 0 Z M 4.140625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 7.125 -2.46875 C 7.125 -2.671875 6.9375 -2.671875 6.796875 -2.671875 L 4.03125 -2.671875 L 4.03125 -5.4375 C 4.03125 -5.5625 4.03125 -5.75 3.84375 -5.75 C 3.640625 -5.75 3.640625 -5.5625 3.640625 -5.4375 L 3.640625 -2.671875 L 0.875 -2.671875 C 0.734375 -2.671875 0.546875 -2.671875 0.546875 -2.46875 C 0.546875 -2.265625 0.734375 -2.265625 0.875 -2.265625 L 3.640625 -2.265625 L 3.640625 0.5 C 3.640625 0.625 3.640625 0.8125 3.84375 0.8125 C 4.03125 0.8125 4.03125 0.625 4.03125 0.5 L 4.03125 -2.265625 L 6.796875 -2.265625 C 6.9375 -2.265625 7.125 -2.265625 7.125 -2.46875 Z M 7.125 -2.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 7.234375 -0.875 C 7.234375 -0.921875 7.234375 -1.03125 7.09375 -1.03125 C 6.984375 -1.03125 6.984375 -0.953125 6.984375 -0.875 C 6.921875 -0.171875 6.578125 0 6.328125 0 C 5.84375 0 5.765625 -0.5 5.625 -1.421875 L 5.5 -2.21875 C 5.328125 -2.84375 4.84375 -3.171875 4.296875 -3.359375 C 5.25 -3.59375 6.03125 -4.203125 6.03125 -4.96875 C 6.03125 -5.921875 4.890625 -6.75 3.453125 -6.75 L 0.34375 -6.75 L 0.34375 -6.4375 L 0.578125 -6.4375 C 1.34375 -6.4375 1.359375 -6.328125 1.359375 -5.96875 L 1.359375 -0.765625 C 1.359375 -0.421875 1.34375 -0.3125 0.578125 -0.3125 L 0.34375 -0.3125 L 0.34375 0 C 0.703125 -0.03125 1.40625 -0.03125 1.78125 -0.03125 C 2.171875 -0.03125 2.875 -0.03125 3.234375 0 L 3.234375 -0.3125 L 2.984375 -0.3125 C 2.234375 -0.3125 2.21875 -0.421875 2.21875 -0.765625 L 2.21875 -3.265625 L 3.34375 -3.265625 C 3.5 -3.265625 3.921875 -3.265625 4.265625 -2.9375 C 4.640625 -2.578125 4.640625 -2.265625 4.640625 -1.609375 C 4.640625 -0.96875 4.640625 -0.578125 5.046875 -0.203125 C 5.453125 0.15625 6 0.21875 6.296875 0.21875 C 7.0625 0.21875 7.234375 -0.59375 7.234375 -0.875 Z M 5 -4.96875 C 5 -4.28125 4.765625 -3.484375 3.3125 -3.484375 L 2.21875 -3.484375 L 2.21875 -6.046875 C 2.21875 -6.265625 2.21875 -6.390625 2.421875 -6.421875 C 2.53125 -6.4375 2.8125 -6.4375 3.015625 -6.4375 C 3.90625 -6.4375 5 -6.40625 5 -4.96875 Z M 5 -4.96875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 4.09375 -1.171875 C 4.09375 -1.28125 4.015625 -1.296875 3.96875 -1.296875 C 3.875 -1.296875 3.859375 -1.234375 3.84375 -1.15625 C 3.5 -0.140625 2.609375 -0.140625 2.515625 -0.140625 C 2.015625 -0.140625 1.625 -0.4375 1.390625 -0.796875 C 1.09375 -1.28125 1.09375 -1.921875 1.09375 -2.28125 L 3.84375 -2.28125 C 4.0625 -2.28125 4.09375 -2.28125 4.09375 -2.484375 C 4.09375 -3.46875 3.5625 -4.421875 2.328125 -4.421875 C 1.1875 -4.421875 0.28125 -3.40625 0.28125 -2.171875 C 0.28125 -0.84375 1.3125 0.109375 2.453125 0.109375 C 3.65625 0.109375 4.09375 -0.984375 4.09375 -1.171875 Z M 3.453125 -2.484375 L 1.109375 -2.484375 C 1.171875 -3.953125 2 -4.203125 2.328125 -4.203125 C 3.34375 -4.203125 3.453125 -2.875 3.453125 -2.484375 Z M 3.453125 -2.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 3.28125 0 L 3.28125 -0.3125 L 3.03125 -0.3125 C 2.25 -0.3125 2.21875 -0.421875 2.21875 -0.765625 L 2.21875 -5.96875 C 2.21875 -6.328125 2.25 -6.4375 3.03125 -6.4375 L 3.28125 -6.4375 L 3.28125 -6.75 C 2.9375 -6.71875 2.15625 -6.71875 1.78125 -6.71875 C 1.40625 -6.71875 0.625 -6.71875 0.28125 -6.75 L 0.28125 -6.4375 L 0.53125 -6.4375 C 1.3125 -6.4375 1.34375 -6.328125 1.34375 -5.96875 L 1.34375 -0.765625 C 1.34375 -0.421875 1.3125 -0.3125 0.53125 -0.3125 L 0.28125 -0.3125 L 0.28125 0 C 0.625 -0.03125 1.40625 -0.03125 1.78125 -0.03125 C 2.15625 -0.03125 2.9375 -0.03125 3.28125 0 Z M 3.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 8.03125 0 L 8.03125 -0.3125 C 7.515625 -0.3125 7.265625 -0.3125 7.265625 -0.609375 L 7.265625 -2.484375 C 7.265625 -3.34375 7.265625 -3.640625 6.953125 -4 C 6.8125 -4.171875 6.484375 -4.359375 5.921875 -4.359375 C 5.078125 -4.359375 4.65625 -3.765625 4.484375 -3.390625 C 4.34375 -4.25 3.609375 -4.359375 3.171875 -4.359375 C 2.453125 -4.359375 1.984375 -3.9375 1.703125 -3.328125 L 1.703125 -4.359375 L 0.3125 -4.25 L 0.3125 -3.953125 C 1 -3.953125 1.09375 -3.875 1.09375 -3.390625 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 L 1.4375 -0.03125 L 2.53125 0 L 2.53125 -0.3125 C 1.875 -0.3125 1.765625 -0.3125 1.765625 -0.75 L 1.765625 -2.5625 C 1.765625 -3.59375 2.46875 -4.140625 3.09375 -4.140625 C 3.71875 -4.140625 3.828125 -3.609375 3.828125 -3.046875 L 3.828125 -0.75 C 3.828125 -0.3125 3.71875 -0.3125 3.0625 -0.3125 L 3.0625 0 L 4.171875 -0.03125 L 5.28125 0 L 5.28125 -0.3125 C 4.625 -0.3125 4.515625 -0.3125 4.515625 -0.75 L 4.515625 -2.5625 C 4.515625 -3.59375 5.21875 -4.140625 5.84375 -4.140625 C 6.46875 -4.140625 6.578125 -3.609375 6.578125 -3.046875 L 6.578125 -0.75 C 6.578125 -0.3125 6.46875 -0.3125 5.8125 -0.3125 L 5.8125 0 L 6.921875 -0.03125 Z M 8.03125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 7.75 -0.078125 C 7.75 -0.078125 7.75 -0.109375 7.703125 -0.203125 L 4.359375 -6.890625 C 4.296875 -7.015625 4.28125 -7.078125 4.109375 -7.078125 C 3.9375 -7.078125 3.921875 -7.015625 3.84375 -6.890625 L 0.515625 -0.203125 C 0.46875 -0.109375 0.46875 -0.078125 0.46875 -0.078125 C 0.46875 0 0.515625 0 0.6875 0 L 7.53125 0 C 7.6875 0 7.75 0 7.75 -0.078125 Z M 6.453125 -0.75 L 1.125 -0.75 L 3.796875 -6.078125 Z M 6.453125 -0.75 "/>
</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 1.5625 2.140625 L 1.5625 -7.078125 C 1.5625 -7.21875 1.5625 -7.40625 1.375 -7.40625 C 1.171875 -7.40625 1.171875 -7.21875 1.171875 -7.078125 L 1.171875 2.140625 C 1.171875 2.28125 1.171875 2.46875 1.375 2.46875 C 1.5625 2.46875 1.5625 2.28125 1.5625 2.140625 Z M 1.5625 2.140625 "/>
</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 6.828125 -3.671875 C 6.828125 -4.21875 6.5625 -4.359375 6.390625 -4.359375 C 6.140625 -4.359375 5.890625 -4.109375 5.890625 -3.890625 C 5.890625 -3.765625 5.953125 -3.703125 6.046875 -3.625 C 6.15625 -3.515625 6.40625 -3.265625 6.40625 -2.78125 C 6.40625 -2.453125 6.109375 -1.484375 5.859375 -0.984375 C 5.59375 -0.453125 5.25 -0.109375 4.765625 -0.109375 C 4.3125 -0.109375 4.03125 -0.40625 4.03125 -0.96875 C 4.03125 -1.25 4.109375 -1.546875 4.140625 -1.6875 L 4.5625 -3.34375 C 4.609375 -3.5625 4.703125 -3.9375 4.703125 -3.984375 C 4.703125 -4.171875 4.578125 -4.25 4.421875 -4.25 C 4.3125 -4.25 4.125 -4.171875 4.0625 -3.984375 C 4.03125 -3.90625 3.5625 -2.03125 3.5 -1.765625 C 3.421875 -1.46875 3.40625 -1.296875 3.40625 -1.109375 C 3.40625 -1 3.40625 -0.984375 3.421875 -0.9375 C 3.1875 -0.421875 2.890625 -0.109375 2.515625 -0.109375 C 1.71875 -0.109375 1.71875 -0.84375 1.71875 -1 C 1.71875 -1.328125 1.765625 -1.703125 2.234375 -2.921875 C 2.34375 -3.21875 2.40625 -3.359375 2.40625 -3.5625 C 2.40625 -4 2.078125 -4.359375 1.59375 -4.359375 C 0.65625 -4.359375 0.28125 -2.9375 0.28125 -2.84375 C 0.28125 -2.75 0.40625 -2.75 0.40625 -2.75 C 0.5 -2.75 0.515625 -2.765625 0.5625 -2.921875 C 0.828125 -3.84375 1.21875 -4.140625 1.5625 -4.140625 C 1.65625 -4.140625 1.8125 -4.140625 1.8125 -3.828125 C 1.8125 -3.578125 1.703125 -3.296875 1.625 -3.125 C 1.1875 -1.96875 1.078125 -1.515625 1.078125 -1.140625 C 1.078125 -0.234375 1.734375 0.109375 2.484375 0.109375 C 2.640625 0.109375 3.109375 0.109375 3.5 -0.578125 C 3.765625 0.046875 4.4375 0.109375 4.734375 0.109375 C 5.484375 0.109375 5.921875 -0.515625 6.171875 -1.109375 C 6.5 -1.875 6.828125 -3.203125 6.828125 -3.671875 Z M 6.828125 -3.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 7.09375 -0.203125 C 7.09375 -0.3125 7 -0.3125 6.8125 -0.3125 C 6.453125 -0.3125 6.171875 -0.3125 6.171875 -0.484375 C 6.171875 -0.546875 6.1875 -0.59375 6.203125 -0.65625 L 7.53125 -5.984375 C 7.625 -6.34375 7.640625 -6.4375 8.359375 -6.4375 C 8.625 -6.4375 8.703125 -6.4375 8.703125 -6.640625 C 8.703125 -6.75 8.59375 -6.75 8.5625 -6.75 L 7.296875 -6.71875 L 6.03125 -6.75 C 5.9375 -6.75 5.84375 -6.75 5.84375 -6.546875 C 5.84375 -6.4375 5.921875 -6.4375 6.109375 -6.4375 C 6.109375 -6.4375 6.3125 -6.4375 6.484375 -6.421875 C 6.671875 -6.40625 6.75 -6.390625 6.75 -6.265625 C 6.75 -6.21875 6.75 -6.203125 6.71875 -6.078125 L 6.125 -3.65625 L 3.109375 -3.65625 L 3.6875 -5.984375 C 3.78125 -6.34375 3.8125 -6.4375 4.515625 -6.4375 C 4.78125 -6.4375 4.859375 -6.4375 4.859375 -6.640625 C 4.859375 -6.75 4.75 -6.75 4.71875 -6.75 L 3.453125 -6.71875 L 2.1875 -6.75 C 2.109375 -6.75 2 -6.75 2 -6.546875 C 2 -6.4375 2.078125 -6.4375 2.265625 -6.4375 C 2.265625 -6.4375 2.484375 -6.4375 2.640625 -6.421875 C 2.828125 -6.40625 2.90625 -6.390625 2.90625 -6.265625 C 2.90625 -6.21875 2.90625 -6.1875 2.875 -6.078125 L 1.546875 -0.765625 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.515625 0 0.515625 0 L 1.78125 -0.03125 L 2.40625 -0.015625 C 2.625 -0.015625 2.84375 0 3.046875 0 C 3.125 0 3.25 0 3.25 -0.203125 C 3.25 -0.3125 3.15625 -0.3125 2.96875 -0.3125 C 2.609375 -0.3125 2.328125 -0.3125 2.328125 -0.484375 C 2.328125 -0.546875 2.34375 -0.59375 2.359375 -0.65625 L 3.03125 -3.359375 L 6.046875 -3.359375 L 5.359375 -0.625 C 5.265625 -0.3125 5.078125 -0.3125 4.46875 -0.3125 C 4.3125 -0.3125 4.21875 -0.3125 4.21875 -0.109375 C 4.21875 0 4.359375 0 4.359375 0 L 5.625 -0.03125 L 6.25 -0.015625 C 6.46875 -0.015625 6.6875 0 6.890625 0 C 6.96875 0 7.09375 0 7.09375 -0.203125 Z M 7.09375 -0.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph2-3">
<path style="stroke:none;" d="M 5.65625 -2.59375 C 5.65625 -3.375 5.140625 -4.28125 3.765625 -4.375 L 4.3125 -6.609375 L 4.34375 -6.75 C 4.34375 -6.75 4.34375 -6.859375 4.21875 -6.859375 C 4.125 -6.859375 4.125 -6.828125 4.078125 -6.65625 L 3.5 -4.375 C 1.9375 -4.328125 0.484375 -3.015625 0.484375 -1.671875 C 0.484375 -0.734375 1.171875 0.046875 2.375 0.125 L 2.15625 1.046875 C 2.03125 1.515625 1.9375 1.890625 1.9375 1.921875 C 1.9375 2.015625 2 2.03125 2.046875 2.03125 C 2.109375 2.03125 2.125 2.015625 2.15625 1.984375 C 2.171875 1.96875 2.234375 1.734375 2.265625 1.59375 L 2.640625 0.125 C 4.21875 0.0625 5.65625 -1.265625 5.65625 -2.59375 Z M 3.453125 -4.15625 L 2.421875 -0.09375 C 1.84375 -0.125 1.125 -0.46875 1.125 -1.46875 C 1.125 -2.640625 1.96875 -4.03125 3.453125 -4.15625 Z M 5.015625 -2.796875 C 5.015625 -1.625 4.171875 -0.21875 2.6875 -0.09375 L 3.703125 -4.15625 C 4.453125 -4.125 5.015625 -3.65625 5.015625 -2.796875 Z M 5.015625 -2.796875 "/>
</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 3.265625 0 L 3.265625 -0.25 L 3 -0.25 C 2.3125 -0.25 2.3125 -0.34375 2.3125 -0.5625 L 2.3125 -4.390625 C 2.3125 -4.578125 2.296875 -4.578125 2.109375 -4.578125 C 1.671875 -4.15625 1.03125 -4.140625 0.75 -4.140625 L 0.75 -3.890625 C 0.921875 -3.890625 1.375 -3.890625 1.75 -4.09375 L 1.75 -0.5625 C 1.75 -0.34375 1.75 -0.25 1.0625 -0.25 L 0.796875 -0.25 L 0.796875 0 L 2.03125 -0.03125 Z M 3.265625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph3-2">
<path style="stroke:none;" d="M 3.484375 -1.25 L 3.25 -1.25 C 3.234375 -1.109375 3.15625 -0.703125 3.078125 -0.625 C 3.015625 -0.59375 2.484375 -0.59375 2.390625 -0.59375 L 1.125 -0.59375 C 1.84375 -1.234375 2.078125 -1.421875 2.5 -1.75 C 3.015625 -2.15625 3.484375 -2.578125 3.484375 -3.234375 C 3.484375 -4.078125 2.75 -4.578125 1.875 -4.578125 C 1.015625 -4.578125 0.4375 -3.984375 0.4375 -3.34375 C 0.4375 -3 0.734375 -2.96875 0.796875 -2.96875 C 0.96875 -2.96875 1.171875 -3.078125 1.171875 -3.328125 C 1.171875 -3.453125 1.125 -3.6875 0.765625 -3.6875 C 0.96875 -4.1875 1.4375 -4.34375 1.765625 -4.34375 C 2.453125 -4.34375 2.8125 -3.796875 2.8125 -3.234375 C 2.8125 -2.640625 2.390625 -2.15625 2.171875 -1.90625 L 0.5 -0.265625 C 0.4375 -0.203125 0.4375 -0.1875 0.4375 0 L 3.28125 0 Z M 3.484375 -1.25 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 68 0 L 198 0 L 198 103.097656 L 68 103.097656 Z M 68 0 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 197 35 L 217.945312 35 L 217.945312 68 L 197 68 Z M 197 35 "/>
</clipPath>
</defs>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 183.253906 51.546875 C 183.253906 23.625 160.617188 0.988281 132.695312 0.988281 C 104.769531 0.988281 82.132812 23.625 82.132812 51.546875 C 82.132812 79.472656 104.769531 102.109375 132.695312 102.109375 C 160.617188 102.109375 183.253906 79.472656 183.253906 51.546875 Z M 183.253906 51.546875 "/>
<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 164.411763 0.00149065 C 164.411763 28.179924 141.567048 51.024638 113.388615 51.024638 C 85.20624 51.024638 62.361526 28.179924 62.361526 0.00149065 C 62.361526 -28.180884 85.20624 -51.025599 113.388615 -51.025599 C 141.567048 -51.025599 164.411763 -28.180884 164.411763 0.00149065 Z M 164.411763 0.00149065 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
</g>
<path style="fill:none;stroke-width:0.99628;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.99628,1.99255;stroke-miterlimit:10;" d="M 141.732618 0.00149065 C 141.732618 15.655738 129.042862 28.345494 113.388615 28.345494 C 97.730426 28.345494 85.04067 15.655738 85.04067 0.00149065 C 85.04067 -15.656698 97.730426 -28.346454 113.388615 -28.346454 C 129.042862 -28.346454 141.732618 -15.656698 141.732618 0.00149065 Z M 141.732618 0.00149065 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<path style="fill:none;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 116.021966 20.043342 C 116.021966 32.567528 105.867008 42.722486 93.342822 42.722486 C 80.818636 42.722486 70.663677 32.567528 70.663677 20.043342 C 70.663677 7.519156 80.818636 -2.63186 93.342822 -2.63186 C 105.867008 -2.63186 116.021966 7.519156 116.021966 20.043342 Z M 116.021966 20.043342 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="130.224401" y="61.549458"/>
</g>
<path style="fill:none;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 116.664536 3.277411 L 130.154546 16.767422 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.054 -0.0000536196 L 1.610638 1.683665 L 3.088034 -0.0000326467 L 1.610614 -1.68371 Z M 6.054 -0.0000536196 " transform="matrix(-0.700652,0.700662,0.700662,0.700652,137.929285,46.312917)"/>
<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.054771 0.0000551719 L 1.608739 1.680727 L 3.088931 -0.0000496836 L 1.608858 -1.680931 Z M 6.054771 0.0000551719 " transform="matrix(0.700712,-0.700662,-0.700662,-0.700712,147.31989,36.922074)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 134.667969 51.546875 C 134.667969 50.457031 133.785156 49.574219 132.695312 49.574219 C 131.601562 49.574219 130.71875 50.457031 130.71875 51.546875 C 130.71875 52.640625 131.601562 53.523438 132.695312 53.523438 C 133.785156 53.523438 134.667969 52.640625 134.667969 51.546875 Z M 134.667969 51.546875 "/>
<path style="fill:none;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 93.342822 24.679301 L 93.342822 38.086527 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.053787 -0.000178066 L 1.60705 1.683117 L 3.089296 -0.000178066 L 1.60705 -1.683473 Z M 6.053787 -0.000178066 " transform="matrix(0,0.990895,0.990895,0,112.832208,24.282581)"/>
<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.053655 0.000178066 L 1.606919 1.683473 L 3.089164 0.000178066 L 1.606919 -1.683117 Z M 6.053655 0.000178066 " transform="matrix(0,-0.990895,-0.990895,0,112.832208,16.619632)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 114.804688 31.6875 C 114.804688 30.597656 113.921875 29.710938 112.832031 29.710938 C 111.742188 29.710938 110.859375 30.597656 110.859375 31.6875 C 110.859375 32.777344 111.742188 33.660156 112.832031 33.660156 C 113.921875 33.660156 114.804688 32.777344 114.804688 31.6875 Z M 114.804688 31.6875 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="174.061606" y="11.883807"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="176.803413" y="11.883807"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="183.870478" y="13.365195"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="188.29978" y="11.883807"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="196.505383" y="13.365195"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="200.933694" y="11.883807"/>
</g>
<path style="fill:none;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 170.080563 33.718633 C 170.080563 13.294394 143.83378 10.022416 128.041558 10.022416 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.052708 -0.00030629 L 1.609913 1.682988 L 3.088217 -0.00030629 L 1.609913 -1.683601 Z M 6.052708 -0.00030629 " transform="matrix(-0.990895,0,0,0.990895,150.028849,41.617491)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="47.664001" y="11.883807"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="50.405808" y="11.883807"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-2" x="57.473863" y="13.365195"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="61.902174" y="11.883807"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-2" x="70.107778" y="13.365195"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="74.536089" y="11.883807"/>
</g>
<path style="fill:none;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 61.281379 42.521437 C 74.507266 42.521437 80.120877 31.384885 88.710805 31.384885 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.052721 0.00190523 L 1.609926 1.681258 L 3.08823 0.00190523 L 1.609926 -1.68139 Z M 6.052721 0.00190523 " transform="matrix(0.990895,0,0,-0.990895,105.428169,20.451107)"/>
<path style="fill:none;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 109.028606 -1.587193 L 69.800348 -15.865632 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.052704 -0.00134404 L 1.60877 1.683219 L 3.087269 0.00125125 L 1.607734 -1.680814 Z M 6.052704 -0.00134404 " transform="matrix(0.932323,-0.339352,-0.339352,-0.932323,125.72756,54.083994)"/>
<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.051474 0.000427715 L 1.607478 1.684919 L 3.088372 -0.0020789 L 1.608858 -1.684184 Z M 6.051474 0.000427715 " transform="matrix(-0.932323,0.339332,0.339332,0.932323,92.149598,66.305517)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="26.823492" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="29.565299" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="36.633355" y="97.629935"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="41.061666" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="49.267269" y="97.629935"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="53.696571" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="58.63222" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="68.504509" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="71.246316" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-2" x="78.313381" y="97.629935"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-2" x="82.742683" y="96.148547"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-2" x="90.948286" y="97.629935"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="95.376597" y="96.148547"/>
</g>
<path style="fill:none;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 42.520724 -33.719594 C 42.520724 -17.891893 77.428394 -28.918065 77.428394 -17.722381 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.055167 -0.0016036 L 1.608431 1.681691 L 3.086734 -0.0016036 L 1.608431 -1.684898 Z M 6.055167 -0.0016036 " transform="matrix(0,-0.990895,-0.990895,0,97.060911,71.921911)"/>
<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 -14.175166 0.00149065 L 193.792549 0.00149065 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 215.554688 51.546875 L 211.148438 49.878906 L 212.617188 51.546875 L 211.148438 53.214844 Z M 215.554688 51.546875 "/>
<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.053757 0.00149065 L 1.607021 1.684785 L 3.089266 0.00149065 L 1.607021 -1.681804 Z M 6.053757 0.00149065 " transform="matrix(0.990895,0,0,-0.990895,209.556048,51.548352)"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="201.519313" y="62.133095"/>
<use xlink:href="#glyph0-4" x="208.786014" y="62.133095"/>
</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 0.000777342 -48.191199 L 0.000777342 43.554278 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<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.053677 -0.000777342 L 1.60694 1.682517 L 3.089186 -0.000777342 L 1.60694 -1.684072 Z M 6.053677 -0.000777342 " transform="matrix(0,-0.990895,-0.990895,0,20.339073,11.201684)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-5" x="4.764182" y="14.382844"/>
<use xlink:href="#glyph0-6" x="8.328923" y="14.382844"/>
</g>
<path style="fill:none;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 0.000777342 0.00149065 L 89.976232 45.895911 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<path style="fill:none;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 28.348722 0.00149065 C 28.348722 4.641392 27.205501 9.210335 25.029439 13.306221 " transform="matrix(0.990895,0,0,-0.990895,20.339073,51.548352)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-7" x="51.376885" y="47.328129"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-3" x="59.603297" y="47.328129"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,37 @@
\begin{tikzpicture}
\begin{scope}[shift={(4, 0)}]
% Uncertainty Circle
\node[draw, circle, fill=black!20!white, minimum size=3.6cm] (c) at (0, 0) {};
\path[draw, dotted] (0, 0) circle [radius=1.0];
\path[draw, dashed] (135:1.0) circle [radius=0.8];
% Center of Circle
\node[below] at (0, 0){$1$};
\draw[<->, dashed] (0, 0) node[branch]{} -- coordinate[midway](r1) ++(45:1.0);
\draw[<->, dashed] (135:1.0)node[branch]{} -- coordinate[midway](r2) ++(90:0.8);
\node[] (l1) at (2, 1.5) {$|w_1 H_1|$};
\draw[->, dashed, out=-90, in=0] (l1.south) to (r1);
\node[] (l2) at (0, 2.0) {$|w_2 H_2|$};
\draw[->, dashed, out=-90, in=0] (l2.south) to (r2);
\draw[<->, dashed] (0, 0) -- coordinate[near end](r3) ++(200:1.8);
\node[] (l3) at (-2.5, -1.5) {$|w_1 H_1| + |w_2 H_2|$};
\draw[->, dashed, out=90, in=-90] (l3.north) to (r3);
% % Uncertainty Regions
% \node[below left] at (45:1.8) {$\Pi_{\text{ss}}$};
% \node[above left] at (-45:1.0) {$\Pi_{1}$};
% \node[below] at ($(135:1.0)+(0, 0.8)$) {$\Pi_{2}$};
\end{scope}
% Real and Imaginary Axis
\draw[->] (-0.5, 0) -- (7.0, 0) node[below left]{Re};
\draw[->] (0, -1.8) -- (0, 2.0) 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$};
\end{tikzpicture}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,62 @@
\setlength\fwidth{6.5cm}
\setlength\fheight{3.5cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=1.0\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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,
]
\addplot [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};
\addplot [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{%
1 10\\
100 10\\
};
\addplot [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{%
0.1 0.001\\
3 0.001\\
};
\addplot [color=black, line width=1.5pt]
table[row sep=crcr]{%
0.1 1\\
100 1\\
};
\addplot [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{%
10 2\\
10 1\\
};
\node[below] at (2, 10) {$G_\infty$};
\node[above] at (2, 0.001) {$G_0$};
\node[branch] at (10, 2){};
\draw[dashed, line cap=round] (7, 2) -- (20, 2) node[right]{$G_c$};
\draw[dashed, line cap=round] (10, 2) -- (10, 1) node[below]{$\omega_c$};
\node[right] at (3, 0.1) {$+n$};
\end{axis}
\end{tikzpicture}

972
tikz/index.html Normal file
View File

@ -0,0 +1,972 @@
<?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>
<!-- 2019-09-26 jeu. 17:46 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis - Tikz Figures</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
<script src="../js/jquery.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.stickytableheaders.min.js"></script>
<script src="../js/readtheorg.js"></script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2019 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
displayAlign: "center",
displayIndent: "0em",
"HTML-CSS": { scale: 100,
linebreaks: { automatic: "false" },
webFont: "TeX"
},
SVG: {scale: 100,
linebreaks: { automatic: "false" },
font: "TeX"},
NativeMML: {scale: 100},
TeX: { equationNumbers: {autoNumber: "AMS"},
MultLineWidth: "85%",
TagSide: "right",
TagIndent: ".8em"
}
});
</script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></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="#orge7053aa">1. Fig 1: Sensor Fusion Architecture</a></li>
<li><a href="#org39b5d0c">2. Fig 2: Sensor fusion architecture with sensor dynamics uncertainty</a></li>
<li><a href="#orgfc9382d">3. Fig 3: Uncertainty set of the super sensor dynamics</a></li>
<li><a href="#orgb356b70">4. Fig 4: Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters</a></li>
<li><a href="#orgdeaeaf4">5. Fig 5: Magnitude of a weighting function generated using the proposed formula</a></li>
<li><a href="#org8ce545c">6. Fig 6: Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis</a></li>
<li><a href="#orgac21d24">7. Fig 7: Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters</a></li>
<li><a href="#org9688457">8. Fig 8: Frequency response of the weighting functions and three complementary filters obtained using \(\mathcal{H}_\infty\) synthesis</a></li>
<li><a href="#org8d6867c">9. Fig 9: Specifications and weighting functions magnitude used for \(\mathcal{H}_\infty\) synthesis</a></li>
<li><a href="#orgb6ae2f5">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-orge7053aa" class="outline-2">
<h2 id="orge7053aa"><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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_1</span></span><span class="org-font-latex-math">$</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">_2</span></span><span class="org-font-latex-math">$</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="orgc3d769f" 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-org39b5d0c" class="outline-2">
<h2 id="org39b5d0c"><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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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="orgde2b8c0" 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-orgfc9382d" class="outline-2">
<h2 id="orgfc9382d"><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">_1</span></span><span class="org-font-latex-math"> H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_1</span></span><span class="org-font-latex-math">|$</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 (0, 2.0) {<span class="org-font-latex-math">$|w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_2</span></span><span class="org-font-latex-math"> H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_2</span></span><span class="org-font-latex-math">|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, dashed, out=-90, in=0] (l2.south) 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">_1</span></span><span class="org-font-latex-math"> H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_1</span></span><span class="org-font-latex-math">| + |w</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_2</span></span><span class="org-font-latex-math"> H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_2</span></span><span class="org-font-latex-math">|$</span>};
<span class="org-font-latex-sedate">\draw</span>[-&gt;, dashed, out=90, in=-90] (l3.north) to (r3);
<span class="org-comment">% % Uncertainty Regions</span>
<span class="org-comment">% </span><span class="org-font-latex-sedate"><span class="org-comment">\node</span></span><span class="org-comment">[below left] at (45:1.8) {$</span><span class="org-font-latex-sedate"><span class="org-comment">\Pi</span></span><span class="org-comment">_{</span><span class="org-font-latex-sedate"><span class="org-comment">\text</span></span><span class="org-comment">{ss}}$};</span>
<span class="org-comment">% </span><span class="org-font-latex-sedate"><span class="org-comment">\node</span></span><span class="org-comment">[above left] at (-45:1.0) {$</span><span class="org-font-latex-sedate"><span class="org-comment">\Pi</span></span><span class="org-comment">_{1}$};</span>
<span class="org-comment">% </span><span class="org-font-latex-sedate"><span class="org-comment">\node</span></span><span class="org-comment">[below] at ($(135:1.0)+(0, 0.8)$) {$</span><span class="org-font-latex-sedate"><span class="org-comment">\Pi</span></span><span class="org-comment">_{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-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.8) -- (0, 2.0) 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="orgf3182a4" 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-orgb356b70" class="outline-2">
<h2 id="orgb356b70"><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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_1</span></span><span class="org-font-latex-math">$</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">_2</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="org3cb8226" 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-orgdeaeaf4" class="outline-2">
<h2 id="orgdeaeaf4"><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_\infty$</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="orga3a1174" 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-org8ce545c" class="outline-2">
<h2 id="org8ce545c"><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.5<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="org49f0f1e" 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-orgac21d24" class="outline-2">
<h2 id="orgac21d24"><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">_1</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(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">_3</span></span><span class="org-font-latex-math">(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">_2</span></span><span class="org-font-latex-math">(s) \\ H</span><span class="org-font-latex-math"><span class="org-font-latex-script-char">_3</span></span><span class="org-font-latex-math">(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">_1</span></span><span class="org-font-latex-math">$</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">_2</span></span><span class="org-font-latex-math">$</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">_3</span></span><span class="org-font-latex-math">$</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">_1</span></span><span class="org-font-latex-math">$</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">_2</span></span><span class="org-font-latex-math">$</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="orgd2b8673" 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-org9688457" class="outline-2">
<h2 id="org9688457"><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.45<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="org044b17c" 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-org8d6867c" class="outline-2">
<h2 id="org8d6867c"><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">4cm</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="orgb9647cd" 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-orgb6ae2f5" class="outline-2">
<h2 id="orgb6ae2f5"><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">7cm</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.35<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}_\infty$</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}_\infty$</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="orgc99b299" 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: 2019-09-26 jeu. 17:46</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>

637
tikz/index.org Normal file
View File

@ -0,0 +1,637 @@
#+TITLE: Complementary Filters Shaping Using $\mathcal{H}_\infty$ Synthesis - Tikz Figures
:DRAWER:
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
#+HTML_HEAD: <script src="../js/jquery.min.js"></script>
#+HTML_HEAD: <script src="../js/bootstrap.min.js"></script>
#+HTML_HEAD: <script src="../js/jquery.stickytableheaders.min.js"></script>
#+HTML_HEAD: <script src="../js/readtheorg.js"></script>
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{/home/thomas/Cloud/thesis/papers/dehaeze19_desig_compl_filte/tikz/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results raw replace :buffer no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports both
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :noweb yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
Configuration file is accessible [[file:config.org][here]].
* Fig 1: Sensor Fusion Architecture
#+begin_src latex :file fusion_super_sensor.pdf :tangle figs/fusion_super_sensor.tex
\begin{tikzpicture}
\node[branch] (x) at (0, 0);
\node[block, above right=0.5 and 0.5 of x](G1){$G_1(s)$};
\node[block, below right=0.5 and 0.5 of x](G2){$G_2(s)$};
\node[addb, right=0.8 of G1](add1){};
\node[addb, right=0.8 of G2](add2){};
\node[block, right=0.8 of add1](H1){$H_1(s)$};
\node[block, right=0.8 of add2](H2){$H_2(s)$};
\node[addb, right=5 of x](add){};
\draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center);
\draw[->] (x.center) |- (G1.west);
\draw[->] (x.center) |- (G2.west);
\draw[->] (G1.east) -- (add1.west);
\draw[->] (G2.east) -- (add2.west);
\draw[<-] (add1.north) -- ++(0, 0.8)node[below right](n1){$n_1$};
\draw[<-] (add2.north) -- ++(0, 0.8)node[below right](n2){$n_2$};
\draw[->] (add1.east) -- (H1.west);
\draw[->] (add2.east) -- (H2.west);
\draw[->] (H1) -| (add.north);
\draw[->] (H2) -| (add.south);
\draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$};
\begin{scope}[on background layer]
\node[fit={($(G2.south-|x)+(-0.2, -0.3)$) ($(n1.north east-|add.east)+(0.2, 0.3)$)}, fill=black!10!white, draw, dashed, inner sep=0pt] (supersensor) {};
\node[below left] at (supersensor.north east) {Super Sensor};
\node[fit={($(G1.south west)+(-0.3, -0.1)$) ($(n1.north east)+(0.0, 0.1)$)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor1) {};
\node[below right] at (sensor1.north west) {Sensor 1};
\node[fit={($(G2.south west)+(-0.3, -0.1)$) ($(n2.north east)+(0.0, 0.1)$)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor2) {};
\node[below right] at (sensor2.north west) {Sensor 2};
\end{scope}
\end{tikzpicture}
#+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]]).
#+RESULTS:
[[file:figs/fusion_super_sensor.png]]
* Fig 2: Sensor fusion architecture with sensor dynamics uncertainty
#+begin_src latex :file sensor_fusion_dynamic_uncertainty.pdf :tangle figs/sensor_fusion_dynamic_uncertainty.tex
\begin{tikzpicture}
\node[branch] (x) at (0, 0);
\node[addb, above right=0.8 and 4 of x](add1){};
\node[addb, below right=0.8 and 4 of x](add2){};
\node[block, above left=0.2 and 0.1 of add1](delta1){$\Delta_1(s)$};
\node[block, above left=0.2 and 0.1 of add2](delta2){$\Delta_2(s)$};
\node[block, left=0.5 of delta1](W1){$w_1(s)$};
\node[block, left=0.5 of delta2](W2){$w_2(s)$};
\node[block, right=0.5 of add1](H1){$H_1(s)$};
\node[block, right=0.5 of add2](H2){$H_2(s)$};
\node[addb, right=6 of x](add){};
\draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center);
\draw[->] (x.center) |- (add1.west);
\draw[->] (x.center) |- (add2.west);
\draw[->] ($(add1-|W1.west)+(-0.5, 0)$)node[branch](S1){} |- (W1.west);
\draw[->] ($(add2-|W2.west)+(-0.5, 0)$)node[branch](S1){} |- (W2.west);
\draw[->] (W1.east) -- (delta1.west);
\draw[->] (W2.east) -- (delta2.west);
\draw[->] (delta1.east) -| (add1.north);
\draw[->] (delta2.east) -| (add2.north);
\draw[->] (add1.east) -- (H1.west);
\draw[->] (add2.east) -- (H2.west);
\draw[->] (H1.east) -| (add.north);
\draw[->] (H2.east) -| (add.south);
\draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$};
\begin{scope}[on background layer]
\node[block, fit={($(W1.north-|S1)+(-0.2, 0.2)$) ($(add1.south east)+(0.2, -0.3)$)}, fill=black!20!white, dashed, inner sep=0pt] (sensor1) {};
\node[above right] at (sensor1.south west) {Sensor 1};
\node[block, fit={($(W2.north-|S1)+(-0.2, 0.2)$) ($(add2.south east)+(0.2, -0.3)$)}, fill=black!20!white, dashed, inner sep=0pt] (sensor2) {};
\node[above right] at (sensor2.south west) {Sensor 2};
\end{scope}
\end{tikzpicture}
#+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]]).
#+RESULTS:
[[file:figs/sensor_fusion_dynamic_uncertainty.png]]
* Fig 3: Uncertainty set of the super sensor dynamics
#+begin_src latex :file uncertainty_set_super_sensor.pdf :tangle figs/uncertainty_set_super_sensor.tex :exports both
\begin{tikzpicture}
\begin{scope}[shift={(4, 0)}]
% Uncertainty Circle
\node[draw, circle, fill=black!20!white, minimum size=3.6cm] (c) at (0, 0) {};
\path[draw, dotted] (0, 0) circle [radius=1.0];
\path[draw, dashed] (135:1.0) circle [radius=0.8];
% Center of Circle
\node[below] at (0, 0){$1$};
\draw[<->, dashed] (0, 0) node[branch]{} -- coordinate[midway](r1) ++(45:1.0);
\draw[<->, dashed] (135:1.0)node[branch]{} -- coordinate[midway](r2) ++(90:0.8);
\node[] (l1) at (2, 1.5) {$|w_1 H_1|$};
\draw[->, dashed, out=-90, in=0] (l1.south) to (r1);
\node[] (l2) at (-2.5, 1.5) {$|w_2 H_2|$};
\draw[->, dashed, out=0, in=-180] (l2.east) to (r2);
\draw[<->, dashed] (0, 0) -- coordinate[near end](r3) ++(200:1.8);
\node[] (l3) at (-2.5, -1.5) {$|w_1 H_1| + |w_2 H_2|$};
\draw[->, dashed, out=90, in=-90] (l3.north) to (r3);
\end{scope}
% Real and Imaginary Axis
\draw[->] (-0.5, 0) -- (7.0, 0) node[below left]{Re};
\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$};
\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]]).
#+RESULTS:
[[file:figs/uncertainty_set_super_sensor.png]]
* Fig 4: 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
\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}
#+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]]).
#+RESULTS:
[[file:figs/h_infinity_robust_fusion.png]]
* Fig 5: Magnitude of a weighting function generated using the proposed formula
#+begin_src matlab :exports none :results none
s = zpk('s');
freqs = logspace(-1, 2, 500);
n = 2;
w0 = 2*pi*10;
G0 = 1e-3;
G1 = 10;
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;
T = table(freqs', ...
abs(squeeze(freqresp(W, freqs, 'Hz'))), ...
'VariableNames', {'freqs', 'ampl'});
writetable(T, '../matlab/mat/weight_formula.csv');
#+end_src
#+begin_src latex :file weight_formula.pdf :tangle figs/weight_formula.tex :exports both
\setlength\fwidth{6.5cm}
\setlength\fheight{3.5cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=1.0\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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,
]
\addplot [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};
\addplot [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{%
1 10\\
100 10\\
};
\addplot [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{%
0.1 0.001\\
3 0.001\\
};
\addplot [color=black, line width=1.5pt]
table[row sep=crcr]{%
0.1 1\\
100 1\\
};
\addplot [color=black, dashed, line width=1.5pt]
table[row sep=crcr]{%
10 2\\
10 1\\
};
\node[below] at (2, 10) {$G_\infty$};
\node[above] at (2, 0.001) {$G_0$};
\node[branch] at (10, 2){};
\draw[dashed, line cap=round] (7, 2) -- (20, 2) node[right]{$G_c$};
\draw[dashed, line cap=round] (10, 2) -- (10, 1) node[below]{$\omega_c$};
\node[right] at (3, 0.1) {$+n$};
\end{axis}
\end{tikzpicture}
#+end_src
#+name: fig:weight_formula
#+caption: Magnitude of a weighting function generated using the proposed formula ([[./figs/weight_formula.png][png]], [[./figs/weight_formula.pdf][pdf]], [[./figs/weight_formula.tex][tex]]).
#+RESULTS:
[[file:figs/weight_formula.png]]
* Fig 6: Frequency response of the weighting functions and complementary filters obtained using $\mathcal{H}_\infty$ synthesis
#+begin_src latex :file hinf_synthesis_results.pdf :tangle figs/hinf_synthesis_results.tex :exports both
\setlength\fwidth{6.5cm}
\setlength\fheight{6cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=0.5\fheight,
at={(0.0\fwidth, 0.47\fheight)},
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,
]
\addplot [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};
\addplot [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};
\addplot [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};
\addplot [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};
\end{axis}
\begin{axis}[%
width=1.0\fwidth,
height=0.45\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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}},
]
\addlegendimage{color=mycolor1, dashed, line width=1.5pt}
\addlegendentry{$W_1^{-1}$};
\addlegendimage{color=mycolor2, dashed, line width=1.5pt}
\addlegendentry{$W_2^{-1}$};
\addplot [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};
\addlegendentry{$H_1$};
\addplot [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};
\addlegendentry{$H_2$};
\end{axis}
\end{tikzpicture}
#+end_src
#+name: fig:hinf_synthesis_results
#+caption: Frequency response of the weighting functions and complementary filters obtained using $\mathcal{H}_\infty$ synthesis ([[./figs/hinf_synthesis_results.png][png]], [[./figs/hinf_synthesis_results.pdf][pdf]], [[./figs/hinf_synthesis_results.tex][tex]]).
#+RESULTS:
[[file:figs/hinf_synthesis_results.png]]
* Fig 7: 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{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}
#+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]]).
#+RESULTS:
[[file:figs/comp_filter_three_hinf.png]]
* Fig 8: Frequency response of the weighting functions and three complementary filters obtained using $\mathcal{H}_\infty$ synthesis
#+begin_src latex :file hinf_three_synthesis_results.pdf :tangle figs/hinf_three_synthesis_results.tex :exports both
\setlength\fwidth{6.5cm}
\setlength\fheight{6cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=0.55\fheight,
at={(0.0\fwidth, 0.42\fheight)},
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}
},
]
\addplot [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};
\addlegendentry{${W_1}^{-1}$};
\addplot [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};
\addlegendentry{$H_1$};
\addplot [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};
\addlegendentry{${W_2}^{-1}$};
\addplot [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};
\addlegendentry{$H_2$};
\addplot [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};
\addlegendentry{${W_3}^{-1}$};
\addplot [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};
\addlegendentry{$H_3$};
\end{axis}
\begin{axis}[%
width=1.0\fwidth,
height=0.4\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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,
]
\addplot [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};
\addplot [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};
\addplot [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};
\end{axis}
\end{tikzpicture}
#+end_src
#+name: fig:hinf_three_synthesis_results
#+caption: Frequency response of the weighting functions and three complementary filters obtained using $\mathcal{H}_\infty$ synthesis ([[./figs/hinf_three_synthesis_results.png][png]], [[./figs/hinf_three_synthesis_results.pdf][pdf]], [[./figs/hinf_three_synthesis_results.tex][tex]]).
#+RESULTS:
[[file:figs/hinf_three_synthesis_results.png]]
* Fig 9: Specifications and weighting functions magnitude used for $\mathcal{H}_\infty$ synthesis
#+begin_src latex :file ligo_weights.pdf :tangle figs/ligo_weights.tex :exports both
\setlength\fwidth{6.5cm}
\setlength\fheight{3.2cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=1.0\fheight,
at={(0.0\fwidth, 0.0\fheight)},
scale only axis,
separate axis lines,
every outer x axis line/.append style={black},
every x tick label/.append style={font=\color{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=\color{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}}
]
\addplot [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};
\addlegendentry{$|w_H|^{-1}$}
\addplot [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};
\addlegendentry{$|w_L|^{-1}$}
\addplot [color=black, dotted, line width=1.5pt]
table[row sep=crcr]{%
0.0005 0.008\\
0.008 0.008\\
};
\addlegendentry{Specifications}
\addplot [color=black, dotted, line width=1.5pt, forget plot]
table[row sep=crcr]{%
0.008 0.008\\
0.04 1\\
};
\addplot [color=black, dotted, line width=1.5pt, forget plot]
table[row sep=crcr]{%
0.04 3\\
0.1 3\\
};
\addplot [color=black, dotted, line width=1.5pt]
table[row sep=crcr]{%
0.1 0.045\\
2 0.045\\
};
\end{axis}
\end{tikzpicture}
#+end_src
#+name: fig:ligo_weights
#+caption: Specifications and weighting functions magnitude used for $\mathcal{H}_\infty$ synthesis ([[./figs/ligo_weights.png][png]], [[./figs/ligo_weights.pdf][pdf]], [[./figs/ligo_weights.tex][tex]]).
#+RESULTS:
[[file:figs/ligo_weights.png]]
* Fig 10: Comparison of the FIR filters (solid) with the filters obtained with $\mathcal{H}_\infty$ synthesis (dashed)
#+begin_src latex :file comp_fir_ligo_hinf.pdf :tangle figs/comp_fir_ligo_hinf.tex :exports both
\setlength\fwidth{6.5cm}
\setlength\fheight{6.8cm}
\begin{tikzpicture}
\begin{axis}[%
width=1.0\fwidth,
height=0.60\fheight,
at={(0.0\fwidth, 0.32\fheight)},
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}}
]
\addplot [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};
\addlegendentry{$H_H(s)$ - $\mathcal{H}_\infty$}
\addplot [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};
\addlegendentry{$H_H(s)$ - FIR}
\addplot [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};
\addlegendentry{$H_L(s)$ - $\mathcal{H}_\infty$}
\addplot [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};
\addlegendentry{$H_L(s)$ - FIR}
\end{axis}
\begin{axis}[%
width=1.0\fwidth,
height=0.3\fheight,
at={(0.0\fwidth, 0.0\fheight)},
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,
]
\addplot [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};
\addplot [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};
\addplot [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};
\addplot [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};
\end{axis}
\end{tikzpicture}
#+end_src
#+name: fig:comp_fir_ligo_hinf
#+caption: Comparison of the FIR filters (solid) with the filters obtained with $\mathcal{H}_\infty$ synthesis (dashed) ([[./figs/comp_fir_ligo_hinf.png][png]], [[./figs/comp_fir_ligo_hinf.pdf][pdf]], [[./figs/comp_fir_ligo_hinf.tex][tex]]).
#+RESULTS:
[[file:figs/comp_fir_ligo_hinf.png]]