Compare commits
2 Commits
086b1fc1d4
...
903fc39c50
Author | SHA1 | Date | |
---|---|---|---|
903fc39c50 | |||
3c85f00648 |
@ -1,2 +0,0 @@
|
||||
5.162191577102395387e-03 -2.053193047675045887e-02 3.437100092354096470e-02 -3.190511345800899762e-02 1.825561277900273824e-02 -6.730753847845586182e-03 1.609313664393750756e-03 -2.418167184233736648e-04 2.080021948522915606e-05 -7.826806603216290806e-07
|
||||
1.000000000000000000e+00 -3.972465476658959549e+00 6.626337189494686086e+00 -6.128136890264569203e+00 3.494831182648804546e+00 -1.284884631665979438e+00 3.064788332575871244e-01 -4.595824894480127903e-02 3.946314534021262352e-03 -1.482724007899167095e-04
|
@ -1,2 +0,0 @@
|
||||
0.000000000000000000e+00 5.123345318801274849e-08 4.465059381121026680e-07 -5.539687913181512777e-07 -2.501743723287252284e-07 4.670510404558542367e-07 -1.815336333351060151e-07 2.192959428607522490e-08 1.252880670660841008e-09 -3.204886304414573431e-10
|
||||
1.000000000000000000e+00 -6.060746556447895728e+00 1.578415410735246915e+01 -2.307024251152614625e+01 2.074784976168569983e+01 -1.185054476238084575e+01 4.286436819918846730e+00 -9.472094817634837405e-01 1.163875141380739525e-01 -6.084890976718200159e-03
|
@ -1,2 +0,0 @@
|
||||
0.000000000000000000e+00 3.916109097006016097e-07 2.515883048071752841e-06 -1.090504899940038926e-05 1.026142643551294789e-05 4.402028213713516958e-06 -1.146749093764098578e-05 5.276493222335721915e-06 -3.762905854779865629e-07 -9.858859748285918252e-08
|
||||
1.000000000000000000e+00 -8.082077716891920005e+00 2.883885831460112215e+01 -5.954352319604579691e+01 7.824427684619810464e+01 -6.768295458210708659e+01 3.839583227756439499e+01 -1.369753827515415878e+01 2.763766524255220958e+00 -2.366401924198855977e-01
|
@ -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>
|
||||
|
@ -1 +0,0 @@
|
||||
../figs
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 177 KiB |
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 169 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |