Beispiel #1
0
        public FFTResult Run(Complex[] signal)
        {
            var       result = new FFTResult();
            Stopwatch sw     = new Stopwatch();

            sw.Start();
            result.Result = FFT.FFT.fft(signal);
            sw.Stop();
            result.Time = sw.Elapsed;
            return(result);
        }
Beispiel #2
0
        //    [DllImport("IPS_Fourier.dll", CallingConvention = CallingConvention.Cdecl,
        //SetLastError = true)]
        //    static private extern void run(int n, double[] signal, double[] real, double[] imag);

        public FFTResult Run(Complex[] signal)
        {
            var size = signal.Length;
            var real = new double[size];
            var imag = new double[size];

            //pzdc
            //run(0, signal.Select(c => c.Real).ToArray(), real, imag);

            var result = new FFTResult();

            result.Result = new Complex[size];
            for (int i = 0; i < size; i++)
            {
                result.Result[i] = new Complex(real[i], imag[i]);
            }
            return(result);
        }
 double CalcDominantFrequence(FFTResult fftResult)
 {
     throw new NotImplementedException();
 }
 double CalcSpectralFlatness(FFTResult fftResult)
 {
     throw new NotImplementedException();
 }
 double CalcDominantFrequence(FFTResult fftResult)
 {
     throw new NotImplementedException();
 }
 double CalcSpectralFlatness(FFTResult fftResult)
 {
     throw new NotImplementedException();
 }