numpy rfftn 更改输入尺寸

numpy rfftn changes input dimensions

我想计算 3D numpy 数组的离散傅里叶变换。我正在使用 numpy.fft.rfftn 函数,但它的输出与输入有不同的维度,我该如何解决这个问题? 这是我的代码:

np.shape(img_coll)
>>> (9997, 50, 50)
img_spectrum = np.fft.rfftn(img_coll, axes = [0])
np.shape(img_spectrum)
>>>(4999, 50, 50)

非常感谢您的帮助。

您的代码中没有要修复的内容。 如果你的信号是实数,那么它的傅里叶变换是共轭对称。 换句话说,频域信号img_spectrum(沿第一个轴axes=[0])具有偶数幅度奇数相位,因此用户负责重建傅里叶变换后的信号。