Back to the main page.

Bug 3111 - Hilbert on broadband signal

Reported 2016-04-20 11:05:00 +0200
Modified 2016-11-29 09:02:17 +0100
Product: FieldTrip
Component: preproc
Version: unspecified
Hardware: PC
Operating System: Linux
Importance: P5 trivial
Assigned to: Jan-Mathijs Schoffelen
Depends on:
See also:

Giorgos Michalareas - 2016-04-20 11:05:07 +0200

Hi, if i run cfg=[]; cfg.hilbert='yes'; data_hilb=ft_preprocessing(cfg,data); i get the error Error using preproc (line 235) hilbert transform should be applied in conjunction with bandpass filter However the Hilbert transform of a broadband signal provides the brodband power envelope of a signal and the instantaneous frequency. Would it be possible to allow hilbert to be computed without having to bandpass the signal? Thank you Giorgos

Robert Oostenveld - 2016-04-20 13:47:17 +0200

agreed, I think that this is not needed (any more). Can you fork it and make a pull request on github? see

Luca Ambrogioni - 2016-04-20 14:10:34 +0200

I would recommend to not remove that error or at least I would give a clear warning. Applying the Hilbert transform on broad band data is almost always a terrible idea, even in the case when the data is noise free (as far as it is non-harmonic). If you want an example try to perform the Hilbert transform on a sawtooth or a square wave signal and check whether the extracted envelope and frequency makes sense at all. The only class of signals for which you can directly apply the Hilbert are those one that are already narrow band.

Robert Oostenveld - 2016-04-21 16:50:52 +0200

good point. Then I propose to change the error in a warning.

Jan-Mathijs Schoffelen - 2016-05-05 09:46:22 +0200

Hi Luca, would you mind giving this one a shot? I.e. convert the error into a warning

Jan-Mathijs Schoffelen - 2016-07-07 11:49:52 +0200

I will take this one. I came across this recently in my own work. Pity that it hasn't been resolved yet.

Jan-Mathijs Schoffelen - 2016-07-07 11:56:18 +0200