# Why do we read that Hilbert transform can be used for envelope detection?

We can often read that Hilbert transform is useful for envelope detection (e.g. Hilbert transform to compute signal envelope?)

I have done some tests with various soundfiles, and

x[n] -> absolue value -> 1-pole low pass filter -> envelope


or

x[n] -> Hilbert transform -> absolute value -> 1-pole low pass filter -> envelope


gives the same kind of result, it's not better with a Hilbert transform (top : envelope computed with hilbert, bottom : envelope computed without hilbert) :

Moreover, I know that computing the Hilbert transform is very time-consuming (big FIR filters involved).

So it is really a good method for envelope detection ?

• Why are you filtering after taking the modulus of the hilbert transform? Do not do it this way. Instead, low-pass (or band pass) your signal prior, perform the hilbert transform, and take the modulus to get the envelope. – Tarin Ziyaee Nov 12 '13 at 16:38
• Thanks user4619, I tried, but this doesn't give good results... Here is my code : pastebin.com/kz2yhHu3. Do you have an idea of what to modify ? (Unfortunately I cannot paste a figure.png here in the comment to show you the result !) – Basj Nov 12 '13 at 16:57
• What is the nature of your data? Is it narrow-band, or is it broad-band? Usually voice is broadband, in which case you cannot use the Hilbert Transform. – Tarin Ziyaee Nov 12 '13 at 18:20
• A few weeks ago I needed it for broadband, but now for narrow-band : I need the envelope of a single harmonic of a soundfile, example : I need the envelop of a signal whose spectrum is 470-500 Hz – Basj Nov 13 '13 at 11:23
• If you bandpass your signal through a filter centered at 485 Hz, with the same bandwidth, computed the hilbert transform, and take the modulus, what do you get? – Tarin Ziyaee Nov 13 '13 at 15:13