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
- x : array_like
The input array, should be periodic.
- _cache : dict, optional
Dictionary that contains the kernel used to do a convolution with.
- y : ndarray
The transformed input.
- Compute the analytic signal, using the Hilbert transform.
sum(x, axis=0) == 0then
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.hilbertdoes have an extra -1 factor compared to this function.