cupyx.scipy.signal.sosfiltfilt#

cupyx.scipy.signal.sosfiltfilt(sos, x, axis=-1, padtype='odd', padlen=None)[源码]#

使用级联二阶节的前向-后向数字滤波器。

关于此方法的更完整信息,请参阅 filtfilt

参数:
  • sos (array_like) – 二阶滤波器系数数组,形状必须为 (n_sections, 6)。每行对应一个二阶节,前三列提供分子系数,后三列提供分母系数。

  • x (array_like) – 待滤波的数据数组。

  • axis (int, optional) – 应用滤波器的 x 轴。默认为 -1。

  • padtype (strNone, optional) – 必须是 ‘odd’、‘even’、‘constant’ 或 None。这决定了应用于滤波器的填充信号所使用的扩展类型。如果 padtype 为 None,则不使用填充。默认为 ‘odd’。

  • padlen (intNone, optional) –

    应用滤波器之前,在 xaxis 两端扩展的元素数量。此值必须小于 x.shape[axis] - 1padlen=0 表示不进行填充。默认值为

    3 * (2 * len(sos) + 1 - min((sos[:, 2] == 0).sum(),
                                (sos[:, 5] == 0).sum()))
    

    末尾的额外减法是为了补偿原点的极点和零点(例如对于奇数阶滤波器),以便获得与使用 scipy.signal 函数构建的二阶节滤波器的 filtfilt 相当的 padlen 估计值。

返回值:

y – 与 x 形状相同的滤波输出。

返回类型:

ndarray