Update ground motion analysis
This commit is contained in:
parent
cb3f3009ed
commit
b1bbae2f8f
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 53 KiB |
Binary file not shown.
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 107 KiB |
BIN
ground-motion/figs/time_domain_displacement.png
Normal file
BIN
ground-motion/figs/time_domain_displacement.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
BIN
ground-motion/figs/time_domain_velocity.png
Normal file
BIN
ground-motion/figs/time_domain_velocity.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
@ -1,9 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
<head>
|
<head>
|
||||||
<!-- 2019-05-10 ven. 17:51 -->
|
<!-- 2020-01-28 mar. 15:01 -->
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<title>Ground Motion Measurements</title>
|
<title>Ground Motion Measurements</title>
|
||||||
@ -205,7 +206,7 @@
|
|||||||
@licstart The following is the entire license notice for the
|
@licstart The following is the entire license notice for the
|
||||||
JavaScript code in this tag.
|
JavaScript code in this tag.
|
||||||
|
|
||||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
Copyright (C) 2012-2020 Free Software Foundation, Inc.
|
||||||
|
|
||||||
The JavaScript code in this tag is free software: you can
|
The JavaScript code in this tag is free software: you can
|
||||||
redistribute it and/or modify it under the terms of the GNU
|
redistribute it and/or modify it under the terms of the GNU
|
||||||
@ -262,7 +263,10 @@ for the JavaScript code in this tag.
|
|||||||
TeX: { equationNumbers: {autoNumber: "AMS"},
|
TeX: { equationNumbers: {autoNumber: "AMS"},
|
||||||
MultLineWidth: "85%",
|
MultLineWidth: "85%",
|
||||||
TagSide: "right",
|
TagSide: "right",
|
||||||
TagIndent: ".8em"
|
TagIndent: ".8em",
|
||||||
|
Macros: {
|
||||||
|
bm: ["{\\boldsymbol #1}",1],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -280,19 +284,21 @@ for the JavaScript code in this tag.
|
|||||||
<h2>Table of Contents</h2>
|
<h2>Table of Contents</h2>
|
||||||
<div id="text-table-of-contents">
|
<div id="text-table-of-contents">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgddb7761">1. Experimental Setup</a></li>
|
<li><a href="#org5f3a483">1. Experimental Setup</a></li>
|
||||||
<li><a href="#org828fff9">2. Measurement Analysis</a>
|
<li><a href="#orgb6a54b7">2. Measurement Analysis</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#orgadf99c0">2.1. Load data</a></li>
|
<li><a href="#org4ded9a6">2.1. Load data</a></li>
|
||||||
<li><a href="#org93551bb">2.2. Time domain plots</a></li>
|
<li><a href="#orgddfc81a">2.2. Time domain plots of the measured voltage</a></li>
|
||||||
<li><a href="#orgfd0b3a8">2.3. Computation of the ASD of the measured voltage</a></li>
|
<li><a href="#orgf447e5f">2.3. Computation of the ASD of the measured voltage</a></li>
|
||||||
<li><a href="#org4d7ad21">2.4. Scaling to take into account the sensibility of the geophone and the voltage amplifier</a></li>
|
<li><a href="#org7130c8f">2.4. Scaling to take into account the sensibility of the geophone and the voltage amplifier</a></li>
|
||||||
<li><a href="#org1b04be0">2.5. Computation of the ASD of the velocity and displacement</a></li>
|
<li><a href="#org456f387">2.5. Time domain plots of the ground motion</a></li>
|
||||||
<li><a href="#orge570bf0">2.6. Comparison with other measurements of ground motion</a>
|
<li><a href="#org76df958">2.6. Computation of the ASD of the velocity and displacement</a></li>
|
||||||
|
<li><a href="#org63b1f9a">2.7. Save</a></li>
|
||||||
|
<li><a href="#orgabb922e">2.8. Comparison with other measurements of ground motion</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#org9008f38">2.6.1. Load the measurement data</a></li>
|
<li><a href="#org499997c">2.8.1. Load the measurement data</a></li>
|
||||||
<li><a href="#org906cad8">2.6.2. Compute PSD of the measurements</a></li>
|
<li><a href="#org3b715d1">2.8.2. Compute PSD of the measurements</a></li>
|
||||||
<li><a href="#orgab58013">2.6.3. Compare PSD of Cern, ID09 and ID31</a></li>
|
<li><a href="#org59b7d0c">2.8.3. Compare PSD of Cern, ID09 and ID31</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -301,8 +307,8 @@ for the JavaScript code in this tag.
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgddb7761" class="outline-2">
|
<div id="outline-container-org5f3a483" class="outline-2">
|
||||||
<h2 id="orgddb7761"><span class="section-number-2">1</span> Experimental Setup</h2>
|
<h2 id="org5f3a483"><span class="section-number-2">1</span> Experimental Setup</h2>
|
||||||
<div class="outline-text-2" id="text-1">
|
<div class="outline-text-2" id="text-1">
|
||||||
<p>
|
<p>
|
||||||
The goal here is to compare the ground motion at the location of the micro-station (ID31 beamline at ESRF) with other measurements of the ground motion.
|
The goal here is to compare the ground motion at the location of the micro-station (ID31 beamline at ESRF) with other measurements of the ground motion.
|
||||||
@ -324,11 +330,11 @@ Then the signal is amplified by a Voltage Amplifier with the following settings:
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
On figure <a href="#org3e1d768">1</a> is an overview of multiple measurements made at famous location.
|
On figure <a href="#org138fc2c">1</a> is an overview of multiple measurements made at famous location.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<div id="org3e1d768" class="figure">
|
<div id="org138fc2c" class="figure">
|
||||||
<p><img src="./img/ground_motion_measurements.png" alt="ground_motion_measurements.png" width="800px" />
|
<p><img src="./img/ground_motion_measurements.png" alt="ground_motion_measurements.png" width="800px" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 1: </span>Power spectral density of ground vibration in the vertical direction at multiple locations (<a href="https://vibration.desy.de/">source</a>)</p>
|
<p><span class="figure-number">Figure 1: </span>Power spectral density of ground vibration in the vertical direction at multiple locations (<a href="https://vibration.desy.de/">source</a>)</p>
|
||||||
@ -336,13 +342,12 @@ On figure <a href="#org3e1d768">1</a> is an overview of multiple measurements ma
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org828fff9" class="outline-2">
|
<div id="outline-container-orgb6a54b7" class="outline-2">
|
||||||
<h2 id="org828fff9"><span class="section-number-2">2</span> Measurement Analysis</h2>
|
<h2 id="orgb6a54b7"><span class="section-number-2">2</span> Measurement Analysis</h2>
|
||||||
<div class="outline-text-2" id="text-2">
|
<div class="outline-text-2" id="text-2">
|
||||||
<p>
|
<p>
|
||||||
<a id="org1ffac8a"></a>
|
<a id="org50bb0e4"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="note">
|
<div class="note">
|
||||||
<p>
|
<p>
|
||||||
All the files (data and Matlab scripts) are accessible <a href="data/ground_meas_id31.zip">here</a>.
|
All the files (data and Matlab scripts) are accessible <a href="data/ground_meas_id31.zip">here</a>.
|
||||||
@ -351,31 +356,31 @@ All the files (data and Matlab scripts) are accessible <a href="data/ground_meas
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgadf99c0" class="outline-3">
|
<div id="outline-container-org4ded9a6" class="outline-3">
|
||||||
<h3 id="orgadf99c0"><span class="section-number-3">2.1</span> Load data</h3>
|
<h3 id="org4ded9a6"><span class="section-number-3">2.1</span> Load data</h3>
|
||||||
<div class="outline-text-3" id="text-2-1">
|
<div class="outline-text-3" id="text-2-1">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">data = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_028.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; data = data.data;
|
<pre class="src src-matlab">data = load(<span class="org-string">'mat/data_028.mat'</span>, <span class="org-string">'data'</span>); data = data.data;
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org93551bb" class="outline-3">
|
<div id="outline-container-orgddfc81a" class="outline-3">
|
||||||
<h3 id="org93551bb"><span class="section-number-3">2.2</span> Time domain plots</h3>
|
<h3 id="orgddfc81a"><span class="section-number-3">2.2</span> Time domain plots of the measured voltage</h3>
|
||||||
<div class="outline-text-3" id="text-2-2">
|
<div class="outline-text-3" id="text-2-2">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
hold on;
|
hold on;
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>data<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, data<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(data(<span class="org-type">:</span>, 3), data(<span class="org-type">:</span>, 1));
|
||||||
hold off;
|
hold off;
|
||||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlabel(<span class="org-string">'Time [s]'</span>); ylabel(<span class="org-string">'Voltage [V]'</span>);
|
||||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">100</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlim([0, 100]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orga85fb0d" class="figure">
|
<div id="org62b557f" class="figure">
|
||||||
<p><img src="figs/ground_motion_id31_time.png" alt="ground_motion_id31_time.png" />
|
<p><img src="figs/ground_motion_id31_time.png" alt="ground_motion_id31_time.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 2: </span>Measurement of the ground motion - Time domain</p>
|
<p><span class="figure-number">Figure 2: </span>Measurement of the ground motion - Time domain</p>
|
||||||
@ -383,36 +388,36 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgfd0b3a8" class="outline-3">
|
<div id="outline-container-orgf447e5f" class="outline-3">
|
||||||
<h3 id="orgfd0b3a8"><span class="section-number-3">2.3</span> Computation of the ASD of the measured voltage</h3>
|
<h3 id="orgf447e5f"><span class="section-number-3">2.3</span> Computation of the ASD of the measured voltage</h3>
|
||||||
<div class="outline-text-3" id="text-2-3">
|
<div class="outline-text-3" id="text-2-3">
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">dt = data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-type">-</span> data<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">dt = data(2, 3) <span class="org-type">-</span> data(1, 3);
|
||||||
|
|
||||||
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt;
|
Fs = 1<span class="org-type">/</span>dt;
|
||||||
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
win = hanning(ceil(10<span class="org-type">*</span>Fs));
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>px_dc, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>data<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">[px_dc, f] = pwelch(data(<span class="org-type">:</span>, 1), win, [], [], Fs);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
hold on;
|
hold on;
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_dc<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(f, sqrt(px_dc));
|
||||||
hold off;
|
hold off;
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'xscale'</span>, <span class="org-string">'log'</span>);
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'yscale'</span>, <span class="org-string">'log'</span>);
|
||||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>Amplitude Spectral Density $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
|
xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="org-string">'Amplitude Spectral Density $\left[\frac{V}{\sqrt{Hz}}\right]$'</span>)
|
||||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlim([0.1, 500]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org6f3989c" class="figure">
|
<div id="org3ff16a1" class="figure">
|
||||||
<p><img src="figs/ground_motion_id31_asd_volt.png" alt="ground_motion_id31_asd_volt.png" />
|
<p><img src="figs/ground_motion_id31_asd_volt.png" alt="ground_motion_id31_asd_volt.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 3: </span>Amplitude Spectral Density of the measured Voltage</p>
|
<p><span class="figure-number">Figure 3: </span>Amplitude Spectral Density of the measured Voltage</p>
|
||||||
@ -420,23 +425,36 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org4d7ad21" class="outline-3">
|
<div id="outline-container-org7130c8f" class="outline-3">
|
||||||
<h3 id="org4d7ad21"><span class="section-number-3">2.4</span> Scaling to take into account the sensibility of the geophone and the voltage amplifier</h3>
|
<h3 id="org7130c8f"><span class="section-number-3">2.4</span> Scaling to take into account the sensibility of the geophone and the voltage amplifier</h3>
|
||||||
<div class="outline-text-3" id="text-2-4">
|
<div class="outline-text-3" id="text-2-4">
|
||||||
<p>
|
<p>
|
||||||
The Geophone used are L22. Their sensibility is shown on figure <a href="#org137d089">4</a>.
|
The Geophone used are L22. Their sensibility is shown on figure <a href="#org3a2258d">4</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">S0 = <span class="org-highlight-numbers-number">88</span>; <span class="org-comment">% Sensitivity [V/(m/s)]</span>
|
<pre class="src src-matlab">S0 = 88; <span class="org-comment">% Sensitivity [V/(m/s)]</span>
|
||||||
f0 = <span class="org-highlight-numbers-number">2</span>; <span class="org-comment">% Cut-off frequency [Hz]</span>
|
f0 = 2; <span class="org-comment">% Cut-off frequency [Hz]</span>
|
||||||
|
|
||||||
S = S0<span class="org-type">*</span><span class="org-rainbow-delimiters-depth-1">(</span>s<span class="org-type">/</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">/</span>f0<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span><span class="org-type">+</span>s<span class="org-type">/</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">/</span>f0<span class="org-rainbow-delimiters-depth-1">)</span>;
|
S = S0<span class="org-type">*</span>(s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">/</span>f0)<span class="org-type">/</span>(1<span class="org-type">+</span>s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">/</span>f0);
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">freqs = logspace(<span class="org-type">-</span>1, 2, 1000);
|
||||||
|
|
||||||
|
<span class="org-type">figure</span>;
|
||||||
|
hold on;
|
||||||
|
plot(f, abs(squeeze(freqresp(S, f, <span class="org-string">'Hz'</span>))));
|
||||||
|
hold off;
|
||||||
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'xscale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'yscale'</span>, <span class="org-string">'log'</span>);
|
||||||
|
xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="org-string">'Magnitude $\left[\frac{V}{m/s}\right]$'</span>);
|
||||||
|
xlim([0.1, 100]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org137d089" class="figure">
|
<div id="org3a2258d" class="figure">
|
||||||
<p><img src="figs/geophone_sensibility.png" alt="geophone_sensibility.png" />
|
<p><img src="figs/geophone_sensibility.png" alt="geophone_sensibility.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 4: </span>Sensibility of the Geophone</p>
|
<p><span class="figure-number">Figure 4: </span>Sensibility of the Geophone</p>
|
||||||
@ -447,169 +465,219 @@ We also take into account the gain of the electronics which is here set to be \(
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">G0_db = <span class="org-highlight-numbers-number">60</span>; <span class="org-comment">% [dB]</span>
|
<pre class="src src-matlab">G0_db = 60; <span class="org-comment">% [dB]</span>
|
||||||
|
|
||||||
G0 = <span class="org-highlight-numbers-number">10</span><span class="org-type">^</span><span class="org-rainbow-delimiters-depth-1">(</span>G0_db<span class="org-type">/</span><span class="org-highlight-numbers-number">20</span><span class="org-rainbow-delimiters-depth-1">)</span>; <span class="org-comment">% [abs]</span>
|
G0 = 10<span class="org-type">^</span>(G0_db<span class="org-type">/</span>20); <span class="org-comment">% [abs]</span>
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
We divide the ASD measured (in \(\text{V}/\sqrt{\text{Hz}}\)) by the gain of the voltage amplifier to obtain the ASD of the voltage across the geophone.
|
We divide the PSD measured (in \(\text{V^2}/\sqrt{Hz}\)) by the square of the gain of the voltage amplifier to obtain the PSD 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}\).
|
We further divide the result by the square of the magnitude of sensibility of the Geophone to obtain the PSD of the velocity in \((m/s)^2/Hz\).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">scaling = <span class="org-highlight-numbers-number">1</span><span class="org-type">./</span>squeeze<span class="org-rainbow-delimiters-depth-1">(</span>abs<span class="org-rainbow-delimiters-depth-2">(</span>freqresp<span class="org-rainbow-delimiters-depth-3">(</span>G0<span class="org-type">*</span>S, f, <span class="org-string">'Hz'</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">psd_gv = px_dc<span class="org-type">./</span>abs(squeeze(freqresp(G0<span class="org-type">*</span>S, f, <span class="org-string">'Hz'</span>)))<span class="org-type">.^</span>2;
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Finally, we obtain the PSD of the ground motion in \(m^2/Hz\) by dividing by the square of the frequency in \(rad/s\).
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">psd_gm = psd_gv<span class="org-type">./</span>(2<span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>f)<span class="org-type">.^</span>2;
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org1b04be0" class="outline-3">
|
<div id="outline-container-org456f387" class="outline-3">
|
||||||
<h3 id="org1b04be0"><span class="section-number-3">2.5</span> Computation of the ASD of the velocity and displacement</h3>
|
<h3 id="org456f387"><span class="section-number-3">2.5</span> Time domain plots of the ground motion</h3>
|
||||||
<div class="outline-text-3" id="text-2-5">
|
<div class="outline-text-3" id="text-2-5">
|
||||||
<p>
|
<p>
|
||||||
The ASD of the measured velocity is shown on figure <a href="#orgcf7bd1e">5</a>.
|
We can inverse the dynamics of the geophone to convert the measured voltage into the estimated ground motion.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">est_vel = lsim(inv(G0<span class="org-type">*</span>S)<span class="org-type">*</span>(s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span>)<span class="org-type">/</span>(1<span class="org-type">+</span>s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span>), data(<span class="org-type">:</span>, 1), data(<span class="org-type">:</span>, 3)); <span class="org-comment">% Estimated velocity above 1Hz</span>
|
||||||
|
est_vel = est_vel <span class="org-type">-</span> mean(est_vel(data(<span class="org-type">:</span>,3)<span class="org-type">></span>10)); <span class="org-comment">% The mean value of the velocity if removed</span>
|
||||||
|
est_dis = lsim(1<span class="org-type">/</span>(1<span class="org-type">+</span>s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span>), est_vel, data(<span class="org-type">:</span>, 3)); <span class="org-comment">% The velocity is integrated above 1Hz</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="org85b0910" class="figure">
|
||||||
|
<p><img src="figs/time_domain_velocity.png" alt="time_domain_velocity.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 5: </span>Time domain velocity (<a href="./figs/time_domain_velocity.png">png</a>, <a href="./figs/time_domain_velocity.pdf">pdf</a>)</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="org5dd32fd" class="figure">
|
||||||
|
<p><img src="figs/time_domain_displacement.png" alt="time_domain_displacement.png" />
|
||||||
|
</p>
|
||||||
|
<p><span class="figure-number">Figure 6: </span>Time domain absolute displacement (<a href="./figs/time_domain_displacement.png">png</a>, <a href="./figs/time_domain_displacement.pdf">pdf</a>)</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org76df958" class="outline-3">
|
||||||
|
<h3 id="org76df958"><span class="section-number-3">2.6</span> Computation of the ASD of the velocity and displacement</h3>
|
||||||
|
<div class="outline-text-3" id="text-2-6">
|
||||||
|
<p>
|
||||||
|
The ASD of the measured velocity is shown on figure <a href="#org5031b4e">7</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
hold on;
|
hold on;
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_dc<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">.*</span>scaling<span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(f, sqrt(psd_gv));
|
||||||
hold off;
|
hold off;
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'xscale'</span>, <span class="org-string">'log'</span>);
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'yscale'</span>, <span class="org-string">'log'</span>);
|
||||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Velocity $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>m<span class="org-type">/</span>s<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
|
xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="org-string">'ASD of the measured Velocity $\left[\frac{m/s}{\sqrt{Hz}}\right]$'</span>)
|
||||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlim([0.1, 500]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orgcf7bd1e" class="figure">
|
<div id="org5031b4e" class="figure">
|
||||||
<p><img src="figs/ground_motion_id31_asd_velocity.png" alt="ground_motion_id31_asd_velocity.png" />
|
<p><img src="figs/ground_motion_id31_asd_velocity.png" alt="ground_motion_id31_asd_velocity.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 5: </span>Amplitude Spectral Density of the Velocity</p>
|
<p><span class="figure-number">Figure 7: </span>Amplitude Spectral Density of the Velocity</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
We also plot the ASD in displacement (figure <a href="#orge1d92c4">6</a>);
|
We also plot the ASD in displacement (figure <a href="#org593f7fc">8</a>);
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
hold on;
|
hold on;
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, <span class="org-rainbow-delimiters-depth-2">(</span>sqrt<span class="org-rainbow-delimiters-depth-3">(</span>px_dc<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-type">.*</span>scaling<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">./</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">2</span><span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>f<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(f, sqrt(psd_gm));
|
||||||
hold off;
|
hold off;
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; set</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">gca, 'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'xscale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'yscale'</span>, <span class="org-string">'log'</span>);
|
||||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the displacement $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>m<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
|
xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="org-string">'ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$'</span>)
|
||||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlim([0.1, 500]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="orge1d92c4" class="figure">
|
<div id="org593f7fc" class="figure">
|
||||||
<p><img src="figs/ground_motion_id31_asd_displacement.png" alt="ground_motion_id31_asd_displacement.png" />
|
<p><img src="figs/ground_motion_id31_asd_displacement.png" alt="ground_motion_id31_asd_displacement.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 6: </span>Amplitude Spectral Density of the Displacement</p>
|
<p><span class="figure-number">Figure 8: </span>Amplitude Spectral Density of the Displacement</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
And we also plot the PSD of the displacement in \(\frac{{\mu u}^2}{Hz}\) as it is a usual unit used (figure <a href="#org149605d">7</a>).
|
And we also plot the PSD of the displacement in \(\frac{{\mu u}^2}{Hz}\) as it is a usual unit used (figure <a href="#orgfab6718">9</a>).
|
||||||
One can then compare this curve with the figure <a href="#org3e1d768">1</a>.
|
One can then compare this curve with the figure <a href="#org138fc2c">1</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
hold on;
|
hold on;
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-rainbow-delimiters-depth-3">(</span>sqrt<span class="org-rainbow-delimiters-depth-4">(</span>px_dc<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-type">.*</span>scaling<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-type">./</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-highlight-numbers-number">2</span><span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>f<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-type">.*</span><span class="org-highlight-numbers-number">1e6</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(f, psd_gm<span class="org-type">.*</span>1e12);
|
||||||
hold off;
|
hold off;
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'xscale'</span>, <span class="org-string">'log'</span>);
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'yscale'</span>, <span class="org-string">'log'</span>);
|
||||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>PSD of the measured displacement $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span><span class="org-rainbow-delimiters-depth-4">{</span> <span class="org-type">\</span>mu m <span class="org-rainbow-delimiters-depth-4">}</span><span class="org-type">^</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-3">}{</span>Hz<span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
|
xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="org-string">'PSD of the measured displacement $\left[\frac{{ \mu m }^2}{Hz}\right]$'</span>)
|
||||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlim([0.1, 500]); ylim([1e<span class="org-type">-</span>13, 1e3]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org149605d" class="figure">
|
<div id="orgfab6718" class="figure">
|
||||||
<p><img src="figs/ground_motion_id31_psd_displacement.png" alt="ground_motion_id31_psd_displacement.png" />
|
<p><img src="figs/ground_motion_id31_psd_displacement.png" alt="ground_motion_id31_psd_displacement.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 7: </span>Power Spectral Density of the measured displacement</p>
|
<p><span class="figure-number">Figure 9: </span>Power Spectral Density of the measured displacement</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orge570bf0" class="outline-3">
|
<div id="outline-container-org63b1f9a" class="outline-3">
|
||||||
<h3 id="orge570bf0"><span class="section-number-3">2.6</span> Comparison with other measurements of ground motion</h3>
|
<h3 id="org63b1f9a"><span class="section-number-3">2.7</span> Save</h3>
|
||||||
<div class="outline-text-3" id="text-2-6">
|
<div class="outline-text-3" id="text-2-7">
|
||||||
|
<p>
|
||||||
|
We save the PSD of the ground motion for further analysis.
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-matlab">save(<span class="org-string">'./mat/psd_gm.mat'</span>, <span class="org-string">'f'</span>, <span class="org-string">'psd_gm'</span>, <span class="org-string">'psd_gv'</span>);
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgabb922e" class="outline-3">
|
||||||
|
<h3 id="orgabb922e"><span class="section-number-3">2.8</span> Comparison with other measurements of ground motion</h3>
|
||||||
|
<div class="outline-text-3" id="text-2-8">
|
||||||
<p>
|
<p>
|
||||||
Now we will compare with other measurements.
|
Now we will compare with other measurements.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org9008f38" class="outline-4">
|
<div id="outline-container-org499997c" class="outline-4">
|
||||||
<h4 id="org9008f38"><span class="section-number-4">2.6.1</span> Load the measurement data</h4>
|
<h4 id="org499997c"><span class="section-number-4">2.8.1</span> Load the measurement data</h4>
|
||||||
<div class="outline-text-4" id="text-2-6-1">
|
<div class="outline-text-4" id="text-2-8-1">
|
||||||
<p>
|
<p>
|
||||||
First we load the measurement data.
|
First we load the measurement data.
|
||||||
Here we have one measurement of the floor motion made at the ESRF in 2018, and one measurement made at CERN.
|
Here we have one measurement of the floor motion made at the ESRF in 2018, and one measurement made at CERN.
|
||||||
</p>
|
</p>
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">id09 = load<span class="org-rainbow-delimiters-depth-1">(</span>'<span class="org-type">./</span>mat<span class="org-type">/</span>id09_floor_september2018.mat'<span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">id09 = load(<span class="org-string">'./mat/id09_floor_september2018.mat'</span>);
|
||||||
cern = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'./mat/ground_motion_dist.mat'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
cern = load(<span class="org-string">'./mat/ground_motion_dist.mat'</span>);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-org906cad8" class="outline-4">
|
<div id="outline-container-org3b715d1" class="outline-4">
|
||||||
<h4 id="org906cad8"><span class="section-number-4">2.6.2</span> Compute PSD of the measurements</h4>
|
<h4 id="org3b715d1"><span class="section-number-4">2.8.2</span> Compute PSD of the measurements</h4>
|
||||||
<div class="outline-text-4" id="text-2-6-2">
|
<div class="outline-text-4" id="text-2-8-2">
|
||||||
<p>
|
<p>
|
||||||
We compute the Power Spectral Densities of the measurements.
|
We compute the Power Spectral Densities of the measurements.
|
||||||
</p>
|
</p>
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">Fs_id09 = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span>id09.time3<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">-</span>id09.time3<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">Fs_id09 = 1<span class="org-type">/</span>(id09.time3(2)<span class="org-type">-</span>id09.time3(1));
|
||||||
win_id09 = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs_id09<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
win_id09 = hanning(ceil(10<span class="org-type">*</span>Fs_id09));
|
||||||
<span class="org-rainbow-delimiters-depth-1">[</span>id09_pxx, id09_f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1e</span><span class="org-type">-</span><span class="org-highlight-numbers-number">6</span><span class="org-type">*</span>id09.x_y_z<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">)</span>, win_id09, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs_id09<span class="org-rainbow-delimiters-depth-1">)</span>;
|
[id09_pxx, id09_f] = pwelch(1e<span class="org-type">-</span>6<span class="org-type">*</span>id09.x_y_z(<span class="org-type">:</span>, 3), win_id09, [], [], Fs_id09);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab">Fs_cern = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span><span class="org-rainbow-delimiters-depth-1">(</span>cern.gm.time<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">-</span>cern.gm.time<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<pre class="src src-matlab">Fs_cern = 1<span class="org-type">/</span>(cern.gm.time(2)<span class="org-type">-</span>cern.gm.time(1));
|
||||||
win_cern = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs_cern<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
win_cern = hanning(ceil(10<span class="org-type">*</span>Fs_cern));
|
||||||
<span class="org-rainbow-delimiters-depth-1">[</span>cern_pxx, cern_f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>cern.gm.signal, win_cern, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs_cern<span class="org-rainbow-delimiters-depth-1">)</span>;
|
[cern_pxx, cern_f] = pwelch(cern.gm.signal, win_cern, [], [], Fs_cern);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="outline-container-orgab58013" class="outline-4">
|
<div id="outline-container-org59b7d0c" class="outline-4">
|
||||||
<h4 id="orgab58013"><span class="section-number-4">2.6.3</span> Compare PSD of Cern, ID09 and ID31</h4>
|
<h4 id="org59b7d0c"><span class="section-number-4">2.8.3</span> Compare PSD of Cern, ID09 and ID31</h4>
|
||||||
<div class="outline-text-4" id="text-2-6-3">
|
<div class="outline-text-4" id="text-2-8-3">
|
||||||
<p>
|
<p>
|
||||||
And we compare all the measurements (figure <a href="#org2a2b94e">8</a>).
|
And we compare all the measurements (figure <a href="#orgfc63def">10</a>).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="org-src-container">
|
<div class="org-src-container">
|
||||||
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
<pre class="src src-matlab"><span class="org-type">figure</span>;
|
||||||
hold on;
|
hold on;
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>id09_f, id09_pxx, <span class="org-string">'DisplayName', '</span>ID09'<span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(id09_f, id09_pxx, <span class="org-string">'DisplayName'</span>, <span class="org-string">'ID09'</span>);
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>cern_f, cern_pxx, <span class="org-string">'DisplayName', 'CERN'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(cern_f, cern_pxx, <span class="org-string">'DisplayName'</span>, <span class="org-string">'CERN'</span>);
|
||||||
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-rainbow-delimiters-depth-3">(</span>sqrt<span class="org-rainbow-delimiters-depth-4">(</span>px_dc<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-type">.*</span>scaling<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-type">./</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-highlight-numbers-number">2</span><span class="org-type">*</span><span class="org-constant">pi</span><span class="org-type">*</span>f<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-type">.^</span><span class="org-highlight-numbers-number">2</span>, <span class="org-string">'k', 'DisplayName', 'ID31'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
plot(f, psd_gm, <span class="org-string">'k'</span>, <span class="org-string">'DisplayName'</span>, <span class="org-string">'ID31'</span>);
|
||||||
hold off;
|
hold off;
|
||||||
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'XScale', 'log'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; set</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">gca, 'YScale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'XScale'</span>, <span class="org-string">'log'</span>); <span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'YScale'</span>, <span class="org-string">'log'</span>);
|
||||||
xlabel<span class="org-rainbow-delimiters-depth-1">(</span>'Frequency <span class="org-rainbow-delimiters-depth-2">[</span>Hz<span class="org-rainbow-delimiters-depth-2">]</span>'<span class="org-rainbow-delimiters-depth-1">)</span>; ylabel<span class="org-rainbow-delimiters-depth-1">(</span>'PSD <span class="org-rainbow-delimiters-depth-2">[</span>$m<span class="org-type">^</span><span class="org-highlight-numbers-number">2</span><span class="org-type">/</span>Hz$<span class="org-rainbow-delimiters-depth-2">]</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlabel(<span class="org-string">'Frequency [Hz]'</span>); ylabel(<span class="org-string">'PSD [$m^2/Hz$]'</span>);
|
||||||
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
legend(<span class="org-string">'Location'</span>, <span class="org-string">'northeast'</span>);
|
||||||
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
xlim([0.1, 500]);
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="org2a2b94e" class="figure">
|
<div id="orgfc63def" class="figure">
|
||||||
<p><img src="figs/ground_motion_compare.png" alt="ground_motion_compare.png" />
|
<p><img src="figs/ground_motion_compare.png" alt="ground_motion_compare.png" />
|
||||||
</p>
|
</p>
|
||||||
<p><span class="figure-number">Figure 8: </span>Comparison of the PSD of the ground motion measured at different location</p>
|
<p><span class="figure-number">Figure 10: </span>Comparison of the PSD of the ground motion measured at different location</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -618,8 +686,7 @@ xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbo
|
|||||||
</div>
|
</div>
|
||||||
<div id="postamble" class="status">
|
<div id="postamble" class="status">
|
||||||
<p class="author">Author: Dehaeze Thomas</p>
|
<p class="author">Author: Dehaeze Thomas</p>
|
||||||
<p class="date">Created: 2019-05-10 ven. 17:51</p>
|
<p class="date">Created: 2020-01-28 mar. 15:01</p>
|
||||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -74,11 +74,11 @@ On figure [[fig:ground_motion_measurements]] is an overview of multiple measurem
|
|||||||
|
|
||||||
** Matlab Init :noexport:ignore:
|
** Matlab Init :noexport:ignore:
|
||||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||||
<<matlab-dir>>
|
<<matlab-dir>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent :noweb yes
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
<<matlab-init>>
|
<<matlab-init>>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Load data
|
** Load data
|
||||||
@ -86,7 +86,7 @@ On figure [[fig:ground_motion_measurements]] is an overview of multiple measurem
|
|||||||
data = load('mat/data_028.mat', 'data'); data = data.data;
|
data = load('mat/data_028.mat', 'data'); data = data.data;
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Time domain plots
|
** Time domain plots of the measured voltage
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
@ -151,10 +151,16 @@ The Geophone used are L22. Their sensibility is shown on figure [[fig:geophone_s
|
|||||||
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
|
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab :results none :exports none
|
#+begin_src matlab :results none
|
||||||
|
freqs = logspace(-1, 2, 1000);
|
||||||
|
|
||||||
figure;
|
figure;
|
||||||
bodeFig({S}, logspace(-1, 2, 1000));
|
hold on;
|
||||||
ylabel('Amplitude $\left[\frac{V}{m/s}\right]$')
|
plot(f, abs(squeeze(freqresp(S, f, 'Hz'))));
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
|
xlabel('Frequency [Hz]'); ylabel('Magnitude $\left[\frac{V}{m/s}\right]$');
|
||||||
|
xlim([0.1, 100]);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+NAME: fig:geophone_sensibility
|
#+NAME: fig:geophone_sensibility
|
||||||
@ -176,20 +182,70 @@ We also take into account the gain of the electronics which is here set to be $6
|
|||||||
G0 = 10^(G0_db/20); % [abs]
|
G0 = 10^(G0_db/20); % [abs]
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
We divide the ASD measured (in $\text{V}/\sqrt{\text{Hz}}$) by the gain of the voltage amplifier to obtain the ASD of the voltage across the geophone.
|
We divide the PSD measured (in $\text{V^2}/\sqrt{Hz}$) by the square of the gain of the voltage amplifier to obtain the PSD 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}$.
|
We further divide the result by the square of the magnitude of sensibility of the Geophone to obtain the PSD of the velocity in $(m/s)^2/Hz$.
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
#+begin_src matlab :results none
|
||||||
scaling = 1./squeeze(abs(freqresp(G0*S, f, 'Hz')));
|
psd_gv = px_dc./abs(squeeze(freqresp(G0*S, f, 'Hz'))).^2;
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Finally, we obtain the PSD of the ground motion in $m^2/Hz$ by dividing by the square of the frequency in $rad/s$.
|
||||||
|
#+begin_src matlab
|
||||||
|
psd_gm = psd_gv./(2*pi*f).^2;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Time domain plots of the ground motion
|
||||||
|
We can inverse the dynamics of the geophone to convert the measured voltage into the estimated ground motion.
|
||||||
|
|
||||||
|
#+begin_src matlab
|
||||||
|
est_vel = lsim(inv(G0*S)*(s/2/pi)/(1+s/2/pi), data(:, 1), data(:, 3)); % Estimated velocity above 1Hz
|
||||||
|
est_vel = est_vel - mean(est_vel(data(:,3)>10)); % The mean value of the velocity if removed
|
||||||
|
est_dis = lsim(1/(1+s/2/pi), est_vel, data(:, 3)); % The velocity is integrated above 1Hz
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(data(:, 3), est_vel);
|
||||||
|
hold off;
|
||||||
|
xlabel('Time [s]'); ylabel('Velocity [m/s]');
|
||||||
|
xlim([10, 100]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+HEADER: :tangle no :exports results :results none :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/time_domain_velocity.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:time_domain_velocity
|
||||||
|
#+CAPTION: Time domain velocity ([[./figs/time_domain_velocity.png][png]], [[./figs/time_domain_velocity.pdf][pdf]])
|
||||||
|
[[file:figs/time_domain_velocity.png]]
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
figure;
|
||||||
|
hold on;
|
||||||
|
plot(data(:, 3), est_dis);
|
||||||
|
hold off;
|
||||||
|
xlabel('Time [s]'); ylabel('Displacement [m]');
|
||||||
|
xlim([10, 100]);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+HEADER: :tangle no :exports results :results none :noweb yes
|
||||||
|
#+begin_src matlab :var filepath="figs/time_domain_displacement.pdf" :var figsize="wide-normal" :post pdf2svg(file=*this*, ext="png")
|
||||||
|
<<plt-matlab>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+NAME: fig:time_domain_displacement
|
||||||
|
#+CAPTION: Time domain absolute displacement ([[./figs/time_domain_displacement.png][png]], [[./figs/time_domain_displacement.pdf][pdf]])
|
||||||
|
[[file:figs/time_domain_displacement.png]]
|
||||||
|
|
||||||
** Computation of the ASD of the velocity and displacement
|
** Computation of the ASD of the velocity and displacement
|
||||||
The ASD of the measured velocity is shown on figure [[fig:ground_motion_id31_asd_velocity]].
|
The ASD of the measured velocity is shown on figure [[fig:ground_motion_id31_asd_velocity]].
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
#+begin_src matlab :results none
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, sqrt(px_dc).*scaling);
|
plot(f, sqrt(psd_gv));
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
set(gca, 'yscale', 'log');
|
set(gca, 'yscale', 'log');
|
||||||
@ -209,11 +265,10 @@ The ASD of the measured velocity is shown on figure [[fig:ground_motion_id31_asd
|
|||||||
[[file:figs/ground_motion_id31_asd_velocity.png]]
|
[[file:figs/ground_motion_id31_asd_velocity.png]]
|
||||||
|
|
||||||
We also plot the ASD in displacement (figure [[fig:ground_motion_id31_asd_displacement]]);
|
We also plot the ASD in displacement (figure [[fig:ground_motion_id31_asd_displacement]]);
|
||||||
|
|
||||||
#+begin_src matlab :results none
|
#+begin_src matlab :results none
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, (sqrt(px_dc).*scaling)./(2*pi*f));
|
plot(f, sqrt(psd_gm));
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$')
|
xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$')
|
||||||
@ -237,12 +292,12 @@ One can then compare this curve with the figure [[fig:ground_motion_measurements
|
|||||||
#+begin_src matlab :results none
|
#+begin_src matlab :results none
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, ((sqrt(px_dc).*scaling)./(2*pi*f).*1e6).^2);
|
plot(f, psd_gm.*1e12);
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
set(gca, 'yscale', 'log');
|
set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD of the measured displacement $\left[\frac{{ \mu m }^2}{Hz}\right]$')
|
xlabel('Frequency [Hz]'); ylabel('PSD of the measured displacement $\left[\frac{{ \mu m }^2}{Hz}\right]$')
|
||||||
xlim([0.1, 500]);
|
xlim([0.1, 500]); ylim([1e-13, 1e3]);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+NAME: fig:ground_motion_id31_psd_displacement
|
#+NAME: fig:ground_motion_id31_psd_displacement
|
||||||
@ -256,6 +311,12 @@ One can then compare this curve with the figure [[fig:ground_motion_measurements
|
|||||||
#+RESULTS: fig:ground_motion_id31_psd_displacement
|
#+RESULTS: fig:ground_motion_id31_psd_displacement
|
||||||
[[file:figs/ground_motion_id31_psd_displacement.png]]
|
[[file:figs/ground_motion_id31_psd_displacement.png]]
|
||||||
|
|
||||||
|
** Save
|
||||||
|
We save the PSD of the ground motion for further analysis.
|
||||||
|
#+begin_src matlab
|
||||||
|
save('./mat/psd_gm.mat', 'f', 'psd_gm', 'psd_gv');
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Comparison with other measurements of ground motion
|
** Comparison with other measurements of ground motion
|
||||||
Now we will compare with other measurements.
|
Now we will compare with other measurements.
|
||||||
|
|
||||||
@ -289,8 +350,7 @@ And we compare all the measurements (figure [[fig:ground_motion_compare]]).
|
|||||||
hold on;
|
hold on;
|
||||||
plot(id09_f, id09_pxx, 'DisplayName', 'ID09');
|
plot(id09_f, id09_pxx, 'DisplayName', 'ID09');
|
||||||
plot(cern_f, cern_pxx, 'DisplayName', 'CERN');
|
plot(cern_f, cern_pxx, 'DisplayName', 'CERN');
|
||||||
plot(f, ((sqrt(px_dc).*scaling)./(2*pi*f)).^2, 'k', 'DisplayName', 'ID31');
|
plot(f, psd_gm, 'k', 'DisplayName', 'ID31');
|
||||||
plot(f, px_disp);
|
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD [$m^2/Hz$]');
|
xlabel('Frequency [Hz]'); ylabel('PSD [$m^2/Hz$]');
|
||||||
|
BIN
ground-motion/mat/psd_gm.mat
Normal file
BIN
ground-motion/mat/psd_gm.mat
Normal file
Binary file not shown.
@ -44,9 +44,15 @@ f0 = 2; % Cut-off frequency [Hz]
|
|||||||
|
|
||||||
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
|
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
|
||||||
|
|
||||||
|
freqs = logspace(-1, 2, 1000);
|
||||||
|
|
||||||
figure;
|
figure;
|
||||||
bodeFig({S}, logspace(-1, 2, 1000));
|
hold on;
|
||||||
ylabel('Amplitude $\left[\frac{V}{m/s}\right]$')
|
plot(f, abs(squeeze(freqresp(S, f, 'Hz'))));
|
||||||
|
hold off;
|
||||||
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
|
xlabel('Frequency [Hz]'); ylabel('Magnitude $\left[\frac{V}{m/s}\right]$');
|
||||||
|
xlim([0.1, 100]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -64,19 +70,25 @@ G0 = 10^(G0_db/20); % [abs]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
% We divide the ASD measured (in $\text{V}/\sqrt{\text{Hz}}$) by the gain of the voltage amplifier to obtain the ASD of the voltage across the geophone.
|
% We divide the PSD measured (in $\text{V^2}/\sqrt{Hz}$) by the square of the gain of the voltage amplifier to obtain the PSD 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}$.
|
% We further divide the result by the square of the magnitude of sensibility of the Geophone to obtain the PSD of the velocity in $(m/s)^2/Hz$.
|
||||||
|
|
||||||
|
|
||||||
scaling = 1./squeeze(abs(freqresp(G0*S, f, 'Hz')));
|
psd_gv = px_dc./abs(squeeze(freqresp(G0*S, f, 'Hz'))).^2;
|
||||||
|
|
||||||
% Computation of the ASD of the velocity
|
|
||||||
|
|
||||||
|
% Finally, we obtain the PSD of the ground motion in $m^2/Hz$ by dividing by the square of the frequency in $rad/s$.
|
||||||
|
|
||||||
|
psd_gm = psd_gv./(2*pi*f).^2;
|
||||||
|
|
||||||
|
% Computation of the ASD of the velocity and displacement
|
||||||
% The ASD of the measured velocity is shown on figure [[fig:ground_motion_id31_asd_velocity]].
|
% The ASD of the measured velocity is shown on figure [[fig:ground_motion_id31_asd_velocity]].
|
||||||
|
|
||||||
|
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, sqrt(px_dc).*scaling);
|
plot(f, sqrt(psd_gv));
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
set(gca, 'yscale', 'log');
|
set(gca, 'yscale', 'log');
|
||||||
@ -92,10 +104,9 @@ xlim([0.1, 500]);
|
|||||||
|
|
||||||
% We also plot the ASD in displacement (figure [[fig:ground_motion_id31_asd_displacement]]);
|
% We also plot the ASD in displacement (figure [[fig:ground_motion_id31_asd_displacement]]);
|
||||||
|
|
||||||
|
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, (sqrt(px_dc).*scaling)./(2*pi*f));
|
plot(f, sqrt(psd_gm));
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$')
|
xlabel('Frequency [Hz]'); ylabel('ASD of the displacement $\left[\frac{m}{\sqrt{Hz}}\right]$')
|
||||||
@ -107,16 +118,24 @@ xlim([0.1, 500]);
|
|||||||
% #+CAPTION: Amplitude Spectral Density of the Displacement
|
% #+CAPTION: Amplitude Spectral Density of the Displacement
|
||||||
% #+RESULTS: fig:ground_motion_id31_asd_displacement
|
% #+RESULTS: fig:ground_motion_id31_asd_displacement
|
||||||
% [[file:figs/ground_motion_id31_asd_displacement.png]]
|
% [[file:figs/ground_motion_id31_asd_displacement.png]]
|
||||||
% And also in $\frac{{\mu u}^2}{Hz}$ (figure [[fig:ground_motion_id31_psd_displacement]]).
|
|
||||||
|
% And we also plot the PSD of the displacement in $\frac{{\mu u}^2}{Hz}$ as it is a usual unit used (figure [[fig:ground_motion_id31_psd_displacement]]).
|
||||||
|
% One can then compare this curve with the figure [[fig:ground_motion_measurements]].
|
||||||
|
|
||||||
|
|
||||||
figure;
|
figure;
|
||||||
hold on;
|
hold on;
|
||||||
plot(f, ((sqrt(px_dc).*scaling)./(2*pi*f).*1e6).^2);
|
plot(f, psd_gm.*1e12);
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'xscale', 'log');
|
set(gca, 'xscale', 'log');
|
||||||
set(gca, 'yscale', 'log');
|
set(gca, 'yscale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD of the measured displacement $\left[\frac{{ \mu m }^2}{Hz}\right]$')
|
xlabel('Frequency [Hz]'); ylabel('PSD of the measured displacement $\left[\frac{{ \mu m }^2}{Hz}\right]$')
|
||||||
xlim([0.1, 500]);
|
xlim([0.1, 500]); ylim([1e-13, 1e3]);
|
||||||
|
|
||||||
|
% Save
|
||||||
|
% We save the PSD of the ground motion for further analysis.
|
||||||
|
|
||||||
|
save('./mat/psd_gm', 'f', 'psd_gm');
|
||||||
|
|
||||||
% Load the measurement data
|
% Load the measurement data
|
||||||
% First we load the measurement data.
|
% First we load the measurement data.
|
||||||
@ -144,7 +163,7 @@ figure;
|
|||||||
hold on;
|
hold on;
|
||||||
plot(id09_f, id09_pxx, 'DisplayName', 'ID09');
|
plot(id09_f, id09_pxx, 'DisplayName', 'ID09');
|
||||||
plot(cern_f, cern_pxx, 'DisplayName', 'CERN');
|
plot(cern_f, cern_pxx, 'DisplayName', 'CERN');
|
||||||
plot(f, ((sqrt(px_dc).*scaling)./(2*pi*f)).^2, 'k', 'DisplayName', 'ID31');
|
plot(f, psd_gm, 'k', 'DisplayName', 'ID31');
|
||||||
hold off;
|
hold off;
|
||||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||||
xlabel('Frequency [Hz]'); ylabel('PSD [$m^2/Hz$]');
|
xlabel('Frequency [Hz]'); ylabel('PSD [$m^2/Hz$]');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user