The Berlage wavelet – Part 1: function definition

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

A sample of the Berlage wavelet.

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).


Published by Atila Paes

Ph.D. in Geophysics (2020). Working in projects related to microseismic data analysis since 2014.

Leave a comment

Design a site like this with WordPress.com
Get started