scipy.fft.
fftshift#
- scipy.fft.fftshift(x, axes=None)[source]#
将零频率分量移到频谱中心。
此函数交换所有列出的轴(默认为所有轴)的半空间。请注意,只有当
len(x)为偶数时,y[0]才是奈奎斯特分量。- 参数:
- xarray_like
输入数组。
- axesint 或 shape 元组,可选
要进行移位的轴。默认值为 None,这将移位所有轴。
- 返回:
- yndarray
移位后的数组。
附注
数组 API 标准支持
fftshift对 Python Array API Standard 兼容的后端具有实验性支持,除了 NumPy 之外。请考虑通过设置环境变量SCIPY_ARRAY_API=1并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端和设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> import numpy as np >>> freqs = np.fft.fftfreq(10, 0.1) >>> freqs array([ 0., 1., 2., ..., -3., -2., -1.]) >>> np.fft.fftshift(freqs) array([-5., -4., -3., -2., -1., 0., 1., 2., 3., 4.])
仅沿第二个轴移位零频率分量
>>> freqs = np.fft.fftfreq(9, d=1./9).reshape(3, 3) >>> freqs array([[ 0., 1., 2.], [ 3., 4., -4.], [-3., -2., -1.]]) >>> np.fft.fftshift(freqs, axes=(1,)) array([[ 2., 0., 1.], [-4., 3., 4.], [-1., -3., -2.]])