Transfer function from velocity of one stage to the velocity of another stage using geophones
+Table of Contents
+ +1 Experimental Setup
++For all the measurements in this section: +
+-
+
- all the control stages are OFF. +
- the measurements are on the \(z\) direction +
1.1 From Marble to Ty - mat/meas_010.mat
++One geophone is on the marble, one is on the Ty stage (see figures 1, 2 and 3). +
+ +
+The data
array contains the following columns:
+
Column | +Description | +
---|---|
1 | +Ground | +
2 | +Ty | +
3 | +Time | +
+
Figure 1: Setup with one geophone on the marble and one on top of the translation stage
+
+
Figure 2: Setup with one geophone on the marble and one on top of the translation stage - Close up view
+
+
Figure 3: Setup with one geophone on the marble and one on top of the translation stage - Top view
+1.2 From Marble to Ry - mat/meas_011.mat
++One geophone is on the marble, one is on the Ry stage (see figure 4) +
+ +
+The data
array contains the following columns:
+
Column | +Description | +
---|---|
1 | +Ground | +
2 | +Ry | +
3 | +Time | +
+
Figure 4: Setup with one geophone on the marble and one on top of the Tilt Stage
+1.3 From Ty to Ry - mat/meas_012.mat
++One geophone is on the Ty stage, one is on the Ry stage (see figures 5, 6 and 7) +One geophone on the Ty stage, one geophone on the Ry stage. +
+ +
+The data
array contains the following columns:
+
Column | +Description | +
---|---|
1 | +Ty | +
2 | +Ry | +
3 | +Time | +
+
Figure 5: Setup with one geophone on the translation stage and one on top of the Tilt Stage
+
+
Figure 6: Setup with one geophone on the translation stage and one on top of the Tilt Stage - Top view
+
+
Figure 7: Setup with one geophone on the translation stage and one on top of the Tilt Stage - Close up view
+2 Measurement Analysis
++All the files (data and Matlab scripts) are accessible here. +
+ +2.1 Load data
++We load the data of the z axis of two geophones. +
+m_ty = load('mat/data_010.mat', 'data'); m_ty = m_ty.data; +m_ry = load('mat/data_011.mat', 'data'); m_ry = m_ry.data; +ty_ry = load('mat/data_012.mat', 'data'); ty_ry = ty_ry.data; ++
2.2 Analysis - Time Domain
++First, we can look at the time domain data. +
+ +figure; +hold on; +plot(m_ty(:, 3), m_ty(:, 1), 'DisplayName', 'Marble'); +plot(m_ty(:, 3), m_ty(:, 2), 'DisplayName', 'Ty'); +hold off; +xlabel('Time [s]'); ylabel('Voltage [V]'); +legend('Location', 'northeast'); +xlim([0, 500]); ++
+
Figure 8: Time domain - Marble and translation stage
+figure; +hold on; +plot(m_ry(:, 3), m_ry(:, 1), 'DisplayName', 'Marble'); +plot(m_ry(:, 3), m_ry(:, 2), 'DisplayName', 'Ty'); +hold off; +xlabel('Time [s]'); ylabel('Voltage [V]'); +legend('Location', 'northeast'); +xlim([0, 500]); ++
+
Figure 9: Time domain - Marble and tilt stage
+figure; +hold on; +plot(ty_ry(:, 3), ty_ry(:, 1), 'DisplayName', 'Ty'); +plot(ty_ry(:, 3), ty_ry(:, 2), 'DisplayName', 'Ry'); +hold off; +xlabel('Time [s]'); ylabel('Voltage [V]'); +legend('Location', 'northeast'); +xlim([0, 500]); ++
+
Figure 10: Time domain - Translation stage and tilt stage
+2.3 Analysis - Frequency Domain
+dt = m_ty(2, 3) - m_ty(1, 3); + +Fs = 1/dt; +win = hanning(ceil(1*Fs)); ++
+First, we compute the transfer function estimate between the two geophones for the 3 experiments (figure 11). We also plot their coherence (figure 12). +
+[T_m_ty, f] = tfestimate(m_ty(:, 1), m_ty(:, 2), win, [], [], Fs); +[T_m_ry, ~] = tfestimate(m_ry(:, 1), m_ry(:, 2), win, [], [], Fs); +[T_ty_ry, ~] = tfestimate(ty_ry(:, 1), ty_ry(:, 2), win, [], [], Fs); ++
figure; +ax1 = subplot(2, 1, 1); +hold on; +plot(f, abs(T_m_ty), 'DisplayName', 'Marble - Ty'); +plot(f, abs(T_m_ry), 'DisplayName', 'Marble - Ry'); +plot(f, abs(T_ty_ry), 'DisplayName', 'Ty - Ry'); +hold off; +set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +legend('Location', 'northwest'); + +ax2 = subplot(2, 1, 2); +hold on; +plot(f, mod(180+180/pi*phase(T_m_ty), 360)-180); +plot(f, mod(180+180/pi*phase(T_m_ry), 360)-180); +plot(f, mod(180+180/pi*phase(T_ty_ry), 360)-180); +hold off; +set(gca, 'xscale', 'log'); +ylim([-180, 180]); +yticks([-180, -90, 0, 90, 180]); +xlabel('Frequency [Hz]'); ylabel('Phase'); + +linkaxes([ax1,ax2],'x'); +xlim([10, 500]); ++
+
Figure 11: Transfer function from the first geophone to the second geophone for the three experiments
+[coh_m_ty, f] = mscohere(m_ty(:, 1), m_ty(:, 2), win, [], [], Fs); +[coh_m_ry, ~] = mscohere(m_ry(:, 1), m_ry(:, 2), win, [], [], Fs); +[coh_ty_ry, ~] = mscohere(ty_ry(:, 1), ty_ry(:, 2), win, [], [], Fs); ++
+
Figure 12: Coherence between the two geophones for the three experiments
+2.4 Conclusion
++These measurements are not relevant. +
+ +