jax.scipy.signal.stft

内容

jax.scipy.signal.stft#

jax.scipy.signal.stft(x, fs=1.0, window='hann', nperseg=256, noverlap=None, nfft=None, detrend=False, return_onesided=True, boundary='zeros', padded=True, axis=-1)[source]#

计算短时傅里叶变换 (STFT)。

JAX 实现 scipy.signal.stft().

参数:
  • x (数组) – 表示输入值时间序列的数组。

  • fs (ArrayLike) – 时间序列的采样频率(默认值:1.0)。

  • window (str) – 应用于每个段的数据锥形窗口。可以是窗口函数名称、指定窗口长度和函数的元组或数组(默认值:'hann')。

  • nperseg (int) – 每个段的长度(默认值:256)。

  • noverlap (int | None | None) – 段之间重叠的点数(默认值:nperseg // 2)。

  • nfft (int | None | None) – 如果需要零填充 FFT,则使用的 FFT 长度。如果为 None(默认值),则 FFT 长度为 nperseg

  • detrend (bool) – 指定如何对每个段进行去趋势化。可以是 False(默认值:不进行去趋势化)、'constant'(去除均值)、'linear'(去除线性趋势)或一个可调用的函数,该函数接受一个段并返回一个去趋势化的段。

  • return_onesided (bool) – 如果为 True(默认值),则为实数输入返回单边频谱。如果为 False,则返回双边频谱。

  • boundary (str | None) – 指定输入信号是否在两端扩展,以及如何扩展。选项包括 None(不扩展)、'zeros'(默认值)、'even''odd''constant'

  • padded (bool) – 指定输入信号是否在末尾用零填充,以使其长度成为 nperseg 的倍数。如果为 True(默认值),则填充后的信号长度为 nperseg 的下一个倍数。

  • axis (int) – 计算 STFT 的轴;默认情况下,在最后一个轴 (-1) 上计算。

返回:

一个长度为 3 的数组元组 (f, t, Zxx)f 是样本频率的数组。 t 是段时间的数组,Zxxx 的 STFT。

返回类型:

tuple[数组, 数组, 数组]

另请参阅

jax.scipy.signal.istft(): 逆短时傅里叶变换。