nass-micro-station-measurem.../disturbance-measurement/index.org
2019-05-02 08:45:08 +02:00

3.5 KiB

#+TITLE:Measurement of the sample vibrations when rotating the Spindle

Signal Processing

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');

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);

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;

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]')