Update html

This commit is contained in:
Thomas Dehaeze 2022-06-02 18:24:25 +02:00
parent 086b1fc1d4
commit 3c85f00648

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2022-02-20 dim. 23:36 -->
<!-- 2022-06-02 Thu 18:23 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>ESRF Double Crystal Monochromator - Feedback Controller</title>
<meta name="author" content="Dehaeze Thomas" />
@ -22,40 +22,41 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org8576b4a">1. Estimation of Sensitivity Function</a>
<li><a href="#org1620898">1. Estimation of Sensitivity Function</a>
<ul>
<li><a href="#orgdf402a0">1.1. Load Data</a></li>
<li><a href="#org8107511">1.2. Controller</a></li>
<li><a href="#org0a01799">1.3. Test</a></li>
<li><a href="#org0ff4d2f">1.1. Load Data</a></li>
<li><a href="#org5cb4293">1.2. Controller</a></li>
<li><a href="#org8589479">1.3. Test</a></li>
</ul>
</li>
<li><a href="#org9a5bd10">2. System Identification</a>
<li><a href="#org51751d5">2. System Identification</a>
<ul>
<li><a href="#orgaafe900">2.1. Identification</a></li>
<li><a href="#orga4b6967">2.2. Identification - New</a></li>
<li><a href="#org3ea3501">2.3. Identification - White noise</a></li>
<li><a href="#org2f67dfc">2.4. Test</a></li>
<li><a href="#org675289a">2.5. New controller - Higher bandwidth</a></li>
<li><a href="#org2f12e07">2.6. Added gain</a></li>
<li><a href="#org73578a9">2.1. Identification ID24</a></li>
<li><a href="#orgc743cad">2.2. Identification</a></li>
<li><a href="#org673d6ae">2.3. Identification - New</a></li>
<li><a href="#orge907c10">2.4. Identification - White noise</a></li>
<li><a href="#org0186b06">2.5. Test</a></li>
<li><a href="#orgbc3952e">2.6. New controller - Higher bandwidth</a></li>
<li><a href="#orge532a7b">2.7. Added gain</a></li>
</ul>
</li>
<li><a href="#orge30c950">3. Noise Budgeting</a>
<li><a href="#org3ccf16c">3. Noise Budgeting</a>
<ul>
<li><a href="#org8aeec43">3.1. No Displacement</a></li>
<li><a href="#org2e15aa7">3.2. Scans</a></li>
<li><a href="#org26d025b">3.3. Noise budgeting - No rotation</a></li>
<li><a href="#org8945ee2">3.4. Noise budgeting - Bragg rotation</a></li>
<li><a href="#org493fefa">3.1. No Displacement</a></li>
<li><a href="#org4970c4f">3.2. Scans</a></li>
<li><a href="#org4b209d0">3.3. Noise budgeting - No rotation</a></li>
<li><a href="#org396c4bf">3.4. Noise budgeting - Bragg rotation</a></li>
</ul>
</li>
<li><a href="#orgc0ab5d1">4. Test Mode C</a>
<li><a href="#org9f3bb05">4. Test Mode C</a>
<ul>
<li><a href="#org9996dc6">4.1. Mode B and Mode C</a></li>
<li><a href="#org093ca2f">4.1. Mode B and Mode C</a></li>
</ul>
</li>
<li><a href="#org1c0791b">5. Export numerator and denominator</a>
<li><a href="#orgbc6f5ab">5. Export numerator and denominator</a>
<ul>
<li><a href="#org22487de">5.1. Export</a></li>
<li><a href="#org2b8461a">5.2. Verify</a></li>
<li><a href="#org2106b0d">5.1. Export</a></li>
<li><a href="#org3833e47">5.2. Verify</a></li>
</ul>
</li>
</ul>
@ -65,12 +66,12 @@
<p>This report is also available as a <a href="./dcm-feedback-control.pdf">pdf</a>.</p>
<hr>
<div id="outline-container-org8576b4a" class="outline-2">
<h2 id="org8576b4a"><span class="section-number-2">1.</span> Estimation of Sensitivity Function</h2>
<div id="outline-container-org1620898" class="outline-2">
<h2 id="org1620898"><span class="section-number-2">1.</span> Estimation of Sensitivity Function</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-orgdf402a0" class="outline-3">
<h3 id="orgdf402a0"><span class="section-number-3">1.1.</span> Load Data</h3>
<div id="outline-container-org0ff4d2f" class="outline-3">
<h3 id="org0ff4d2f"><span class="section-number-3">1.1.</span> Load Data</h3>
<div class="outline-text-3" id="text-1-1">
<p>
Two scans are performed:
@ -99,7 +100,7 @@ t = linspace(Ts, Ts<span class="org-builtin">*</span>length(ol_drx), length(ol_d
</div>
<p>
By comparison the frequency content of the crystal orientation errors between mode B and mode C, it is possible to estimate the Sensitivity transfer function (Figure <a href="#orgb0c8317">1</a>).
By comparison the frequency content of the crystal orientation errors between mode B and mode C, it is possible to estimate the Sensitivity transfer function (Figure <a href="#org2936cb6">1</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">win = hanning(ceil(1<span class="org-builtin">/</span>Ts));
@ -113,7 +114,7 @@ By comparison the frequency content of the crystal orientation errors between mo
</div>
<div id="orgb0c8317" class="figure">
<div id="org2936cb6" class="figure">
<p><img src="figs/sensitivity_function_drx_est.png" alt="sensitivity_function_drx_est.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Estimation of the sensitivity transfer function magnitude</p>
@ -122,8 +123,8 @@ By comparison the frequency content of the crystal orientation errors between mo
</div>
<div id="outline-container-org8107511" class="outline-3">
<h3 id="org8107511"><span class="section-number-3">1.2.</span> Controller</h3>
<div id="outline-container-org5cb4293" class="outline-3">
<h3 id="org5cb4293"><span class="section-number-3">1.2.</span> Controller</h3>
<div class="outline-text-3" id="text-1-2">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'X_tal_cage_PID.mat'</span>, <span class="org-string">'K'</span>);
@ -131,7 +132,7 @@ By comparison the frequency content of the crystal orientation errors between mo
</div>
<div id="orgabcb99b" class="figure">
<div id="org511889d" class="figure">
<p><img src="figs/bode_plot_cur_controller.png" alt="bode_plot_cur_controller.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Bode Plot of the Controller</p>
@ -139,8 +140,8 @@ By comparison the frequency content of the crystal orientation errors between mo
</div>
</div>
<div id="outline-container-org0a01799" class="outline-3">
<h3 id="org0a01799"><span class="section-number-3">1.3.</span> Test</h3>
<div id="outline-container-org8589479" class="outline-3">
<h3 id="org8589479"><span class="section-number-3">1.3.</span> Test</h3>
<div class="outline-text-3" id="text-1-3">
<div class="org-src-container">
<pre class="src src-matlab">Ts = 5e<span class="org-builtin">-</span>3;
@ -170,14 +171,84 @@ t = linspace(Ts, Ts<span class="org-builtin">*</span>length(ol_drx), length(ol_d
</div>
</div>
<div id="outline-container-org9a5bd10" class="outline-2">
<h2 id="org9a5bd10"><span class="section-number-2">2.</span> System Identification</h2>
<div id="outline-container-org51751d5" class="outline-2">
<h2 id="org51751d5"><span class="section-number-2">2.</span> System Identification</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-orgaafe900" class="outline-3">
<h3 id="orgaafe900"><span class="section-number-3">2.1.</span> Identification</h3>
<div id="outline-container-org73578a9" class="outline-3">
<h3 id="org73578a9"><span class="section-number-3">2.1.</span> Identification ID24</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-matlab">load(<span class="org-string">'test_id_id24_3.mat'</span>)
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">t = 1e<span class="org-builtin">-</span>4<span class="org-builtin">*</span>ones(size(fjpur, 1), 1);
ur.dz = fjpur(<span class="org-builtin">:</span>,1) <span class="org-builtin">-</span> mean(fjpur(<span class="org-builtin">:</span>,1));
ur.dry = fjpur(<span class="org-builtin">:</span>,2) <span class="org-builtin">-</span> mean(fjpur(<span class="org-builtin">:</span>,2));
ur.drx = fjpur(<span class="org-builtin">:</span>,3) <span class="org-builtin">-</span> mean(fjpur(<span class="org-builtin">:</span>,3));
ur.u = fjpur(<span class="org-builtin">:</span>,7) <span class="org-builtin">-</span> mean(fjpur(<span class="org-builtin">:</span>,7));
uh.dz = fjpuh(<span class="org-builtin">:</span>,1) <span class="org-builtin">-</span> mean(fjpuh(<span class="org-builtin">:</span>,1));
uh.dry = fjpuh(<span class="org-builtin">:</span>,2) <span class="org-builtin">-</span> mean(fjpuh(<span class="org-builtin">:</span>,2));
uh.drx = fjpuh(<span class="org-builtin">:</span>,3) <span class="org-builtin">-</span> mean(fjpuh(<span class="org-builtin">:</span>,3));
uh.u = fjpuh(<span class="org-builtin">:</span>,8) <span class="org-builtin">-</span> mean(fjpuh(<span class="org-builtin">:</span>,8));
d.dz = fjpd(<span class="org-builtin">:</span>,1) <span class="org-builtin">-</span> mean(fjpd(<span class="org-builtin">:</span>,1));
d.dry = fjpd(<span class="org-builtin">:</span>,2) <span class="org-builtin">-</span> mean(fjpd(<span class="org-builtin">:</span>,2));
d.drx = fjpd(<span class="org-builtin">:</span>,3) <span class="org-builtin">-</span> mean(fjpd(<span class="org-builtin">:</span>,3));
d.u = fjpd(<span class="org-builtin">:</span>,9) <span class="org-builtin">-</span> mean(fjpd(<span class="org-builtin">:</span>,9));
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">J_a_311 = [1, 0.14, <span class="org-builtin">-</span>0.0675
1, 0.14, 0.1525
1, <span class="org-builtin">-</span>0.14, 0.0425];
J_a_111 = [1, 0.14, <span class="org-builtin">-</span>0.1525
1, 0.14, 0.0675
1, <span class="org-builtin">-</span>0.14, <span class="org-builtin">-</span>0.0425];
ur.y = [J_a_311 <span class="org-builtin">*</span> [<span class="org-builtin">-</span>ur.dz, ur.dry,<span class="org-builtin">-</span>ur.drx]<span class="org-builtin">'</span>]<span class="org-builtin">'</span>;
uh.y = [J_a_311 <span class="org-builtin">*</span> [<span class="org-builtin">-</span>uh.dz, uh.dry,<span class="org-builtin">-</span>uh.drx]<span class="org-builtin">'</span>]<span class="org-builtin">'</span>;
d.y = [J_a_311 <span class="org-builtin">*</span> [<span class="org-builtin">-</span>d.dz, d.dry, <span class="org-builtin">-</span>d.drx]<span class="org-builtin">'</span>]<span class="org-builtin">'</span>;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Sampling Time and Frequency</span>
Ts = 1e<span class="org-builtin">-</span>4; <span class="org-comment-delimiter">% </span><span class="org-comment">[s]</span>
Fs = 1<span class="org-builtin">/</span>Ts; <span class="org-comment-delimiter">% </span><span class="org-comment">[Hz]</span>
<span class="org-comment-delimiter">% </span><span class="org-comment">Hannning Windows</span>
win = hanning(ceil(1<span class="org-builtin">*</span>Fs));
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% And we get the frequency vector</span>
[G_ur, f] = tfestimate(ur.u, ur.y, win, [], [], 1<span class="org-builtin">/</span>Ts);
[G_uh, <span class="org-builtin">~</span>] = tfestimate(uh.u, uh.y, win, [], [], 1<span class="org-builtin">/</span>Ts);
[G_d, <span class="org-builtin">~</span>] = tfestimate(d.u, d.y, win, [], [], 1<span class="org-builtin">/</span>Ts);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">[coh_ur, <span class="org-builtin">~</span>] = mscohere(ur.u, ur.y, win, [], [], 1<span class="org-builtin">/</span>Ts);
[coh_uh, <span class="org-builtin">~</span>] = mscohere(uh.u, uh.y, win, [], [], 1<span class="org-builtin">/</span>Ts);
[coh_d, <span class="org-builtin">~</span>] = mscohere(d.u, d.y, win, [], [], 1<span class="org-builtin">/</span>Ts);
</pre>
</div>
</div>
</div>
<div id="outline-container-orgc743cad" class="outline-3">
<h3 id="orgc743cad"><span class="section-number-3">2.2.</span> Identification</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-matlab">ur = load(<span class="org-string">'FJPUR_step.mat'</span>);
uh = load(<span class="org-string">'FJPUH_step.mat'</span>);
d = load(<span class="org-string">'FJPD_step.mat'</span>);
@ -321,7 +392,7 @@ win = hanning(ceil(5<span class="org-builtin">*</span>Fs));
</div>
<div id="org9466993" class="figure">
<div id="org5c94b33" class="figure">
<p><img src="figs/coherence_id_dcm_dyn.png" alt="coherence_id_dcm_dyn.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Coherence</p>
@ -329,7 +400,7 @@ win = hanning(ceil(5<span class="org-builtin">*</span>Fs));
<div id="org6e09695" class="figure">
<div id="org301c9e5" class="figure">
<p><img src="figs/bode_plot_dcm_dynamics.png" alt="bode_plot_dcm_dynamics.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Bode Plot of the DCM dynamics in the frame of the fast jack.</p>
@ -359,7 +430,7 @@ Kb = eye(3)<span class="org-builtin">*</span>(2<span class="org-builtin">*</span
</div>
<div id="org4f0fbea" class="figure">
<div id="orgaec2623" class="figure">
<p><img src="figs/loop_gain_dcm_contr_simple.png" alt="loop_gain_dcm_contr_simple.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Loop gain</p>
@ -367,7 +438,7 @@ Kb = eye(3)<span class="org-builtin">*</span>(2<span class="org-builtin">*</span
<div id="orgf361fc7" class="figure">
<div id="org3a5fc68" class="figure">
<p><img src="figs/loop_gain_diag_old_new_contr.png" alt="loop_gain_diag_old_new_contr.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Loop gain</p>
@ -377,7 +448,7 @@ Kb = eye(3)<span class="org-builtin">*</span>(2<span class="org-builtin">*</span
Compare Sensitivity functions
</p>
<div id="orgb76f72d" class="figure">
<div id="org5cb9988" class="figure">
<p><img src="figs/sensitivity_comp.png" alt="sensitivity_comp.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Comparison of sensitivity functions</p>
@ -396,7 +467,7 @@ Lb = zeros(3, 3, length(f));
</div>
<div id="orgb0888a7" class="figure">
<div id="org263ead8" class="figure">
<p><img src="figs/loci_loop_gain_comp_controllers.png" alt="loci_loop_gain_comp_controllers.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Root Locus</p>
@ -405,9 +476,9 @@ Lb = zeros(3, 3, length(f));
</div>
<div id="outline-container-orga4b6967" class="outline-3">
<h3 id="orga4b6967"><span class="section-number-3">2.2.</span> Identification - New</h3>
<div class="outline-text-3" id="text-2-2">
<div id="outline-container-org673d6ae" class="outline-3">
<h3 id="org673d6ae"><span class="section-number-3">2.3.</span> Identification - New</h3>
<div class="outline-text-3" id="text-2-3">
<div class="org-src-container">
<pre class="src src-matlab">ur = load(<span class="org-string">'FJPUR_step_new.mat'</span>);
uh = load(<span class="org-string">'FJPUH_step_new.mat'</span>);
@ -577,7 +648,7 @@ Kb = eye(3)<span class="org-builtin">*</span>(2<span class="org-builtin">*</span
Compare Sensitivity functions
</p>
<div id="org61be61a" class="figure">
<div id="org2369077" class="figure">
<p><img src="figs/sensitivity_comp.png" alt="sensitivity_comp.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Comparison of sensitivity functions</p>
@ -596,7 +667,7 @@ Lb = zeros(3, 3, length(f));
</div>
<div id="org400e20f" class="figure">
<div id="orgc3a88ca" class="figure">
<p><img src="figs/loci_loop_gain_comp_controllers.png" alt="loci_loop_gain_comp_controllers.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Root Locus</p>
@ -605,9 +676,9 @@ Lb = zeros(3, 3, length(f));
</div>
<div id="outline-container-org3ea3501" class="outline-3">
<h3 id="org3ea3501"><span class="section-number-3">2.3.</span> Identification - White noise</h3>
<div class="outline-text-3" id="text-2-3">
<div id="outline-container-orge907c10" class="outline-3">
<h3 id="orge907c10"><span class="section-number-3">2.4.</span> Identification - White noise</h3>
<div class="outline-text-3" id="text-2-4">
<div class="org-src-container">
<pre class="src src-matlab">ur = load(<span class="org-string">'fjpur_white_noise.mat'</span>);
uh = load(<span class="org-string">'fjpuh_white_noise.mat'</span>);
@ -725,14 +796,14 @@ win = hanning(ceil(0.5<span class="org-builtin">*</span>Fs));
</div>
<div id="org2130cf9" class="figure">
<div id="orgf3b9650" class="figure">
<p><img src="figs/coherence_ident_noise.png" alt="coherence_ident_noise.png" />
</p>
<p><span class="figure-number">Figure 11: </span>description</p>
</div>
<div id="org6275987" class="figure">
<div id="org164ac89" class="figure">
<p><img src="figs/bode_plot_ident_noise.png" alt="bode_plot_ident_noise.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Bode Plot of the DCM dynamics in the frame of the fast jack.</p>
@ -762,14 +833,14 @@ Kb = eye(3)<span class="org-builtin">*</span>(2<span class="org-builtin">*</span
</div>
<div id="orgde5672c" class="figure">
<div id="orgc24fb93" class="figure">
<p><img src="figs/loop_gain_dcm_contr_simple.png" alt="loop_gain_dcm_contr_simple.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Loop gain</p>
</div>
<div id="org816756f" class="figure">
<div id="org20893e8" class="figure">
<p><img src="figs/loop_gain_diag_old_new_contr.png" alt="loop_gain_diag_old_new_contr.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Loop gain</p>
@ -779,7 +850,7 @@ Kb = eye(3)<span class="org-builtin">*</span>(2<span class="org-builtin">*</span
Compare Sensitivity functions
</p>
<div id="org9c6d15d" class="figure">
<div id="orge7079a4" class="figure">
<p><img src="figs/sensitivity_comp.png" alt="sensitivity_comp.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Comparison of sensitivity functions</p>
@ -798,7 +869,7 @@ Lb = zeros(3, 3, length(f));
</div>
<div id="orgcf68c9d" class="figure">
<div id="org03e5090" class="figure">
<p><img src="figs/loci_loop_gain_comp_controllers.png" alt="loci_loop_gain_comp_controllers.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Root Locus</p>
@ -807,9 +878,9 @@ Lb = zeros(3, 3, length(f));
</div>
<div id="outline-container-org2f67dfc" class="outline-3">
<h3 id="org2f67dfc"><span class="section-number-3">2.4.</span> Test</h3>
<div class="outline-text-3" id="text-2-4">
<div id="outline-container-org0186b06" class="outline-3">
<h3 id="org0186b06"><span class="section-number-3">2.5.</span> Test</h3>
<div class="outline-text-3" id="text-2-5">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Notch</span>
gm = 0.015;
@ -851,9 +922,9 @@ Kb = 0.8<span class="org-builtin">*</span>eye(3)<span class="org-builtin">*</sp
</div>
</div>
</div>
<div id="outline-container-org675289a" class="outline-3">
<h3 id="org675289a"><span class="section-number-3">2.5.</span> New controller - Higher bandwidth</h3>
<div class="outline-text-3" id="text-2-5">
<div id="outline-container-orgbc3952e" class="outline-3">
<h3 id="orgbc3952e"><span class="section-number-3">2.6.</span> New controller - Higher bandwidth</h3>
<div class="outline-text-3" id="text-2-6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Previously used controller</span>
load(<span class="org-string">'X_tal_cage_PID.mat'</span>, <span class="org-string">'K'</span>);
@ -916,7 +987,7 @@ Kb = 0.9<span class="org-builtin">*</span>eye(3)<span class="org-builtin">*</sp
</div>
<div id="org729d6bc" class="figure">
<div id="org9b503a7" class="figure">
<p><img src="figs/loop_gain_compare.png" alt="loop_gain_compare.png" />
</p>
<p><span class="figure-number">Figure 17: </span>description</p>
@ -937,14 +1008,14 @@ Lb_new = zeros(3, 3, length(f));
</div>
<div id="org9b73c58" class="figure">
<div id="org8f7b23d" class="figure">
<p><img src="figs/nyquist_compare.png" alt="nyquist_compare.png" />
</p>
<p><span class="figure-number">Figure 18: </span>n</p>
<p><span class="figure-number">Figure 18: </span>Nyquist Plot</p>
</div>
<div id="orgd808ef9" class="figure">
<div id="org36bde27" class="figure">
<p><img src="figs/sensitivity_function_compare.png" alt="sensitivity_function_compare.png" />
</p>
<p><span class="figure-number">Figure 19: </span>description</p>
@ -954,9 +1025,9 @@ Lb_new = zeros(3, 3, length(f));
<div id="outline-container-org2f12e07" class="outline-3">
<h3 id="org2f12e07"><span class="section-number-3">2.6.</span> Added gain</h3>
<div class="outline-text-3" id="text-2-6">
<div id="outline-container-orge532a7b" class="outline-3">
<h3 id="orge532a7b"><span class="section-number-3">2.7.</span> Added gain</h3>
<div class="outline-text-3" id="text-2-7">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-matlab-cellbreak">%% Notch</span>
gm = 0.015;
@ -1017,21 +1088,21 @@ Kb_gain = 0.9<span class="org-builtin">*</span>eye(3)<span class="org-builtin">
</div>
<div id="org97a53c6" class="figure">
<div id="org8434d01" class="figure">
<p><img src="figs/loop_gain_compare_added_gain.png" alt="loop_gain_compare_added_gain.png" />
</p>
<p><span class="figure-number">Figure 20: </span>description</p>
</div>
<div id="org63d3ae0" class="figure">
<div id="orga8c5169" class="figure">
<p><img src="figs/sensitivity_new_gain_compare.png" alt="sensitivity_new_gain_compare.png" />
</p>
<p><span class="figure-number">Figure 21: </span>description</p>
</div>
<div id="orgded1447" class="figure">
<div id="org76c08c6" class="figure">
<p><img src="figs/nyquist_after_gain_frequency.png" alt="nyquist_after_gain_frequency.png" />
</p>
<p><span class="figure-number">Figure 22: </span>nyquist plot</p>
@ -1041,12 +1112,12 @@ Kb_gain = 0.9<span class="org-builtin">*</span>eye(3)<span class="org-builtin">
</div>
<div id="outline-container-orge30c950" class="outline-2">
<h2 id="orge30c950"><span class="section-number-2">3.</span> Noise Budgeting</h2>
<div id="outline-container-org3ccf16c" class="outline-2">
<h2 id="org3ccf16c"><span class="section-number-2">3.</span> Noise Budgeting</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-org8aeec43" class="outline-3">
<h3 id="org8aeec43"><span class="section-number-3">3.1.</span> No Displacement</h3>
<div id="outline-container-org493fefa" class="outline-3">
<h3 id="org493fefa"><span class="section-number-3">3.1.</span> No Displacement</h3>
<div class="outline-text-3" id="text-3-1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -1275,8 +1346,8 @@ data_70_deg.drx = data_70_deg.allValues(<span class="org-builtin">:</span>,6) <s
<div id="outline-container-org2e15aa7" class="outline-3">
<h3 id="org2e15aa7"><span class="section-number-3">3.2.</span> Scans</h3>
<div id="outline-container-org4970c4f" class="outline-3">
<h3 id="org4970c4f"><span class="section-number-3">3.2.</span> Scans</h3>
<div class="outline-text-3" id="text-3-2">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -1437,8 +1508,8 @@ CPS_70_10_d = flip(<span class="org-builtin">-</span>cumtrapz(flip(f), flip(pxx
</div>
</div>
<div id="outline-container-org26d025b" class="outline-3">
<h3 id="org26d025b"><span class="section-number-3">3.3.</span> Noise budgeting - No rotation</h3>
<div id="outline-container-org4b209d0" class="outline-3">
<h3 id="org4b209d0"><span class="section-number-3">3.3.</span> Noise budgeting - No rotation</h3>
<div class="outline-text-3" id="text-3-3">
<p>
First, we look at the position errors when the bragg axis is not moving
@ -1488,7 +1559,7 @@ win = hanning(ceil(1<span class="org-builtin">/</span>Ts));
</div>
<div id="org7fb6c81" class="figure">
<div id="org1af1104" class="figure">
<p><img src="figs/noise_budget_no_mov_asd.png" alt="noise_budget_no_mov_asd.png" />
</p>
<p><span class="figure-number">Figure 23: </span>Amplitude Spectral Density</p>
@ -1511,7 +1582,7 @@ CPS_dz = cumtrapz(f, pxx_ol_dz);
</div>
<div id="org2f67e0e" class="figure">
<div id="orgebbafd2" class="figure">
<p><img src="figs/noise_budget_no_mov_cas.png" alt="noise_budget_no_mov_cas.png" />
</p>
<p><span class="figure-number">Figure 24: </span>Cumulative Amplitude Spectrum</p>
@ -1520,17 +1591,17 @@ CPS_dz = cumtrapz(f, pxx_ol_dz);
</div>
<div id="outline-container-org8945ee2" class="outline-3">
<h3 id="org8945ee2"><span class="section-number-3">3.4.</span> Noise budgeting - Bragg rotation</h3>
<div id="outline-container-org396c4bf" class="outline-3">
<h3 id="org396c4bf"><span class="section-number-3">3.4.</span> Noise budgeting - Bragg rotation</h3>
</div>
</div>
<div id="outline-container-orgc0ab5d1" class="outline-2">
<h2 id="orgc0ab5d1"><span class="section-number-2">4.</span> Test Mode C</h2>
<div id="outline-container-org9f3bb05" class="outline-2">
<h2 id="org9f3bb05"><span class="section-number-2">4.</span> Test Mode C</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-org9996dc6" class="outline-3">
<h3 id="org9996dc6"><span class="section-number-3">4.1.</span> Mode B and Mode C</h3>
<div id="outline-container-org093ca2f" class="outline-3">
<h3 id="org093ca2f"><span class="section-number-3">4.1.</span> Mode B and Mode C</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-matlab">data_B = extractDatData(sprintf(<span class="org-string">"/home/thomas/mnt/data_id21/22Jan/blc13491/id21/test_regul_220119/%s"</span>,<span class="org-string">"lut_const_fj_vel_19012022_1450.dat"</span>), <span class="org-comment-delimiter">.</span><span class="org-comment">..</span>
@ -1620,12 +1691,12 @@ win = hanning(ceil(1<span class="org-builtin">/</span>Ts));
</div>
</div>
<div id="outline-container-org1c0791b" class="outline-2">
<h2 id="org1c0791b"><span class="section-number-2">5.</span> Export numerator and denominator</h2>
<div id="outline-container-orgbc6f5ab" class="outline-2">
<h2 id="orgbc6f5ab"><span class="section-number-2">5.</span> Export numerator and denominator</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-org22487de" class="outline-3">
<h3 id="org22487de"><span class="section-number-3">5.1.</span> Export</h3>
<div id="outline-container-org2106b0d" class="outline-3">
<h3 id="org2106b0d"><span class="section-number-3">5.1.</span> Export</h3>
<div class="outline-text-3" id="text-5-1">
<div class="org-src-container">
<pre class="src src-matlab">K_order = 10;
@ -1673,8 +1744,8 @@ fclose(fileID);
</div>
</div>
<div id="outline-container-org2b8461a" class="outline-3">
<h3 id="org2b8461a"><span class="section-number-3">5.2.</span> Verify</h3>
<div id="outline-container-org3833e47" class="outline-3">
<h3 id="org3833e47"><span class="section-number-3">5.2.</span> Verify</h3>
<div class="outline-text-3" id="text-5-2">
<div class="org-src-container">
<pre class="src src-matlab">K_data = importdata(<span class="org-string">'X_tal_cage_PID_20Hz.dat'</span>);
@ -1687,7 +1758,7 @@ K = tf(K_data(1,<span class="org-builtin">:</span>), K_data(2,<span class="org-b
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2022-02-20 dim. 23:36</p>
<p class="date">Created: 2022-06-02 Thu 18:23</p>
</div>
</body>
</html>