Closed damb closed 3 years ago
Note that this approach is even required and valid, if pick offset alignment based cross-correlation is going to be implemented.
Not sure i understand this. By how much do you move the time window after calculating a cross correlation score: by one sample? And: are you preparing the stream once for multiple templates?
Not sure i understand this. By how much do you move the time window after calculating a cross correlation score: by one sample?
OT: Implementations of Seiscomp::Core::StreamApplication
receive records. Usually a record contains more than just a single sample. Currently, scdetect
moves the time window as far as possible. An overall score/fit is computed for a time window (which may include just a single sample - though, in general hundreds of samples are involved).
And: are you preparing the stream once for multiple templates?
OT: No. See also #7.
For cross-correlation based earthquake detection, an earthquake is unambiguously identified by
n
andm
, the relative pick offset is denotedoffset_{nm} = t_n^{pick} - t_m^{pick}
, witht_n^{pick} >= t_m^{pick}
.As already mentioned in #10, cross-correlation is performed based on a unique time window without taking the relative pick offsets into consideration i.e.
In particular, this means that the fit is computed based on the waveforms within a common time window
[t^{start_i}, t^{end_i}]
, exclusively. However, given thatt_n^{pick} >= t_m^{pick}
, and there is a match for templatem
(on streamm
) in the time window[t^{start_{i-1}}, t^{end_{i-1}}]
such that, then there is most probably no match for template
n
(on streamn
) in the corresponding time window, but in the subsequent one i.e.[t^{start_i}, t^{end_i}]
. That is, an event might not be fully contained in a single cross-correlation time window, but in several subsequent time windows. Such events which are part of multiple cross-correlation time windows are not detected by the current implementation.To fix this, a
Detector
instance must keep track of thet_j^{theoretical_pick}
(theoretical pick time for any streamj
) as long as they might be considered as still valid.