private double[] BuildHanWindow(Sample currentSample)
        {
            var hanWindow = new double[currentSample.Limit];
            for (int i = 0; i < currentSample.Limit; i++)
            {
                hanWindow[i] = .5 * (1 - Math.Cos(2 * Math.PI * i / (currentSample.Limit - 1.0)));
            }

            double[] hindowedSignal = new double[currentSample.Limit];
            for (int i = 0; i < currentSample.Limit; i++)
            {
                hindowedSignal[i] = currentSample.Get(i);
                hindowedSignal[i] *= hanWindow[i];
            }

            return hindowedSignal;
        }