/NFFT-based-Hilbert-transform

Computes the Hilbert transform of vector fields in the space domain. The convolution sum is efficiently calculated by a fast summation algorithm.

Primary LanguageMATLABApache License 2.0Apache-2.0

DOI

The calculation of the Hilbert transform by a non-equispaced Fast Fourier Transform (NFFT) and its application to gravity and magnetic data

Computes the Hilbert transform of vector fields in the space domain (see Nabighian, 1984). The convolution sum is efficiently calculated by (Potts et. al., 2004)s' fastsum algorithm. This package includes the following subdirectories:

  • 1DHilbertConvolution: Computes the 1D Hilbert transform with two different convolution approaches. Uses a gravimetric field as an example.
  • 1DHilbertFastsum: Computes the 1D Hilbert transfrom with an efficient fastsum algorithm. Uses a gravimetric field as an example.
  • 3DHilbertFastsum: Computes 3D Hilbert transfrom with an efficient fastsum algorithm. Uses a magnetic field as an example.
  • 3DHilbertFastsumReal: Computes 3D Hilbert transfrom with an efficient fastsum algorithm. Uses uses real world magnetic data as an example.

In addition, the frequency approach for calculating the Hilbert transform is used for comparison in all the subdirectories mentioned above.

Third party packages contained in this repository:

References:

  • Nabighian, Misac N. (1984). “Toward a three-dimensional automatic interpretation of potential field data via generalized Hilbert transforms: Fundamental relations”. In: GEOPHYSICS 49 (6), pp. 780–786. doi: https://doi.org/10.1190/1.1441706.
  • Potts, Daniel, Gabriele Steidl, and Arthur Nieslony (2004). “Fast Convolution with Radial Kernels at Nonequispaced Knots”. In: Numerische Mathematik 98, pp. 329–351. doi: https://doi.org/10.1007/s00211-004-0538-5.

License:

Apache 2.0: https://github.com/tobiasbrestrich/NFFT-based-Hilbert-transform/blob/master/LICENSE