maxframe.tensor.fft.fftshift#
- maxframe.tensor.fft.fftshift(x, axes=None)[源代码]#
将零频分量移至频谱中心。
此函数会交换所有指定轴的半空间(默认为所有轴)。注意,仅当
len(x)为偶数时,y[0]才是奈奎斯特分量。- 参数:
x (array_like) -- 输入张量。
axes (int or shape tuple, optional) -- 指定进行移位的轴。默认为 None,表示对所有轴进行移位。
- 返回:
y -- 移位后的张量。
- 返回类型:
Tensor
参见
ifftshiftfftshift 的逆操作。
示例
>>> import maxframe.tensor as mt
>>> freqs = mt.fft.fftfreq(10, 0.1) >>> freqs.execute() array([ 0., 1., 2., 3., 4., -5., -4., -3., -2., -1.]) >>> mt.fft.fftshift(freqs).execute() array([-5., -4., -3., -2., -1., 0., 1., 2., 3., 4.])
仅沿第二轴移动零频分量:
>>> freqs = mt.fft.fftfreq(9, d=1./9).reshape(3, 3) >>> freqs.execute() array([[ 0., 1., 2.], [ 3., 4., -4.], [-3., -2., -1.]]) >>> mt.fft.fftshift(freqs, axes=(1,)).execute() array([[ 2., 0., 1.], [-4., 3., 4.], [-1., -3., -2.]])