MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Hilbert Transform

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107243] Re: Hilbert Transform
  • From: "Nasser M. Abbasi" <nma at 12000.org>
  • Date: Sat, 6 Feb 2010 03:26:04 -0500 (EST)
  • References: <hkgl91$70d$1@smc.vnet.net>

"dr DanW" <dmaxwarren at gmail.com> wrote in message 
news:hkgl91$70d$1 at smc.vnet.net...
> Has an efficient Hilbert Transform or Discrete Hilbert Transform been
> implemented in Mathematica?  I can code my own, but my implementations
> tend to be ham-handed and not too efficient.
>
> Daniel
>

I do not know about the "efficient" part, but one way I learned how to do it 
from a class in communication is as follows. (which I am sure you know this 
method)

Given x(t), we want to find xx(t), where xx(t) is the Hilbert transform of 
x(t).

Algorithm:
1. find X(w), the Fourier transform of x(t)
2. Find the Fourier transform of xx(t) which -j*sgn(w)*X(w)
3. Hence xx(t) will be the inverse Fourier transform of the result of step 
2.

sgn(f) is the signum function.

Again, do not know if this is an "efficient" way from a computational point 
of view, but my guess it is faster than the direct method using convolution 
as in

xx(t)= x(t) convolve with 1/(pi*t)

?

I am not sure about the discrete case now. But may be the above could be 
extended to discrete data just by using DFT and IDFT with some care?

--Nasser




  • Prev by Date: Re: Glynn and Gray ebook
  • Next by Date: Re: What does & mean?
  • Previous by thread: Hilbert Transform
  • Next by thread: Follow up to mg106646 - Selecting a range of dates?