快捷方式

torchaudio.functional.lfilter

torchaudio.functional.lfilter(waveform: Tensor, a_coeffs: Tensor, b_coeffs: Tensor, clamp: bool = True, batching: bool = True) Tensor[源代码]

通过评估差分方程执行 IIR 滤波器,使用由 *Yu et al.* [Yu and Fazekas, 2023] 和 *Forgione et al.* [Forgione and Piga, 2021] 分别开发的、可微分的实现。a_coeffs 的梯度基于 *Yu et al.* [Yu et al., 2024] 的一个更快的算法计算。

This feature supports the following devices: CPU, CUDA This API supports the following properties: Autograd, TorchScript

注意

为避免数值问题,建议使用较低的滤波器阶数。使用双精度也可以最大限度地减少数值精度误差。

参数
  • waveform (Tensor) – 形状为 (..., time) 的音频波形。必须归一化到 -1 到 1。

  • a_coeffs (Tensor) – 差分方程的 the denominator coefficients,形状为 1D 的 (num_order + 1) 或 2D 的 (num_filters, num_order + 1)。较低延迟的系数在前,例如 [a0, a1, a2, ...]。必须与 b_coeffs 大小相同(如有必要,用 0 填充)。

  • b_coeffs (Tensor) – 差分方程的 numerator coefficients,形状为 1D 的 (num_order + 1) 或 2D 的 (num_filters, num_order + 1)。较低延迟的系数在前,例如 [b0, b1, b2, ...]。必须与 a_coeffs 大小相同(如有必要,用 0 填充)。

  • clamp (bool, optional) – 如果为 True,则将输出信号限制在 [-1, 1] 范围内(默认:True)。

  • batching (bool, optional) – 仅当系数为 2D 时有效。如果为 True,则 waveform 至少应该是 2D 的,并且从最后一个开始的第二个轴的大小应等于 num_filters。输出可以表示为 output[..., i, :] = lfilter(waveform[..., i, :], a_coeffs[i], b_coeffs[i], clamp=clamp, batching=False)。(默认:True)。

返回

形状为 (..., num_filters, time) 的波形(如果 a_coeffsb_coeffs 为 2D Tensor),或者形状为 (..., time)(否则)。

返回类型

张量

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源