public static double[] ApplyHammingWindow(float[] signal, HammingWindowDef hammingWindowDef = null)
        {
            if (hammingWindowDef == null)
            {
                hammingWindowDef = new HammingWindowDef();
            }
            var hammingWindow = new HammingWindow(hammingWindowDef, signal.Length);

            return hammingWindow.Apply(signal);
        }