Numpy FFT 和 MATLAB FFT 不一致
Numpy FFT and MATLAB FFT don't agree
我有一组值,例如:
array([[ 0.87494659],
[-0.73138314],
[ 0.87494659],
在 Matlab 中,我执行 fft 和归一化:
Ifft = fft(arrayvalues,nfft)/nfft;
输出:
-0.0109 + 0.0000i
0.0141 - 0.0073i
0.0166 - 0.0010i
但是当我尝试在 numpy 中执行此操作时:
np.fft.fft(arrayvalues)
我得到输出:
array([[ 0.87494659+0.j],
[-0.73138314+0.j],
[ 0.87494659+0.j],
显然这是错误的。我知道来自 MATLAB 的值是正确的,但我不确定为什么 numpy 没有给我正确的值。
我找到了问题所在。我将 csv 文件中的值读取到变量中。我正在这样做: arrayvalues=values[:,[0]] 但我将其更改为 arrayvalues=values[:,0] 现在可以使用了
我有一组值,例如:
array([[ 0.87494659],
[-0.73138314],
[ 0.87494659],
在 Matlab 中,我执行 fft 和归一化:
Ifft = fft(arrayvalues,nfft)/nfft;
输出:
-0.0109 + 0.0000i
0.0141 - 0.0073i
0.0166 - 0.0010i
但是当我尝试在 numpy 中执行此操作时:
np.fft.fft(arrayvalues)
我得到输出:
array([[ 0.87494659+0.j],
[-0.73138314+0.j],
[ 0.87494659+0.j],
显然这是错误的。我知道来自 MATLAB 的值是正确的,但我不确定为什么 numpy 没有给我正确的值。
我找到了问题所在。我将 csv 文件中的值读取到变量中。我正在这样做: arrayvalues=values[:,[0]] 但我将其更改为 arrayvalues=values[:,0] 现在可以使用了