Update ground motion analysis
This commit is contained in:
@@ -44,9 +44,15 @@ f0 = 2; % Cut-off frequency [Hz]
|
||||
|
||||
S = S0*(s/2/pi/f0)/(1+s/2/pi/f0);
|
||||
|
||||
freqs = logspace(-1, 2, 1000);
|
||||
|
||||
figure;
|
||||
bodeFig({S}, logspace(-1, 2, 1000));
|
||||
ylabel('Amplitude $\left[\frac{V}{m/s}\right]$')
|
||||
hold on;
|
||||
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 further divide the result by the sensibility of the Geophone to obtain the ASD of the velocity in $m/s/\sqrt{Hz}$.
|
||||
% 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 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]].
|
||||
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, sqrt(px_dc).*scaling);
|
||||
plot(f, sqrt(psd_gv));
|
||||
hold off;
|
||||
set(gca, 'xscale', '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]]);
|
||||
|
||||
|
||||
figure;
|
||||
hold on;
|
||||
plot(f, (sqrt(px_dc).*scaling)./(2*pi*f));
|
||||
plot(f, sqrt(psd_gm));
|
||||
hold off;
|
||||
set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log');
|
||||
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
|
||||
% #+RESULTS: fig:ground_motion_id31_asd_displacement
|
||||
% [[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;
|
||||
hold on;
|
||||
plot(f, ((sqrt(px_dc).*scaling)./(2*pi*f).*1e6).^2);
|
||||
plot(f, psd_gm.*1e12);
|
||||
hold off;
|
||||
set(gca, 'xscale', 'log');
|
||||
set(gca, 'yscale', 'log');
|
||||
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
|
||||
% First we load the measurement data.
|
||||
@@ -144,7 +163,7 @@ figure;
|
||||
hold on;
|
||||
plot(id09_f, id09_pxx, 'DisplayName', 'ID09');
|
||||
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;
|
||||
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
|
||||
xlabel('Frequency [Hz]'); ylabel('PSD [$m^2/Hz$]');
|
||||
|
Reference in New Issue
Block a user