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)); }
public override double CalculateFrequency(double[] signal, double frameRate, double frameInterval) { double bestFrequency; FourierGraph = BrettFFT.BrettDFT(signal, out bestFrequency, 1, 40); return(bestFrequency); }