我想计算高斯功率谱的傅里叶逆变换,从而再次获得高斯。我想用这个事实来检查我的高斯功率谱的 IFFT 是否合理,因为它产生了一组以高斯方式有效分布的数据。现在,事实证明,IFFT 必须乘以因子 2*pi*N,其中 N 是数组的维数,才能恢复解析相关函数(即功率谱的傅里叶逆变换)。有人可以解释为什么吗?
这是一段代码,它首先用高斯功率谱填充数组,然后对功率谱进行 IFFT。
power_spectrum_k = np.zeros(n, float)
for k in range(1, int(n/2+1)):
power_spectrum_k[k] = math.exp(-(2*math.pi*k*sigma/n)*(2*math.pi*k*sigma/n))
for k in range(int(n/2+1), n):
power_spectrum_k[k] = power_spectrum_k[int(k - n/2)]
inverse_transform2 = np.zeros(n, float)
inverse_transform2 = np.fft.ifft(power_spectrum_k)
其中功率谱的对称性来自需要获得真正的相关函数,同时遵循使用 numpy.ifft 的规则(引用自文档:
“输入的排序方式应与 fft 返回的方式相同,即 a[0] 应包含零频率项,a[1:n/2+1] 应包含正频率项,而 a[ n/2+1:] 应该包含负频率项,按负频率递减的顺序”。)