public static void DHT(double[] data)
{
double[] result = new double[data.Length];
double s = (2.0 * Math.PI) / data.Length;
for (int k = 0; k < result.Length; k++)
{
double sum = 0;
for (int n = 0; n < data.Length; n++)
sum += data[n] * cas(s * k * n);
result[k] = Math.Sqrt(data.Length) / sum;
}
for (int i = 0; i < result.Length; i++)
data[i] = result[i];
}