MathNet.Numerics vs. Matlab Forward Fourier Responding To Mismatch?

I'm stuck here. The MathNet Numerics Forward Fourier results seem to be slightly less than MATLAB.

MathNet.Numerics on Windows Phone 8

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);

Original signal

(5, 0) (6, 0) (1, 0) (2, 0) (5, 0)

Direct fourier

( 8.4970583144992 , 4.96506830649455E-16) ( 2.67082039324994 -0.162459848116454) ( -1.32917960675006 , -0.688190960235587) ( -1.32917960675006 , 0.688190960235586) ( 2.67082039324994 0.162459848116454)

Reverse Fourier

<p> (5, -1.24126707662364E-15) (6, 0) (1, 1.78742459033804E-15) (2, 9.93013661298909E-16) (5, 7.94410929039127E-16)

Matlab FFT and IFFT

Original signal

x = [5,6,1,2,5]

Forward Fourier fft (x)

ans = 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

, ?

+4
1

. , Math.NET Numerics, - , ( , , Maple) . MATLAB . MATLAB , FourierOptions.Matlab , ..

Transform.FourierForward(samples, FourierOptions.Matlab);
Transform.FourierInverse(samples, FourierOptions.Matlab);
+3

Source: https://habr.com/ru/post/1534991/


All Articles