hilbert#
- class diffsptk.HilbertTransform(fft_length, dim=-1)[source]#
Hilbert transform module.
- Parameters:
- fft_lengthint >= 1
Number of FFT bins, should be \(T\).
- dimint
Dimension along which to take the Hilbert transform.
- forward(x)[source]#
Compute analytic signal using the Hilbert transform.
- Parameters:
- xTensor [shape=(…, T, …)]
Input signal.
- Returns:
- outTensor [shape=(…, T, …)]
Analytic signal, where real part is the input signal and imaginary part is the Hilbert transform of the input signal.
Examples
>>> x = diffsptk.nrand(3) >>> x tensor([ 1.1809, -0.2834, -0.4169, 0.3883]) >>> hilbert = diffsptk.HilbertTransform(4) >>> z = hilbert(x) >>> z.real tensor([ 1.1809, -0.2834, -0.4169, 0.3883]) >>> z.imag tensor([ 0.3358, 0.7989, -0.3358, -0.7989])
- diffsptk.functional.hilbert(x, fft_length=None, dim=-1)[source]#
Compute analytic signal using the Hilbert transform.
- Parameters:
- xTensor [shape=(…, T, …)]
Input signal.
- fft_lengthint >= 1 or None
Number of FFT bins. If None, set to \(T\).
- dimint
Dimension along which to take the Hilbert transform.
- Returns:
- outTensor [shape=(…, T, …)]
Analytic signal, where real part is the input signal and imaginary part is the Hilbert transform of the input signal.
See also