#+TITLE: Measurements On the Slip-Ring #+SETUPFILE: ../config.org * Effect of the Slip-Ring on the signal :PROPERTIES: :header-args:matlab+: :tangle matlab/meas_slip_ring_geophone.m :header-args:matlab+: :comments org :mkdirp yes :END: <> #+begin_src bash :exports none :results none if [ matlab/meas_slip_ring_geophone.m -nt data/meas_slip_ring_geophone.zip ]; then cp matlab/meas_slip_ring_geophone.m meas_slip_ring_geophone.m; zip data/meas_slip_ring_geophone \ mat/data_018.mat \ mat/data_019.mat \ meas_slip_ring_geophone.m; rm meas_slip_ring_geophone.m; fi #+end_src #+begin_note All the files (data and Matlab scripts) are accessible [[file:data/meas_slip_ring_geophone.zip][here]]. #+end_note ** Experimental Setup Two measurements are made with the control systems of all the stages turned OFF. One geophone is located on the marble while the other is located at the sample location (figure [[fig:setup_slipring]]). #+name: fig:setup_slipring #+caption: Experimental Setup #+attr_html: :width 500px [[file:./img/IMG_20190430_112615.jpg]] The two measurements are: | Measurement File | Description | |------------------+------------------------------------------------------------------| | =meas_018.mat= | Signal from the top geophone does not goes through the Slip-ring | | =meas_019.mat= | Signal goes through the Slip-ring (as shown on the figure above) | Each of the measurement =mat= file contains one =data= array with 3 columns: | Column number | Description | |---------------+-------------------| | 1 | Geophone - Marble | | 2 | Geophone - Sample | | 3 | Time | ** Matlab Init :noexport:ignore: #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) <> #+end_src #+begin_src matlab :exports none :results silent :noweb yes <> #+end_src ** Load data We load the data of the z axis of two geophones. #+begin_src matlab :results none d8 = load('mat/data_018.mat', 'data'); d8 = d8.data; d9 = load('mat/data_019.mat', 'data'); d9 = d9.data; #+end_src ** Analysis - Time Domain First, we compare the time domain signals for the two experiments (figure [[fig:slipring_time]]). #+begin_src matlab :results none figure; hold on; plot(d9(:, 3), d9(:, 2), 'DisplayName', 'Slip-Ring'); plot(d8(:, 3), d8(:, 2), 'DisplayName', 'Wire'); hold off; xlabel('Time [s]'); ylabel('Voltage [V]'); xlim([0, 50]); legend('location', 'northeast'); #+end_src #+NAME: fig:slipring_time #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/slipring_time.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:slipring_time #+CAPTION: Effect of the Slip-Ring on the measured signal - Time domain #+RESULTS: fig:slipring_time [[file:figs/slipring_time.png]] ** Analysis - Frequency Domain We then compute the Power Spectral Density of the two signals and we compare them (figure [[fig:slipring_asd]]). #+begin_src matlab :results none dt = d8(2, 3) - d8(1, 3); Fs = 1/dt; win = hanning(ceil(1*Fs)); #+end_src #+begin_src matlab :results none [pxx8, f] = pwelch(d8(:, 2), win, [], [], Fs); [pxx9, ~] = pwelch(d9(:, 2), win, [], [], Fs); #+end_src #+begin_src matlab :results none figure; hold on; plot(f, sqrt(pxx9), 'DisplayName', 'Slip-Ring'); plot(f, sqrt(pxx8), 'DisplayName', 'Wire'); hold off; set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); xlabel('Frequency [Hz]'); ylabel('Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$') xlim([1, 500]); legend('Location', 'southwest'); #+end_src #+NAME: fig:slipring_asd #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/slipring_asd.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:slipring_asd #+CAPTION: Effect of the Slip-Ring on the measured signal - Frequency domain #+RESULTS: fig:slipring_asd [[file:figs/slipring_asd.png]] ** Conclusion #+begin_important - Connecting the geophone through the Slip-Ring seems to induce a lot of noise. #+end_important #+begin_note *Remaining questions to answer*: - Why is there a sharp peak at 300Hz? - Why the use of the Slip-Ring does induce a noise? - Can the capacitive/inductive properties of the wires in the Slip-ring does not play well with the geophone? (resonant RLC circuit) #+end_note * Effect of the rotation of the Slip-Ring :PROPERTIES: :header-args:matlab+: :tangle matlab/meas_effect_sr.m :header-args:matlab+: :comments org :mkdirp yes :END: <> #+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 Random Signal is generated by one DAC of the SpeedGoat. 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 Two measurements are done. | Data File | Description | |--------------------+-----------------------| | =mat/data_001.mat= | Slip-ring not turning | | =mat/data_002.mat= | Slip-ring turning | For each measurement, the measured signals are: | Data File | Description | |-----------+------------------------------------| | =t= | Time vector | | =x1= | Direct signal | | =x2= | Signal going through the Slip-Ring | The goal is to determine is the signal is altered when the spindle is rotating. Here, the rotation speed of the Slip-Ring is set to 1rpm. ** Matlab Init :noexport:ignore: #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) <> #+end_src #+begin_src matlab :exports none :results silent :noweb yes <> #+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") <> #+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") <> #+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") <> #+end_src #+NAME: fig:psd_noise #+CAPTION: ASD of the measured noise #+RESULTS: fig:psd_noise [[file:figs/psd_noise.png]] ** Conclusion #+begin_note *Remaining questions*: - Should the measurement be redone using voltage amplifiers? - Use higher rotation speed and measure for longer periods (to have multiple revolutions) ? #+end_note * Measure of the noise induced by the Slip-Ring :PROPERTIES: :header-args:matlab+: :tangle matlab/meas_slip_ring.m :header-args:matlab+: :comments org :mkdirp yes :END: <> #+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 *Setup*: - 0V is generated by the DAC of the Speedgoat - Using a T, one part goes directly to the ADC - The other part goes to the slip-ring 2 times and then to the ADC - The parameters of the Voltage Amplifier are: 80dB, AC, 1kHz - Every stage of the station is OFF First column: Direct measure Second column: Slip-ring measure *Measurements*: - =data_008=: Slip-Ring OFF - =data_009=: Slip-Ring ON - =data_010=: Slip-Ring ON and omega=6rpm - =data_011=: Slip-Ring ON and omega=60rpm #+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) <> #+end_src #+begin_src matlab :exports none :results silent :noweb yes <> #+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_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; #+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]]); #+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'); hold off; xlabel('Time [s]'); ylabel('Voltage [V]'); legend('Location', 'northeast'); #+end_src #+NAME: fig:sr_direct_time #+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") <> #+end_src #+NAME: fig:sr_direct_time #+CAPTION: Direct measurement #+RESULTS: fig:sr_direct_time [[file:figs/sr_direct_time.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'); hold off; xlabel('Time [s]'); ylabel('Voltage [V]'); legend('Location', 'northeast'); #+end_src #+NAME: fig:sr_slipring_time #+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") <> #+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]] ** 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); Fs = 1/dt; % [Hz] win = hanning(ceil(10*Fs)); #+end_src 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); #+end_src And we plot the ASD of the measured signals (figure [[fig:sr_psd_compare]]); #+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'); 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]); #+end_src #+NAME: fig:sr_psd_compare #+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") <> #+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]] ** Conclusion #+begin_important *Questions:* - Why is there some sharp peaks? Can this be due to aliasing? - It is possible that the amplifiers were saturating during the measurements => should redo the measurements with a low pass filter before the voltage amplifier #+end_important * Measure of the noise induced by the slip ring when using a geophone :PROPERTIES: :header-args:matlab+: :tangle matlab/meas_sr_geophone.m :header-args:matlab+: :comments org :mkdirp yes :END: <> #+begin_src bash :exports none :results none if [ matlab/meas_sr_geophone.m -nt data/meas_sr_geophone.zip ]; then cp matlab/meas_sr_geophone.m meas_sr_geophone.m; zip data/meas_sr_geophone \ mat/data_012.mat \ mat/data_013.mat \ mat/data_016.mat \ mat/data_017.mat \ meas_sr_geophone.m; rm meas_sr_geophone.m; fi #+end_src #+begin_note All the files (data and Matlab scripts) are accessible [[file:data/meas_sr_geophone.zip][here]]. #+end_note ** Matlab Init :noexport:ignore: #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) <> #+end_src #+begin_src matlab :exports none :results silent :noweb yes <> #+end_src ** First Measurement without LPF *** Measurement Description *Goal*: - Determine if the noise induced by the slip-ring is a limiting factor when measuring the signal coming from a geophone *Setup*: - The geophone is located at the sample location - The two Voltage amplifiers have the same following settings: - AC - 60dB - 1kHz - The signal from the geophone is split into two using a T-BNC: - One part goes directly to the voltage amplifier and then to the ADC. - The other part goes to the slip-ring=>voltage amplifier=>ADC. First column: Direct measure Second column: Slip-ring measure *Measurements*: - =data_012=: Slip-Ring OFF - =data_013=: Slip-Ring ON *** Load data We load the data of the z axis of two geophones. #+begin_src matlab :results none sr_off = load('mat/data_012.mat', 'data'); sr_off = sr_off.data; sr_on = load('mat/data_013.mat', 'data'); sr_on = sr_on.data; #+end_src *** Time Domain We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_geophone_time_off]]) and when it is ON (figure [[fig:sr_geophone_time_on]]). #+begin_src matlab :results none :exports none figure; hold on; plot(sr_off(:, 3), sr_off(:, 1), 'DisplayName', 'Direct'); plot(sr_off(:, 3), sr_off(:, 2), 'DisplayName', 'Slip-Ring'); hold off; legend('Location', 'northeast'); xlabel('Time [s]'); ylabel('Voltage [V]'); #+end_src #+NAME: fig:sr_geophone_time_off #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_geophone_time_off #+CAPTION: Comparison of the time domain signals when the slip-ring is OFF #+RESULTS: fig:sr_geophone_time_off [[file:figs/sr_geophone_time_off.png]] #+begin_src matlab :results none :exports none figure; hold on; plot(sr_on(:, 3), sr_on(:, 1), 'DisplayName', 'Direct'); plot(sr_on(:, 3), sr_on(:, 2), 'DisplayName', 'Slip-Ring'); hold off; legend('Location', 'northeast'); xlabel('Time [s]'); ylabel('Voltage [V]'); #+end_src #+NAME: fig:sr_geophone_time_on #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_geophone_time_on #+CAPTION: Comparison of the time domain signals when the slip-ring is ON #+RESULTS: fig:sr_geophone_time_on [[file:figs/sr_geophone_time_on.png]] *** 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); Fs = 1/dt; % [Hz] win = hanning(ceil(10*Fs)); #+end_src Then we compute the Power Spectral Density using =pwelch= function. #+begin_src matlab :results none % Direct measure [pxdoff, ~] = pwelch(sr_off(:, 1), win, [], [], Fs); [pxdon, ~] = pwelch(sr_on(:, 1), win, [], [], Fs); % Slip-Ring measure [pxsroff, f] = pwelch(sr_off(:, 2), win, [], [], Fs); [pxsron, ~] = pwelch(sr_on(:, 2), win, [], [], Fs); #+end_src Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_geophone_asd]]); #+begin_src matlab :results none figure; hold on; plot(f, sqrt(pxdoff), 'DisplayName', 'Direct - OFF'); plot(f, sqrt(pxsroff), 'DisplayName', 'Slip-Ring - OFF'); plot(f, sqrt(pxdon), 'DisplayName', 'Direct - ON'); plot(f, sqrt(pxsron), '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]); #+end_src #+NAME: fig:sr_geophone_asd #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_geophone_asd #+CAPTION: Comparison of the Amplitude Spectral Sensity #+RESULTS: fig:sr_geophone_asd [[file:figs/sr_geophone_asd.png]] #+begin_src matlab :results none :exports none xlim([100, 500]); #+end_src #+NAME: fig:sr_geophone_asd_zoom #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_geophone_asd_zoom.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_geophone_asd_zoom #+CAPTION: Comparison of the Amplitude Spectral Sensity - Zoom #+RESULTS: fig:sr_geophone_asd_zoom [[file:figs/sr_geophone_asd_zoom.png]] *** Conclusion #+begin_important - The fact that the Slip-Ring is turned ON adds some noise to the signal. - The signal going through the Slip-Ring is less noisy than the one going directly to the ADC. - This could be due to less good electromagnetic isolation. *Questions*: - Can the sharp peak on figure [[fig:sr_geophone_asd_zoom]] be due to the Aliasing? #+end_important ** Measurement using an oscilloscope *** Measurement Setup Know we are measuring the same signals but using an oscilloscope instead of the Speedgoat ADC. *** Observations Then the Slip-Ring is ON (figure [[fig:oscilloscope_sr_on]]), we observe a signal at 40kHz with a peak-to-peak amplitude of 200mV for the direct measure and 100mV for the signal going through the Slip-Ring. Then the Slip-Ring is OFF, we don't observe this 40kHz anymore (figure [[fig:oscilloscope_sr_off]]). #+name: fig:oscilloscope_sr_on #+caption: Signals measured by the oscilloscope - Slip-Ring ON - Yellow: Direct measure - Blue: Through Slip-Ring #+attr_html: :width 500px [[file:./img/IMG_20190506_160420.jpg]] #+name: fig:oscilloscope_sr_off #+caption: Signals measured by the oscilloscope - Slip-Ring OFF - Yellow: Direct measure - Blue: Through Slip-Ring #+attr_html: :width 500px [[file:./img/IMG_20190506_160438.jpg]] *** Conclusion #+begin_important - By looking at the signals using an oscilloscope, there is a lot of high frequency noise when turning on the Slip-Ring - This can eventually saturate the voltage amplifiers (seen by a led indicating saturation) - The choice is to *add a Low pass filter before the voltage amplifiers* to not saturate them and filter the noise. #+end_important ** New measurements with a LPF before the Voltage Amplifiers *** Setup description A first order low pass filter is added before the Voltage Amplifiers with the following values: \begin{aligned} R &= 1k\Omega \\ C &= 1\mu F \end{aligned} And we have a cut-off frequency of $f_c = \frac{1}{RC} = 160Hz$. We are measuring the signal from a geophone put on the marble with and without the added LPF: - with the slip ring OFF: =mat/data_016.mat= - with the slip ring ON: =mat/data_017.mat= *** Load data We load the data of the z axis of two geophones. #+begin_src matlab :results none sr_lpf_off = load('mat/data_016.mat', 'data'); sr_lpf_off = sr_lpf_off.data; sr_lpf_on = load('mat/data_017.mat', 'data'); sr_lpf_on = sr_lpf_on.data; #+end_src *** Time Domain We compare the signal when the Slip-Ring is OFF (figure [[fig:sr_lpf_geophone_time_off]]) and when it is ON (figure [[fig:sr_lpf_geophone_time_on]]). #+begin_src matlab :results none :exports none 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'); hold off; legend('Location', 'northeast'); xlabel('Time [s]'); ylabel('Voltage [V]'); #+end_src #+NAME: fig:sr_lpf_geophone_time_off #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_lpf_geophone_time_off.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_lpf_geophone_time_off #+CAPTION: Comparison of the time domain signals when the slip-ring is OFF #+RESULTS: fig:sr_lpf_geophone_time_off [[file:figs/sr_lpf_geophone_time_off.png]] #+begin_src matlab :results none :exports none 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'); hold off; legend('Location', 'northeast'); xlabel('Time [s]'); ylabel('Voltage [V]'); #+end_src #+NAME: fig:sr_lpf_geophone_time_on #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_lpf_geophone_time_on.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_lpf_geophone_time_on #+CAPTION: Comparison of the time domain signals when the slip-ring is ON #+RESULTS: fig:sr_lpf_geophone_time_on [[file:figs/sr_lpf_geophone_time_on.png]] *** Frequency Domain We first compute some parameters that will be used for the PSD computation. #+begin_src matlab :results none dt = sr_lpf_off(2, 3)-sr_lpf_off(1, 3); Fs = 1/dt; % [Hz] win = hanning(ceil(10*Fs)); #+end_src Then we compute the Power Spectral Density using =pwelch= function. #+begin_src matlab :results none % Direct measure [pxd_lpf_off, ~] = pwelch(sr_lpf_off(:, 1), win, [], [], Fs); [pxd_lpf_on, ~] = pwelch(sr_lpf_on(:, 1), win, [], [], Fs); % Slip-Ring measure [pxsr_lpf_off, f] = pwelch(sr_lpf_off(:, 2), win, [], [], Fs); [pxsr_lpf_on, ~] = pwelch(sr_lpf_on(:, 2), win, [], [], Fs); #+end_src Finally, we compare the Amplitude Spectral Density of the signals (figure [[fig:sr_lpf_geophone_asd]]); #+begin_src matlab :results none figure; hold on; 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(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]); #+end_src #+NAME: fig:sr_lpf_geophone_asd #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_lpf_geophone_asd.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_lpf_geophone_asd #+CAPTION: Comparison of the Amplitude Spectral Sensity #+RESULTS: fig:sr_lpf_geophone_asd [[file:figs/sr_lpf_geophone_asd.png]] #+begin_src matlab :results none :exports none xlim([100, 500]); #+end_src #+NAME: fig:sr_lpf_geophone_asd_zoom #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/sr_lpf_geophone_asd_zoom.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:sr_lpf_geophone_asd_zoom #+CAPTION: Comparison of the Amplitude Spectral Sensity - Zoom #+RESULTS: fig:sr_lpf_geophone_asd_zoom [[file:figs/sr_lpf_geophone_asd_zoom.png]] *** Comparison of with and without LPF #+begin_src matlab :results none 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'); 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]); #+end_src #+NAME: fig:comp_with_without_lpf #+HEADER: :tangle no :exports results :results value raw replace :noweb yes #+begin_src matlab :var filepath="figs/comp_with_without_lpf.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src #+NAME: fig:comp_with_without_lpf #+CAPTION: Comparison of the measured signals with and without LPF #+RESULTS: fig:comp_with_without_lpf [[file:figs/comp_with_without_lpf.png]] *** Conclusion #+begin_important - Using the LPF, we don't have any perturbation coming from the slip-ring when it is on. - However, we should use a smaller value of the capacitor to have a cut-off frequency at $1kHz$. #+end_important