Пример #1
0
        public static double GetRMS(double[] signal)
        {
            if (signal == null)
            {
                return(0);
            }

            if (signal.Length == 0)
            {
                return(0);
            }

            double[] zeroMeaned = BrettFFT.ZeroAverageSignal(signal);

            double[] zeroMeanedSquared = new double[zeroMeaned.Length];

            for (int i = 0; i < zeroMeaned.Length; i++)
            {
                zeroMeanedSquared[i] = Math.Pow(zeroMeaned[i], 2);
            }

            double squaredAverage = zeroMeanedSquared.Average();

            return(Math.Sqrt(squaredAverage));
        }
Пример #2
0
        public override double CalculateFrequency(double[] signal, double frameRate, double frameInterval)
        {
            double bestFrequency;

            FourierGraph = BrettFFT.BrettDFT(signal, out bestFrequency, 1, 40);

            return(bestFrequency);
        }