The study of a certain characteristic function effectiveness as a precise and accurate arrival-time picker can be developed though the use of synthetic wavelets with or without synthetic noise. In this post the Berlage wavelet will be presented as a suitable function to represent arrivals recorded by geophones.
Disclaimer:
1- The example code can be download from the folder ‘Chap3-ES-CF’ of my PhD-PostDoc GitHub repository
1-INTRODUCTION
The study of the effectiveness of the kurtosis derivative as a arrival-time picker was previsouly developed using the Ricker wavelet (Atila Paes’ Ph.D. thesis). Despite its amplitude, the Ricker wavelet has the advantage of using a single parameter (main frequency) for generating the waveform which drastically simplifies the precision and accuracy studies. However, it is a zero phase wavelet (i.e., a symmetrical wavelet), which does not correspond to the best fit of real data recorded by geophones. A more accurate model can be developed by the use of minimum phase wavelets, where the maximum amount of energy is as close to the start of the wavelet as possible.
2-METHODS
The Berlage wavelet (Berlage, 1932) is defined by
where t is time, f0 is the oscillation frequency, and A, n, alpha, and phi0 are the adjusting parameters. The two exponential factors (alpha and n) are considered non-negative real constants. Usually, n is assumed as an integer to simplify the analysis.
H(t) is the Heavyside step function, defined by
The Berlage wavelet is very useful for seismic modeling due its several time-domain attributes. Its properties include being causal and continuously differentiable (to at least order [n-1]). A proper selection of the parameter values allows a waveform shape similar to the recorded seismic wavelets, which is known as `cycle and a half and not much more’ (Aldridge1990).
4-CODE MODELLING
The following function generates two vectors (time and the Berlage wavelet). Plotting is optional.
import numpy
import matplotlib.pyplot as plt
def berlage(f,length,dt,A,n,alpha,phi,plot=True):
"""
This function generates A Berlage wavelet
It returns two vectors. The time and the Berlage wavelet
It models the function:
A*H(t)*T^n*exp(-alpha*t)*cos(2.Pi*f0*t+phi)
-----------------------------------------------
f : float
Oscillation frequency
length : int
vector length in seconds
Will be centered aroung zero
dt : float
time sampling
A : float
wave amplitude
n : float (but usually a positive constant)
alpha : float (nonnegative real cte)
Decay factor
phi : float
phase
Returns
-------
vector : (N,) ndarray
Array of length `points` in shape of ricker curve.
"""
t=numpy.arange(-length/2,length/2,dt)
H=numpy.heaviside(t,0)
w=numpy.zeros(int(length/dt))
for index_t in range(len(w)):
w[index_t]=A*H[index_t]*((t[index_t])**n)*numpy.exp(-alpha*t[index_t])*numpy.cos(2*numpy.pi*f*t[index_t]+phi)
if plot==True:
plt.plot(t,w,'.-')
return t, w
t,w=berlage(f=50,length=0.1,dt=0.002,A=100000,n=2,alpha=100,phi=-numpy.pi/2)
Using the following parameters
t,w=berlage(f=50,length=0.1,dt=0.002,A=100000,n=2,alpha=100,phi=-numpy.pi/2)
results in the raw plot
5-Conclusions and final remarks
Although the Berlage wavelet has more parameters than the the Ricker, it is a minimum phase and is able to create more realistic wavelets for using in synthetic tests. Future posts will include functions for fitting real data with Berlage parameters.
References
Aldridge, D. F. (1990). The Berlage wavelet. Geophysics, 55(11), pp. 1508–1511.
Berlage, H. P. J. (1932). Seismometer: In Handbuch der geophysik, (Chap. 4, pp. 299–526).