Change pdf output and rename files

This commit is contained in:
Thomas Dehaeze 2021-02-02 19:11:20 +01:00
parent 3ef8b604c5
commit 282a5bac04
5 changed files with 2038 additions and 121 deletions

1828
index.html Normal file

File diff suppressed because it is too large Load Diff

114
preamble.tex Normal file
View File

@ -0,0 +1,114 @@
\usepackage{float}
\usepackage{caption,tabularx,booktabs}
\usepackage{biblatex}
\usepackage{fontawesome}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup[figure]{labelfont=bf}
\captionsetup[subfigure]{labelfont=bf}
\captionsetup[listing]{labelfont=bf}
\captionsetup[table]{labelfont=bf}
\usepackage{xcolor}
\definecolor{my-blue}{HTML}{6b7adb}
\definecolor{my-pale-blue}{HTML}{e6e9f9}
\definecolor{my-red}{HTML}{db6b6b}
\definecolor{my-pale-red}{HTML}{f9e6e6}
\definecolor{my-green}{HTML}{6bdbb6}
\definecolor{my-pale-green}{HTML}{e6f9f3}
\definecolor{my-yellow}{HTML}{dbd26b}
\definecolor{my-pale-yellow}{HTML}{f9f7e6}
\definecolor{my-orange}{HTML}{dba76b}
\definecolor{my-pale-orange}{HTML}{f9f0e6}
\definecolor{my-grey}{HTML}{a3a3a3}
\definecolor{my-pale-grey}{HTML}{f0f0f0}
\definecolor{my-turq}{HTML}{6bc7db}
\definecolor{my-pale-turq}{HTML}{e6f6f9}
\usepackage{inconsolata}
\usepackage[newfloat=true, chapter]{minted}
\usemintedstyle{autumn}
\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
\setminted[matlab]{label=Matlab}
\setminted[latex]{label=LaTeX}
\setminted[bash]{label=Bash}
\setminted[python]{label=Python}
\setminted[text]{label=Results}
\setminted[md]{label=Org Mode}
\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
\newtcolorbox{my-quote}[1]{%
colback=my-pale-grey,
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
boxsep=0pt,
breakable,
enhanced jigsaw,
borderline west={4pt}{0pt}{my-grey}}
\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
\newtcolorbox{my-verse}[1]{%
colback=my-pale-grey,
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
boxsep=0pt,
breakable,
enhanced jigsaw,
borderline west={4pt}{0pt}{my-grey}}
\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
\usepackage{environ}% http://ctan.org/pkg/environ
\NewEnviron{aside}{%
\marginpar{\BODY}
}
\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
\usepackage{soul}
\sethlcolor{my-pale-grey}
\let\OldTexttt\texttt
\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
\makeatletter
\preto\Gin@extensions{png,}
\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
\makeatother
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
allcolors = my-blue
}
\usepackage{hypcap}

View File

@ -29,24 +29,12 @@
#+BIND: org-latex-image-default-option "scale=1"
#+BIND: org-latex-image-default-width ""
#+BIND: org-latex-bib-compiler "biber"
#+OPTIONS: toc:2
#+LATEX_CLASS: cleanreport
#+LATEX_CLASS_OPTIONS: [tocnp, secbreak, minted]
#+LATEX_HEADER_EXTRA: \usepackage[cache=false]{minted}
#+LATEX_HEADER_EXTRA: \usemintedstyle{autumn}
#+LATEX_HEADER_EXTRA: \setminted[matlab]{linenos=true, breaklines=true, tabsize=4, fontsize=\scriptsize, autogobble=true}
#+LATEX_HEADER: \newcommand{\authorFirstName}{Thomas}
#+LATEX_HEADER: \newcommand{\authorLastName}{Dehaeze}
#+LATEX_HEADER: \newcommand{\authorEmail}{dehaeze.thomas@gmail.com}
#+LATEX_HEADER_EXTRA: \makeatletter
#+LATEX_HEADER_EXTRA: \preto\Gin@extensions{png,}
#+LATEX_HEADER_EXTRA: \DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
#+LATEX_HEADER_EXTRA: \makeatother
#+LaTeX_CLASS: scrreprt
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full]
#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
#+LATEX_HEADER_EXTRA: \addbibresource{ref.bib}
:END:
@ -2531,6 +2519,4 @@ This Matlab function is accessible [[file:src/plotPhaseUncertainty.m][here]].
#+end_src
* Bibliography :ignore:
bibliography:ref.bib
#+latex: \printbibliography

Binary file not shown.

View File

@ -1,6 +1,6 @@
% Created 2021-02-02 mar. 18:51
% Created 2021-02-02 mar. 19:10
% Intended LaTeX compiler: pdflatex
\documentclass[tocnp, secbreak, minted]{cleanreport}
\documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
@ -20,16 +20,7 @@
\usepackage{tabularx}
\usepackage{array}
\usepackage{siunitx}
\newcommand{\authorFirstName}{Thomas}
\newcommand{\authorLastName}{Dehaeze}
\newcommand{\authorEmail}{dehaeze.thomas@gmail.com}
\usepackage[cache=false]{minted}
\usemintedstyle{autumn}
\setminted[matlab]{linenos=true, breaklines=true, tabsize=4, fontsize=\scriptsize, autogobble=true}
\makeatletter
\preto\Gin@extensions{png,}
\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
\makeatother
\input{preamble.tex}
\addbibresource{ref.bib}
\author{Dehaeze Thomas}
\date{\today}
@ -62,8 +53,8 @@ This document is divided into the following sections:
\item Section \ref{sec:optimal_sensor_fusion}: Optimal sensor fusion is performed using the \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis
\end{itemize}
\section{Experimental Setup}
\label{sec:org946e8f3}
\chapter{Experimental Setup}
\label{sec:org2eab8ee}
\label{sec:experimental_setup}
The goal of this experimental setup is to experimentally merge inertial sensors.
@ -136,15 +127,15 @@ Force Sensor electronics:
\item high pass filter: 1st order at 30kHz
\end{itemize}
\section{First identification of the system}
\label{sec:org9f0c4bc}
\chapter{First identification of the system}
\label{sec:org8c87e73}
\label{sec:first_identification}
In this section, a first identification of each elements of the system is performed.
This include the dynamics from the actuator to the force sensor, interferometer and inertial sensors.
Each of the dynamics is compared with the dynamics identified form a Simscape model.
\subsection{Load Data}
\label{sec:org1fb8239}
\section{Load Data}
\label{sec:orged7fae1}
The data is loaded in the Matlab workspace.
\begin{minted}[]{matlab}
id_ol = load('identification_noise_bis.mat', 'd', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 'f_meas', 'u', 't');
@ -161,8 +152,8 @@ Then, any offset is removed.
id_ol.u = detrend(id_ol.u, 0);
\end{minted}
\subsection{Excitation Signal}
\label{sec:org94ea93c}
\section{Excitation Signal}
\label{sec:org8b54688}
The generated voltage used to excite the system is a white noise and can be seen in Figure \ref{fig:excitation_signal_first_identification}.
\begin{figure}[htbp]
@ -171,8 +162,8 @@ The generated voltage used to excite the system is a white noise and can be seen
\caption{\label{fig:excitation_signal_first_identification}Voltage excitation signal}
\end{figure}
\subsection{Identified Plant}
\label{sec:org2786526}
\section{Identified Plant}
\label{sec:org3c04eac}
The transfer function from the excitation voltage to the mass displacement and to the force sensor stack voltage are identified using the \texttt{tfestimate} command.
\begin{minted}[]{matlab}
@ -199,8 +190,8 @@ The bode plots of the obtained dynamics are shown in Figures \ref{fig:force_sens
\caption{\label{fig:displacement_sensor_bode_plot}Bode plot of the dynamics from excitation voltage to displacement of the mass as measured by the interferometer}
\end{figure}
\subsection{Simscape Model - Comparison}
\label{sec:org38a7789}
\section{Simscape Model - Comparison}
\label{sec:orgfbeadc5}
A simscape model representing the test-bench has been developed.
The same transfer functions as the one identified using the test-bench can be obtained thanks to the simscape model.
@ -223,8 +214,8 @@ It is shown that there is a good agreement between the model and the experiment.
\caption{\label{fig:simscape_comp_disp_plant}Comparison of the dynamics from excitation voltage to measured mass displacement - Identified dynamics and Simscape Model}
\end{figure}
\subsection{Integral Force Feedback}
\label{sec:org47d5680}
\section{Integral Force Feedback}
\label{sec:org5839beb}
The force sensor stack can be used to damp the system.
This makes the system easier to excite properly without too much amplification near resonances.
@ -269,8 +260,8 @@ This shows that the Integral Force Feedback architecture effectively damps the f
\caption{\label{fig:iff_ol_cl_identified_simscape_comp}Comparison of the open-loop and closed-loop (IFF) dynamics for both the real identification and the Simscape one}
\end{figure}
\subsection{Inertial Sensors}
\label{sec:orgfc5acd9}
\section{Inertial Sensors}
\label{sec:org8d9fa37}
In order to estimate the dynamics of the inertial sensor (the transfer function from the ``absolute'' displacement to the measured voltage), the following experiment can be performed:
\begin{itemize}
\item The mass is excited such that is relative displacement as measured by the interferometer is much larger that the ground ``absolute'' motion.
@ -328,15 +319,15 @@ The obtained dynamics of the accelerometer are compared in Figure \ref{fig:comp_
\caption{\label{fig:comp_dynamics_geophone}Comparison of the measured geophone dynamics}
\end{figure}
\section{Optimal IFF Development}
\label{sec:orgb6f0a44}
\chapter{Optimal IFF Development}
\label{sec:org0fdc9f6}
\label{sec:integral_force_feedback}
In this section, a proper identification of the transfer function from the force actuator to the force sensor is performed.
Then, an optimal IFF controller is developed and applied experimentally.
The damped system is identified to verified the effectiveness of the added method.
\subsection{Load Data}
\label{sec:orgd2c4449}
\section{Load Data}
\label{sec:org478ca36}
The experimental data is loaded and any offset is removed.
\begin{minted}[]{matlab}
id_ol = load('identification_noise_bis.mat', 'd', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 'f_meas', 'u', 't');
@ -352,8 +343,8 @@ The experimental data is loaded and any offset is removed.
id_ol.u = detrend(id_ol.u, 0);
\end{minted}
\subsection{Experimental Data}
\label{sec:orge97f045}
\section{Experimental Data}
\label{sec:org705ead9}
The transfer function from force actuator to force sensors is estimated.
The coherence shown in Figure \ref{fig:iff_identification_coh} shows that the excitation signal is good enough.
@ -382,8 +373,8 @@ The obtained dynamics is shown in Figure \ref{fig:iff_identification_bode_plot}.
\caption{\label{fig:iff_identification_bode_plot}Bode plot of the identified IFF plant}
\end{figure}
\subsection{Model of the IFF Plant}
\label{sec:orge4307c5}
\section{Model of the IFF Plant}
\label{sec:orge2595c0}
In order to plot the root locus for the IFF control strategy, a model of the identified plant is developed.
It consists of several poles and zeros are shown below.
@ -406,8 +397,8 @@ The comparison of the identified dynamics and the developed model is done in Fig
\caption{\label{fig:iff_plant_model}IFF Plant + Model}
\end{figure}
\subsection{Root Locus and optimal Controller}
\label{sec:orgb8dd861}
\section{Root Locus and optimal Controller}
\label{sec:org3cf82e8}
Now, the root locus for the Integral Force Feedback strategy is computed and shown in Figure \ref{fig:iff_root_locus}.
Note that the controller used is not a pure integrator but rather a first order low pass filter with a cut-off frequency set at 2Hz.
@ -423,8 +414,8 @@ The controller that yield maximum damping (shown by the red cross in Figure \ref
Kiff_opt = 102/(s + 2*pi*2);
\end{minted}
\subsection{Verification of the achievable damping}
\label{sec:orgb0f79ca}
\section{Verification of the achievable damping}
\label{sec:org32eb089}
A new identification is performed with the IFF control strategy applied to the system.
Data is loaded and offset removed.
@ -465,8 +456,8 @@ The obtained coherence is shown in Figure \ref{fig:Gd_identification_iff_coheren
\caption{\label{fig:Gd_identification_iff_bode_plot}Coherence for the transfer function from F to d, with and without IFF}
\end{figure}
\section{Generate the excitation signal}
\label{sec:org043d407}
\chapter{Generate the excitation signal}
\label{sec:org45b7b7f}
\label{sec:optimal_excitation}
In order to properly estimate the dynamics of the inertial sensor, the excitation signal must be properly chosen.
@ -483,8 +474,8 @@ To determine the perfect voltage signal to be generated, we need two things:
\item not saturate the sensor signals
\item provide enough signal/noise ratio (good coherence) in the frequency band of interest (\textasciitilde{}0.5Hz to 3kHz)
\end{itemize}
\subsection{Transfer function from excitation signal to displacement}
\label{sec:orgc386ade}
\section{Transfer function from excitation signal to displacement}
\label{sec:org91cbb90}
Let's first estimate the transfer function from the excitation signal in [V] to the generated displacement in [m] as measured by the inteferometer.
\begin{minted}[]{matlab}
@ -512,8 +503,8 @@ Approximate transfer function from voltage output to generated displacement when
\caption{\label{fig:Gd_plant_estimation}Estimation of the transfer function from the excitation signal to the generated displacement}
\end{figure}
\subsection{Motion measured during Huddle test}
\label{sec:org34b9217}
\section{Motion measured during Huddle test}
\label{sec:org75df0bc}
We now compute the PSD of the measured motion by the inertial sensors during the huddle test.
\begin{minted}[]{matlab}
ht = load('huddle_test.mat', 'd', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 'f_meas', 'u', 't');
@ -586,12 +577,12 @@ We can now generate the voltage signal that will generate the wanted motion.
\caption{\label{fig:optimal_exc_signal_time}Generated excitation signal}
\end{figure}
\section{Identification of the Inertial Sensors Dynamics}
\label{sec:org8247cdc}
\chapter{Identification of the Inertial Sensors Dynamics}
\label{sec:orgcc056c7}
\label{sec:inertial_sensor_dynamics}
Using the excitation signal generated in Section \ref{sec:optimal_excitation}, the dynamics of the inertial sensors are identified.
\subsection{Load Data}
\label{sec:org672e9e4}
\section{Load Data}
\label{sec:orge1aa902}
Both the measurement data during the identification test and during an ``huddle test'' are loaded.
\begin{minted}[]{matlab}
id = load('identification_noise_opt_iff.mat', 'd', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 'f_meas', 'u', 't');
@ -616,8 +607,8 @@ Both the measurement data during the identification test and during an ``huddle
id.f_meas = detrend(id.f_meas, 0);
\end{minted}
\subsection{Compare PSD during Huddle and and during identification}
\label{sec:org5c0ada4}
\section{Compare PSD during Huddle and and during identification}
\label{sec:org5e81ca2}
The Power Spectral Density of the measured motion during the huddle test and during the identification test are compared in Figures \ref{fig:comp_psd_huddle_test_identification_acc} and \ref{fig:comp_psd_huddle_test_identification_geo}.
\begin{minted}[]{matlab}
@ -654,8 +645,8 @@ The Power Spectral Density of the measured motion during the huddle test and dur
\caption{\label{fig:comp_psd_huddle_test_identification_geo}Comparison of the PSD of the measured motion during the Huddle test and during the identification}
\end{figure}
\subsection{Compute transfer functions}
\label{sec:org410c99d}
\section{Compute transfer functions}
\label{sec:org8059f91}
The transfer functions from the motion as measured by the interferometer (and that should represent the absolute motion of the mass) to the inertial sensors are estimated:
\begin{minted}[]{matlab}
[tf_acc1_est, f] = tfestimate(id.d, id.acc_1, win, [], [], 1/Ts);
@ -697,12 +688,12 @@ The model and identified dynamics show good agreement (Figures \ref{fig:id_senso
\caption{\label{fig:id_sensor_dynamics_geophones}Identified dynamics of the geophones}
\end{figure}
\section{Inertial Sensor Noise and the \(\mathcal{H}_2\) Synthesis of complementary filters}
\label{sec:org24cccda}
\chapter{Inertial Sensor Noise and the \(\mathcal{H}_2\) Synthesis of complementary filters}
\label{sec:orgbc08fc3}
\label{sec:inertial_sensor_noise}
In this section, the noise of the inertial sensors (geophones and accelerometers) is estimated.
\subsection{Load Data}
\label{sec:org3669b51}
\section{Load Data}
\label{sec:org967725e}
As before, the identification data is loaded and any offset if removed.
\begin{minted}[]{matlab}
id = load('identification_noise_opt_iff.mat', 'd', 'acc_1', 'acc_2', 'geo_1', 'geo_2', 'f_meas', 'u', 't');
@ -717,8 +708,8 @@ As before, the identification data is loaded and any offset if removed.
id.f_meas = detrend(id.f_meas, 0);
\end{minted}
\subsection{ASD of the Measured displacement}
\label{sec:orgb545abb}
\section{ASD of the Measured displacement}
\label{sec:org46e2c6e}
The Power Spectral Density of the displacement as measured by the interferometer and the inertial sensors is computed.
\begin{minted}[]{matlab}
Ts = id.t(2) - id.t(1);
@ -747,8 +738,8 @@ The obtained ASD in \(m/\sqrt{Hz}\) is shown in Figure \ref{fig:measure_displace
\caption{\label{fig:measure_displacement_all_sensors}ASD of the measured displacement as measured by all the sensors}
\end{figure}
\subsection{ASD of the Sensor Noise}
\label{sec:orge92b139}
\section{ASD of the Sensor Noise}
\label{sec:org39f2454}
The noise of a sensor can be estimated using two identical sensors by computing:
\begin{itemize}
\item the Power Spectral Density of the measured motion by the two sensors
@ -784,8 +775,8 @@ The ASD of obtained noises are compared with the ASD of the measured signals in
\caption{\label{fig:noise_inertial_sensors_comparison}Comparison of the computed ASD of the noise of the two inertial sensors}
\end{figure}
\subsection{Noise Model}
\label{sec:org7fd73d1}
\section{Noise Model}
\label{sec:orgc2ba23b}
Transfer functions are adjusted in order to fit the ASD of the sensor noises (expressed in \([m/s/\sqrt{Hz}]\) for more easy fitting).
These transfer functions are defined below and compared with the measured ASD in Figure \ref{fig:noise_models_velocity}.
@ -800,8 +791,8 @@ These transfer functions are defined below and compared with the measured ASD in
\caption{\label{fig:noise_models_velocity}ASD of the velocity noise measured by the sensors and the noise models}
\end{figure}
\subsection{\(\mathcal{H}_2\) Synthesis of the Complementary Filters}
\label{sec:orgc1953b2}
\section{\(\mathcal{H}_2\) Synthesis of the Complementary Filters}
\label{sec:org79826d9}
We now wish to synthesize two complementary filters to merge the geophone and the accelerometer signal in such a way that the fused signal has the lowest possible RMS noise.
To do so, we use the \(\mathcal{H}_2\) synthesis where the transfer functions representing the noise density of both sensors are used as weights.
@ -826,8 +817,8 @@ The obtained complementary filters are shown in Figure \ref{fig:complementary_fi
\caption{\label{fig:complementary_filters_velocity_H2}Obtained Complementary Filters}
\end{figure}
\subsection{Results}
\label{sec:org3e27ebd}
\section{Results}
\label{sec:org1260a50}
Finally, the signals of both sensors are merged using the complementary filters and the super sensor noise is estimated and compared with the individual sensor noises in Figure \ref{fig:super_sensor_noise_asd_velocity}.
\begin{figure}[htbp]
@ -853,13 +844,13 @@ Finally, the Cumulative Power Spectrum is computed and compared in Figure \ref{f
\caption{\label{fig:super_sensor_noise_cas_velocity}Cumulative Power Spectrum of the Sensor Noise (velocity)}
\end{figure}
\section{Inertial Sensor Dynamics Uncertainty and the \(\mathcal{H}_\infty\) Synthesis of complementary filters}
\label{sec:org18f6d67}
\chapter{Inertial Sensor Dynamics Uncertainty and the \(\mathcal{H}_\infty\) Synthesis of complementary filters}
\label{sec:orgf41d7c1}
\label{sec:inertial_sensor_uncertainty}
When merging two sensors, it is important to be sure that we correctly know the sensor dynamics near the merging frequency.
Thus, identifying the uncertainty on the sensor dynamics is quite important to perform a robust merging.
\subsection{Load Data}
\label{sec:org5d94970}
\section{Load Data}
\label{sec:org5adcc7b}
Data is loaded and offset is removed.
\begin{minted}[]{matlab}
@ -875,8 +866,8 @@ Data is loaded and offset is removed.
id.f_meas = detrend(id.f_meas, 0);
\end{minted}
\subsection{Compute the dynamics of both sensors}
\label{sec:org69af94a}
\section{Compute the dynamics of both sensors}
\label{sec:org74a5ed1}
The dynamics of inertial sensors are estimated (in \([V/m]\)).
\begin{minted}[]{matlab}
Ts = id.t(2) - id.t(1);
@ -903,8 +894,8 @@ The (nominal) models of the inertial sensors from the absolute displacement to t
These models are very simplistic models, and we then take into account the un-modelled dynamics with dynamical uncertainty.
\subsection{Dynamics uncertainty estimation}
\label{sec:org8c17435}
\section{Dynamics uncertainty estimation}
\label{sec:org5ba11de}
Weights representing the dynamical uncertainty of the sensors are defined below.
\begin{minted}[]{matlab}
w_acc = createWeight('n', 2, 'G0', 10, 'G1', 0.2, 'Gc', 1, 'w0', 6*2*pi) * ...
@ -928,8 +919,8 @@ The measured dynamics are compared with the modelled one as well as the modelled
\caption{\label{fig:dyn_uncertainty_geo}Modeled dynamical uncertainty and meaured dynamics of the geophones}
\end{figure}
\subsection{\(\mathcal{H}_\infty\) Synthesis of Complementary Filters}
\label{sec:orgefb73b5}
\section{\(\mathcal{H}_\infty\) Synthesis of Complementary Filters}
\label{sec:org719855a}
A last weight is now defined that represents the maximum dynamical uncertainty that is allowed for the super sensor.
\begin{minted}[]{matlab}
wu = inv(createWeight('n', 2, 'G0', 0.7, 'G1', 0.3, 'Gc', 0.4, 'w0', 3*2*pi) * ...
@ -984,8 +975,8 @@ The bode plot of the obtained complementary filters is shown in Figure
\caption{\label{fig:h_infinity_obtained_complementary_filters}Bode plot of the obtained complementary filters using the \(\mathcal{H}_\infty\) synthesis}
\end{figure}
\subsection{Obtained Super Sensor Dynamical Uncertainty}
\label{sec:org1f65afd}
\section{Obtained Super Sensor Dynamical Uncertainty}
\label{sec:org467a55a}
The obtained super sensor dynamical uncertainty is shown in Figure \ref{fig:super_sensor_uncertainty_h_infinity}.
\begin{figure}[htbp]
@ -994,11 +985,11 @@ The obtained super sensor dynamical uncertainty is shown in Figure \ref{fig:supe
\caption{\label{fig:super_sensor_uncertainty_h_infinity}Obtained Super sensor dynamics uncertainty}
\end{figure}
\section{Optimal and Robust sensor fusion using the \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis}
\label{sec:orgbc2335a}
\chapter{Optimal and Robust sensor fusion using the \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis}
\label{sec:org37f1a9c}
\label{sec:optimal_sensor_fusion}
\subsection{Noise and Dynamical uncertainty weights}
\label{sec:orgc6785ad}
\section{Noise and Dynamical uncertainty weights}
\label{sec:orgbc4a9e6}
\begin{minted}[]{matlab}
N_acc = (s/(2*pi*2000) + 1)^2/(s + 0.1*2*pi)/(s + 1e3*2*pi)/(1 + s/2/pi/1e3); % [m/sqrt(Hz)]
N_geo = 4e-4*((s + 2*pi)/(2*pi*200) + 1)/(s + 1e3*2*pi)/(1 + s/2/pi/1e3); % [m/sqrt(Hz)]
@ -1034,8 +1025,8 @@ And the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis is performed.
H_acc = 1 - H_geo;
\end{minted}
\subsection{Obtained Super Sensor Noise}
\label{sec:orgaab21f6}
\section{Obtained Super Sensor Noise}
\label{sec:org074377b}
\begin{minted}[]{matlab}
freqs = logspace(0, 4, 1000);
PSD_Sgeo = abs(squeeze(freqresp(N_geo, freqs, 'Hz'))).^2;
@ -1050,16 +1041,16 @@ And the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis is performed.
\caption{\label{fig:psd_sensors_htwo_hinf_synthesis}Power Spectral Density of the Super Sensor obtained with the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis}
\end{figure}
\subsection{Obtained Super Sensor Dynamical Uncertainty}
\label{sec:org7c783d3}
\section{Obtained Super Sensor Dynamical Uncertainty}
\label{sec:org3d908c9}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/super_sensor_dynamical_uncertainty_Htwo_Hinf.png}
\caption{\label{fig:super_sensor_dynamical_uncertainty_Htwo_Hinf}Super sensor dynamical uncertainty (solid curve) when using the mixed \(\mathcal{H}_2/\mathcal{H}_\infty\) Synthesis}
\end{figure}
\subsection{Experimental Super Sensor Dynamical Uncertainty}
\label{sec:org9d88724}
\section{Experimental Super Sensor Dynamical Uncertainty}
\label{sec:orgfb4a53c}
The super sensor dynamics is shown in Figure \ref{fig:super_sensor_optimal_uncertainty}.
\begin{figure}[htbp]
@ -1068,8 +1059,8 @@ The super sensor dynamics is shown in Figure \ref{fig:super_sensor_optimal_uncer
\caption{\label{fig:super_sensor_optimal_uncertainty}Inertial Sensor dynamics as well as the super sensor dynamics}
\end{figure}
\subsection{Experimental Super Sensor Noise}
\label{sec:org96d37f0}
\section{Experimental Super Sensor Noise}
\label{sec:orgaa2a032}
The obtained super sensor noise is shown in Figure \ref{fig:super_sensor_optimal_noise}.
\begin{figure}[htbp]
@ -1078,11 +1069,11 @@ The obtained super sensor noise is shown in Figure \ref{fig:super_sensor_optimal
\caption{\label{fig:super_sensor_optimal_noise}ASD of the super sensor obtained using the \(\mathcal{H}_2/\mathcal{H}_\infty\) synthesis}
\end{figure}
\section{Matlab Functions}
\label{sec:org5109d75}
\chapter{Matlab Functions}
\label{sec:org895c065}
\label{sec:matlab_functions}
\subsection{\texttt{createWeight}}
\label{sec:orgf435513}
\section{\texttt{createWeight}}
\label{sec:org94e9cbb}
\label{sec:createWeight}
This Matlab function is accessible \href{src/createWeight.m}{here}.
@ -1129,8 +1120,8 @@ This Matlab function is accessible \href{src/createWeight.m}{here}.
end
\end{minted}
\subsection{\texttt{plotMagUncertainty}}
\label{sec:orgff4d677}
\section{\texttt{plotMagUncertainty}}
\label{sec:orgc1c3060}
\label{sec:plotMagUncertainty}
This Matlab function is accessible \href{src/plotMagUncertainty.m}{here}.
@ -1176,8 +1167,8 @@ This Matlab function is accessible \href{src/plotMagUncertainty.m}{here}.
end
\end{minted}
\subsection{\texttt{plotPhaseUncertainty}}
\label{sec:orgacbe668}
\section{\texttt{plotPhaseUncertainty}}
\label{sec:orgf8a75f6}
\label{sec:plotPhaseUncertainty}
This Matlab function is accessible \href{src/plotPhaseUncertainty.m}{here}.
@ -1228,7 +1219,5 @@ This Matlab function is accessible \href{src/plotPhaseUncertainty.m}{here}.
end
\end{minted}
\bibliography{ref}
\printbibliography
\end{document}