• 文档 >
  • torch >
  • torch.istft
快捷键

torch.istft

torch.istft(input, n_fft, hop_length=None, win_length=None, window=None, center=True, normalized=False, onesided=None, length=None, return_complex=False) Tensor:

逆短时傅里叶变换。这应该是 stft() 的逆变换。

警告

从版本 2.1 开始,如果未指定 window ,将提供警告。在未来版本中,此属性将是必需的。请提供与 stft 调用中使用的相同窗口。

它具有相同的参数(+可选参数 length )并且应该返回原始信号的平方最小估计。算法将使用 NOLA 条件(非零重叠)进行检查。

在参数 windowcenter 中需要考虑的重要因素,以确保所有窗口求和创建的包络在任何时间点都不会为零。具体来说, t=w2[nt×hop_length]=0\sum_{t=-\infty}^{\infty} |w|^2[n-t\times hop\_length] \cancel{=} 0

由于 stft() 会丢弃信号末尾不适应帧的元素,因此 istft 可能返回比原始信号更短的信号(如果 center 为 False,则可能发生,因为信号没有填充)。如果长度在参数中给出且比预期更长, istft 将在返回信号的末尾填充零。

如果 centerTrue ,则会有填充,例如 'constant''reflect' 等。左填充可以被精确地移除,因为它们可以被计算出来,但右填充没有额外的信息是无法计算的。

例如:假设最后一个窗口是: [17, 18, 0, 0, 0] vs [18, 0, 0, 0, 0]

n_ffthop_lengthwin_length 都相同,这阻止了右填充的计算。这些额外的值可以是零或者信号的反射,因此提供 length 可能是有用的。如果 lengthNone ,则填充将被积极移除(信号会有一些损失)。

[1] D. W. Griffin 和 J. S. Lim,"从修改后的短时傅里叶变换估计信号",IEEE Trans. ASSP,第 32 卷,第 2 期,第 236-243 页,1984 年 4 月。

参数:
  • 输入(张量) –

    输入张量。预期格式为 stft() ,输出。即形状为 (B?, N, T) 的复杂张量,

    • B? 是可选的批次维度

    • N 是频率样本数,对于单边输入为 n_fft // 2 + 1,否则为 n_fft。

    • T 是帧数,对于中心化 STFT,为 1 + length // hop_length,否则为 1 + (length - n_fft) // hop_length。

    版本 2.0 变更:不再支持实数数据类型输入。输入必须现在为复数数据类型,如 stft(..., return_complex=True) 返回的。

  • n_fft(整数)- 傅里叶变换的大小

  • hop_length(可选整数)- 相邻滑动窗口帧之间的距离。(默认: n_fft // 4

  • win_length(可选[int])- 窗口帧大小和 STFT 滤波器的大小。(默认: n_fft

  • window(可选[torch.Tensor])- 可选的窗口函数。形状必须是一维且小于等于 n_fft。(默认: torch.ones(win_length)

  • center(bool)- 是否在两侧填充 input ,使得第 tt 帧在时间 t×hop_lengtht \times \text{hop\_length} 处居中。(默认: True

  • normalized(bool)- STFT 是否进行了归一化。(默认: False

  • 单边(可选[bool])- STFT 是否为单边。默认值: True 如果 n_fft 不等于输入大小中的 fft_size

  • 长度(可选[int])- 剪切信号的数量(即原始信号长度)。对于中心 STFT,默认为(T - 1) * hop_length,否则为 n_fft + (T - 1) * hop_length,其中 T 为输入帧数

  • return_complex(可选[bool])- 输出是否应为复数,或者假设输入来自实信号和窗函数。注意,这与 onesided=True 不兼容。默认值: False

返回值:

对形状为(B?, length)的原始信号进行最小二乘估计

输入张量中可选的批量维度。

返回类型:

张量


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源