[OpendTect_Developers] About Hilbert transform.
Nageswara Rao
nageswara.rao at dgbes.com
Wed Sep 22 13:03:30 CEST 2010
Hi all,
This a small post about Hilbert transform.
Hilbert transform is a type of filtering that passes the amplitudes of
the spectral components unchanged,but alters the phases of the spectral
components by 90 degrees. To explain mathematically, a complex seismic
trace consisting of real part x(t) which is actual seismic trace, and an
imaginary part y(t), which is a mathematical function calculated from
real part by Hilbert transform. When the real and imaginary parts are
added in a vector scene the resultant is the complex trace. This is
shown in diagram.
c(t) = x(t) + iy(t)
y(t) is Hilbert transform of x(t).
>From this we can conclude that, the signal and its Hilbert transform are
orthogonal. Hilbert transform have identical energy because phase shift
do not change energy of the signal.
This transform is implemented in 'class HilbertTransform'
(Algo/hilberttransform.h) which is under /Algo in OD4.1. The values of
Hilbert filter are calculated in 'makeHilbWindow()' function which is in
same class HilbertTransform.The graphical representation of the filter
is shown in the diagram.
The steps to create a complex signal are as follows:
* Select the signal
* Check whether selected signal size is less than HilbertWindow size
( 61 samples ).
* If our signal is having lesser samples than the HilbertWindow then
zeros are added ( which is known as padding ) to the signal till
it is equal to HilbertWindow size. This is implemented in
'computeData()' function which is in 'class Hilbert
(/Attributes/hilbertattrib.h).
* If the selected signal is having more samples than the
HilbertWindow size, padding is not required.
* The selected signal convolves with Hilbert filter to form a new
signal which has 90 degree phase rotation with the selected
signal. 'GenericConvolve() function involves in the creation of
new signal.
* While calculating complex signal,shift of the selected signal also
needs to be calculated.If in case we consider a sub signal of
selected signal having 'n' samples, and sub signal starts from
sample 10 then shift becomes 10. This is shown in attached diagram.
Any comments and suggestions are welcome.
with regards
Nageswara Rao
dGB Earth Sciences,
304, Gateway plaza,
Hiranandani gardens,Powai
Mumbai-400076.
Ph: +91 22 25704984
mail: nageswara.rao at dgbes.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opendtect.org/pipermail/developers/attachments/20100922/bb9653d8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hilbert-withSlides.ppt
Type: application/vnd.ms-powerpoint
Size: 179200 bytes
Desc: not available
URL: <http://lists.opendtect.org/pipermail/developers/attachments/20100922/bb9653d8/attachment.ppt>
More information about the Developers
mailing list