我有点卡在这里。MathNet Numerics 的 Forward Fourier 结果似乎比 MATLAB 的结果少了一半。
WindowsPhone 8 上的 MathNet.Numerics
Complex[] samples = { new Complex(5, 0), new Complex(6, 0), new Complex(1, 0), new Complex(2, 0), new Complex(5, 0) };
MathNet.Numerics.IntegralTransforms.Transform.FourierForward(samples);
MathNet.Numerics.IntegralTransforms.Transform.FourierInverse(samples);
原始信号
(5, 0) (6, 0) (1, 0) (2, 0) (5, 0)
正向傅里叶
( 8.4970583144992 , 4.96506830649455E-16) ( 2.67082039324994 , -0.162459848116454) ( -1.32917960675006 , -0.688190960235587) ( -1.32917960675006 , 0.688190960235586) ( 2.67082039324994 , 0.162459848116454)
逆傅里叶
(5, -1.24126707662364E-15) (6, 0) (1, 1.78742459033804E-15) (2, 9.93013661298909E-16) (5, 7.94410929039127E-16)
Matlab FFT和IFFT
原始信号
x=[5,6,1,2,5]
正向傅里叶 fft(x)
答案= 19.0000 5.9721 - 0.3633i -2.9721 - 1.5388i -2.9721 + 1.5388i 5.9721 + 0.3633i
逆傅里叶ifft(ans)
5.0000 6.0000 1.0000 2.0000 5.0000
有什么想法我在这里做错了吗?