Analisi di un Segnale Sismico

 

Terremoto di Bovec, Slovenia (12.4.1998) registrato dall'universitÓ di Trieste. I valori di ampiezza rappresentano la componente verticale della velocitÓ del suolo. Durata 500 s. Frequenza di campionamento 100 Hz. Si vedono arrivi P, S ed il decadimento della coda.

 

fig1.gif (3900 bytes)  

╗ load bovec.txt

╗ plot((1:50000)/100,bovec)

╗ xlabel('Tempo (s)')

╗ ylabel('Ampiezza')

 

 

La media del segnale calcolata con il comando ╗ mean(bovec) vale -4.8517e-7 ed essendo prossima a zero non viene sottratta ai campioni.

 

L’istante con il "primo arrivo" viene stimato tra i 220 s e i 224 s.

 

fig2.gif (9717 bytes)  

╗plot((22000:23000)/100,bovec(22000:23000))

╗ grid

╗ xlabel('Tempo (s)')

╗ ylabel('Ampiezza')

 

 

Estraiamo ora i primi 220 s della sequenza contente solo rumore.

 

fig3.gif (8802 bytes)  

╗ rumore = bovec(1:22000);

╗ plot((1:22000)/100,rumore)

╗ axis([-Inf Inf -1e-4 1e-4])

╗ xlabel('Tempo (s)')

╗ ylabel('Ampiezza')

 

Lo spettro di ampiezza del rumore Ŕ il seguente. Le linee spettrali che si osservano derivano da fenomeni di disturbo

con frequenza ben definita.

 

fig4.gif (4129 bytes)  

╗ SPrumore = abs(fft(rumore));

╗plot((1:11000)/220,SPrumore(1:11000))

╗ xlabel('Frequenza (Hz)')

╗ ylabel('Ampiezza')

 

Evidenziamo ora la sottosequenza a partire dall’istante 222 s fino a 300 s contenente la registrazione del terremoto e calcoliamo la sua autocorrelazione.

 

fig6.gif (7527 bytes)  

╗ sisma = bovec(22201:30000);

╗ plot((22201:30000)/100,sisma)

╗ xlabel('Tempo (s)')

╗ ylabel('Ampiezza')

fig7.gif (4106 bytes)  

╗ autocorrsisma = xcorr(sisma,'coeff');

╗ plot((-7799:7799),autocorrsisma)

╗ axis([-8000 8000 -0.4 1.2])

 

 

L’analisi dello spettro di ampiezza di tutto il segnale (50000 campioni) limitato ai primi 50 Hz evidenzia un picco attorno ai 2 Hz dovuto alla banda passante dello strumento, ed un altro attorno ai 4 Hz tipico del fenomeno sismico nel caso in esame.

 

fig8.gif (5456 bytes)  

╗ SPbovec = abs(fft(bovec));

╗plot((1:25000)/500,SPbovec(1:25000))

╗ grid

╗ xlabel('Frequenza (Hz)')

╗ ylabel('Ampiezza')