hilbert2#
- class diffsptk.TwoDimensionalHilbertTransform(fft_length: list[int] | tuple[int, ...] | ndarray | int, dim: list[int] | tuple[int, ...] | ndarray = (-2, -1))[source]#
2-D Hilbert transform module.
- Parameters:
- fft_lengthint >= 1 or tuple[int, int]
The number of FFT bins.
- dimtuple[int, int]
The dimension along which to take the Hilbert transform.
- forward(x: Tensor) Tensor [source]#
Compute the analytic signal using the Hilbert transform.
- Parameters:
- xTensor [shape=(…, T1, T2, …)]
The input signal.
- Returns:
- outTensor [shape=(…, T1, T2, …)]
The analytic signal, where the real part is the input signal and the 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]]) >>> hilbert2 = diffsptk.TwoDimensionalHilbertTransform((1, 4)) >>> z = hilbert2(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.hilbert2(x: Tensor, fft_length: list[int] | tuple[int, ...] | ndarray | int | None = None, dim: list[int] | tuple[int, ...] | ndarray = (-2, -1)) Tensor [source]#
Compute the analytic signal using the Hilbert transform.
- Parameters:
- xTensor [shape=(…, T1, T2, …)]
The input signal.
- fft_lengthint, list[int], or None
The number of FFT bins. If None, set to (\(T1\), \(T2\)).
- dimlist[int]
The dimensions along which to take the Hilbert transform.
- Returns:
- outTensor [shape=(…, T1, T2, …)]
The analytic signal.
See also