private static Complex[] InternalFFT(float[] data) { var fftComplex = new Complex[data.Length]; for (int i = 0; i < data.Length; i++) { fftComplex[i] = new Complex(data[i], 0.0); } FFTProcessor.Transform(fftComplex, false); //Accord.Math.FourierTransform.FFT(fftComplex, Accord.Math.FourierTransform.Direction.Forward); var n = data.Length; for (int i = 0; i < n; i++) // Scaling (because this FFT implementation omits it) { fftComplex[i] /= n; } return(fftComplex); }