nass-micro-station-measurem.../2017-11-17 - Marc/scripts/data.org

113 lines
3.3 KiB
Org Mode
Raw Normal View History

2019-03-14 16:40:28 +01:00
#+TITLE: Measurements made by Marc Lessourd on the 17th of November 2017 - Matlab
:drawer:
#+LATEX_CLASS: cleanreport
#+LaTeX_CLASS_OPTIONS: [tocnp, secbreak, minted]
#+STARTUP: overview
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:matlab+ :output-dir figs
:end:
* Load the data
#+begin_src matlab :exports code :results none
load('./raw_data/id31_microstation_2017_11_17_coh.mat',...
'coh_hexa_x',...
'coh_hexa_y',...
'coh_hexa_z',...
'coh_marble_x',...
'coh_marble_y',...
'coh_marble_z');
load('./raw_data/id31_microstation_2017_11_17_frf.mat',...
'freq_frf',...
'frf_hexa_x',...
'frf_hexa_y',...
'frf_hexa_z',...
'frf_marble_x',...
'frf_marble_y',...
'frf_marble_z');
#+end_src
Measurement is in V?
#+begin_src matlab :results none
accel_sensitivity = 0.102; % [V/(m/s2)]
w = j*2*pi*freq_frf;
frf_hexa_x = 1/accel_sensitivity*frf_hexa_x./(w.^2);
frf_hexa_y = -1/accel_sensitivity*frf_hexa_y./(w.^2);
frf_hexa_z = -1/accel_sensitivity*frf_hexa_z./(w.^2);
frf_marble_x = 1/accel_sensitivity*frf_marble_x./(w.^2);
frf_marble_y = 1/accel_sensitivity*frf_marble_y./(w.^2);
frf_marble_z = -1/accel_sensitivity*frf_marble_z./(w.^2);
#+end_src
* Plots
#+begin_src matlab :exports none :results none
figure;
hold on;
plot(freq_frf, abs(frf_hexa_x(:, 2)), 'DisplayName', 'Marble - X');
plot(freq_frf, abs(frf_hexa_x(:, 5)), 'DisplayName', 'Ty - X');
plot(freq_frf, abs(frf_hexa_x(:, 8)), 'DisplayName', 'Ry - X');
plot(freq_frf, abs(frf_hexa_x(:, 11)), 'DisplayName', 'Hexa - X');
hold off;
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
xlim([20, 200]);
legend('Location', 'northeast');
#+end_src
#+begin_src matlab :exports none :results none
figure;
hold on;
plot(freq_frf, abs(frf_hexa_x(:, 2)), 'DisplayName', 'Marble - X');
plot(freq_frf, abs(frf_hexa_x(:, 5)), 'DisplayName', 'Ty - X');
plot(freq_frf, abs(frf_hexa_x(:, 8)), 'DisplayName', 'Ry - X');
plot(freq_frf, abs(frf_hexa_x(:, 11)), 'DisplayName', 'Hexa - X');
hold off;
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
xlim([20, 200]);
legend('Location', 'northeast');
#+end_src
#+begin_src matlab :exports none :results none
channel = 12;
figure;
ax1 = subaxis(3,1,1);
plot(freq_frf, abs(frf_hexa_y(:, channel)))
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
ax2 = subaxis(3,1,2);
plot(freq_frf, mod(180/pi*phase(frf_hexa_y(:, channel))+180, 360)-180)
set(gca, 'Xscale', 'log');
ylim([-180 180]);
yticks([-180:90:180]);
ax3 = subaxis(3,1,3);
plot(freq_frf, coh_hexa_y(:, channel))
set(gca, 'Xscale', 'log');
linkaxes([ax1,ax2,ax3],'x');
xlim([20, 200]);
#+end_src
#+begin_src matlab :exports none :results none
figure;
ax1 = subaxis(2,1,1);
plot(freq_frf, abs(frf_marble_z(:, 4)))
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log')
ax2 = subaxis(2,1,2);
plot(freq_frf, mod(180/pi*phase(frf_marble_z(:, 4))+180, 360)-180)
linkaxes([ax1,ax2],'x');
ylim([-180 180]);
yticks([-180:90:180]);
set(gca, 'Xscale', 'log')
xlim([20, 200])
#+end_src