Add all .pdf figures. Update some analysis
1
.gitignore
vendored
@ -1,7 +1,6 @@
|
|||||||
auto/
|
auto/
|
||||||
*.tex
|
*.tex
|
||||||
|
|
||||||
**/figs/*.pdf
|
|
||||||
**/figs/*.svg
|
**/figs/*.svg
|
||||||
**/figs/*.tex
|
**/figs/*.tex
|
||||||
|
|
||||||
|
BIN
figs/4qd_amplifier.pdf
Normal file
BIN
figs/4qd_linear_reg.pdf
Normal file
BIN
figs/4qd_naming.pdf
Normal file
BIN
figs/angle_error_schematic_sercalo.pdf
Normal file
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
BIN
figs/calib_4qd_h.pdf
Normal file
BIN
figs/calib_4qd_v.pdf
Normal file
BIN
figs/coh_sercalo.pdf
Normal file
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
BIN
figs/compare_tracking_error_attocube_meas.pdf
Normal file
BIN
figs/current_amplifier_comp_theory_id.pdf
Normal file
BIN
figs/current_amplifier_comp_theory_id_bis.pdf
Normal file
BIN
figs/current_amplifier_tf.pdf
Normal file
BIN
figs/diag_contr_effect_newport.pdf
Normal file
BIN
figs/diag_contr_loop_gain.pdf
Normal file
BIN
figs/effect_sercalo_angle_distance_meas.pdf
Normal file
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
BIN
figs/feedback_diagram.pdf
Normal file
BIN
figs/frequency_response_matrix.pdf
Normal file
BIN
figs/frequency_response_matrix_phase.pdf
Normal file
BIN
figs/frf_newport_gain.pdf
Normal file
BIN
figs/frf_newport_phase.pdf
Normal file
BIN
figs/frf_sercalo_gain.pdf
Normal file
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 181 KiB |
BIN
figs/frf_sercalo_phase.pdf
Normal file
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
BIN
figs/huddle_test_4qd.pdf
Normal file
BIN
figs/huddle_test_4qd_psd.pdf
Normal file
BIN
figs/huddle_test_Va.pdf
Normal file
BIN
figs/huddle_test_psd_va.pdf
Normal file
BIN
figs/id_newport_coherence.pdf
Normal file
BIN
figs/id_newport_phase.pdf
Normal file
BIN
figs/identification_coherence.pdf
Normal file
BIN
figs/identification_matrix_fit.pdf
Normal file
BIN
figs/identification_matrix_fit_phase.pdf
Normal file
BIN
figs/identification_uh.pdf
Normal file
BIN
figs/identification_unh.pdf
Normal file
BIN
figs/identification_unv.pdf
Normal file
BIN
figs/identification_uv.pdf
Normal file
BIN
figs/identification_ux.pdf
Normal file
BIN
figs/identification_uy.pdf
Normal file
BIN
figs/loop_gain_newport.pdf
Normal file
BIN
figs/mech_sercalo.pdf
Normal file
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
BIN
figs/newport_angle_concave_mirror.pdf
Normal file
BIN
figs/newport_perpendicular_motion.pdf
Normal file
BIN
figs/non-repeatability-parts.pdf
Normal file
BIN
figs/non-repeatability-parts.png
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
figs/psd_tracking_error_rad.pdf
Normal file
BIN
figs/repeat_plot_raw.pdf
Normal file
BIN
figs/repeat_plot_subtract_mean.pdf
Normal file
BIN
figs/repeat_time_signals.pdf
Normal file
BIN
figs/repeat_tracking_errors.pdf
Normal file
BIN
figs/sercalo_amplifier.pdf
Normal file
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
BIN
figs/sercalo_diagram.pdf
Normal file
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
BIN
figs/sercalo_diagram_simplify.pdf
Normal file
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
BIN
figs/sercalo_perpendicular_motion.pdf
Normal file
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
BIN
figs/simulation_beam_path_high_angle.pdf
Normal file
BIN
figs/test.pdf
Normal file
BIN
figs/time_delay_newport.pdf
Normal file
BIN
figs/weights.pdf
Normal file
BIN
figs/weights_sercalo.pdf
Normal file
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
759
index.html
102
index.org
@ -14,6 +14,10 @@
|
|||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
|
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
|
||||||
|
|
||||||
|
#+LATEX_CLASS: scrreprt
|
||||||
|
#+LATEX_CLASS_OPTIONS: []
|
||||||
|
#+LATEX_HEADER: \usepackage{minted}
|
||||||
|
|
||||||
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{/home/thomas/Cloud/These/LaTeX/}{config.tex}")
|
#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{/home/thomas/Cloud/These/LaTeX/}{config.tex}")
|
||||||
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
|
||||||
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
|
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
|
||||||
@ -2631,6 +2635,25 @@ This corresponds to a measurement error of the Attocube equals to (in [m])
|
|||||||
The DAC noise use for the Cercalo does not limit the performance of the system.
|
The DAC noise use for the Cercalo does not limit the performance of the system.
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
|
* Plant Uncertainty
|
||||||
|
** Matlab Init :noexport:ignore:
|
||||||
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
|
<<matlab-dir>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Coprime Factorization
|
||||||
|
#+begin_src matlab
|
||||||
|
load('mat/plant.mat', 'sys', 'Gi', 'Zc', 'Ga', 'Gc', 'Gn', 'Gd');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab
|
||||||
|
[fact, Ml, Nl] = lncf(Gc*Gi);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Plant Scaling
|
* Plant Scaling
|
||||||
<<sec:plant_scaling>>
|
<<sec:plant_scaling>>
|
||||||
** Introduction :ignore:
|
** Introduction :ignore:
|
||||||
@ -3292,6 +3315,16 @@ First, we get the mean value as measured by the interferometer for each value of
|
|||||||
Unvm = mean(reshape(uv.Unv, [fs floor(length(uv.t)/fs)]),2);
|
Unvm = mean(reshape(uv.Unv, [fs floor(length(uv.t)/fs)]),2);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
And we can compute the RMS value of the non-repeatable part:
|
||||||
|
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
|
||||||
|
data2orgtable([rms(1e9*(uh.Va - repmat(Vahm, length(uh.t)/length(Vahm),1))), rms(1e9*(uv.Va - repmat(Vavm, length(uv.t)/length(Vavm),1)))], {}, {'Va - Horizontal [nm rms]', 'Va - Vertical [nm rms]'}, ' %.1f ');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
| Va - Horizontal [nm rms] | Va - Vertical [nm rms] |
|
||||||
|
|--------------------------+------------------------|
|
||||||
|
| 19.6 | 13.9 |
|
||||||
|
|
||||||
#+begin_src matlab :exports none
|
#+begin_src matlab :exports none
|
||||||
figure;
|
figure;
|
||||||
ax1 = subplot(1, 2, 1);
|
ax1 = subplot(1, 2, 1);
|
||||||
@ -3347,3 +3380,72 @@ First, we get the mean value as measured by the interferometer for each value of
|
|||||||
#+NAME: fig:repeat_plot_subtract_mean
|
#+NAME: fig:repeat_plot_subtract_mean
|
||||||
#+CAPTION: Repeatability of the measurement after subtracting the mean value ([[./figs/repeat_plot_subtract_mean.png][png]], [[./figs/repeat_plot_subtract_mean.pdf][pdf]])
|
#+CAPTION: Repeatability of the measurement after subtracting the mean value ([[./figs/repeat_plot_subtract_mean.png][png]], [[./figs/repeat_plot_subtract_mean.pdf][pdf]])
|
||||||
[[file:figs/repeat_plot_subtract_mean.png]]
|
[[file:figs/repeat_plot_subtract_mean.png]]
|
||||||
|
|
||||||
|
** Analysis of the non-repeatable contributions
|
||||||
|
Let's know try to determine where does the non-repeatability comes from.
|
||||||
|
|
||||||
|
From the 4QD signal, we can compute the angle error of the beam and thus determine the corresponding displacement measured by the attocube.
|
||||||
|
|
||||||
|
We then take the non-repeatable part of this displacement and we compare that with the total non-repeatability.
|
||||||
|
|
||||||
|
We also plot the displacement measured during the huddle test.
|
||||||
|
|
||||||
|
All the signals are shown on Fig. [[]].
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
Vphm = mean(reshape(uh.Vph/freqresp(Gd(1,1), 0), [fs floor(length(uh.t)/fs)]),2);
|
||||||
|
Unhm = mean(reshape(uh.Unh, [fs floor(length(uh.t)/fs)]),2);
|
||||||
|
|
||||||
|
Vpvm = mean(reshape(uv.Vpv/freqresp(Gd(2,2), 0), [fs floor(length(uv.t)/fs)]),2);
|
||||||
|
Unvm = mean(reshape(uv.Unv, [fs floor(length(uv.t)/fs)]),2);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
% =Vaheq= is the equivalent measurement error in [m] due to error angle of the Sercalo.
|
||||||
|
Vaheq = uh.Vph/freqresp(Gd(1,1), 0) - repmat(Vphm, length(uh.t)/length(Vphm),1);
|
||||||
|
Vaveq = uv.Vpv/freqresp(Gd(2,2), 0) - repmat(Vpvm, length(uv.t)/length(Vpvm),1);
|
||||||
|
|
||||||
|
Vaheq = sign(Vaheq).*Vaheq.^2;
|
||||||
|
Vaveq = sign(Vaveq).*Vaveq.^2;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
ht = load('./mat/data_huddle_test_3.mat', 't', 'Va');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
htm = 1e9*ht.Va(1:length(Vaheq)) - repmat(mean(1e9*ht.Va(1:length(Vaheq))), length(uh.t)/length(Vaheq),1);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
figure;
|
||||||
|
ax1 = subplot(1, 2, 1);
|
||||||
|
hold on;
|
||||||
|
plot(uh.Unh, 1e9*(uh.Va - repmat(Vahm, length(uh.t)/length(Vahm),1)));
|
||||||
|
plot(uh.Unh, 1e9*ht.Va(1:length(Vaheq))-mean(1e9*ht.Va(1:length(Vaheq))));
|
||||||
|
plot(uh.Unh, 1e9*Vaheq);
|
||||||
|
hold off;
|
||||||
|
xlabel('$V_{n,h}$ [V]'); ylabel('$V_a$ [nm]');
|
||||||
|
|
||||||
|
ax2 = subplot(1, 2, 2);
|
||||||
|
hold on;
|
||||||
|
plot(uv.Unv, 1e9*(uv.Va - repmat(Vavm, length(uv.t)/length(Vavm),1)), 'DisplayName', 'Measured Non-Repeatability');
|
||||||
|
plot(uv.Unv, 1e9*ht.Va(1:length(Vaveq))-mean(1e9*ht.Va(1:length(Vaveq))), 'DisplayName', 'Huddle Test');
|
||||||
|
plot(uv.Unv, 1e9*Vaveq, 'DisplayName', 'Due to Sercalo Angle Error');
|
||||||
|
hold off;
|
||||||
|
xlabel('$V_{n,v}$ [V]'); ylabel('$V_a$ [nm]');
|
||||||
|
legend('location', 'northeast');
|
||||||
|
|
||||||
|
linkaxes([ax1,ax2],'xy');
|
||||||
|
ylim([-100 100]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+HEADER: :tangle no :exports results :results none :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/non-repeatability-parts.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:non-repeatability-parts
|
||||||
|
#+CAPTION: Non repeatabilities ([[./figs/non-repeatability-parts.png][png]], [[./figs/non-repeatability-parts.pdf][pdf]])
|
||||||
|
[[file:figs/non-repeatability-parts.png]]
|
||||||
|