Analyze all struts measurements
This commit is contained in:
parent
23035845f9
commit
757e429aac
BIN
figs/struts_frf_dvf_plant_coh.pdf
Normal file
BIN
figs/struts_frf_dvf_plant_coh.pdf
Normal file
Binary file not shown.
BIN
figs/struts_frf_dvf_plant_coh.png
Normal file
BIN
figs/struts_frf_dvf_plant_coh.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 119 KiB |
BIN
figs/struts_frf_dvf_plant_tf.pdf
Normal file
BIN
figs/struts_frf_dvf_plant_tf.pdf
Normal file
Binary file not shown.
BIN
figs/struts_frf_dvf_plant_tf.png
Normal file
BIN
figs/struts_frf_dvf_plant_tf.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 158 KiB |
BIN
figs/struts_frf_iff_plant_coh.pdf
Normal file
BIN
figs/struts_frf_iff_plant_coh.pdf
Normal file
Binary file not shown.
BIN
figs/struts_frf_iff_plant_coh.png
Normal file
BIN
figs/struts_frf_iff_plant_coh.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
BIN
figs/struts_frf_iff_plant_tf.pdf
Normal file
BIN
figs/struts_frf_iff_plant_tf.pdf
Normal file
Binary file not shown.
BIN
figs/struts_frf_iff_plant_tf.png
Normal file
BIN
figs/struts_frf_iff_plant_tf.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
BIN
figs/struts_frf_int_plant_coh.pdf
Normal file
BIN
figs/struts_frf_int_plant_coh.pdf
Normal file
Binary file not shown.
BIN
figs/struts_frf_int_plant_coh.png
Normal file
BIN
figs/struts_frf_int_plant_coh.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 90 KiB |
BIN
figs/struts_frf_int_plant_tf.pdf
Normal file
BIN
figs/struts_frf_int_plant_tf.pdf
Normal file
Binary file not shown.
BIN
figs/struts_frf_int_plant_tf.png
Normal file
BIN
figs/struts_frf_int_plant_tf.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 127 KiB |
@ -135,6 +135,10 @@ The received APA are shown in Figure [[fig:received_apa]].
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
addpath('./matlab/mat/');
|
||||
addpath('./matlab/');
|
||||
@ -275,6 +279,10 @@ Here are the documentation of the equipment used for this test bench:
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
addpath('./matlab/mat/');
|
||||
addpath('./matlab/');
|
||||
@ -543,6 +551,10 @@ In this section, we try to find the resonance frequency of these modes when one
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
addpath('matlab/');
|
||||
addpath('matlab/mat/');
|
||||
@ -842,6 +854,10 @@ This section is structured as follows:
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
addpath('./matlab/src/');
|
||||
addpath('./matlab/');
|
||||
@ -1116,7 +1132,7 @@ Once the measurement procedure is validated, it is performed on all the other AP
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = get(gca,'colororder');
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
@ -1712,7 +1728,7 @@ The same measurements that was performed in Section [[sec:meas_one_apa]] are now
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = get(gca,'colororder');
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
@ -2060,8 +2076,6 @@ end
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_noise_hf(:, 1), 'color', [colors(1, :), 0.5], 'DisplayName', 'HF Noise');
|
||||
@ -2189,7 +2203,7 @@ Measurements are first performed on the strut 1 that contains:
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = get(gca,'colororder');
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
@ -2330,8 +2344,6 @@ It is only dropping near a zeros at 40Hz, and near the resonance at 95Hz (the ex
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_noise_hf, 'DisplayName', 'HF Noise');
|
||||
@ -2413,8 +2425,6 @@ We compute the coherence for 2nd and 3rd identification:
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_enc_noise_hf(:, 1), 'color', colors(1, :), ...
|
||||
@ -2625,8 +2635,6 @@ It is only dropping near a zeros at 40Hz, and near the resonance at 95Hz (the ex
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_enc_noise_hf, 'color', colors(1, :), 'DisplayName', 'HF Noise');
|
||||
@ -2742,7 +2750,9 @@ We can see that the IFF does not change whether of not the encoder are fixed to
|
||||
#+end_important
|
||||
|
||||
** Comparison of all the Struts
|
||||
<<sec:meas_all_struts>>
|
||||
*** Introduction :ignore:
|
||||
Now all struts are measured using the same procedure and test bench.
|
||||
|
||||
*** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
@ -2754,7 +2764,7 @@ We can see that the IFF does not change whether of not the encoder are fixed to
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
colors = get(gca,'colororder');
|
||||
colors = colororder;
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
@ -2769,22 +2779,20 @@ addpath('./src/');
|
||||
#+end_src
|
||||
|
||||
*** FRF Identification - Setup
|
||||
The identification is performed in three steps:
|
||||
The identification is performed in two steps:
|
||||
1. White noise excitation with small amplitude.
|
||||
This is used to determine the main resonance of the system.
|
||||
2. Noise sine excitation with the amplitude lowered around the resonance.
|
||||
The noise sine is from 10Hz to 400Hz.
|
||||
3. High frequency noise.
|
||||
This is used to estimate the low frequency dynamics.
|
||||
2. High frequency noise.
|
||||
The noise is band-passed between 300Hz and 2kHz.
|
||||
|
||||
Then, the result of the second identification is used between 10Hz and 350Hz and the result of the third identification if used between 350Hz and 2kHz.
|
||||
Then, the result of the first identification is used between 10Hz and 350Hz and the result of the second identification if used between 350Hz and 2kHz.
|
||||
|
||||
Here are the LEG numbers that have been measured.
|
||||
#+begin_src matlab
|
||||
leg_nums = [1 2 3 4 5];
|
||||
#+end_src
|
||||
|
||||
The data are loaded for both the second and third identification:
|
||||
The data are loaded for both the first and second identification:
|
||||
#+begin_src matlab
|
||||
%% Second identification
|
||||
leg_noise = {};
|
||||
@ -2839,12 +2847,10 @@ for i = 1:length(leg_nums)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
The coherence is shown in Figure [[fig:frf_dvf_plant_coh]].
|
||||
The coherence is shown in Figure [[fig:struts_frf_dvf_plant_coh]].
|
||||
It is clear that the Noise sine gives good coherence up to 400Hz and that the high frequency noise excitation signal helps increasing a little bit the coherence at high frequency.
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_noise_hf(:, 1), 'color', [colors(1, :), 0.5], ...
|
||||
@ -2865,13 +2871,13 @@ legend('location', 'southeast');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/frf_dvf_plant_coh.pdf', 'width', 'wide', 'height', 'normal');
|
||||
exportFig('figs/struts_frf_dvf_plant_coh.pdf', 'width', 'wide', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:frf_dvf_plant_coh
|
||||
#+name: fig:struts_frf_dvf_plant_coh
|
||||
#+caption: Obtained coherence for the plant from $V_a$ to $d_e$
|
||||
#+RESULTS:
|
||||
[[file:figs/frf_dvf_plant_coh.png]]
|
||||
[[file:figs/struts_frf_dvf_plant_coh.png]]
|
||||
|
||||
|
||||
Then, the transfer function from the DAC output voltage $V_a$ to the measured displacement by the encoders is computed:
|
||||
@ -2890,15 +2896,14 @@ for i = 1:length(leg_nums)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
The obtained transfer functions are shown in Figure [[fig:frf_dvf_plant_tf]].
|
||||
The obtained transfer functions are shown in Figure [[fig:struts_frf_dvf_plant_tf]].
|
||||
|
||||
They are all superimposed except for the LEG7.
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
for i = 1:length(leg_nums)
|
||||
plot(f(f> 350), abs(dvf_noise_hf(f> 350, i)), 'color', colors(i, :), ...
|
||||
@ -2923,27 +2928,27 @@ hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
yticks(-360:90:360);
|
||||
yticks(-360:90:360); ylim([-180, 180]);
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([10, 2e3]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/frf_dvf_plant_tf.pdf', 'width', 'wide', 'height', 'tall');
|
||||
exportFig('figs/struts_frf_dvf_plant_tf.pdf', 'width', 'wide', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:frf_dvf_plant_tf
|
||||
#+name: fig:struts_frf_dvf_plant_tf
|
||||
#+caption: Estimated FRF for the DVF plant (transfer function from $V_a$ to the encoder $d_e$)
|
||||
#+RESULTS:
|
||||
[[file:figs/frf_dvf_plant_tf.png]]
|
||||
[[file:figs/struts_frf_dvf_plant_tf.png]]
|
||||
|
||||
|
||||
|
||||
*** FRF Identification - DVF with interferometer
|
||||
In this section, the dynamics from $V_a$ to $d_a$ is identified.
|
||||
|
||||
We compute the coherence for 2nd and 3rd identification:
|
||||
We compute the coherence.
|
||||
#+begin_src matlab
|
||||
%% Coherence computation
|
||||
coh_noise = zeros(length(f), length(leg_nums));
|
||||
@ -2959,12 +2964,9 @@ for i = 1:length(leg_nums)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
The coherence is shown in Figure [[fig:frf_dvf_plant_coh]].
|
||||
The coherence is shown in Figure [[fig:struts_frf_int_plant_coh]].
|
||||
It is clear that the Noise sine gives good coherence up to 400Hz and that the high frequency noise excitation signal helps increasing a little bit the coherence at high frequency.
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_noise_hf(:, 1), 'color', [colors(1, :), 0.5], ...
|
||||
@ -2985,13 +2987,13 @@ legend('location', 'southeast');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/frf_dvf_plant_coh.pdf', 'width', 'wide', 'height', 'normal');
|
||||
exportFig('figs/struts_frf_int_plant_coh.pdf', 'width', 'wide', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:frf_dvf_plant_coh
|
||||
#+name: fig:struts_frf_int_plant_coh
|
||||
#+caption: Obtained coherence for the plant from $V_a$ to $d_e$
|
||||
#+RESULTS:
|
||||
[[file:figs/frf_dvf_plant_coh.png]]
|
||||
[[file:figs/struts_frf_int_plant_coh.png]]
|
||||
|
||||
Then, the transfer function from the DAC output voltage $V_a$ to the measured displacement by the Attocube is computed:
|
||||
#+begin_src matlab
|
||||
@ -3009,15 +3011,15 @@ for i = 1:length(leg_nums)
|
||||
end
|
||||
#+end_src
|
||||
|
||||
The obtained transfer functions are shown in Figure [[fig:frf_dvf_a_plant_tf]].
|
||||
The obtained transfer functions are shown in Figure [[fig:struts_frf_int_plant_tf]].
|
||||
|
||||
They are all superimposed except for the LEG7.
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
for i = 1:length(leg_nums)
|
||||
plot(f(f> 350), abs(dvf_a_noise_hf(f> 350, i)), 'color', colors(i, :), ...
|
||||
@ -3042,25 +3044,25 @@ hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
yticks(-360:90:360);
|
||||
yticks(-360:90:360); ylim([-180 180]);
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([10, 2e3]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/frf_dvf_plant_tf.pdf', 'width', 'wide', 'height', 'tall');
|
||||
exportFig('figs/struts_frf_int_plant_tf.pdf', 'width', 'wide', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:frf_dvf_plant_tf
|
||||
#+name: fig:struts_frf_int_plant_tf
|
||||
#+caption: Estimated FRF for the DVF plant (transfer function from $V_a$ to the encoder $d_e$)
|
||||
#+RESULTS:
|
||||
[[file:figs/frf_dvf_plant_tf.png]]
|
||||
[[file:figs/struts_frf_int_plant_tf.png]]
|
||||
|
||||
*** FRF Identification - IFF
|
||||
In this section, the dynamics from $V_a$ to $V_s$ is identified.
|
||||
|
||||
First the coherence is computed and shown in Figure [[fig:frf_iff_plant_coh]].
|
||||
First the coherence is computed and shown in Figure [[fig:struts_frf_iff_plant_coh]].
|
||||
The coherence is very nice from 10Hz to 2kHz.
|
||||
It is only dropping near a zeros at 40Hz, and near the resonance at 95Hz (the excitation amplitude being lowered).
|
||||
|
||||
@ -3080,8 +3082,6 @@ end
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
colors = get(gca,'colororder');
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, coh_noise_hf(:, 1), 'color', [colors(1, :), 0.5], 'DisplayName', 'HF Noise');
|
||||
@ -3100,15 +3100,15 @@ legend('location', 'southeast');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/frf_iff_plant_coh.pdf', 'width', 'wide', 'height', 'normal');
|
||||
exportFig('figs/struts_frf_iff_plant_coh.pdf', 'width', 'wide', 'height', 'normal');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:frf_iff_plant_coh
|
||||
#+name: fig:struts_frf_iff_plant_coh
|
||||
#+caption: Obtained coherence for the IFF plant
|
||||
#+RESULTS:
|
||||
[[file:figs/frf_iff_plant_coh.png]]
|
||||
[[file:figs/struts_frf_iff_plant_coh.png]]
|
||||
|
||||
Then the FRF are estimated and shown in Figure [[fig:frf_iff_plant_tf]]
|
||||
Then the FRF are estimated and shown in Figure [[fig:struts_frf_iff_plant_tf]]
|
||||
#+begin_src matlab
|
||||
%% FRF estimation of the transfer function from Va to Vs
|
||||
iff_noise = zeros(length(f), length(leg_nums));
|
||||
@ -3126,9 +3126,9 @@ end
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
|
||||
|
||||
ax1 = nexttile;
|
||||
ax1 = nexttile([2,1]);
|
||||
hold on;
|
||||
for i = 1:length(leg_nums)
|
||||
plot(f(f> 350), abs(iff_noise_hf(f> 350, i)), 'color', colors(i, :), ...
|
||||
@ -3153,20 +3153,20 @@ hold off;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
|
||||
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
|
||||
hold off;
|
||||
yticks(-360:90:360);
|
||||
yticks(-360:90:360); ylim([-180 180]);
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([10, 2e3]);
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/frf_iff_plant_tf.pdf', 'width', 'wide', 'height', 'tall');
|
||||
exportFig('figs/struts_frf_iff_plant_tf.pdf', 'width', 'wide', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:frf_iff_plant_tf
|
||||
#+name: fig:struts_frf_iff_plant_tf
|
||||
#+caption:Identified IFF Plant
|
||||
#+RESULTS:
|
||||
[[file:figs/frf_iff_plant_tf.png]]
|
||||
[[file:figs/struts_frf_iff_plant_tf.png]]
|
||||
|
||||
* TODO Compare with the FEM/Simscape Model :noexport:
|
||||
:PROPERTIES:
|
||||
|
Loading…
Reference in New Issue
Block a user