Measurement of the sample vibrations when rotating the Spindle

Table of Contents

1 Signal Processing

1.1 Load Data

Measurement data_001.mat corresponds to a measurement where the spindle is not turning and data_002.mat where the spindle is turning at 1rpm. x1 is the signal coming from the geophone located on the marble and x2 is the signal from the geophone located on the sample station.

data1 = load('mat/data_001.mat', 't', 'x1', 'x2');
data2 = load('mat/data_002.mat', 't', 'x1', 'x2');

1.2 Pre-processing

imax = min([length(data1.t), length(data2.t)]);

data1.t  = data1.t(1:imax);
data1.x1 = data1.x1(1:imax);
data1.x2 = data1.x2(1:imax);

data2.t  = data2.t(1:imax);
data2.x1 = data2.x1(1:imax);
data2.x2 = data2.x2(1:imax);

1.3 Time domain Data

figure;
hold on;
plot(data1.t, data1.x1);
plot(data2.t, data2.x1);
hold off;
figure;
hold on;
plot(data1.t, data1.x2);
plot(data2.t, data2.x2)
hold off;

1.4 ASD and Frequency domain data

dt = data1.t(2) - data1.t(1);
Fs = 1/dt;
windows_psd = hanning(ceil(10/dt));
[pxx1m, f] = pwelch(data1.x1, windows_psd, [], [], Fs);
[pxx1h, ~] = pwelch(data1.x2, windows_psd, [], [], Fs);

[pxx2m, ~] = pwelch(data2.x1, windows_psd, [], [], Fs);
[pxx2h, ~] = pwelch(data2.x2, windows_psd, [], [], Fs);
figure;
hold on;
plot(f, sqrt(pxx1m));
plot(f, sqrt(pxx2m));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
figure;
hold on;
plot(f, sqrt(pxx1h));
plot(f, sqrt(pxx2h));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
figure;
hold on;
plot(f, sqrt(pxx2m));
plot(f, sqrt(pxx2h));
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
figure;
hold on;
plot(f, cumtrapz(f, pxx1m))
plot(f, cumtrapz(f, pxx2m))
set(gca, 'XScale', 'log');
xlabel('Frequency [Hz]'); ylabel('CAS [m]')

Author: Thomas Dehaeze

Created: 2019-05-02 jeu. 14:11

Validate