cupyx.scipy.signal.ZoomFFT#
- class cupyx.scipy.signal.ZoomFFT(n, fn, m=None, *, fs=2, endpoint=False)[source]#
创建一个可调用的缩放 FFT 变换函数。
这是对单位圆周围一组等间隔频率的线性调频 Z 变换 (CZT) 的专用化,用于比计算整个 FFT 并截断更有效地计算 FFT 的一部分。 [1]
- 参数:
n (int) – 信号的大小。
fn (array_like) – 一个长度为 2 的序列 [f1, f2] 表示频率范围,或者一个标量,此时假定范围为 [0, fn]。
m (int, 可选) – 要评估的点数。默认为 n。
fs (float, 可选) – 采样频率。例如,如果
fs=10
表示 10 kHz,那么 f1 和 f2 也将以 kHz 为单位给出。默认采样频率为 2,因此 f1 和 f2 应在 [0, 1] 范围内,以使变换保持在奈奎斯特频率以下。endpoint (bool, 可选) – 如果为 True,则 f2 是最后一个采样点。否则,不包含 f2。默认为 False。
- 返回:
f – 可调用对象
f(x, axis=-1)
,用于计算 x 的缩放 FFT。- 返回类型:
注意
默认值的选择使得
f(x, 2)
等同于fft.fft(x)
,并且如果m > len(x)
,则f(x, 2, m)
等同于fft.fft(x, m)
。采样频率是 1/dt,即信号 x 中采样点之间的时间步长。单位圆对应于从 0 到采样频率的频率。默认采样频率为 2 意味着 f1、f2 的值(直到奈奎斯特频率)在 [0, 1) 范围内。对于以弧度表示的 f1、f2 值,应使用 2*pi 的采样频率。
请记住,缩放 FFT 只能插值现有 FFT 的点。它无法帮助区分两个分开的邻近频率。频率分辨率只能通过增加采集时间来提高。
这些函数使用 Bluestein 算法实现(scipy.fft 也是如此)。[2]
参考
方法
- __eq__(value, /)#
返回 self==value。
- __ne__(value, /)#
返回 self!=value。
- __lt__(value, /)#
返回 self<value。
- __le__(value, /)#
返回 self<=value。
- __gt__(value, /)#
返回 self>value。
- __ge__(value, /)#
返回 self>=value。