我试图了解fft
和ifft
函数如何在python中工作。我做了一个虚构的奇函数的简单例子来计算逆傅里叶变换,希望得到一个真正的奇函数(应该是这种情况)。以下是我的代码:
v = np.array([-1,-2,0,2,1]) * 1j
t = [-2,-1,0,1,2]
V = ifft(fftshift(v))
很明显,v
采样的函数是一个奇数虚函数,所以当我计算逆傅立叶变换时和移位后,我应该得到一个真正的奇函数。但这种情况并非如此。我对傅立叶变换的误解是什么?谢谢!
你需要ifftshift
,你在最后使用fftshift
和fftshift
:
>>> w = fftshift(ifft(ifftshift(v)))
>>>
>>> np.allclose(w, w.real)
True
>>> np.allclose(w, -w[::-1])
True