我有点卡在这里。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);
Run Code Online (Sandbox Code Playgroud)
原始信号
(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)
ANS = 19.0000 5.9721 - 0.3633i -2.9721 - 1.5388i -2.9721 + 1.5388i 5.9721 + 0.3633i
傅里叶逆傅里叶变换(ans)
5.0000 6.0000 1.0000 2.0000 5.0000
有任何想法我在这里做错了吗?