-
6.3 plotPhaseUncertainty
+
+
6.3 plotPhaseUncertainty
-
+
@@ -1325,21 +1341,21 @@ This Matlab function is accessible here
-
function [p] = plotPhaseUncertainty(W, freqs, args)
-% plotPhaseUncertainty -
-%
-% Syntax: [p] = plotPhaseUncertainty(W, freqs, args)
-%
-% Inputs:
-% - W - Multiplicative Uncertainty Weight
-% - freqs - Frequency Vector [Hz]
-% - args - Optional Arguments:
-% - G
-% - color_i
-% - opacity
-%
-% Outputs:
-% - p - Plot Handle
+function [p] = plotPhaseUncertainty(W, freqs, args)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
arguments
W
@@ -1347,27 +1363,27 @@ arguments
args.G = tf(1)
args.color_i (1,1) double {mustBeInteger, mustBePositive} = 1
args.opacity (1,1) double {mustBeNumeric, mustBePositive} = 0.3
- args.DisplayName char = ''
-end
+ args.DisplayName char = ''
+end
-% Get defaults colors
-colors = get(groot, 'defaultAxesColorOrder');
+
+colors = get(groot, 'defaultAxesColorOrder');
-% Compute Phase Uncertainty
-Dphi = 180/pi*asin(abs(squeeze(freqresp(W, freqs, 'Hz'))));
-Dphi(abs(squeeze(freqresp(W, freqs, 'Hz'))) > 1) = 360;
+
+Dphi = 180/pi*asin(abs(squeeze(freqresp(W, freqs, 'Hz'))));
+Dphi(abs(squeeze(freqresp(W, freqs, 'Hz'))) > 1) = 360;
-% Compute Plant Phase
-G_ang = 180/pi*angle(squeeze(freqresp(args.G, freqs, 'Hz')));
+
+G_ang = 180/pi*angle(squeeze(freqresp(args.G, freqs, 'Hz')));
-p = patch([freqs flip(freqs)], [G_ang+Dphi; flip(G_ang-Dphi)], 'w', ...
- 'DisplayName', args.DisplayName);
+p = patch([freqs flip(freqs)], [G_ang+Dphi; flip(G_ang-Dphi)], 'w', ...
+ 'DisplayName', args.DisplayName);
-p.FaceColor = colors(args.color_i, :);
-p.EdgeColor = 'none';
+p.FaceColor = colors(args.color_i, :);
+p.EdgeColor = 'none';
p.FaceAlpha = args.opacity;
-end
+end
@@ -1381,7 +1397,7 @@ end
Author: Thomas Dehaeze
-
Created: 2020-10-02 ven. 18:35
+
Created: 2020-10-05 lun. 11:45
diff --git a/matlab/index.org b/matlab/index.org
index 5b58eff..e298902 100644
--- a/matlab/index.org
+++ b/matlab/index.org
@@ -23,6 +23,10 @@
#+LATEX_CLASS: cleanreport
#+LATEX_CLASS_OPTIONS: [tocnp, minted, secbreak]
+#+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}
@@ -71,13 +75,16 @@ In this example, the measured quantity $x$ is the velocity of an object.
#+caption: Description of signals in Figure [[fig:sensor_model_noise_uncertainty]]
#+attr_latex: :environment tabular :align clc
#+attr_latex: :center t :booktabs t :float t
-| *Notation* | *Meaning* | *Unit* |
-|---------------+---------------------------------+---------|
-| $x$ | Physical measured quantity | $[m/s]$ |
-| $\tilde{n}_i$ | White noise with unitary PSD | |
-| $n_i$ | Shaped noise | $[m/s]$ |
-| $v_i$ | Sensor output measurement | $[V]$ |
-| $\hat{x}_i$ | Estimate of $x$ from the sensor | $[m/s]$ |
+| *Notation* | *Meaning* | *Unit* |
+|------------------+-----------------------------------+---------------------------|
+| $x$ | Physical measured quantity | $[m/s]$ |
+| $\tilde{n}_i$ | White noise with unitary PSD | |
+| $n_i$ | Shaped noise | $[m/s]$ |
+| $v_i$ | Sensor output measurement | $[V]$ |
+| $\hat{x}_i$ | Estimate of $x$ from the sensor | $[m/s]$ |
+| $\Phi_n(\omega)$ | Power Spectral Density of $n$ | $[\frac{(m/s)^2}{Hz}]$ |
+| $\phi_n(\omega)$ | Amplitude Spectral Density of $n$ | $[\frac{m/s}{\sqrt{Hz}}]$ |
+| $\sigma_n$ | Root Mean Square Value of $n$ | $[m/s\ rms]$ |
#+name: tab:sensor_dynamical_blocks
#+caption: Description of Systems in Figure [[fig:sensor_model_noise_uncertainty]]
@@ -144,8 +151,8 @@ Both sensor dynamics in $[\frac{V}{m/s}]$ are shown in Figure [[fig:sensors_nomi
plot(freqs, abs(squeeze(freqresp(G1, freqs, 'Hz'))), '-', 'DisplayName', '$G_1(j\omega)$');
plot(freqs, abs(squeeze(freqresp(G2, freqs, 'Hz'))), '-', 'DisplayName', '$G_2(j\omega)$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
- ylabel('Magnitude $[\frac{V}{m/s}]$'); set(gca, 'XTickLabel',[]);
- legend('location', 'northeast');
+ ylabel('Magnitude $\left[\frac{V}{m/s}\right]$'); set(gca, 'XTickLabel',[]);
+ legend('location', 'northeast', 'FontSize', 8);
hold off;
% Phase
@@ -163,7 +170,7 @@ Both sensor dynamics in $[\frac{V}{m/s}]$ are shown in Figure [[fig:sensors_nomi
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/sensors_nominal_dynamics.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/sensors_nominal_dynamics.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:sensors_nominal_dynamics
@@ -201,11 +208,11 @@ The bode plot of the sensors nominal dynamics as well as their defined dynamical
xlabel('Frequency [Hz]'); ylabel('Magnitude');
ylim([0, 5]);
xlim([freqs(1), freqs(end)]);
- legend('location', 'northwest');
+ legend('location', 'northwest', 'FontSize', 8);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/sensors_uncertainty_weights.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/sensors_uncertainty_weights.pdf', 'width', 'half', 'height', 'short');
#+end_src
#+name: fig:sensors_uncertainty_weights
@@ -228,8 +235,9 @@ The bode plot of the sensors nominal dynamics as well as their defined dynamical
set(gca, 'XTickLabel',[]);
ylabel('Magnitude $[\frac{V}{m/s}]$');
ylim([1e-2, 2e3]);
- legend('location', 'northeast');
+ legend('location', 'northwest', 'FontSize', 8, 'NumColumns', 2);
hold off;
+ ylim([1e-2, 1e4])
% Phase
ax2 = subplot(2,1,2);
@@ -250,7 +258,7 @@ The bode plot of the sensors nominal dynamics as well as their defined dynamical
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/sensors_nominal_dynamics_and_uncertainty.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/sensors_nominal_dynamics_and_uncertainty.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:sensors_nominal_dynamics_and_uncertainty
@@ -285,14 +293,14 @@ The weights $N_1$ and $N_2$ representing the amplitude spectral density of the s
plot(freqs, abs(squeeze(freqresp(N1, freqs, 'Hz'))), '-', 'DisplayName', '$|N_1(j\omega)|$');
plot(freqs, abs(squeeze(freqresp(N2, freqs, 'Hz'))), '-', 'DisplayName', '$|N_2(j\omega)|$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
- xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[ \frac{m/s}{\sqrt{Hz}} \right]$');
+ xlabel('Frequency [Hz]'); ylabel('ASD $\left[ \frac{m/s}{\sqrt{Hz}} \right]$');
hold off;
xlim([freqs(1), freqs(end)]);
- legend('location', 'northeast');
+ legend('location', 'northeast', 'FontSize', 8);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/sensors_noise.pdf', 'width', 'normal', 'height', 'normal');
+ exportFig('figs/sensors_noise.pdf', 'width', 'half', 'height', 'short');
#+end_src
#+name: fig:sensors_noise
@@ -387,10 +395,6 @@ The uncertainty set of the transfer function from $\hat{x}$ to $x$ at frequency
** Introduction :ignore:
In this section, the complementary filters $H_1(s)$ and $H_2(s)$ are designed in order to minimize the RMS value of super sensor noise $\sigma_n$.
-#+name: fig:sensor_fusion_noise_arch
-#+caption: Optimal Sensor Fusion Architecture
-[[file:figs-tikz/sensor_fusion_noise_arch.png]]
-
The RMS value of the super sensor noise is (neglecting the model uncertainty):
\begin{equation}
\begin{aligned}
@@ -479,7 +483,7 @@ The obtained complementary filters are shown in Figure [[fig:htwo_comp_filters]]
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
hold off;
- legend('location', 'northeast');
+ legend('location', 'northeast', 'FontSize', 8);
% Phase
ax2 = subplot(2,1,2);
@@ -496,7 +500,7 @@ The obtained complementary filters are shown in Figure [[fig:htwo_comp_filters]]
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/htwo_comp_filters.pdf', 'width', 'full', 'height', 'tall');
+ exportFig('figs/htwo_comp_filters.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:htwo_comp_filters
@@ -507,7 +511,7 @@ The obtained complementary filters are shown in Figure [[fig:htwo_comp_filters]]
** Super Sensor Noise
<
>
-The Power Spectral Density of the individual sensors' noise $\Phi_{n_1}, \Phi_{n_2}$ and of the super sensor noise $\Phi_{n_{\mathcal{H}_2}}$ are computed below and shown in Figure [[fig:psd_sensors_htwo_synthesis]].
+The Power Spectral Density of the individual sensors' noise $\Phi_{n_1}, \Phi_{n_2}$ and of the super sensor noise $\Phi_{n_{\mathcal{H}_2}}$ are computed below.
#+begin_src matlab
PSD_S1 = abs(squeeze(freqresp(N1, freqs, 'Hz'))).^2;
PSD_S2 = abs(squeeze(freqresp(N2, freqs, 'Hz'))).^2;
@@ -515,6 +519,8 @@ The Power Spectral Density of the individual sensors' noise $\Phi_{n_1}, \Phi_{n
abs(squeeze(freqresp(N2*H2, freqs, 'Hz'))).^2;
#+end_src
+The obtained ASD are shown in Figure [[fig:psd_sensors_htwo_synthesis]].
+
The RMS value of the individual sensors and of the super sensor are listed in Table [[tab:rms_noise_H2]].
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([sqrt(trapz(freqs, PSD_S1)); sqrt(trapz(freqs, PSD_S2)); sqrt(trapz(freqs, PSD_H2))], ...
@@ -536,18 +542,18 @@ The RMS value of the individual sensors and of the super sensor are listed in Ta
#+begin_src matlab :exports none
figure;
hold on;
- plot(freqs, PSD_S1, '-', 'DisplayName', '$\Phi_{n_1}$');
- plot(freqs, PSD_S2, '-', 'DisplayName', '$\Phi_{n_2}$');
- plot(freqs, PSD_H2, 'k-', 'DisplayName', '$\Phi_{n_{\mathcal{H}_2}}$');
+ plot(freqs, sqrt(PSD_S1), '-', 'DisplayName', '$\phi_{n_1}$');
+ plot(freqs, sqrt(PSD_S2), '-', 'DisplayName', '$\phi_{n_2}$');
+ plot(freqs, sqrt(PSD_H2), 'k-', 'DisplayName', '$\phi_{n_{\mathcal{H}_2}}$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
- xlabel('Frequency [Hz]'); ylabel('Power Spectral Density $\left[ \frac{(m/s)^2}{Hz} \right]$');
+ xlabel('Frequency [Hz]'); ylabel('ASD $\left[ \frac{m/s}{\sqrt{Hz}} \right]$');
hold off;
xlim([freqs(1), freqs(end)]);
- legend('location', 'northeast');
+ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 2);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/psd_sensors_htwo_synthesis.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/psd_sensors_htwo_synthesis.pdf', 'width', 'half', 'height', 'short');
#+end_src
#+name: fig:psd_sensors_htwo_synthesis
@@ -585,12 +591,12 @@ The resulting noises are displayed in Figure [[fig:sensor_noise_H2_time_domain]]
plot(t, v, 'k--', 'DisplayName', '$x$');
hold off;
xlabel('Time [s]'); ylabel('Velocity [m/s]');
- legend('location', 'southwest');
+ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 2);
ylim([-0.3, 0.3]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/super_sensor_time_domain_h2.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/super_sensor_time_domain_h2.pdf', 'width', 'half', 'height', 'normal');
#+end_src
#+name: fig:super_sensor_time_domain_h2
@@ -609,12 +615,12 @@ The resulting noises are displayed in Figure [[fig:sensor_noise_H2_time_domain]]
plot(t, (lsim(H1, n1, t)+lsim(H2, n2, t)), '-', 'DisplayName', '$n$');
hold off;
xlabel('Time [s]'); ylabel('Sensor Noise [m/s]');
- legend();
+ legend('FontSize', 8);
ylim([-0.2, 0.2]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/sensor_noise_H2_time_domain.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/sensor_noise_H2_time_domain.pdf', 'width', 'half', 'height', 'normal');
#+end_src
#+name: fig:sensor_noise_H2_time_domain
@@ -647,7 +653,7 @@ As a result the super sensor signal can not be used for feedback applications ab
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ylim([1e-2, 1e1]);
- legend('location', 'southeast');
+ legend('location', 'southeast', 'FontSize', 8);
hold off;
% Phase
@@ -667,7 +673,7 @@ As a result the super sensor signal can not be used for feedback applications ab
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/super_sensor_dynamical_uncertainty_H2.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/super_sensor_dynamical_uncertainty_H2.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:super_sensor_dynamical_uncertainty_H2
@@ -777,7 +783,7 @@ The uncertainty bounds of the two individual sensor as well as the wanted maximu
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ylim([1e-2, 1e1]);
- legend('location', 'southeast');
+ legend('location', 'southeast', 'FontSize', 8);
hold off;
% Phase
@@ -797,7 +803,7 @@ The uncertainty bounds of the two individual sensor as well as the wanted maximu
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/weight_uncertainty_bounds_Wu.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/weight_uncertainty_bounds_Wu.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:weight_uncertainty_bounds_Wu
@@ -878,16 +884,15 @@ The obtained complementary filters as well as the wanted upper bounds are shown
hold on;
plot(freqs, 1./abs(squeeze(freqresp(Wu*W1, freqs, 'Hz'))), '--', 'DisplayName', '$1/|W_uW_1|$');
plot(freqs, 1./abs(squeeze(freqresp(Wu*W2, freqs, 'Hz'))), '--', 'DisplayName', '$1/|W_uW_2|$');
-
set(gca,'ColorOrderIndex',1)
- plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$');
- plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$');
+ plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$|H_1|$');
+ plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$|H_2|$');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
- legend('location', 'northeast');
+ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 2);
ax2 = subplot(2,1,2);
hold on;
@@ -903,7 +908,7 @@ The obtained complementary filters as well as the wanted upper bounds are shown
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/hinf_comp_filters.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/hinf_comp_filters.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:hinf_comp_filters
@@ -942,7 +947,7 @@ The $\mathcal{H}_\infty$ synthesis thus allows to design filters such that the s
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ylim([1e-2, 1e1]);
- legend('location', 'southeast');
+ legend('location', 'southeast', 'FontSize', 8);
hold off;
% Phase
@@ -964,7 +969,7 @@ The $\mathcal{H}_\infty$ synthesis thus allows to design filters such that the s
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/super_sensor_dynamical_uncertainty_Hinf.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/super_sensor_dynamical_uncertainty_Hinf.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:super_sensor_dynamical_uncertainty_Hinf
@@ -973,10 +978,8 @@ The $\mathcal{H}_\infty$ synthesis thus allows to design filters such that the s
[[file:figs/super_sensor_dynamical_uncertainty_Hinf.png]]
** Super sensor noise
-We now compute the obtain Power Spectral Density of the super sensor's noise (Figure [[fig:psd_sensors_hinf_synthesis]]).
-
-The obtained RMS of the super sensor noise in the $\mathcal{H}_2$ and $\mathcal{H}_\infty$ case are shown in Table [[tab:rms_noise_comp_H2_Hinf]].
-As expected, the super sensor obtained from the $\mathcal{H}_\infty$ synthesis is much noisier than the super sensor obtained from the $\mathcal{H}_2$ synthesis.
+We now compute the obtain Power Spectral Density of the super sensor's noise.
+The Amplitude Spectral Densities are shown in Figure [[fig:psd_sensors_hinf_synthesis]].
#+begin_src matlab
PSD_S2 = abs(squeeze(freqresp(N2, freqs, 'Hz'))).^2;
@@ -985,6 +988,9 @@ As expected, the super sensor obtained from the $\mathcal{H}_\infty$ synthesis i
abs(squeeze(freqresp(N2*H2, freqs, 'Hz'))).^2;
#+end_src
+The obtained RMS of the super sensor noise in the $\mathcal{H}_2$ and $\mathcal{H}_\infty$ case are shown in Table [[tab:rms_noise_comp_H2_Hinf]].
+As expected, the super sensor obtained from the $\mathcal{H}_\infty$ synthesis is much noisier than the super sensor obtained from the $\mathcal{H}_2$ synthesis.
+
#+begin_src matlab :exports none
H2_filters = load('./mat/H2_filters.mat', 'H2', 'H1');
@@ -995,19 +1001,19 @@ As expected, the super sensor obtained from the $\mathcal{H}_\infty$ synthesis i
#+begin_src matlab :exports none
figure;
hold on;
- plot(freqs, PSD_S1, '-', 'DisplayName', '$\Phi_{n_1}$');
- plot(freqs, PSD_S2, '-', 'DisplayName', '$\Phi_{n_2}$');
- plot(freqs, PSD_H2, 'k-', 'DisplayName', '$\Phi_{n_{\mathcal{H}_2}}$');
- plot(freqs, PSD_Hinf, 'k--', 'DisplayName', '$\Phi_{n_{\mathcal{H}_\infty}}$');
+ plot(freqs, sqrt(PSD_S1), '-', 'DisplayName', '$\phi_{n_1}$');
+ plot(freqs, sqrt(PSD_S2), '-', 'DisplayName', '$\phi_{n_2}$');
+ plot(freqs, sqrt(PSD_H2), 'k-', 'DisplayName', '$\phi_{n_{\mathcal{H}_2}}$');
+ plot(freqs, sqrt(PSD_Hinf), 'k--', 'DisplayName', '$\phi_{n_{\mathcal{H}_\infty}}$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
- xlabel('Frequency [Hz]'); ylabel('Power Spectral Density $\left[ \frac{(m/s)^2}{Hz} \right]$');
+ xlabel('Frequency [Hz]'); ylabel('ASD $\left[ \frac{m/s}{\sqrt{Hz}} \right]$');
hold off;
xlim([freqs(1), freqs(end)]);
- legend('location', 'northeast');
+ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 2);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/psd_sensors_hinf_synthesis.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/psd_sensors_hinf_synthesis.pdf', 'width', 'half', 'height', 'normal');
#+end_src
#+name: fig:psd_sensors_hinf_synthesis
@@ -1135,7 +1141,7 @@ The obtained complementary filters are shown in Figure [[fig:htwo_hinf_comp_filt
ylabel('Magnitude');
set(gca, 'XTickLabel',[]);
ylim([1e-3, 2]);
- legend('location', 'southwest');
+ legend('location', 'southeast', 'FontSize', 8);
ax2 = subplot(2,1,2);
hold on;
@@ -1151,7 +1157,7 @@ The obtained complementary filters are shown in Figure [[fig:htwo_hinf_comp_filt
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/htwo_hinf_comp_filters.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/htwo_hinf_comp_filters.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:htwo_hinf_comp_filters
@@ -1160,7 +1166,7 @@ The obtained complementary filters are shown in Figure [[fig:htwo_hinf_comp_filt
[[file:figs/htwo_hinf_comp_filters.png]]
** Obtained Super Sensor's noise
-The Power Spectral Density of the super sensor's noise is shown in Figure [[fig:psd_sensors_htwo_hinf_synthesis]].
+The Amplitude Spectral Density of the super sensor's noise is shown in Figure [[fig:psd_sensors_htwo_hinf_synthesis]].
A time domain simulation is shown in Figure [[fig:super_sensor_time_domain_h2_hinf]].
@@ -1190,20 +1196,20 @@ The RMS values of the super sensor noise for the presented three synthesis are l
#+begin_src matlab :exports none
figure;
hold on;
- plot(freqs, PSD_S1, '-', 'DisplayName', '$\Phi_{n_1}$');
- plot(freqs, PSD_S2, '-', 'DisplayName', '$\Phi_{n_2}$');
- plot(freqs, PSD_H2, 'k-', 'DisplayName', '$\Phi_{n_{\mathcal{H}_2}}$');
- plot(freqs, PSD_Hinf, 'k--', 'DisplayName', '$\Phi_{n_{\mathcal{H}_\infty}}$');
- plot(freqs, PSD_H2Hinf, 'k-.', 'DisplayName', '$\Phi_{n_{\mathcal{H}_2/\mathcal{H}_\infty}}$');
+ plot(freqs, sqrt(PSD_S1), '-', 'DisplayName', '$\Phi_{n_1}$');
+ plot(freqs, sqrt(PSD_S2), '-', 'DisplayName', '$\Phi_{n_2}$');
+ plot(freqs, sqrt(PSD_H2), 'k-', 'DisplayName', '$\Phi_{n_{\mathcal{H}_2}}$');
+ plot(freqs, sqrt(PSD_Hinf), 'k--', 'DisplayName', '$\Phi_{n_{\mathcal{H}_\infty}}$');
+ plot(freqs, sqrt(PSD_H2Hinf), 'k-.', 'DisplayName', '$\Phi_{n_{\mathcal{H}_2/\mathcal{H}_\infty}}$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
- xlabel('Frequency [Hz]'); ylabel('Power Spectral Density [$(m/s)^2/Hz$]');
+ xlabel('Frequency [Hz]'); ylabel('ASD $\left[ \frac{m/s}{\sqrt{Hz}} \right]$');
hold off;
xlim([freqs(1), freqs(end)]);
- legend('location', 'northeast');
+ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 3);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/psd_sensors_htwo_hinf_synthesis.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/psd_sensors_htwo_hinf_synthesis.pdf', 'width', 'half', 'height', 'normal');
#+end_src
#+name: fig:psd_sensors_htwo_hinf_synthesis
@@ -1236,12 +1242,12 @@ The RMS values of the super sensor noise for the presented three synthesis are l
plot(t, v, 'k--', 'DisplayName', '$x$');
hold off;
xlabel('Time [s]'); ylabel('Velocity [m/s]');
- legend('location', 'southwest');
+ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 3);
ylim([-0.3, 0.3]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/super_sensor_time_domain_h2_hinf.pdf', 'width', 'wide', 'height', 'normal');
+ exportFig('figs/super_sensor_time_domain_h2_hinf.pdf', 'width', 'half', 'height', 'normal');
#+end_src
#+name: fig:super_sensor_time_domain_h2_hinf
@@ -1294,7 +1300,7 @@ The uncertainty on the super sensor's dynamics is shown in Figure [[fig:super_se
set(gca, 'XTickLabel',[]);
ylabel('Magnitude');
ylim([1e-2, 1e1]);
- legend('location', 'southeast');
+ legend('location', 'southeast', 'FontSize', 8);
hold off;
% Phase
@@ -1316,7 +1322,7 @@ The uncertainty on the super sensor's dynamics is shown in Figure [[fig:super_se
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
- exportFig('figs/super_sensor_dynamical_uncertainty_Htwo_Hinf.pdf', 'width', 'full', 'height', 'full');
+ exportFig('figs/super_sensor_dynamical_uncertainty_Htwo_Hinf.pdf', 'width', 'half', 'height', 'tall');
#+end_src
#+name: fig:super_sensor_dynamical_uncertainty_Htwo_Hinf
diff --git a/matlab/index.pdf b/matlab/index.pdf
index 1bbc32b..9c94669 100644
Binary files a/matlab/index.pdf and b/matlab/index.pdf differ