2020-10-05 14:59:04 +02:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en" xml:lang = "en" >
< head >
2020-11-12 10:44:59 +01:00
<!-- 2020 - 11 - 12 jeu. 10:44 -->
2020-10-05 14:59:04 +02:00
< meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" / >
< title > Complementary Filters Shaping Using \(\mathcal{H}_\infty\) Synthesis - Tikz Figures< / title >
< meta name = "generator" content = "Org mode" / >
< meta name = "author" content = "Thomas Dehaeze" / >
2020-11-12 10:44:59 +01:00
< link rel = "stylesheet" type = "text/css" href = "https://research.tdehaeze.xyz/css/style.css" / >
< script type = "text/javascript" src = "https://research.tdehaeze.xyz/js/script.js" > < / script >
< script > M a t h J a x = {
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 >
2020-10-05 14:59:04 +02:00
< / 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 >
2020-11-12 10:44:59 +01:00
< li > < a href = "#org9059d4e" > 1. Fig 1: Sensor Fusion Architecture< / a > < / li >
< li > < a href = "#orgf8987c9" > 2. Fig 2: Sensor fusion architecture with sensor dynamics uncertainty< / a > < / li >
< li > < a href = "#org1801a90" > 3. Fig 3: Uncertainty set of the super sensor dynamics< / a > < / li >
< li > < a href = "#org355bde0" > 4. Fig 4: Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters< / a > < / li >
< li > < a href = "#org879ecb3" > 5. Fig 5: Magnitude of a weighting function generated using the proposed formula< / a > < / li >
< li > < a href = "#org2b1f7ae" > 6. Fig 6: Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis< / a > < / li >
< li > < a href = "#org84a7e33" > 7. Fig 7: Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters< / a > < / li >
< li > < a href = "#org20bfce3" > 8. Fig 8: Frequency response of the weighting functions and three complementary filters obtained using \(\mathcal{H}_\infty\) synthesis< / a > < / li >
< li > < a href = "#orgb08c277" > 9. Fig 9: Specifications and weighting functions magnitude used for \(\mathcal{H}_\infty\) synthesis< / a > < / li >
< li > < a href = "#org74b4762" > 10. Fig 10: Comparison of the FIR filters (solid) with the filters obtained with \(\mathcal{H}_\infty\) synthesis (dashed)< / a > < / li >
2020-10-05 14:59:04 +02:00
< / ul >
< / div >
< / div >
< p >
Configuration file is accessible < a href = "config.html" > here< / a > .
< / p >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org9059d4e" class = "outline-2" >
< h2 id = "org9059d4e" > < span class = "section-number-2" > 1< / span > Fig 1: Sensor Fusion Architecture< / h2 >
2020-10-05 14:59:04 +02:00
< 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);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, above right=0.5 and 0.5 of x](G1){< span class = "org-font-latex-math" > $G< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, below right=0.5 and 0.5 of x](G2){< span class = "org-font-latex-math" > $G< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
2020-10-05 14:59:04 +02:00
< 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){};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, right=0.8 of add1](H1){< span class = "org-font-latex-math" > $H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, right=0.8 of add2](H2){< span class = "org-font-latex-math" > $H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
2020-10-05 14:59:04 +02:00
< 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 > [-> ] (x.center) |- (G1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (x.center) |- (G2.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (G1.east) -- (add1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (G2.east) -- (add2.west);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \draw< / span > [< -] (add1.north) -- ++(0, 0.8)node[below right](n1){< span class = "org-font-latex-math" > $n< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1$< / span > };
< span class = "org-font-latex-sedate" > \draw< / span > [< -] (add2.north) -- ++(0, 0.8)node[below right](n2){< span class = "org-font-latex-math" > $n< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (add1.east) -- (H1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (add2.east) -- (H2.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (H1) -| (add.north);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (H2) -| (add.south);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (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 >
2020-11-12 10:44:59 +01:00
< div id = "org9c10944" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-orgf8987c9" class = "outline-2" >
< h2 id = "orgf8987c9" > < span class = "section-number-2" > 2< / span > Fig 2: Sensor fusion architecture with sensor dynamics uncertainty< / h2 >
2020-10-05 14:59:04 +02:00
< 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){};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, above left=0.2 and 0.1 of add1](delta1){< span class = "org-font-latex-math" > $< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \Delta< / span > < / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, above left=0.2 and 0.1 of add2](delta2){< span class = "org-font-latex-math" > $< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \Delta< / span > < / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, left=0.5 of delta1](W1){< span class = "org-font-latex-math" > $w< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, left=0.5 of delta2](W2){< span class = "org-font-latex-math" > $w< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, right=0.5 of add1](H1){< span class = "org-font-latex-math" > $H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, right=0.5 of add2](H2){< span class = "org-font-latex-math" > $H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
2020-10-05 14:59:04 +02:00
< 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 > [-> ] (x.center) |- (add1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (x.center) |- (add2.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (< 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 > [-> ] (< 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 > [-> ] (W1.east) -- (delta1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W2.east) -- (delta2.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (delta1.east) -| (add1.north);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (delta2.east) -| (add2.north);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (add1.east) -- (H1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (add2.east) -- (H2.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (H1.east) -| (add.north);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (H2.east) -| (add.south);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (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 >
2020-11-12 10:44:59 +01:00
< div id = "orgfc65b94" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org1801a90" class = "outline-2" >
< h2 id = "org1801a90" > < span class = "section-number-2" > 3< / span > Fig 3: Uncertainty set of the super sensor dynamics< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > [< -> , dashed] (0, 0) node[branch]{} -- coordinate[midway](r1) ++(45:1.0);
< span class = "org-font-latex-sedate" > \draw< / span > [< -> , dashed] (135:1.0)node[branch]{} -- coordinate[midway](r2) ++(90:0.8);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [] (l1) at (2, 1.5) {< span class = "org-font-latex-math" > $|w< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1 H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1|$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> , dashed, out=-90, in=0] (l1.south) to (r1);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [] (l2) at (-2.5, 1.5) {< span class = "org-font-latex-math" > $|w< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2 H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2|$< / span > };
< span class = "org-font-latex-sedate" > \draw< / span > [-> , dashed, out=0, in=-180] (l2.east) to (r2);
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \draw< / span > [< -> , dashed] (0, 0) -- coordinate[near end](r3) ++(200:1.8);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [] (l3) at (-2.5, -1.5) {< span class = "org-font-latex-math" > $|w< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1 H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1| + |w< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2 H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2|$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> , dashed, out=90, in=-90] (l3.north) to (r3);
< span class = "org-font-latex-sedate" > < span class = "org-keyword" > \end< / span > < / span > {< span class = "org-function-name" > scope< / span > }
< span class = "org-comment" > % Real and Imaginary Axis< / span >
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (-0.5, 0) -- (7.0, 0) node[below left]{Re};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (0, -1.7) -- (0, 1.7) node[below left]{Im};
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "orga1a6d2e" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org355bde0" class = "outline-2" >
< h2 id = "org355bde0" > < span class = "section-number-2" > 4< / span > Fig 4: Architecture used for \(\mathcal{H}_\infty\) synthesis of complementary filters< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > );
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, left=1.4 of output1] (W1){< span class = "org-font-latex-math" > $W< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, left=1.4 of output2] (W2){< span class = "org-font-latex-math" > $W< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \node< / span > [addb={+}{}{}{}{-}, left=of W1] (sub) {};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, below=0.3 of P] (H2) {< span class = "org-font-latex-math" > $H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (inputw) node[above right]{< span class = "org-font-latex-math" > $w$< / span > } -- (sub.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (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 > [-> ] (inputu-|sub) node[branch]{} -- (sub.south);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (sub.east) -- (W1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (< 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);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W1.east) -- (output1)node[above left]{< span class = "org-font-latex-math" > $z< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1$< / span > };
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W2.east) -- (output2)node[above left]{< span class = "org-font-latex-math" > $z< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > < span class = "org-keyword" > \end< / span > < / span > {< span class = "org-function-name" > tikzpicture< / span > }
< / pre >
< / div >
2020-11-12 10:44:59 +01:00
< div id = "org903a05c" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org879ecb3" class = "outline-2" >
< h2 id = "org879ecb3" > < span class = "section-number-2" > 5< / span > Fig 5: Magnitude of a weighting function generated using the proposed formula< / h2 >
2020-10-05 14:59:04 +02:00
< 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 >
};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [below] at (2, 10) {< span class = "org-font-latex-math" > $G_< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \infty< / span > < / span > < span class = "org-font-latex-math" > $< / span > };
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "org1aeddba" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org2b1f7ae" class = "outline-2" >
< h2 id = "org2b1f7ae" > < span class = "section-number-2" > 6< / span > Fig 6: Frequency response of the weighting functions and complementary filters obtained using \(\mathcal{H}_\infty\) synthesis< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > ,
2020-11-12 10:44:59 +01:00
at={(0.0< span class = "org-font-latex-sedate" > \fwidth< / span > , 0.47< span class = "org-font-latex-sedate" > \fheight< / span > )},
2020-10-05 14:59:04 +02:00
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 >
2020-11-12 10:44:59 +01:00
< div id = "orgd2fb3fa" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org84a7e33" class = "outline-2" >
< h2 id = "org84a7e33" > < span class = "section-number-2" > 7< / span > Fig 7: Architecture for \(\mathcal{H}_\infty\) synthesis of three complementary filters< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > );
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, left=1.4 of output1] (W1){< span class = "org-font-latex-math" > $W< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, left=1.4 of output2] (W2){< span class = "org-font-latex-math" > $W< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s)$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [block, left=1.4 of output3] (W3){< span class = "org-font-latex-math" > $W< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 3(s)$< / span > };
2020-10-05 14:59:04 +02:00
< 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) {};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \node< / span > [block, below=0.3 of P] (H) {< span class = "org-font-latex-math" > $< / span > < span class = "org-font-latex-sedate" > < span class = "org-keyword" > < span class = "org-font-latex-math" > \begin< / span > < / span > < / span > < span class = "org-font-latex-math" > {< / span > < span class = "org-function-name" > < span class = "org-font-latex-math" > bmatrix< / span > < / span > < span class = "org-font-latex-math" > }H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2(s) \\ H< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 3(s)< / span > < span class = "org-font-latex-sedate" > < span class = "org-keyword" > < span class = "org-font-latex-math" > \end< / span > < / span > < / span > < span class = "org-font-latex-math" > {< / span > < span class = "org-function-name" > < span class = "org-font-latex-math" > bmatrix< / span > < / span > < span class = "org-font-latex-math" > }$< / span > };
2020-10-05 14:59:04 +02:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (inputw) node[above right](w){< span class = "org-font-latex-math" > $w$< / span > } -- (sub2.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W3-|sub1)node[branch]{} -- (sub1.south);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W2-|sub2)node[branch]{} -- (sub2.south);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (< 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 > [-> ] (< 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 > [-> ] (< 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 > [-> ] (sub2.east) -- (sub1.west);
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (sub1.east) -- (W1.west);
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W1.east) -- (output1)node[above left](z){< span class = "org-font-latex-math" > $z< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1$< / span > };
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W2.east) -- (output2)node[above left]{< span class = "org-font-latex-math" > $z< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2$< / span > };
< span class = "org-font-latex-sedate" > \draw< / span > [-> ] (W3.east) -- (output3)node[above left]{< span class = "org-font-latex-math" > $z< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 3$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [above] at (W2-|w){< span class = "org-font-latex-math" > $u< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 1$< / span > };
< span class = "org-font-latex-sedate" > \node< / span > [above] at (W3-|w){< span class = "org-font-latex-math" > $u< / span > < span class = "org-font-latex-math" > < span class = "org-font-latex-script-char" > _< / span > < / span > < span class = "org-font-latex-math" > 2$< / span > };
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "orgb697644" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org20bfce3" class = "outline-2" >
< h2 id = "org20bfce3" > < span class = "section-number-2" > 8< / span > Fig 8: Frequency response of the weighting functions and three complementary filters obtained using \(\mathcal{H}_\infty\) synthesis< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > ,
2020-11-12 10:44:59 +01:00
at={(0.0< span class = "org-font-latex-sedate" > \fwidth< / span > , 0.42< span class = "org-font-latex-sedate" > \fheight< / span > )},
2020-10-05 14:59:04 +02:00
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 >
2020-11-12 10:44:59 +01:00
< div id = "orgdaa24c8" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-orgb08c277" class = "outline-2" >
< h2 id = "orgb08c277" > < span class = "section-number-2" > 9< / span > Fig 9: Specifications and weighting functions magnitude used for \(\mathcal{H}_\infty\) synthesis< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > }
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > < span class = "org-keyword" > \setlength< / span > < / span > < span class = "org-font-latex-sedate" > < span class = "org-variable-name" > \fheight< / span > < / span > {< span class = "org-variable-name" > 3.2cm< / span > }
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
0.0005 0.008< span class = "org-font-latex-warning" > \\< / span >
2020-10-05 14:59:04 +02:00
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 >
2020-11-12 10:44:59 +01:00
0.1 0.045< span class = "org-font-latex-warning" > \\< / span >
2020-10-05 14:59:04 +02:00
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 >
2020-11-12 10:44:59 +01:00
< div id = "org2ba2505" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "outline-container-org74b4762" class = "outline-2" >
< h2 id = "org74b4762" > < span class = "section-number-2" > 10< / span > Fig 10: Comparison of the FIR filters (solid) with the filters obtained with \(\mathcal{H}_\infty\) synthesis (dashed)< / h2 >
2020-10-05 14:59:04 +02:00
< 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 > }
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > < span class = "org-keyword" > \setlength< / span > < / span > < span class = "org-font-latex-sedate" > < span class = "org-variable-name" > \fheight< / span > < / span > {< span class = "org-variable-name" > 6.8cm< / span > }
2020-10-05 14:59:04 +02:00
< 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 > ,
2020-11-12 10:44:59 +01:00
at={(0.0< span class = "org-font-latex-sedate" > \fwidth< / span > , 0.32< span class = "org-font-latex-sedate" > \fheight< / span > )},
2020-10-05 14:59:04 +02:00
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};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \addlegendentry< / span > {< span class = "org-font-latex-math" > $H_H(s)$< / span > - < span class = "org-font-latex-math" > $< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \mathcal< / span > < / span > < span class = "org-font-latex-math" > {H}_< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \infty< / span > < / span > < span class = "org-font-latex-math" > $< / span > }
2020-10-05 14:59:04 +02:00
< 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};
2020-11-12 10:44:59 +01:00
< span class = "org-font-latex-sedate" > \addlegendentry< / span > {< span class = "org-font-latex-math" > $H_L(s)$< / span > - < span class = "org-font-latex-math" > $< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \mathcal< / span > < / span > < span class = "org-font-latex-math" > {H}_< / span > < span class = "org-font-latex-sedate" > < span class = "org-font-latex-math" > \infty< / span > < / span > < span class = "org-font-latex-math" > $< / span > }
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< div id = "org6bce6a7" class = "figure" >
2020-10-05 14:59:04 +02:00
< 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 >
2020-11-12 10:44:59 +01:00
< p class = "date" > Created: 2020-11-12 jeu. 10:44< / p >
2020-10-05 14:59:04 +02:00
< / div >
< / body >
< / html >