scipy.fftpack.hilbert#

scipy.fftpack.hilbert(x, _cache={})[source]#

Return Hilbert transform of a periodic sequence x.

If x_j and y_j are Fourier coefficients of periodic functions x and y, respectively, then:

y_j = sqrt(-1)*sign(j) * x_j
y_0 = 0
Parameters:
xarray_like

The input array, should be periodic.

_cachedict, optional

Dictionary that contains the kernel used to do a convolution with.

Returns:
yndarray

The transformed input.

See also

scipy.signal.hilbert

Compute the analytic signal, using the Hilbert transform.

Notes

If sum(x, axis=0) == 0 then hilbert(ihilbert(x)) == x.

For even len(x), the Nyquist mode of x is taken zero.

The sign of the returned transform does not have a factor -1 that is more often than not found in the definition of the Hilbert transform. Note also that scipy.signal.hilbert does have an extra -1 factor compared to this function.