nass-micro-station-measurem.../slip-ring-noise-turning/index.org

22 KiB

Measurements On the Slip-Ring

We determine if the slip-ring add some noise to the signal when it is turning:

  • Section sec:meas_effect_sr:

    • Noise is generated by the Speedgoat DAC and goes trough the slip-ring two times
    • We measure the signal when it is OFF, ON but not turning and ON and turning
    • However, the measurement is limited by the ADC noise
  • Section sec:meas_slip_ring:

    • Voltage amplifiers are added, and the same measurements are done
    • However, the voltage amplifiers are saturating because of high frequency noise
  • Section sec:meas_slip_ring_lpf:

    • Low pass filter are added at the input of the voltage amplifier and the same measurement is done

Effect of the rotation of the Slip-Ring - Noise

<<sec:meas_effect_sr>>

ZIP file containing the data and matlab files   ignore

All the files (data and Matlab scripts) are accessible here.

Measurement Description

Setup   ignore

Setup: Random Signal is generated by one SpeedGoat DAC.

The signal going out of the DAC is split into two:

  • one BNC cable is directly connected to one ADC of the SpeedGoat
  • one BNC cable goes two times in the Slip-Ring (from bottom to top and then from top to bottom) and then is connected to one ADC of the SpeedGoat

All the stages are turned OFF except the Slip-Ring.

Goal   ignore

Goal: The goal is to determine if the signal is altered when the spindle is rotating.

Measurements   ignore

Measurements:

Data File Description
mat/data_001.mat Slip-ring not turning but ON
mat/data_002.mat Slip-ring turning at 1rpm

For each measurement, the measured signals are:

Variable Description
t Time vector
x1 Direct signal
x2 Signal going through the Slip-Ring

Load data

We load the data of the z axis of two geophones.

  sr_off = load('mat/data_001.mat', 't', 'x1', 'x2');
  sr_on  = load('mat/data_002.mat', 't', 'x1', 'x2');

Analysis

Let's first look at the signal produced by the DAC (figure fig:random_signal).

  figure;
  hold on;
  plot(sr_on.t,  sr_on.x1);
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  xlim([0 10]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/random_signal.png

Random signal produced by the DAC

We now look at the difference between the signal directly measured by the ADC and the signal that goes through the slip-ring (figure fig:slipring_comp_signals).

  figure;
  hold on;
  plot(sr_on.t,  sr_on.x1  -  sr_on.x2,  'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
  plot(sr_off.t, sr_off.x1 - sr_off.x2,'DisplayName', 'Slip-Ring off');
  hold off;
  xlabel('Time [s]'); ylabel('Voltage [V]');
  xlim([0 10]);
  legend('Location', 'northeast');
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/slipring_comp_signals.png

Alteration of the signal when the slip-ring is turning
  dt = sr_on.t(2) - sr_on.t(1);
  Fs = 1/dt; % [Hz]

  win = hanning(ceil(1*Fs));
  [pxx_on,  f] = pwelch(sr_on.x1  - sr_on.x2,  win, [], [], Fs);
  [pxx_off, ~] = pwelch(sr_off.x1 - sr_off.x2, win, [], [], Fs);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/psd_noise.png

ASD of the measured noise

Conclusion

  • The measurement is mostly limited by the resolution of the Speedgoat DAC (16bits over $\pm 10 V$)
  • In section sec:meas_slip_ring, the same measurement is done but voltage amplifiers are added to amplify the noise

Measure of the noise induced by the Slip-Ring using voltage amplifiers - Noise

<<sec:meas_slip_ring>>

ZIP file containing the data and matlab files   ignore

All the files (data and Matlab scripts) are accessible here.

Measurement Description

Goal:

  • Determine the noise induced by the slip-ring when turned ON and when rotating

Setup:

  • 0V is generated by one Speedgoat DAC
  • Using a T, one part goes directly to one Speedgoat ADC
  • The other part goes to the slip-ring 2 times and then to one voltage amplifier before going to the ADC
  • The parameters of the Voltage Amplifier are:

    • gain of 80dB
    • AC/DC option to AC (it adds an high pass filter at 1.5Hz at the input of the voltage amplifier)
    • Output Low pass filter set at 1kHz
  • Every stage of the station is OFF

First column: Direct measure Second column: Slip-ring measure

Measurements:

Data File Description
mat/data_008.mat Slip-Ring OFF
mat/data_009.mat Slip-Ring ON
mat/data_010.mat Slip-Ring ON and omega=6rpm
mat/data_011.mat Slip-Ring ON and omega=60rpm

Each of the measurement mat file contains one data array with 3 columns:

Column number Description
1 Signal going directly to the ADC
2 Signal going through the Slip-Ring
3 Time
/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/img/VID_20190503_160831.gif
Slip-Ring rotating at 6rpm
/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/img/VID_20190503_161401.gif
Slip-Ring rotating at 60rpm

Load data

We load the data of the z axis of two geophones.

  sr_off = load('mat/data_008.mat', 'data'); sr_off = sr_off.data;
  sr_on  = load('mat/data_009.mat', 'data'); sr_on  = sr_on.data;
  sr_6r  = load('mat/data_010.mat', 'data'); sr_6r  = sr_6r.data;
  sr_60r = load('mat/data_011.mat', 'data'); sr_60r = sr_60r.data;

Time Domain

We plot the time domain data for the direct measurement (figure fig:sr_direct_time) and for the signal going through the slip-ring (figure fig:sr_slipring_time);

  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_direct_time.png

Direct measurement
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_slipring_time.png

Measurement of the signal going through the Slip-Ring

Frequency Domain

We first compute some parameters that will be used for the PSD computation.

  dt = sr_off(2, 3)-sr_off(1, 3);

  Fs = 1/dt; % [Hz]

  win = hanning(ceil(10*Fs));

Then we compute the Power Spectral Density using pwelch function.

  [pxdir, f] = pwelch(sr_off(:, 1), win, [], [], Fs);
  [pxoff, ~] = pwelch(sr_off(:, 2), win, [], [], Fs);
  [pxon,  ~] = pwelch(sr_on(:, 2),  win, [], [], Fs);
  [px6r,  ~] = pwelch(sr_6r(:, 2),  win, [], [], Fs);
  [px60r, ~] = pwelch(sr_60r(:, 2), win, [], [], Fs);

And we plot the ASD of the measured signals (figure fig:sr_psd_compare);

  figure;
  hold on;
  plot(f, sqrt(pxoff), 'DisplayName', 'OFF');
  plot(f, sqrt(pxon),  'DisplayName', 'ON');
  plot(f, sqrt(px6r),  'DisplayName', '6rpm');
  plot(f, sqrt(px60r), 'DisplayName', '60rpm');
  plot(f, sqrt(pxdir), 'k-', 'DisplayName', 'Direct');
  hold off;
  set(gca, 'xscale', 'log');
  set(gca, 'yscale', 'log');
  xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
  legend('Location', 'northeast');
  xlim([0.1, 500]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_psd_compare.png

Comparison of the ASD of the measured signals when the slip-ring is ON, OFF and turning

Questions:

  • Why is there some sharp peaks? Can this be due to aliasing?
  • It is possible that the amplifiers were saturating during the measurements. This saturation could be due to high frequency noise.

Conclusion

  • The measurements are re-done using an additional low pass filter at the input of the voltage amplifier

Measure of the noise induced by the Slip-Ring rotation - LPF added

<<sec:meas_slip_ring_lpf>>

ZIP file containing the data and matlab files   ignore

All the files (data and Matlab scripts) are accessible here.

Measurement description

Setup   ignore

Setup: Voltage amplifier:

  • 60db
  • AC
  • 1kHz

Additionnal LPF at 1kHz

Goal   ignore

Goal:

Measurements   ignore

Measurements:

Three measurements are done:

Measurement File Description
mat/data_030.mat All off
mat/data_031.mat Slip-Ring on
mat/data_032.mat Slip-Ring 6rpm
mat/data_033.mat Slip-Ring 60rpm

Each of the measurement mat file contains one data array with 3 columns:

Column number Description
1 Direct Measure
2 Slip-Ring
3 Time

Load data

We load the data of the z axis of two geophones.

  sr_of = load('mat/data_030.mat', 'data'); sr_of = sr_of.data;
  sr_on = load('mat/data_031.mat', 'data'); sr_on = sr_on.data;
  sr_6r = load('mat/data_032.mat', 'data'); sr_6r = sr_6r.data;
  sr_60 = load('mat/data_033.mat', 'data'); sr_60 = sr_60.data;

Time Domain

We plot the time domain data for the direct measurement (figure fig:sr_direct_1khz_time) and for the signal going through the slip-ring (figure fig:sr_slipring_1khz_time);

  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_direct_1khz_time.png

Direct measurement
  xlim([0, 0.2]); ylim([-2e-3, 2e-3]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_direct_1khz_time_zoom.png

Direct measurement - Zoom
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_slipring_1khz_time.png

Measurement of the signal going through the Slip-Ring

Frequency Domain - Direct Signal

We first compute some parameters that will be used for the PSD computation.

  dt = sr_of(2, 3)-sr_of(1, 3);

  Fs = 1/dt; % [Hz]

  win = hanning(ceil(10*Fs));

Then we compute the Power Spectral Density using pwelch function.

  [px_d_of, f] = pwelch(sr_of(:, 1), win, [], [], Fs);
  [px_d_on, ~] = pwelch(sr_on(:, 1), win, [], [], Fs);
  [px_d_6r, ~] = pwelch(sr_6r(:, 1), win, [], [], Fs);
  [px_d_60, ~] = pwelch(sr_60(:, 1), win, [], [], Fs);
  figure;
  hold on;
  plot(f, sqrt(px_d_of), 'DisplayName', 'OFF');
  plot(f, sqrt(px_d_on), 'DisplayName', 'ON');
  plot(f, sqrt(px_d_6r), 'DisplayName', '6rpm');
  plot(f, sqrt(px_d_60), 'DisplayName', '60rpm');
  hold off;
  set(gca, 'xscale', 'log');
  set(gca, 'yscale', 'log');
  xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
  legend('Location', 'northeast');
  xlim([0.1, 5000]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_psd_1khz_direct.png

Amplitude Spectral Density of the signal going directly to the ADC

Frequency Domain - Slip-Ring Signal

  [px_sr_of, f] = pwelch(sr_of(:, 2), win, [], [], Fs);
  [px_sr_on, ~] = pwelch(sr_on(:, 2), win, [], [], Fs);
  [px_sr_6r, ~] = pwelch(sr_6r(:, 2), win, [], [], Fs);
  [px_sr_60, ~] = pwelch(sr_60(:, 2), win, [], [], Fs);
  figure;
  hold on;
  plot(f, sqrt(px_sr_of), 'DisplayName', 'OFF');
  plot(f, sqrt(px_sr_on), 'DisplayName', 'ON');
  plot(f, sqrt(px_sr_6r), 'DisplayName', '6rpm');
  plot(f, sqrt(px_sr_60), 'DisplayName', '60rpm');
  plot(f, sqrt(px_d_of), '-k', 'DisplayName', 'Direct');
  hold off;
  set(gca, 'xscale', 'log');
  set(gca, 'yscale', 'log');
  xlabel('Frequency [Hz]'); ylabel('ASD of the measured Voltage $\left[\frac{V}{\sqrt{Hz}}\right]$')
  legend('Location', 'northeast');
  xlim([0.1, 5000]);
  <<plt-matlab>>

/tdehaeze/nass-micro-station-measurements/media/commit/cb3f3009ed0c677f6a89e3e50f08ed97ba22750d/slip-ring-noise-turning/figs/sr_psd_1khz_slipring.png

Amplitude Spectral Density of the signal going through the slip-ring

Conclusion

  • We observe peaks at 12Hz and its harmonics for the signal going through the slip-ring when it is turning at 60rpm.
  • Apart from that, the noise of the signal is the same when the slip-ring is off/on and turning
  • The noise of the signal going through the slip-ring is much higher that the direct signal from the DAC to the ADC
  • A peak is obverse at 11.5Hz on the direct signal as soon as the slip-ring is turned ON. Can this be due to high frequency noise and Aliasing? As there is no LPF to filter the noise on the direct signal, this effect could be more visible on the direct signal.