Hi Thomas,
Thanks again for your information. I have already added 1bit
normalization by myself and am checking if it maked any differences or
not (or, whether I made any mistakes or not). So far, changes between on
& off 1 bit normalizations are subtle except for some combinations of
stations. I will let you know if I find anything on this.
Also, thank you very much for your application of additional signal
processing to avoid frequency leakage. That helps me to understand your
code. As for difference of amplitude, I also find slight difference
between your MSNoise and Florent's system on cirteria around RMS. I will
let you know if it make systematic difference of amplitude of not.
Sincerely,
Run
(11/11/14 1:24 PM), Thomas Lecocq wrote:
Hello Run,
Le 4/11/2014 11:01, Kohtaro R. Araragi a e'crit :
Hi Thomas,
I have a quick question for you. Do you apply 1 bit normalization
(Bensen et al., 2007, GJI) at MSNoise?
No, only 3*RMS clipping (windsorization)
for each window.
I have been looking for your documentation and
MSNoise code, but I
could not find or I may not understand your code well.
At least, I can find that you apply similar processes around
"Pre-Whitening Traces"(below). If you actually do not apply 1 bit
normalization, should I apply by myself or do you intend to add it to
regular MSNoise package?
If I just misunderstand your code, I'm sorry and appreciate if you
clarify this part.
FYI, as long as I compare output from MSNoise and Florent's system,
they match very well if we analyze data that do not have many
earthquakes (attached picture below. Blue line from MSNoise, Red line
from Florent's system).
Are you using MSNoise:master or MSNoise:releases:1.2.5 form github ?
The master contains a bug correction in the maths of the whiten
function, which changes the output slightly (but is correct !!). BTW,
I also observed that my MSNoise shows more amplitude (but hopefully
same phase) as Florent's matlab edition. This is because I care a
little more about the signal processing (cos tapering windows, etc...,
to avoid frequency leakage, ....etc)... :-) :-)
Best
Thomas
Thanks in advance,
Run
--
logging.info("Pre-Whitening Traces")
whitened_slices = np.zeros((len(stations), len(get_filters(db, all=False)),
tranches, int(Nfft)), dtype=np.complex)
for istation, station in enumerate(stations):
for itranche in range(tranches):
tmp = tramef_Z[istation, itranche * int(min30):(itranche + 1) *
int(min30)]
rmsmat = np.std(np.abs(tmp))
indexes = np.where(
np.abs(tmp) > (windsorizing * rmsmat))[0]
tmp[indexes] = (tmp[indexes] / np.abs(
tmp[indexes])) * windsorizing * rmsmat
tmp *= cp
for ifilter, filter in enumerate(get_filters(db, all=False)):
whitened_slices[istation, ifilter, itranche,:] = whiten(tmp,
Nfft, dt, float(filter.low), float(filter.high), plot=False)
del tmp
del tramef_Z
____________________________________________________
K. Run Araragi
PhD studnet/M.Sc.
ISTerre, France &
Earthquake Research Institute
1-1-1 Yayoi, Bunkyo-ku
Tokyo, Japan 113-0032
Skype name: kalessinlord
Tel: 81-3-5841-5697
Cel: 81-90-1166-3091
33-970-461-805
mail:kohtaro.araragi@ujf-grenoble.fr
____________________________________________________
--
____________________________________________________
K. Run Araragi
PhD studnet/M.Sc.
ISTerre, France &
Earthquake Research Institute
1-1-1 Yayoi, Bunkyo-ku
Tokyo, Japan 113-0032
Skype name: kalessinlord
Tel: 81-3-5841-5697
Cel: 81-90-1166-3091
33-970-461-805
mail:kohtaro.araragi@ujf-grenoble.fr
____________________________________________________