diff --git a/analysis/index.html b/analysis/index.html deleted file mode 100644 index 1010839..0000000 --- a/analysis/index.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -Some analysis - - - - - - - - - - - - - -
- UP - | - HOME -
-

Some analysis

-
-
-

Author: Dehaeze Thomas

-

Created: 2019-10-08 mar. 11:13

-

Validate

-
- - diff --git a/analysis/index.org b/analysis/index.org deleted file mode 100644 index 6af945a..0000000 --- a/analysis/index.org +++ /dev/null @@ -1,42 +0,0 @@ -#+TITLE: Some analysis -:DRAWER: -#+STARTUP: overview - -#+LANGUAGE: en -#+EMAIL: dehaeze.thomas@gmail.com -#+AUTHOR: Dehaeze Thomas - -#+HTML_LINK_HOME: ../index.html -#+HTML_LINK_UP: ../index.html - -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -#+HTML_MATHJAX: align: center tagside: right font: TeX - -#+PROPERTY: header-args:matlab :session *MATLAB* -#+PROPERTY: header-args:matlab+ :comments org -#+PROPERTY: header-args:matlab+ :results none -#+PROPERTY: header-args:matlab+ :exports both -#+PROPERTY: header-args:matlab+ :eval no-export -#+PROPERTY: header-args:matlab+ :output-dir figs -#+PROPERTY: header-args:matlab+ :tangle matlab/modal_frf_coh.m -#+PROPERTY: header-args:matlab+ :mkdirp yes - -#+PROPERTY: header-args:shell :eval no-export - -#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}") -#+PROPERTY: header-args:latex+ :imagemagick t :fit yes -#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 -#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 -#+PROPERTY: header-args:latex+ :results raw replace :buffer no -#+PROPERTY: header-args:latex+ :eval no-export -#+PROPERTY: header-args:latex+ :exports both -#+PROPERTY: header-args:latex+ :mkdirp yes -#+PROPERTY: header-args:latex+ :output-dir figs -:END: diff --git a/analysis/matlab-old/analysis_perturbations.m b/analysis/matlab-old/analysis_perturbations.m deleted file mode 100644 index 5659f3d..0000000 --- a/analysis/matlab-old/analysis_perturbations.m +++ /dev/null @@ -1,28 +0,0 @@ -%% -clear; close all; clc; - -%% Load Plant -load('./mat/G_xg_to_d.mat', 'G_xg_to_d'); - -%% Load shape of the perturbation -load('./mat/perturbations.mat', 'Wxg'); - -%% Effect of the perturbation on the output -freqs = logspace(-1, 3, 1000); - -dx_out = squeeze(abs(freqresp(Wxg*G_xg_to_d(1, 1), freqs, 'Hz'))); -dy_out = squeeze(abs(freqresp(Wxg*G_xg_to_d(2, 2), freqs, 'Hz'))); -dz_out = squeeze(abs(freqresp(Wxg*G_xg_to_d(3, 3), freqs, 'Hz'))); - -figure; -hold on; -plot(freqs, dx_out, 'DisplayName', 'Effect of $Dg$ on $D_{x}$'); -plot(freqs, dy_out, 'DisplayName', 'Effect of $Dg$ on $D_{y}$'); -plot(freqs, dz_out, 'DisplayName', 'Effect of $Dg$ on $D_{z}$'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); -legend('location', 'southwest'); -xlim([freqs(1), freqs(end)]); -hold off; - -exportFig('ground_motion_effect', 'normal-normal') \ No newline at end of file diff --git a/analysis/matlab-old/analyze_setpoint.m b/analysis/matlab-old/analyze_setpoint.m deleted file mode 100644 index fbc4748..0000000 --- a/analysis/matlab-old/analyze_setpoint.m +++ /dev/null @@ -1,13 +0,0 @@ -%% -Dmeas.Data = Dmeas.Data - Dmeas.Data(1, :); - -%% -figure; -hold on; -plot(r_setpoint.Time, r_setpoint.Data(:, 2)); -plot(Dmeas.Time, Dmeas.Data(:, 2)); -legend({'Setpoint', 'Ty'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('set_time_translations', 'normal-normal') diff --git a/analysis/matlab-old/effect_ground_motion.m b/analysis/matlab-old/effect_ground_motion.m deleted file mode 100644 index 120341b..0000000 --- a/analysis/matlab-old/effect_ground_motion.m +++ /dev/null @@ -1,46 +0,0 @@ -%% -clear; close all; clc; - -%% -load('./mat/Gd_ol_cl.mat', 'Gd_ol_20', 'Gd_cl_20'); - -%% -load('./mat/perturbations.mat', 'Wxg') - -%% -load('./mat/G_gm_to_dh.mat', 'G_gm_to_dh') -load('./mat/psd_ground_motion.mat', 'psd_f', 'pxx') - -%% -bodeFig({Gd_ol_20(1, 1), G_gm_to_dh}) - -%% PSD -freqs = logspace(-2, 2, 1000); - -gm_ol = abs(squeeze(freqresp(Wxg*Gd_ol_20(1, 1), freqs, 'Hz'))); -gm_cl = abs(squeeze(freqresp(Wxg*Gd_cl_20(1, 1), freqs, 'Hz'))); - -figure; -hold on; -plot(freqs, gm_ol) -plot(freqs, gm_cl) -set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); -xlabel('Frequency [$Hz$]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -hold off; - -%% CAS -freqs = logspace(-1, 2, 1000); - -gm_ol = abs(squeeze(freqresp(Wxg*Gd_ol_20(1, 1), freqs, 'Hz'))); -gm_cl = abs(squeeze(freqresp(Wxg*Gd_cl_20(1, 1), freqs, 'Hz'))); - -dw = freqs - [0, freqs(1:end-1)]; - -figure; -hold on; -plot(freqs, cumsum(gm_ol'.*dw)) -plot(freqs, cumsum(gm_cl'.*dw)) -set(gca, 'XScale', 'log'); -% set(gca, 'YScale', 'log'); -xlabel('Frequency [Hz]'); ylabel('CAS [m]'); -hold off; diff --git a/analysis/matlab-old/ground_motion_ol_cl.m b/analysis/matlab-old/ground_motion_ol_cl.m deleted file mode 100644 index 19ad8f0..0000000 --- a/analysis/matlab-old/ground_motion_ol_cl.m +++ /dev/null @@ -1,150 +0,0 @@ -%% -clear; close all; clc; - -%% Used to get sim_conf.Ts -load('./mat/sim_conf.mat', 'sim_conf'); - -%% Load simulation results -gm_ol = load('./data/ground_motion_ol.mat', 'Dsample'); -gm_cl = load('./data/ground_motion.mat', 'Dsample'); - -%% -figure; -hold on; -plot(gm_ol.Dsample.Data(:, 1),gm_ol.Dsample.Data(:, 3)) -plot(gm_cl.Dsample.Data(:, 1),gm_cl.Dsample.Data(:, 3)) -legend({'OL', 'CL'}) -hold off; -xlabel('Displacement - $x$ [s]'); ylabel('Displacement - $z$ [m]'); - -exportFig('gm_control_xz', 'half-short') - -%% Compare OL and CL - Time -figure; -hold on; -plot(gm_ol.Dsample.Time, gm_ol.Dsample.Data(:, 1)); -plot(gm_cl.Dsample.Time, gm_cl.Dsample.Data(:, 1)); -legend({'x - OL', 'x - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('gm_control_time_x', 'normal-normal') - -%% Compare OL and CL - Time -figure; -hold on; -plot(gm_ol.Dsample.Time, gm_ol.Dsample.Data(:, 2)); -plot(gm_cl.Dsample.Time, gm_cl.Dsample.Data(:, 2)); -legend({'y - OL', 'y - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('gm_control_time_y', 'normal-normal') - -%% Compare OL and CL - Time -figure; -hold on; -plot(gm_ol.Dsample.Time, gm_ol.Dsample.Data(:, 3)); -plot(gm_cl.Dsample.Time, gm_cl.Dsample.Data(:, 3)); -legend({'z - OL', 'z - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('gm_control_time_z', 'normal-normal') - -%% Compare OL and CL - Time -figure; -hold on; -plot(gm_ol.Dsample.Time, gm_ol.Dsample.Data(:, 4)); -plot(gm_cl.Dsample.Time, gm_cl.Dsample.Data(:, 4)); -legend({'$\theta_x$ - OL', '$\theta_x$ - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Angle [rad]'); - -exportFig('gm_control_time_rx', 'normal-normal') - -%% Compare OL and CL - Time -figure; -hold on; -plot(gm_ol.Dsample.Time, gm_ol.Dsample.Data(:, 5)); -plot(gm_cl.Dsample.Time, gm_cl.Dsample.Data(:, 5)); -legend({'$\theta_y$ - OL', '$\theta_y$ - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Angle [rad]'); - -exportFig('gm_control_time_ry', 'normal-normal') - -%% Compare OL and CL - Time -figure; -hold on; -plot(gm_ol.Dsample.Time, gm_ol.Dsample.Data(:, 6)); -plot(gm_cl.Dsample.Time, gm_cl.Dsample.Data(:, 6)); -legend({'$\theta_z$ - OL', '$\theta_z$ - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Angle [rad]'); - -exportFig('gm_control_time_rz', 'normal-normal') - -%% Compare OL and CL - PSD -han_windows_ol = hanning(ceil(length(gm_ol.Dsample.Time)/10)); -[psd_x_ol, freqs_x_ol] = pwelch(gm_ol.Dsample.Data(:, 1), han_windows_ol, 0, [], 1/sim_conf.Ts); - -han_windows = hanning(ceil(length(gm_cl.Dsample.Time)/10)); -[psd_x, freqs_x] = pwelch(gm_cl.Dsample.Data(:, 1), han_windows, 0, [], 1/sim_conf.Ts); - -figure; -hold on; -plot(freqs_x_ol, sqrt(psd_x_ol)); -plot(freqs_x, sqrt(psd_x)); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -legend({'x - OL', 'x - CL'}) -hold off; - -exportFig('gm_control_psd_x', 'normal-normal') - -%% Compare OL and CL - PSD -han_windows_ol = hanning(ceil(length(gm_ol.Dsample.Time)/10)); -[psd_y_ol, freqs_y_ol] = pwelch(gm_ol.Dsample.Data(:, 2), han_windows_ol, 0, [], 1/sim_conf.Ts); - -han_windows = hanning(ceil(length(gm_cl.Dsample.Time)/10)); -[psd_y, freqs_y] = pwelch(gm_cl.Dsample.Data(:, 2), han_windows, 0, [], 1/sim_conf.Ts); - -figure; -hold on; -plot(freqs_y_ol, sqrt(psd_y_ol)); -plot(freqs_y, sqrt(psd_y)); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -legend({'y - OL', 'y - CL'}) -hold off; - -exportFig('gm_control_psd_y', 'normal-normal') - -%% Compare OL and CL - PSD -load('./mat/G_xg_to_d.mat', 'G_xg_to_d'); -load('./mat/perturbations.mat', 'Wxg'); -load('./mat/T_S.mat', 'S', 'T'); - -freqs = logspace(-1, 3, 1000); -dz_ol = squeeze(abs(freqresp(Wxg*G_xg_to_d(3, 3), freqs, 'Hz'))); -dz_cl = squeeze(abs(freqresp(Wxg*G_xg_to_d(3, 3)*S(3, 3), freqs, 'Hz'))); - -han_windows_ol = hanning(ceil(length(gm_ol.Dsample.Time)/10)); -[psd_z_ol, freqs_z_ol] = pwelch(gm_ol.Dsample.Data(:, 3), han_windows_ol, 0, [], 1/sim_conf.Ts); - -han_windows = hanning(ceil(length(gm_cl.Dsample.Time)/10)); -[psd_z, freqs_z] = pwelch(gm_cl.Dsample.Data(:, 3), han_windows, 0, [], 1/sim_conf.Ts); - -figure; -hold on; -plot(freqs_z_ol, sqrt(psd_z_ol), '-', 'Color', [0 0.4470 0.7410], 'DisplayName', '$Dg \to D_x$ - OL (sim)'); -plot(freqs, dz_ol, '--', 'Color', [0 0.4470 0.7410], 'DisplayName', '$Dg \to D_x$ - OL (th)'); -plot(freqs_z, sqrt(psd_z), '-', 'Color', [0.8500 0.3250 0.0980], 'DisplayName', '$Dg \to D_x$ - CL (sim)'); -plot(freqs, dz_cl, '--', 'Color', [0.8500 0.3250 0.0980], 'DisplayName', '$Dg \to D_x$ - CL (th)'); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -legend('location', 'southwest'); -hold off; - -exportFig('gm_control_psd_z', 'normal-normal') diff --git a/analysis/matlab-old/simulation_analysis.m b/analysis/matlab-old/simulation_analysis.m deleted file mode 100644 index aaac0b1..0000000 --- a/analysis/matlab-old/simulation_analysis.m +++ /dev/null @@ -1,218 +0,0 @@ -%% -clear; close all; clc; - -%% -exp_ol = load('./data/exp_open_loop.mat', 'Dmeas'); -exp_cl = load('./data/exp_close_loop_xyz.mat', 'Dmeas'); -exp_without_nass = load('./data/exp_whitout_nass.mat', 'Dmeas'); -load('./mat/sim_conf.mat', 'sim_conf'); - -exp_without_nass.Dmeas.Data(:, 3) = exp_without_nass.Dmeas.Data(:, 3) - exp_without_nass.Dmeas.Data(end, 3); - -Fs = ceil((length(exp_without_nass.Dmeas.Time(:))-1)/exp_without_nass.Dmeas.Time(end)); - -%% -N = length(exp_without_nass.Dmeas.Data(:, 1)); -figure; -hold on; -% plot(exp_without_nass.Dmeas.Data(end-6300:end, 1),exp_without_nass.Dmeas.Data(end-6300:end, 2)) -plot(exp_without_nass.Dmeas.Data(N-6600:N-6200, 1),exp_without_nass.Dmeas.Data(N-6600:N-6200, 2)) -plot(exp_cl.Dmeas.Data(6:end, 1),exp_cl.Dmeas.Data(6:end, 2)) -xlim([-1e-6, 1e-6]); -ylim([-1e-6, 1e-6]); -hold off; -xlabel('Displacement - $x$ [m]'); ylabel('Displacement - $y$ [m]'); - - -%% With and without NASS -steady_i = ceil(length(exp_ol.Dmeas.Time)/2); -steady_i = 6; - -figure; -hold on; -plot(exp_without_nass.Dmeas.Data(steady_i:end, 1),exp_without_nass.Dmeas.Data(steady_i:end, 2)) -plot(exp_cl.Dmeas.Data(steady_i:end, 1),exp_cl.Dmeas.Data(steady_i:end, 2)) -xlim([-1e-6, 1e-6]); -ylim([-1e-6, 1e-6]); -hold off; -xlabel('Displacement - $x$ [m]'); ylabel('Displacement - $y$ [m]'); - -exportFig('exp_w_wo_nass_xy', 'half-short') - -%% Video of the simulation -close all; - -figure(1); -hold on; -grid; -xlim([-1e-6, 1e-6]); -ylim([-1e-6, 1e-6]); -xlabel('Displacement - $x$ [m]'); ylabel('Displacement - $y$ [m]'); - -% Set up the movie. -writerObj = VideoWriter('open_loop.avi'); % Name it. -writerObj.FrameRate = 30; % How many frames per second. -open(writerObj); - -% Open Loop -N = length(exp_without_nass.Dmeas.Data(:, 1))-6300; -step_i = ceil(Fs/writerObj.FrameRate); -for i=1:step_i:N - % We just use pause but pretend you have some really complicated thing here... - pause(0.01); - figure(1); - plot(exp_without_nass.Dmeas.Data(i:min(i+step_i, N), 1),exp_without_nass.Dmeas.Data(i:min(i+step_i, N), 2), 'color', [0 0.4470 0.7410]) - frame = getframe(gcf); % 'gcf' can handle if you zoom in to take a movie. - writeVideo(writerObj, frame); -end - -% Close Loop -N = length(exp_cl.Dmeas.Data(:, 1)); -step_i = ceil(Fs/writerObj.FrameRate); -first_i = 6; -for i=first_i:step_i:N - % We just use pause but pretend you have some really complicated thing here... - pause(0.01); - figure(1); - plot(exp_cl.Dmeas.Data(i:min(i+step_i, N), 1),exp_cl.Dmeas.Data(i:min(i+step_i, N), 2), 'color', [0.8500 0.3250 0.0980]) - frame = getframe(gcf); % 'gcf' can handle if you zoom in to take a movie. - writeVideo(writerObj, frame); -end - -hold off -close(writerObj); % Saves the movie. - - -%% Video of the simulation -close all; - -figure(1); -hold on; -xlim([-40, 40]); -ylim([-40, 40]); -yticks([-40 -20 0 20 40]) -xticks([-40 -20 0 20 40]) -grid on; -xlabel('Displacement - $x$ [nm]'); ylabel('Displacement - $y$ [nm]'); - -set(gcf, 'pos', [20 20 300 300]); - -% Set up the movie. -writerObj = VideoWriter('close_loop_zoom.avi'); % Name it. -writerObj.FrameRate = 30; % How many frames per second. -open(writerObj); - -% Open Loop -N = length(exp_without_nass.Dmeas.Data(:, 1))-6300; -step_i = ceil(Fs/writerObj.FrameRate); -for i=1:step_i:N - % We just use pause but pretend you have some really complicated thing here... - pause(0.01); - figure(1); - plot(1e9*exp_without_nass.Dmeas.Data(i:min(i+step_i, N), 1),1e9*exp_without_nass.Dmeas.Data(i:min(i+step_i, N), 2), 'color', [0 0.4470 0.7410]) - frame = getframe(gcf); % 'gcf' can handle if you zoom in to take a movie. - writeVideo(writerObj, frame); -end - -% Close Loop -N = length(exp_cl.Dmeas.Data(:, 1)); -step_i = ceil(Fs/writerObj.FrameRate); -first_i = 6; -for i=first_i:step_i:N - % We just use pause but pretend you have some really complicated thing here... - pause(0.01); - figure(1); - plot(1e9*exp_cl.Dmeas.Data(i:min(i+step_i, N), 1),1e9*exp_cl.Dmeas.Data(i:min(i+step_i, N), 2), 'color', [0.8500 0.3250 0.0980]) - frame = getframe(gcf); % 'gcf' can handle if you zoom in to take a movie. - writeVideo(writerObj, frame); -end - -hold off -close(writerObj); % Saves the movie. - - -%% -figure; -hold on; -plot(exp_without_nass.Dmeas.Time(steady_i:end), exp_without_nass.Dmeas.Data(steady_i:end, 2)); -plot(exp_without_nass.Dmeas.Time(steady_i:end), exp_cl.Dmeas.Data(steady_i:end, 2)); -legend({'$y$ - without NASS', '$y$ - with NASS'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('exp_w_wo_nass_y', 'half-small') - - - -%% Compare OL and CL - Time -figure; -hold on; -plot(exp_ol.Dmeas.Time, exp_ol.Dmeas.Data(:, 1)); -plot(exp_cl.Dmeas.Time, exp_cl.Dmeas.Data(:, 1)); -legend({'x - OL', 'x - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('exp_control_time_x', 'normal-normal') - - -figure; -hold on; -plot(exp_ol.Dmeas.Time, exp_ol.Dmeas.Data(:, 2)); -plot(exp_cl.Dmeas.Time, exp_cl.Dmeas.Data(:, 2)); -legend({'y - OL', 'y - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('exp_control_time_y', 'normal-normal') - - -figure; -hold on; -plot(exp_ol.Dmeas.Time, exp_ol.Dmeas.Data(:, 3)); -plot(exp_cl.Dmeas.Time, exp_cl.Dmeas.Data(:, 3)); -legend({'z - OL', 'z - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('exp_control_time_z', 'normal-normal') - -%% -steady_i = ceil(length(exp_ol.Dmeas.Time)/2); -% steady_i = 1; - -figure; -hold on; -plot(exp_ol.Dmeas.Data(steady_i:end, 1),exp_ol.Dmeas.Data(steady_i:end, 2)) -plot(exp_cl.Dmeas.Data(steady_i:end, 1),exp_cl.Dmeas.Data(steady_i:end, 2)) -legend({'OL', 'CL'}) -hold off; -xlabel('Displacement - $x$ [s]'); ylabel('Displacement - $y$ [m]'); - - -figure; -hold on; -plot3(exp_ol.Dmeas.Data(steady_i:end, 1),exp_ol.Dmeas.Data(steady_i:end, 2),exp_ol.Dmeas.Data(steady_i:end, 3)) -plot3(exp_cl.Dmeas.Data(steady_i:end, 1),exp_cl.Dmeas.Data(steady_i:end, 2),exp_cl.Dmeas.Data(steady_i:end, 3)) -legend({'OL', 'CL'}) -hold off; -xlabel('Displacement - $x$ [s]'); ylabel('Displacement - $y$ [m]'); zlabel('Displacement - $z$ [m]'); - - -%% Compare OL and CL - PSD -han_windows_ol = hanning(ceil(length(exp_ol.Dmeas.Time(steady_i:end))/2)); -[psd_x_ol, freqs_x_ol] = pwelch(exp_ol.Dmeas.Data(steady_i:end, 1), han_windows_ol, 0, [], 1/sim_conf.Ts); - -han_windows_cl = hanning(ceil(length(exp_cl.Dmeas.Time(steady_i:end))/2)); -[psd_x, freqs_x] = pwelch(exp_cl.Dmeas.Data(steady_i:end, 1), han_windows_cl, 0, [], 1/sim_conf.Ts); - -figure; -hold on; -plot(freqs_x_ol, sqrt(psd_x_ol)); -plot(freqs_x, sqrt(psd_x)); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -legend({'x - OL', 'x - CL'}) -hold off; - -exportFig('exp_psd_x', 'normal-normal') diff --git a/analysis/matlab-old/tomography_experiment.m b/analysis/matlab-old/tomography_experiment.m deleted file mode 100644 index 6f4c730..0000000 --- a/analysis/matlab-old/tomography_experiment.m +++ /dev/null @@ -1,65 +0,0 @@ -%% -Dmeas.Data = Dmeas.Data - Dmeas.Data(1, :); - -%% Time domain X-Y-Z -figure; -hold on; -plot(Dmeas.Time, Dmeas.Data(:, 1)); -plot(Dmeas.Time, Dmeas.Data(:, 2)); -plot(Dmeas.Time, Dmeas.Data(:, 3)); -legend({'x', 'y', 'z'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('tomo_time_translations', 'normal-normal') - -%% Time domain angles -figure; -hold on; -plot(Dmeas.Time, Dmeas.Data(:, 4)); -plot(Dmeas.Time, Dmeas.Data(:, 5)); -legend({'$\theta_x$', '$\theta_y$'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('tomo_time_rotations', 'normal-normal') - -%% PSD X-Y-Z -han_windows = hanning(ceil(length(Dmeas.Time)/10)); - -[psd_x, freqs_x] = pwelch(Dmeas.Data(:, 1), han_windows, 0, [], 1/Ts); -[psd_y, freqs_y] = pwelch(Dmeas.Data(:, 2), han_windows, 0, [], 1/Ts); -[psd_z, freqs_z] = pwelch(Dmeas.Data(:, 3), han_windows, 0, [], 1/Ts); - -figure; -hold on; -plot(freqs_x, sqrt(psd_x)); -plot(freqs_y, sqrt(psd_y)); -plot(freqs_z, sqrt(psd_z)); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -legend({'x', 'y', 'z'}) -hold off; - -exportFig('tomo_psd_translations', 'normal-normal') - -%% PSD X-Y-Z -han_windows = hanning(ceil(length(Dmeas.Time)/10)); - -[psd_x, freqs_x] = pwelch(Dmeas.Data(:, 4), han_windows, 0, [], 1/Ts); -[psd_y, freqs_y] = pwelch(Dmeas.Data(:, 5), han_windows, 0, [], 1/Ts); - -figure; -hold on; -plot(freqs_x, sqrt(psd_x)); -plot(freqs_y, sqrt(psd_y)); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$rad/s/\sqrt{Hz}$]'); -legend({'$\theta_x$', '$\theta_y$'}) -hold off; - -exportFig('tomo_psd_rotations', 'normal-normal') - - -%% -save('./data/tomography_exp_ol.mat', 'Dmeas') \ No newline at end of file diff --git a/analysis/matlab-old/tomography_ol_cl.m b/analysis/matlab-old/tomography_ol_cl.m deleted file mode 100644 index 2beab8c..0000000 --- a/analysis/matlab-old/tomography_ol_cl.m +++ /dev/null @@ -1,68 +0,0 @@ -%% -clear; close all; clc; - -%% -tomo_ol = load('./data/tomography_exp_ol.mat', 'Dmeas'); -tomo_cl = load('./data/tomography_exp.mat', 'Dmeas'); - -%% Compare OL and CL - Time -figure; -hold on; -plot(tomo_ol.Dmeas.Time, tomo_ol.Dmeas.Data(:, 1)); -plot(tomo_cl.Dmeas.Time, tomo_cl.Dmeas.Data(:, 1)); -legend({'x - OL', 'x - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('tomo_control_time_x', 'normal-normal') - - -figure; -hold on; -plot(tomo_ol.Dmeas.Time, tomo_ol.Dmeas.Data(:, 2)); -plot(tomo_cl.Dmeas.Time, tomo_cl.Dmeas.Data(:, 2)); -legend({'y - OL', 'y - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('tomo_control_time_y', 'normal-normal') - - -figure; -hold on; -plot(tomo_ol.Dmeas.Time, tomo_ol.Dmeas.Data(:, 3)); -plot(tomo_cl.Dmeas.Time, tomo_cl.Dmeas.Data(:, 3)); -legend({'z - OL', 'z - CL'}) -hold off; -xlabel('Time [s]'); ylabel('Displacement [m]'); - -exportFig('tomo_control_time_z', 'normal-normal') - -%% -figure; -hold on; -plot(tomo_ol.Dmeas.Data(:, 1),tomo_ol.Dmeas.Data(:, 3)) -plot(tomo_cl.Dmeas.Data(:, 1),tomo_cl.Dmeas.Data(:, 3)) -legend({'OL', 'CL'}) -hold off; -xlabel('Displacement - $x$ [s]'); ylabel('Displacement - $z$ [m]'); - - - -%% Compare OL and CL - PSD -han_windows_ol = hanning(ceil(length(tomo_ol.Dmeas.Time)/10)); -[psd_y_ol, freqs_y_ol] = pwelch(tomo_ol.Dmeas.Data(:, 2), han_windows, 0, [], 1/Ts); - -han_windows = hanning(ceil(length(tomo_cl.Dmeas.Time)/10)); -[psd_y, freqs_y] = pwelch(tomo_cl.Dmeas.Data(:, 2), han_windows, 0, [], 1/Ts); - -figure; -hold on; -plot(freqs_y_ol, sqrt(psd_y_ol)); -plot(freqs_y, sqrt(psd_y)); -set(gca,'xscale','log'); set(gca,'yscale','log'); -xlabel('Frequency [Hz]'); ylabel('PSD [$m/\sqrt{Hz}$]'); -legend({'y - OL', 'y - CL'}) -hold off; - -exportFig('tomo_control_psd_y', 'normal-normal')