cupyx.scipy.signal.CZT#
- class cupyx.scipy.signal.CZT(n, m=None, w=None, a=1 + 0j)[源码]#
创建一个可调用的 Chirp Z 变换函数。
用于计算沿螺旋线频率响应的变换。此类的对象是可调用对象,它们可以计算其输入的 Chirp Z 变换。此对象预先计算给定变换中使用的常量 Chirp。
- 参数:
- 返回值:
f – 可调用对象
f(x, axis=-1)
,用于计算 x 的 Chirp Z 变换。- 返回类型:
注释
选择默认值使得
f(x)
等同于fft.fft(x)
,并且如果m > len(x)
,则f(x, m)
等同于fft.fft(x, m)
。如果 w 不在单位圆上,则变换将围绕半径指数增长的螺旋线进行。无论如何,角度将线性增长。
对于确实位于单位圆上的变换,使用 ZoomFFT 时精度更高,因为 w 中的任何数值误差都会在较长数据长度下累积,导致偏离单位圆。
Chirp Z 变换可能比等效的零填充 FFT 更快。您可以使用自己的数组大小进行尝试验证。
然而,Chirp Z 变换的精度远低于等效的零填充 FFT。
由于此 CZT 是使用 Bluestein 算法 [1] 实现的,它可以在 O(N log N) 时间内计算大型素数长度的傅里叶变换,而不是直接 DFT 计算所需的 O(N**2) 时间。( scipy.fft 也使用 Bluestein 算法。)
(“Chirp Z 变换”这个名称来源于 Bluestein 算法中使用了 Chirp [2]。它不像其他名称中带有“chirp”的变换那样将信号分解为 Chirp。)
参考文献
方法
- __eq__(value, /)#
返回 self==value。
- __ne__(value, /)#
返回 self!=value。
- __lt__(value, /)#
返回 self<value。
- __le__(value, /)#
返回 self<=value。
- __gt__(value, /)#
返回 self>value。
- __ge__(value, /)#
返回 self>=value。