Difference between revisions of "Ricker wavelet"

From SubSurfWiki
Jump to navigation Jump to search
(added stub content)
 
(→‎External links: fixed link)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
A model seismic wavelet.  
+
The '''Ricker wavelet''' is a model seismic wavelet, sometimes called a '''Mexican hat wavelet'''.  
  
 +
==Analytic expression==
 
The amplitude ''A'' of the [[Ricker wavelet]] with peak frequency ''f'' at time ''t'' is computed like so:
 
The amplitude ''A'' of the [[Ricker wavelet]] with peak frequency ''f'' at time ''t'' is computed like so:
  
 
:<math>A = (1-2 \pi^2 f^2 t^2) e^{-\pi^2 f^2 t^2} </math>
 
:<math>A = (1-2 \pi^2 f^2 t^2) e^{-\pi^2 f^2 t^2} </math>
  
 +
[[File:Ricker_wavelet.png|thumb|Example Ricker wavelet, as plotted by WolframAlpha.<ref>[http://www.wolframalpha.com/input/?i=minimize+%281-2*pi%5E2*25%5E2*x%5E2%29*e%5E%28-1*pi%5E2*25%5E2*x%5E2%29+for+-0.033+%3C+x+%3C+0.033 Ricker wavelet in WolframAlpha]</ref>]]
 
Sometimes the period (somewhat erroneously referred to occasionally as the wavelength) is given as 1/''f'', but since it has mixed frequencies, this is not quite correct, and for some wavelets is not even a good approximation. In fact, the Ricker wavelet has its sidelobe minima at  
 
Sometimes the period (somewhat erroneously referred to occasionally as the wavelength) is given as 1/''f'', but since it has mixed frequencies, this is not quite correct, and for some wavelets is not even a good approximation. In fact, the Ricker wavelet has its sidelobe minima at  
  
:<math>\pm \frac{\sqrt{3/2}}{f\pi} </math>
+
:<math>\pm \frac{\sqrt{3/2}}{\pi f} </math>
  
 
These minima have the value
 
These minima have the value
  
 
:<math>A_\mathrm{min} = -\frac{2}{e^{3/2}} </math>
 
:<math>A_\mathrm{min} = -\frac{2}{e^{3/2}} </math>
 +
 +
== Apparent vs dominant frequency ==
 +
 +
We can use the trough-to-trough width of the Ricker to estimate the dominant frequency (i.e. the central frequency of the Ricker) from the apparent frequency (which will be driven by this trough-to-trough width). If 't' is the width in time:
 +
 +
:<math>t_\mathrm{app} = 2 \frac{\sqrt{3/2}}{\pi f_\mathrm{dom}} = \frac{\sqrt{6}}{\pi f_\mathrm{dom}} </math>
 +
 +
and
 +
 +
:<math>f_\mathrm{app} = \frac{1}{t_\mathrm{app}} = \frac{\pi f_\mathrm{dom}}{\sqrt{6}} </math>
 +
 +
then
 +
 +
:<math>f_\mathrm{dom} = f_\mathrm{app} \frac{\sqrt{6}}{\pi} </math>
 +
 +
==Make one in Python==
 +
Here's a snippet from an IPython Notebook by [[User:Evan|Evan]]:<ref>[http://nbviewer.ipython.org/github/agile-geoscience/notebooks/blob/master/To_make_a_wavelet.ipynb To make a wavelet] — an IPython Notebook.</ref><ref>[http://www.agilegeoscience.com/journal/2013/12/10/to-plot-a-wavelet.html To plot a wavelet] — Agile Geoscience blog post</ref>
 +
 +
<source lang='python'>
 +
import numpy as np
 +
import matplotlib.pyplot as plt
 +
 +
def ricker(f, length=0.128, dt=0.001):
 +
    t = np.arange(-length/2, (length-dt)/2, dt)
 +
    y = (1.0 - 2.0*(np.pi**2)*(f**2)*(t**2)) * np.exp(-(np.pi**2)*(f**2)*(t**2))
 +
    return t, y
 +
 +
f = 25 # A low wavelength of 25 Hz
 +
t, w = ricker(f)
 +
</source>
 +
 +
==See also==
 +
* [[Ormsby filter]]
 +
* [[Butterworth filter]]
 +
* [[Klauder filter]]
 +
 +
==References==
 +
{{reflist}}
 +
 +
==External links==
 +
* [http://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.ricker.html scipy.signal.ricker] — Scipy function for a Ricker wavelet, which takes a scale parameter ''a'' = 1/2&pi;''f'' (I think)
 +
* [[Wikipedia:Mexican hat wavelet|Mexican hat wavelet]] — Wikipedia article
 +
* [http://74.3.176.63/publications/recorder/1994/09sep/sep94-choice-of-wavelets.pdf Ryan, 1994.] A choice of wavelets. CSEG Recorder September 1994.
 +
* [http://wiki.seg.org/index.php/Dictionary:Ricker_wavelet Ricker wavelet] — Sheriff's Encyclopedic Dictionary
 +
 +
{{stub}}
 +
 +
[[Category:Geophysics]]

Latest revision as of 00:20, 20 September 2017

The Ricker wavelet is a model seismic wavelet, sometimes called a Mexican hat wavelet.

Analytic expression

The amplitude A of the Ricker wavelet with peak frequency f at time t is computed like so:

Example Ricker wavelet, as plotted by WolframAlpha.[1]

Sometimes the period (somewhat erroneously referred to occasionally as the wavelength) is given as 1/f, but since it has mixed frequencies, this is not quite correct, and for some wavelets is not even a good approximation. In fact, the Ricker wavelet has its sidelobe minima at

These minima have the value

Apparent vs dominant frequency

We can use the trough-to-trough width of the Ricker to estimate the dominant frequency (i.e. the central frequency of the Ricker) from the apparent frequency (which will be driven by this trough-to-trough width). If 't' is the width in time:

and

then

Make one in Python

Here's a snippet from an IPython Notebook by Evan:[2][3]

import numpy as np
import matplotlib.pyplot as plt

def ricker(f, length=0.128, dt=0.001):
    t = np.arange(-length/2, (length-dt)/2, dt)
    y = (1.0 - 2.0*(np.pi**2)*(f**2)*(t**2)) * np.exp(-(np.pi**2)*(f**2)*(t**2))
    return t, y
 
f = 25 # A low wavelength of 25 Hz
t, w = ricker(f)

See also

References

  1. Ricker wavelet in WolframAlpha
  2. To make a wavelet — an IPython Notebook.
  3. To plot a wavelet — Agile Geoscience blog post

External links

This article is a stub. You can help SubSurfWiki by expanding it.