Update analysis => FRF in the global frame

This commit is contained in:
2019-07-05 10:16:33 +02:00
parent 4020b2bef4
commit b19de3b1ed
18 changed files with 2204 additions and 260 deletions

View File

@@ -4,6 +4,21 @@ clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
% We then import that on =matlab=, and sort them.
acc_pos = readtable('mat/acc_pos.txt', 'ReadVariableNames', false);
acc_pos = table2array(acc_pos(:, 1:4));
[~, i] = sort(acc_pos(:, 1));
acc_pos = acc_pos(i, 2:4);
% The positions of the sensors relative to the point of interest are shown below.
data2orgtable([[1:23]', 1000*acc_pos], {}, {'ID', 'x [mm]', 'y [mm]', 'z [mm]'}, ' %.0f ');
% Windowing
% Windowing is used on the force and response signals.
@@ -301,9 +316,6 @@ for i = 1:n_meas
meas_factor = meas_factor*(-1);
end
% FRFs(acc_i+n_acc*(find(dirs==meas_dir)-1), find(dirs==exc_dir), :) = exc_factor*meas_factor*meas.(sprintf('FFT1_H1_%i_1_Y_ReIm', j));
% COHs(acc_i+n_acc*(find(dirs==meas_dir)-1), find(dirs==exc_dir), :) = meas.(sprintf('FFT1_Coh_%i_1_RMS_Y_Val', j));
FRFs(find(dirs==meas_dir)+3*(acc_i-1), find(dirs==exc_dir), :) = exc_factor*meas_factor*meas.(sprintf('FFT1_H1_%i_1_Y_ReIm', j));
COHs(find(dirs==meas_dir)+3*(acc_i-1), find(dirs==exc_dir), :) = meas.(sprintf('FFT1_Coh_%i_1_RMS_Y_Val', j));
end
@@ -315,3 +327,30 @@ freqs = meas.FFT1_Coh_10_1_RMS_X_Val;
% And we save the obtained FRF matrix and Coherence matrix in a =.mat= file.
save('./mat/frf_coh_matrices.mat', 'FRFs', 'COHs', 'freqs');
% Solid Bodies considered for further analysis
% We consider the following solid bodies for further analysis:
% - Bottom Granite
% - Top Granite
% - Translation Stage
% - Tilt Stage
% - Spindle
% - Hexapod
% We create a =matlab= structure =solids= that contains the accelerometers ID connected to each solid bodies (as shown on figure [[fig:nass-modal-test]]).
solids = {};
solids.granite_bot = [17, 18, 19, 20];
solids.granite_top = [13, 14, 15, 16];
solids.ty = [9, 10, 11, 12];
solids.ry = [5, 6, 7, 8];
solids.rz = [21, 22, 23];
solids.hexa = [1, 2, 3, 4];
solid_names = fields(solids);
% Finally, we save that into a =.mat= file.
save('mat/geometry.mat', 'solids', 'solid_names', 'acc_pos');