I am working with seismic waveforms and more specifically with a stack of years of daily seismograms, that I would call the reference waveform. I am trying to calculate the SNR for each daily waveforms by using the envelope of the reference, but I have doubts on how I should calculate the noise. Concretely, I am trying to reproduce what was done in this paper (page 8).

I believe It should be simple, but I have poor basics in signal processing and struggle with notations.

enter image description here

  • $\begingroup$ Welcome to DSP.SE! Interesting question. I've included a screen capture from the paper. Let's see if we can get you an answer. $\endgroup$
    – Peter K.
    Sep 4, 2015 at 13:32

1 Answer 1


Based on this section of the paper:

enter image description here

Here is my attempt at doing a calculation like that.

enter image description here

The plot above shows three plots:

  • The average of the dailies (in green) and all the daily data (in black).
  • The function $\sigma$ calculated from the dailies.
  • The SNR calculated from $\sigma$ and the dailies.

Scilab code for what I did is below.

// 25624
Tdata = 33;
stack_average = wfir("hp",Tdata,[.3 0],"hm",[0 0]);

Ndays = 30;

ccs = zeros(Ndays,Tdata);

for k=1:Ndays,
    ccs(k,:) =  stack_average + 0.05*rand(1,Tdata,'norm').*window('hm', Tdata);

xtitle('$\mbox{All } cc \mbox{ in black and } <cc> \mbox{ in green}$')

sigma_N_t = sqrt((mean(ccs.^2,'r') - mean(ccs,'r').^2)/(Ndays-1));
s_N_t = abs(hilbert(mean(ccs,'r')));
SNR_N_t = s_N_t ./ sigma_N_t;

xtitle('$\mbox{\rm Level of noise,}\ \sigma$')

plot(s_N_t, 'r')
xtitle('$\mbox{\rm Signal to noise ratio,}\ SNR$')
  • 1
    $\begingroup$ Thanks for your answer, it made things clearer. I was mostly worried with the example because there is no way for me to have such a "smooth" result even with a similar cosine smoothing. $\endgroup$
    – SeisMike
    Sep 6, 2015 at 16:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.