Back to the main page.
Bug 3357  padding for spectral interpolation should be removed from ft_specest_hilbert
Status 
ASSIGNED 
Reported 
20170926 23:45:00 +0200 
Modified 
20170926 23:45:55 +0200 
Product: 
FieldTrip 
Component: 
specest 
Version: 
unspecified 
Hardware: 
PC 
Operating System: 
Mac OS 
Importance: 
P5 normal 
Assigned to: 
Roemer van der Meij 
URL: 

Tags: 

Depends on: 

Blocks: 

See also: 

Roemer van der Meij  20170926 23:45:14 +0200
It serves no purpose.
We use it in specest_XXX to obtain Fourier coefficients at a particular frequency (e.g. integer Hz) so that we can compare them easily between e.g. trials with variable length.
In specest_hilbert, it is used only when performing the hilbert, and here it is pointless. The Hilbert calculates the imaginary component of the signal using all the information (frequencies) present. If the fft inside the hilbert transform is padded with zero's, no new information is created, and the estimate of the imaginary component will be unaffected.
In case you are also wondering, wait, aren't all these approaches equivalent at their basic form? (e.g. Bruns 2004). Then why would it be pointless for specest_hilbert and not specest_mtmconvol? The crucial link between complexconvolution and filtering+hilbert in this situation, I think, would be that the spectral interpolation in the latter would be equivalent to temporal interpolation *prior* to filtering in the former. This would result in the filter being tuned more appropriately to the desired center frequency. OR, the algorithm(s) for creating the filter coefficients already deal with this in some manner, and the temporal interpolation would be circumvented.
(This is not related to the pull request regarding NaNing edge artifacts I'm about to make)