[WIP] Slip slip-ring measurements in two

This commit is contained in:
2019-05-16 13:08:27 +02:00
parent 65b83cfb48
commit 3e98138772
73 changed files with 4103 additions and 564 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
#+TITLE: Measurements On the Slip-Ring
#+TITLE: Measurements On the Slip-Ring - Electrical Noise
:DRAWER:
#+STARTUP: overview
@@ -29,7 +29,7 @@
#+PROPERTY: header-args:shell :eval no-export
:END:
First, the noise induced by the slip-ring is measured when using geophones:
The noise induced by the slip-ring is measured when using geophones:
- Section [[sec:meas_slip_ring_geophone]]:
- A geophone located at the sample location is measured with its signal going directly to the ADC and going through the slip-ring
- The voltage amplifiers where saturating due to high frequency noise
@@ -38,17 +38,6 @@ First, the noise induced by the slip-ring is measured when using geophones:
- Using a Oscilloscope, high frequency noise at 40kHz generated by the slip-ring has been identified
- With the additional low pass filter at the input of the voltage amplifiers, the slip-ring don't add any measurable noise to the signal
Then, we determine is 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 Slip-Ring on the signal when turned ON - Geophone measurement
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_slip_ring_geophone.m
@@ -195,13 +184,15 @@ We then compute the Power Spectral Density of the two signals and we compare the
- The measurements will be redone
#+end_important
* Measure of the noise induced by the Slip-Ring using voltage amplifiers - Geophone
* TODO Measure of the noise induced by the Slip-Ring using voltage amplifiers - Geophone
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_sr_geophone.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_sr_geophone>>
- [ ] Where is the data_012 and 13 measurement ?
** ZIP file containing the data and matlab files :ignore:
#+begin_src bash :exports none :results none
if [ matlab/meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then
@@ -211,6 +202,8 @@ We then compute the Power Spectral Density of the two signals and we compare the
mat/data_013.mat \
mat/data_016.mat \
mat/data_017.mat \
mat/data_035.mat \
mat/data_036.mat \
meas_sr_geophone.m;
rm meas_sr_geophone.m;
fi
@@ -231,9 +224,11 @@ We then compute the Power Spectral Density of the two signals and we compare the
** First Measurement without LPF
*** Measurement Description
**** Goal :ignore:
*Goal*:
- Determine if the noise induced by the slip-ring is a limiting factor when measuring the signal coming from a geophone
**** Setup :ignore:
*Setup*:
- The geophone is located at the sample location
- The two Voltage amplifiers have the same following settings:
@@ -244,6 +239,7 @@ We then compute the Power Spectral Density of the two signals and we compare the
- One part goes directly to the voltage amplifier and then to the ADC
- The other part goes to the slip-ring=>voltage amplifier=>ADC
**** Measurements :ignore:
*Measurements*:
Two measurements are done:
| Measurement File | Description |
@@ -414,9 +410,11 @@ Then the Slip-Ring is OFF, we don't observe this noise at 40kHz anymore (figure
** New measurements with a LPF before the Voltage Amplifiers
*** Setup description
**** Goal :ignore:
*Goal*:
The goal is to see if we can remove high frequency noise from the signals before the voltage amplifiers in order to not saturate them.
**** Setup :ignore:
*Setup*:
We are measuring the signal from a geophone put at the sample position.
Using a BNC slitter, one part is going directly to the Low pass filter, voltage amplifier and ADC (first column), the other part is going through the slip ring before the low pass filter and the voltage amplifier (second column).
@@ -434,6 +432,7 @@ The low pass filter is a first order low pass filter RC circuit. It is added bef
And the cut-off frequency is $f_c = \frac{1}{RC} = 160Hz$.
**** Measurements :ignore:
*Measurements*:
Two measurements are done:
| Measurement File | Description |
@@ -538,7 +537,7 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
xlim([0.1, 500]);
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', 'soutwest');
legend('Location', 'southwest');
#+end_src
#+NAME: fig:sr_lpf_geophone_asd
@@ -574,7 +573,10 @@ Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:
- We here observe a signal at $50Hz$ and its harmonics
#+end_important
* TODO New LPF at 1kHz
** Measurement of the noise induced by the slip-ring with additional LPF at 1kHz
*** Measurement description
**** Setup :ignore:
*Setup*:
Voltage amplifier:
- 60db
- AC
@@ -582,315 +584,90 @@ Voltage amplifier:
Additionnal LPF at 1kHz
- meas35: All off
- meas36: slip-ring ON
geophone at the sample location
slit into 2 BNC:
- first one (column one): direct wire
- second one (second column): slip-ring wire
Each of the signal is amplified by voltage amplifier:
- 60db
- AC
- 1kHz
Additionnal LPF is added before the voltage amplifiers
* Effect of the rotation of the Slip-Ring - Noise
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_effect_sr.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_effect_sr>>
** ZIP file containing the data and matlab files :ignore:
#+begin_src bash :exports none :results none
if [ matlab/meas_effect_sr.m -nt data/meas_effect_sr.zip ]; then
cp matlab/meas_effect_sr.m meas_effect_sr.m;
zip data/meas_effect_sr \
mat/data_001.mat \
mat/data_002.mat \
meas_effect_sr.m;
rm meas_effect_sr.m;
fi
#+end_src
#+begin_note
All the files (data and Matlab scripts) are accessible [[file:data/meas_effect_sr.zip][here]].
#+end_note
** Measurement Description
**** Goal :ignore:
*Goal*:
The goal is to determine if the signal is altered when the spindle is rotating.
*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.
**** 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 |
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
sr_off = load('mat/data_001.mat', 't', 'x1', 'x2');
sr_on = load('mat/data_002.mat', 't', 'x1', 'x2');
#+end_src
** Analysis
Let's first look at the signal produced by the DAC (figure [[fig:random_signal]]).
#+begin_src matlab :results none
figure;
hold on;
plot(sr_on.t, sr_on.x1);
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0 10]);
#+end_src
#+NAME: fig:random_signal
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/random_signal.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:random_signal
#+CAPTION: Random signal produced by the DAC
#+RESULTS: fig:random_signal
[[file:figs/random_signal.png]]
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]]).
#+begin_src matlab :results none
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');
#+end_src
#+NAME: fig:slipring_comp_signals
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/slipring_comp_signals.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:slipring_comp_signals
#+CAPTION: Alteration of the signal when the slip-ring is turning
#+RESULTS: fig:slipring_comp_signals
[[file:figs/slipring_comp_signals.png]]
#+begin_src matlab :results none
dt = sr_on.t(2) - sr_on.t(1);
Fs = 1/dt; % [Hz]
win = hanning(ceil(1*Fs));
#+end_src
#+begin_src matlab :results none
[pxx_on, f] = pwelch(sr_on.x1 - sr_on.x2, win, [], [], Fs);
[pxx_off, ~] = pwelch(sr_off.x1 - sr_off.x2, win, [], [], Fs);
#+end_src
#+begin_src matlab :results none :exports none
figure;
hold on;
plot(f, sqrt(pxx_on), 'DisplayName', 'Slip-Ring - $\omega = 1rpm$');
plot(f, sqrt(pxx_off),'DisplayName', 'Slip-Ring off');
hold off;
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('PSD $\left[\frac{V}{\sqrt{Hz}}\right]$');
legend('Location', 'northeast');
xlim([1, 500]); ylim([1e-5, 1e-3])
#+end_src
#+NAME: fig:psd_noise
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/psd_noise.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:psd_noise
#+CAPTION: ASD of the measured noise
#+RESULTS: fig:psd_noise
[[file:figs/psd_noise.png]]
** Conclusion
#+begin_note
- 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
#+end_note
* Measure of the noise induced by the Slip-Ring using voltage amplifiers - Noise
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_slip_ring.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_slip_ring>>
** ZIP file containing the data and matlab files :ignore:
#+begin_src bash :exports none :results none
if [ matlab/meas_slip_ring.m -nt data/meas_slip_ring.zip ]; then
cp matlab/meas_slip_ring.m meas_slip_ring.m;
zip data/meas_slip_ring \
mat/data_008.mat \
mat/data_009.mat \
mat/data_010.mat \
mat/data_011.mat \
meas_slip_ring.m;
rm meas_slip_ring.m;
fi
#+end_src
#+begin_note
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring.zip][here]].
#+end_note
** 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 |
Three measurements are done:
| Measurement File | Description |
|--------------------+--------------|
| =mat/data_035.mat= | All off |
| =mat/data_036.mat= | Slip-Ring ON |
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 |
| Column number | Description |
|---------------+----------------|
| 1 | Direct Wire |
| 2 | Slip-Ring Wire |
| 3 | Time |
#+name: fig:setup_sr_6rpm
#+caption: Slip-Ring rotating at 6rpm
[[file:./img/VID_20190503_160831.gif]]
#+name: fig:setup_sr_60rpm
#+caption: Slip-Ring rotating at 60rpm
[[file:./img/VID_20190503_161401.gif]]
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
** Load data
*** Load data
We load the data of the z axis of two geophones.
#+begin_src matlab :results none
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;
sr_lpf_1khz_of = load('mat/data_035.mat', 'data'); sr_lpf_1khz_of = sr_lpf_1khz_of.data;
sr_lpf_1khz_on = load('mat/data_036.mat', 'data'); sr_lpf_1khz_on = sr_lpf_1khz_on.data;
#+end_src
** 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]]);
*** Time Domain
We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_1khz_geophone_time_off]]) and when it is ON (figure [[fig:sr_lpf_1khz_geophone_time_on]]).
#+begin_src matlab :results none :exports none
figure;
hold on;
plot(sr_60r(:, 3), sr_60r(:, 1), 'DisplayName', '60rpm');
plot(sr_6r(:, 3), sr_6r(:, 1), 'DisplayName', '6rpm');
plot(sr_on(:, 3), sr_on(:, 1), 'DisplayName', 'ON');
plot(sr_off(:, 3), sr_off(:, 1), 'DisplayName', 'OFF');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1)-mean(sr_lpf_1khz_of(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 2)-mean(sr_lpf_1khz_of(:, 2)), 'DisplayName', 'Slip-Ring');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
#+end_src
#+NAME: fig:sr_direct_time
#+NAME: fig:sr_lpf_1khz_geophone_time_off
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_direct_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_direct_time
#+CAPTION: Direct measurement
#+RESULTS: fig:sr_direct_time
[[file:figs/sr_direct_time.png]]
#+NAME: fig:sr_lpf_1khz_geophone_time_off
#+CAPTION: Comparison of the time domain signals when the slip-ring is OFF
#+RESULTS: fig:sr_lpf_1khz_geophone_time_off
[[file:figs/sr_lpf_1khz_geophone_time_off.png]]
#+begin_src matlab :results none :exports none
figure;
hold on;
plot(sr_60r(:, 3), sr_60r(:, 2), 'DisplayName', '60rpm');
plot(sr_6r(:, 3), sr_6r(:, 2), 'DisplayName', '6rpm');
plot(sr_on(:, 3), sr_on(:, 2), 'DisplayName', 'ON');
plot(sr_off(:, 3), sr_off(:, 2), 'DisplayName', 'OFF');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1)-mean(sr_lpf_1khz_on(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 2)-mean(sr_lpf_1khz_on(:, 2)), 'DisplayName', 'Slip-Ring');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
#+end_src
#+NAME: fig:sr_slipring_time
#+NAME: fig:sr_lpf_1khz_geophone_time_on
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_slipring_time.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_slipring_time
#+CAPTION: Measurement of the signal going through the Slip-Ring
#+RESULTS: fig:sr_slipring_time
[[file:figs/sr_slipring_time.png]]
#+NAME: fig:sr_lpf_1khz_geophone_time_on
#+CAPTION: Comparison of the time domain signals when the slip-ring is ON
#+RESULTS: fig:sr_lpf_1khz_geophone_time_on
[[file:figs/sr_lpf_1khz_geophone_time_on.png]]
** Frequency Domain
*** Frequency Domain
We first compute some parameters that will be used for the PSD computation.
#+begin_src matlab :results none
dt = sr_off(2, 3)-sr_off(1, 3);
dt = sr_lpf_1khz_of(2, 3)-sr_lpf_1khz_of(1, 3);
Fs = 1/dt; % [Hz]
@@ -899,87 +676,44 @@ We first compute some parameters that will be used for the PSD computation.
Then we compute the Power Spectral Density using =pwelch= function.
#+begin_src matlab :results none
[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);
% Direct measure
[pxdi_lpf_1khz_of, f] = pwelch(sr_lpf_1khz_of(:, 1), win, [], [], Fs);
[pxdi_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 1), win, [], [], Fs);
% Slip-Ring measure
[pxsr_lpf_1khz_of, ~] = pwelch(sr_lpf_1khz_of(:, 2), win, [], [], Fs);
[pxsr_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 2), win, [], [], Fs);
#+end_src
And we plot the ASD of the measured signals (figure [[fig:sr_psd_compare]]);
Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_1khz_geophone_asd]]);
#+begin_src matlab :results none
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');
plot(f, sqrt(pxdi_lpf_1khz_of), 'DisplayName', 'Direct - OFF');
plot(f, sqrt(pxsr_lpf_1khz_of), 'DisplayName', 'Slip-Ring - OFF');
plot(f, sqrt(pxdi_lpf_1khz_on), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxsr_lpf_1khz_on), 'DisplayName', 'Slip-Ring - ON');
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]);
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', 'southwest');
#+end_src
#+NAME: fig:sr_psd_compare
#+NAME: fig:sr_lpf_1khz_geophone_asd
#+HEADER: :tangle no :exports results :results value raw replace :noweb yes
#+begin_src matlab :var filepath="figs/sr_psd_compare.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
#+begin_src matlab :var filepath="figs/sr_lpf_1khz_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:sr_psd_compare
#+CAPTION: Comparison of the ASD of the measured signals when the slip-ring is ON, OFF and turning
#+RESULTS: fig:sr_psd_compare
[[file:figs/sr_psd_compare.png]]
#+NAME: fig:sr_lpf_1khz_geophone_asd
#+CAPTION: Comparison of the Amplitude Spectral Sensity
#+RESULTS: fig:sr_lpf_1khz_geophone_asd
[[file:figs/sr_lpf_1khz_geophone_asd.png]]
#+begin_note
*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.
#+end_note
** Conclusion
*** Conclusion
#+begin_important
- The measurements are re-done using an additional low pass filter at the input of the voltage amplifier
- Using the LPF, we don't see any additional noise coming from the slip-ring when it is turned ON
- We here observe a signal at $50Hz$ and its harmonics
#+end_important
* TODO Measure of the noise induced by the Slip-Ring rotation - LPF added
:PROPERTIES:
:header-args:matlab+: :tangle matlab/meas_slip_ring_lpf.m
:header-args:matlab+: :comments org :mkdirp yes
:END:
<<sec:meas_slip_ring_lpf>>
** ZIP file containing the data and matlab files :ignore:
#+begin_src bash :exports none :results none
if [ matlab/meas_slip_ring_lpf.m -nt data/meas_slip_ring_lpf.zip ]; then
cp matlab/meas_slip_ring_lpf.m meas_slip_ring_lpf.m;
zip data/meas_slip_ring_lpf \
mat/data.mat \
meas_slip_ring_lpf.m
rm meas_slip_ring_lpf.m;
fi
#+end_src
#+begin_note
All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring_lpf.zip][here]].
#+end_note
** Description
Voltage amplifier:
- 60db
- AC
- 1kHz
Additionnal LPF at 1kHz
- meas30: All off
- meas31: Slip-ring on
- meas32: slip-ring 6rpm
- meas33: slip-ring 60rpm
Channel 1: direct
Channel 2: slip-ring

View File

@@ -1,6 +1,3 @@
% Matlab Init :noexport:ignore:
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
%% Clear Workspace and Close figures
clear; close all; clc;

View File

@@ -1,6 +1,3 @@
% Matlab Init :noexport:ignore:
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
%% Clear Workspace and Close figures
clear; close all; clc;

View File

@@ -1,12 +1,3 @@
% Matlab Init :noexport:ignore:
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
%% Go to current Directory
cd(current_dir);
%% Initialize ans with org-babel
ans = 0;
%% Clear Workspace and Close figures
clear; close all; clc;
@@ -17,18 +8,17 @@ s = zpk('s');
% We load the data of the z axis of two geophones.
d8 = load('mat/data_018.mat', 'data'); d8 = d8.data;
d9 = load('mat/data_019.mat', 'data'); d9 = d9.data;
meas_sr = load('mat/data_018.mat', 'data'); meas_sr = meas_sr.data;
meas_di = load('mat/data_019.mat', 'data'); meas_di = meas_di.data;
% Analysis - Time Domain
% First, we compare the time domain signals for the two experiments (figure [[fig:slipring_time]]).
figure;
hold on;
plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring');
plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire');
plot(meas_di(:, 3), meas_di(:, 2), 'DisplayName', 'Geophone - Direct');
plot(meas_sr(:, 3), meas_sr(:, 2), 'DisplayName', 'Geophone - Slip-Ring');
hold off;
xlabel('Time [s]'); ylabel('Voltage [V]');
xlim([0, 50]);
@@ -37,18 +27,19 @@ legend('location', 'northeast');
% Analysis - Frequency Domain
% We then compute the Power Spectral Density of the two signals and we compare them (figure [[fig:slipring_asd]]).
dt = d8(2, 3) - d8(1, 3);
dt = meas_di(2, 3) - meas_di(1, 3);
Fs = 1/dt;
win = hanning(ceil(1*Fs));
win = hanning(ceil(5*Fs));
[pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs);
[pxx9, ~] = pwelch(d9(:, 2), win, [], [], Fs);
[px_di, f] = pwelch(meas_di(:, 2), win, [], [], Fs);
[px_sr, ~] = pwelch(meas_sr(:, 2), win, [], [], Fs);
figure;
hold on;
plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring');
plot(f, sqrt(pxx8), 'DisplayName', 'Wire');
plot(f, sqrt(px_sr), 'DisplayName', 'Slip-Ring');
plot(f, sqrt(px_di), 'DisplayName', 'Wire');
hold off;
set(gca, 'xscale', 'log');
set(gca, 'yscale', 'log');

View File

@@ -1,6 +1,3 @@
% Matlab Init :noexport:ignore:
current_dir='/home/thomas/MEGA/These/meas/slip-ring-test/';
%% Clear Workspace and Close figures
clear; close all; clc;
@@ -104,9 +101,10 @@ sr_lpf_on = load('mat/data_017.mat', 'data'); sr_lpf_on = sr_lpf_on.data;
figure;
hold on;
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 1), 'DisplayName', 'Direct');
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 2), 'DisplayName', 'Slip-Ring');
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 1)-mean(sr_lpf_off(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_off(:, 3), sr_lpf_off(:, 2)-mean(sr_lpf_off(:, 2)), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]');
ylabel('Voltage [V]');
@@ -121,9 +119,10 @@ ylabel('Voltage [V]');
figure;
hold on;
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 1), 'DisplayName', 'Direct');
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 2), 'DisplayName', 'Slip-Ring');
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 1)-mean(sr_lpf_on(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_on(:, 3), sr_lpf_on(:, 2)-mean(sr_lpf_on(:, 2)), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]');
ylabel('Voltage [V]');
@@ -156,16 +155,15 @@ win = hanning(ceil(10*Fs));
figure;
hold on;
plot(f, sqrt(pxd_lpf_off), 'DisplayName', 'Direct - OFF');
plot(f, sqrt(pxd_lpf_off), 'DisplayName', 'Direct - OFF');
plot(f, sqrt(pxsr_lpf_off), 'DisplayName', 'Slip-Ring - OFF');
plot(f, sqrt(pxd_lpf_on), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxd_lpf_on), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxsr_lpf_on), 'DisplayName', 'Slip-Ring - ON');
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]);
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', 'southwest');
@@ -177,17 +175,76 @@ xlim([0.1, 500]);
xlim([100, 500]);
% Comparison of with and without LPF
% Load data
% We load the data of the z axis of two geophones.
sr_lpf_1khz_of = load('mat/data_035.mat', 'data'); sr_lpf_1khz_of = sr_lpf_1khz_of.data;
sr_lpf_1khz_on = load('mat/data_036.mat', 'data'); sr_lpf_1khz_on = sr_lpf_1khz_on.data;
% Time Domain
% We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_1khz_geophone_time_off]]) and when it is ON (figure [[fig:sr_lpf_1khz_geophone_time_on]]).
figure;
hold on;
plot(f, sqrt(pxdon), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxsron), 'DisplayName', 'Slip-Ring - ON');
plot(f, sqrt(pxd_lpf_on), 'DisplayName', 'Direct - ON - LPF');
plot(f, sqrt(pxsr_lpf_on), 'DisplayName', 'Slip-Ring - ON - LPF');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 1)-mean(sr_lpf_1khz_of(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_of(:, 3), sr_lpf_1khz_of(:, 2)-mean(sr_lpf_1khz_of(:, 2)), 'DisplayName', 'Slip-Ring');
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]$')
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
% #+NAME: fig:sr_lpf_1khz_geophone_time_off
% #+CAPTION: Comparison of the time domain signals when the slip-ring is OFF
% #+RESULTS: fig:sr_lpf_1khz_geophone_time_off
% [[file:figs/sr_lpf_1khz_geophone_time_off.png]]
figure;
hold on;
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 1)-mean(sr_lpf_1khz_on(:, 1)), 'DisplayName', 'Direct');
plot(sr_lpf_1khz_on(:, 3), sr_lpf_1khz_on(:, 2)-mean(sr_lpf_1khz_on(:, 2)), 'DisplayName', 'Slip-Ring');
hold off;
xlim([0, 100]); ylim([-1, 1]);
legend('Location', 'northeast');
xlabel('Time [s]'); ylabel('Voltage [V]');
% Frequency Domain
% We first compute some parameters that will be used for the PSD computation.
dt = sr_lpf_1khz_of(2, 3)-sr_lpf_1khz_of(1, 3);
Fs = 1/dt; % [Hz]
win = hanning(ceil(10*Fs));
% Then we compute the Power Spectral Density using =pwelch= function.
% Direct measure
[pxdi_lpf_1khz_of, f] = pwelch(sr_lpf_1khz_of(:, 1), win, [], [], Fs);
[pxdi_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 1), win, [], [], Fs);
% Slip-Ring measure
[pxsr_lpf_1khz_of, ~] = pwelch(sr_lpf_1khz_of(:, 2), win, [], [], Fs);
[pxsr_lpf_1khz_on, ~] = pwelch(sr_lpf_1khz_on(:, 2), win, [], [], Fs);
% Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_1khz_geophone_asd]]);
figure;
hold on;
plot(f, sqrt(pxdi_lpf_1khz_of), 'DisplayName', 'Direct - OFF');
plot(f, sqrt(pxsr_lpf_1khz_of), 'DisplayName', 'Slip-Ring - OFF');
plot(f, sqrt(pxdi_lpf_1khz_on), 'DisplayName', 'Direct - ON');
plot(f, sqrt(pxsr_lpf_1khz_on), 'DisplayName', 'Slip-Ring - ON');
hold off;
xlim([0.1, 500]);
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', 'southwest');