diff --git a/huddle-test-geophones/figs/asd_displacement.png b/huddle-test-geophones/figs/asd_displacement.png new file mode 100644 index 0000000..f1a30e9 Binary files /dev/null and b/huddle-test-geophones/figs/asd_displacement.png differ diff --git a/huddle-test-geophones/figs/coh_geophones.png b/huddle-test-geophones/figs/coh_geophones.png index ce75596..bf5f7a9 100644 Binary files a/huddle-test-geophones/figs/coh_geophones.png and b/huddle-test-geophones/figs/coh_geophones.png differ diff --git a/huddle-test-geophones/figs/data_time_domain.png b/huddle-test-geophones/figs/data_time_domain.png index 3b012f4..579549d 100644 Binary files a/huddle-test-geophones/figs/data_time_domain.png and b/huddle-test-geophones/figs/data_time_domain.png differ diff --git a/huddle-test-geophones/figs/data_time_domain_zoom.png b/huddle-test-geophones/figs/data_time_domain_zoom.png index 527f8bb..04e86f7 100644 Binary files a/huddle-test-geophones/figs/data_time_domain_zoom.png and b/huddle-test-geophones/figs/data_time_domain_zoom.png differ diff --git a/huddle-test-geophones/figs/geophone_sensibility.png b/huddle-test-geophones/figs/geophone_sensibility.png index ae76651..194535f 100644 Binary files a/huddle-test-geophones/figs/geophone_sensibility.png and b/huddle-test-geophones/figs/geophone_sensibility.png differ diff --git a/huddle-test-geophones/figs/intrumental_noise_velocity.png b/huddle-test-geophones/figs/intrumental_noise_velocity.png index c8f2afc..4664700 100644 Binary files a/huddle-test-geophones/figs/intrumental_noise_velocity.png and b/huddle-test-geophones/figs/intrumental_noise_velocity.png differ diff --git a/huddle-test-geophones/figs/psd_velocity.png b/huddle-test-geophones/figs/psd_velocity.png index 2451e28..bbbbd80 100644 Binary files a/huddle-test-geophones/figs/psd_velocity.png and b/huddle-test-geophones/figs/psd_velocity.png differ diff --git a/huddle-test-geophones/figs/tf_geophones.png b/huddle-test-geophones/figs/tf_geophones.png index c3f9bfa..a126ebc 100644 Binary files a/huddle-test-geophones/figs/tf_geophones.png and b/huddle-test-geophones/figs/tf_geophones.png differ diff --git a/huddle-test-geophones/index.html b/huddle-test-geophones/index.html index 014ebaa..fcdf732 100644 --- a/huddle-test-geophones/index.html +++ b/huddle-test-geophones/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + SpeedGoat @@ -276,36 +276,36 @@ for the JavaScript code in this tag.

Table of Contents

-
-

1 Experimental Setup

+
+

1 Experimental Setup

Two L22 geophones are used. @@ -319,14 +319,14 @@ The voltage amplifiers include a low pass filter with a cut-off frequency at 1kH

-
+

setup.jpg

Figure 1: Setup

-
+

geophones.jpg

Figure 2: Geophones

@@ -334,8 +334,8 @@ The voltage amplifiers include a low pass filter with a cut-off frequency at 1kH
-
-

2 Signal Processing

+
+

2 Signal Processing

The Matlab computing file for this part is accessible here. @@ -343,8 +343,8 @@ The mat file containing the measurement data is accessible

-
-

2.1 Load data

+
+

2.1 Load data

We load the data of the z axis of two geophones. @@ -358,8 +358,8 @@ dt = t( -

2.2 Time Domain Data

+
+

2.2 Time Domain Data

figure;
@@ -374,7 +374,7 @@ xlim(
+

data_time_domain.png

Figure 3: Time domain Data

@@ -394,7 +394,7 @@ xlim( +

data_time_domain_zoom.png

Figure 4: Time domain Data - Zoom

@@ -402,8 +402,8 @@ xlim( -

2.3 Computation of the ASD of the measured voltage

+
+

2.3 Computation of the ASD of the measured voltage

We first define the parameters for the frequency domain analysis. @@ -422,12 +422,12 @@ Fs = 1/

-
-

2.4 Scaling to take into account the sensibility of the geophone and the voltage amplifier

+
+

2.4 Scaling to take into account the sensibility of the geophone and the voltage amplifier

The Geophone used are L22. -Their sensibility are shown on figure 5. +Their sensibility are shown on figure 5.

@@ -438,7 +438,7 @@ S = (s -
+

geophone_sensibility.png

Figure 5: Sensibility of the Geophone

@@ -453,7 +453,7 @@ The amplifiers also include a low pass filter with a cut-off frequency set at 1k
G0 = 60; % [dB]
 
-G = G0/(1+s/2/pi/1000);
+G = 10^(G0/20)/(1+s/2/pi/1000);
 
@@ -463,24 +463,24 @@ We further divide the result by the sensibility of the Geophone to obtain the AS

-
scaling = 1./squeeze(abs(freqresp(G, f, 'Hz')))./squeeze(abs(freqresp(S, f, 'Hz')));
+
scaling = 1./squeeze(abs(freqresp(G*S, f, 'Hz')));
 
-
-

2.5 Computation of the ASD of the velocity

+
+

2.5 Computation of the ASD of the velocity

-The ASD of the measured velocity is shown on figure 6. +The ASD of the measured velocity is shown on figure 6.

figure;
 hold on;
-plot(f, sqrt(pxx1)./scaling);
-plot(f, sqrt(pxx2)./scaling);
+plot(f, sqrt(pxx1).*scaling);
+plot(f, sqrt(pxx2).*scaling);
 hold off;
 set(gca, 'xscale', 'log');
 set(gca, 'yscale', 'log');
@@ -490,24 +490,47 @@ xlim(
+

psd_velocity.png

Figure 6: Spectral density of the velocity

+ +

+We also plot the ASD in displacement (figure 7); +

+ +
+
figure;
+hold on;
+plot(f, (pxx1.*scaling./f).^2);
+plot(f, (pxx2.*scaling./f).^2);
+hold off;
+set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
+xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]')
+xlim([2, 500]);
+
+
+ + +
+

asd_displacement.png +

+

Figure 7: Amplitude Spectral Density of the displacement as measured by the geophones

+
-
-

2.6 Transfer function between the two geophones

+
+

2.6 Transfer function between the two geophones

We here compute the transfer function from one geophone to the other. -The result is shown on figure 7. +The result is shown on figure 8.

-We also compute the coherence between the two signals (figure 8). +We also compute the coherence between the two signals (figure 9).

-
-

2.7 Estimation of the sensor noise

+
+

2.7 Estimation of the sensor noise

The technique to estimate the sensor noise is taken from barzilai98_techn_measur_noise_sensor_presen. @@ -567,11 +590,11 @@ where:

-The mscohere function is compared with this formula on Appendix (section 4.1), it is shown that it is identical. +The mscohere function is compared with this formula on Appendix (section 4.1), it is shown that it is identical.

-Figure 9 illustrate a block diagram model of the system used to determine the sensor noise of the geophone. +Figure 10 illustrate a block diagram model of the system used to determine the sensor noise of the geophone.

@@ -583,10 +606,10 @@ Each sensor has noise \(N\) and \(M\).

-
+

huddle-test.png

-

Figure 9: Huddle test block diagram

+

Figure 10: Huddle test block diagram

@@ -598,7 +621,7 @@ We also assume that \(H_1 = H_2 = 1\). We then obtain:

\begin{equation} -\label{org65b3ddf} +\label{orgb78feac} \gamma_{XY}^2(\omega) = \frac{1}{1 + 2 \left( \frac{|G_N(\omega)|}{|G_U(\omega)|} \right) + \left( \frac{|G_N(\omega)|}{|G_U(\omega)|} \right)^2} \end{equation} @@ -606,23 +629,23 @@ We then obtain: Since the input signal \(U\) and the instrumental noise \(N\) are incoherent:

\begin{equation} -\label{org14038cd} +\label{org8419580} |G_X(\omega)| = |G_N(\omega)| + |G_U(\omega)| \end{equation}

-From equations \eqref{org65b3ddf} and \eqref{org14038cd}, we finally obtain +From equations \eqref{orgb78feac} and \eqref{org8419580}, we finally obtain

\begin{equation} -\label{org84c455c} +\label{orgbe05867} |G_N(\omega)| = |G_X(\omega)| \left( 1 - \sqrt{\gamma_{XY}^2(\omega)} \right) \end{equation}

-The instrumental noise is computed below. The result in V2/Hz is shown on figure 10. +The instrumental noise is computed below. The result in V2/Hz is shown on figure 11.

pxxN = pxx1.*(1 - coh12);
@@ -643,14 +666,14 @@ xlim(
+

intrumental_noise_V.png

-

Figure 10: Instrumental Noise and Measurement in \(V^2/Hz\)

+

Figure 11: Instrumental Noise and Measurement in \(V^2/Hz\)

-This is then further converted into velocity and compared with the ground velocity measurement. (figure 11) +This is then further converted into velocity and compared with the ground velocity measurement. (figure 12)

figure;
@@ -666,17 +689,17 @@ xlim(
+

intrumental_noise_velocity.png

-

Figure 11: Instrumental Noise and Measurement in \(m/s/\sqrt{Hz}\)

+

Figure 12: Instrumental Noise and Measurement in \(m/s/\sqrt{Hz}\)

-
-

3 Compare axis

+
+

3 Compare axis

The Matlab computing file for this part is accessible here. @@ -689,8 +712,8 @@ The mat files containing the measurement data are accessible with t

-
-

3.1 Load data

+
+

3.1 Load data

We first load the data for the three axis. @@ -704,8 +727,8 @@ north = load( -

3.2 Compare PSD

+
+

3.2 Compare PSD

The PSD for each axis of the two geophones are computed. @@ -723,23 +746,23 @@ The PSD for each axis of the two geophones are computed.

-We compare them. The result is shown on figure 12. +We compare them. The result is shown on figure 13.

-
+

compare_axis_psd.png

-

Figure 12: Compare the measure PSD of the two geophones for the three axis

+

Figure 13: Compare the measure PSD of the two geophones for the three axis

-
-

3.3 Compare TF

+
+

3.3 Compare TF

The transfer functions from one geophone to the other are also computed for each axis. -The result is shown on figure 13. +The result is shown on figure 14.

@@ -750,24 +773,24 @@ The result is shown on figure 13.
-
+

compare_tf_axis.png

-

Figure 13: Compare the transfer function from one geophone to the other for the 3 axis

+

Figure 14: Compare the transfer function from one geophone to the other for the 3 axis

-
-

4 Appendix

+
+

4 Appendix

-
-

4.1 Computation of coherence from PSD and CSD

+
+

4.1 Computation of coherence from PSD and CSD

- +

load('mat/data_001.mat', 't', 'x1', 'x2');
@@ -798,10 +821,10 @@ xlim(
+

comp_coherence_formula.png

-

Figure 14: Comparison of mscohere and manual computation

+

Figure 15: Comparison of mscohere and manual computation

@@ -816,7 +839,7 @@ xlim(

Author: Thomas Dehaeze

-

Created: 2019-04-18 jeu. 17:11

+

Created: 2019-04-18 jeu. 17:24

Validate

diff --git a/huddle-test-geophones/index.org b/huddle-test-geophones/index.org index 395e2b4..5079306 100644 --- a/huddle-test-geophones/index.org +++ b/huddle-test-geophones/index.org @@ -149,14 +149,14 @@ The amplifiers also include a low pass filter with a cut-off frequency set at 1k #+begin_src matlab :results none G0 = 60; % [dB] - G = G0/(1+s/2/pi/1000); + G = 10^(G0/20)/(1+s/2/pi/1000); #+end_src We divide the ASD measured (in $\text{V}/\sqrt{\text{Hz}}$) by the transfer function of the voltage amplifier to obtain the ASD of the voltage across the geophone. We further divide the result by the sensibility of the Geophone to obtain the ASD of the velocity in $m/s/\sqrt{Hz}$. #+begin_src matlab :results none - scaling = 1./squeeze(abs(freqresp(G, f, 'Hz')))./squeeze(abs(freqresp(S, f, 'Hz'))); + scaling = 1./squeeze(abs(freqresp(G*S, f, 'Hz'))); #+end_src ** Computation of the ASD of the velocity @@ -165,8 +165,8 @@ The ASD of the measured velocity is shown on figure [[fig:psd_velocity]]. #+begin_src matlab :results none figure; hold on; - plot(f, sqrt(pxx1)./scaling); - plot(f, sqrt(pxx2)./scaling); + plot(f, sqrt(pxx1).*scaling); + plot(f, sqrt(pxx2).*scaling); hold off; set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); @@ -176,7 +176,7 @@ The ASD of the measured velocity is shown on figure [[fig:psd_velocity]]. #+NAME: fig:psd_velocity #+HEADER: :tangle no :exports results :results value raw replace :noweb yes -#+begin_src matlab :var filepath="figs/psd_velocity.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") +#+begin_src matlab :var filepath="figs/psd_velocity.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") <> #+end_src @@ -185,6 +185,30 @@ The ASD of the measured velocity is shown on figure [[fig:psd_velocity]]. #+RESULTS: fig:psd_velocity [[file:figs/psd_velocity.png]] +We also plot the ASD in displacement (figure [[fig:asd_displacement]]); + +#+begin_src matlab :results none + figure; + hold on; + plot(f, (pxx1.*scaling./f).^2); + plot(f, (pxx2.*scaling./f).^2); + hold off; + set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); + xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]') + xlim([2, 500]); +#+end_src + +#+NAME: fig:asd_displacement +#+HEADER: :tangle no :exports results :results value raw replace :noweb yes +#+begin_src matlab :var filepath="figs/asd_displacement.pdf" :var figsize="wide-tall" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:asd_displacement +#+CAPTION: Amplitude Spectral Density of the displacement as measured by the geophones +#+RESULTS: fig:asd_displacement +[[file:figs/asd_displacement.png]] + ** Transfer function between the two geophones We here compute the transfer function from one geophone to the other. The result is shown on figure [[fig:tf_geophones]]. diff --git a/huddle-test-geophones/signal_processing.m b/huddle-test-geophones/signal_processing.m index cabafcb..64f0318 100644 --- a/huddle-test-geophones/signal_processing.m +++ b/huddle-test-geophones/signal_processing.m @@ -80,7 +80,7 @@ ylabel('Amplitude [V/(m/s)]') G0 = 60; % [dB] -G = G0/(1+s/2/pi/1000); +G = 10^(G0/20)/(1+s/2/pi/1000); @@ -88,7 +88,7 @@ G = G0/(1+s/2/pi/1000); % We further divide the result by the sensibility of the Geophone to obtain the ASD of the velocity in $m/s/\sqrt{Hz}$. -scaling = 1./squeeze(abs(freqresp(G, f, 'Hz')))./squeeze(abs(freqresp(S, f, 'Hz'))); +scaling = 1./squeeze(abs(freqresp(G*S, f, 'Hz'))); % Computation of the ASD of the velocity % The ASD of the measured velocity is shown on figure [[fig:psd_velocity]]. @@ -96,14 +96,33 @@ scaling = 1./squeeze(abs(freqresp(G, f, 'Hz')))./squeeze(abs(freqresp(S, f, 'Hz' figure; hold on; -plot(f, sqrt(pxx1)./scaling); -plot(f, sqrt(pxx2)./scaling); +plot(f, sqrt(pxx1).*scaling); +plot(f, sqrt(pxx2).*scaling); hold off; set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]') xlim([2, 500]); + + +% #+NAME: fig:psd_velocity +% #+CAPTION: Spectral density of the velocity +% #+RESULTS: fig:psd_velocity +% [[file:figs/psd_velocity.png]] + +% We also plot the ASD in displacement (figure [[fig:asd_displacement]]); + + +figure; +hold on; +plot(f, (pxx1.*scaling./f).^2); +plot(f, (pxx2.*scaling./f).^2); +hold off; +set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); +xlabel('Frequency [Hz]'); ylabel('PSD [m/s/sqrt(Hz)]') +xlim([2, 500]); + % Transfer function between the two geophones % We here compute the transfer function from one geophone to the other. % The result is shown on figure [[fig:tf_geophones]].