public double[] dft(double[] x)
{
double[] real = new double[x.Length];
double[] imaginary = new double[x.Length];
double[] magnitude = new double[x.Length];
for (int i = 0; i < x.Length; i++)
{
real[i] = 0;
imaginary[i] = 0;
for (int j = 0; j < x.Length; j++)
{
real[i] += x[j] * Math.Cos(-2 * Math.PI * i * j / x.Length);
imaginary[i] += x[j] * Math.Sin(-2 * Math.PI * i * j / x.Length);
}
magnitude[i] = Math.Sqrt(real[i]*real[i] + imaginary[i]*imaginary[i]);
}
return magnitude;
}
Wednesday, March 21, 2012
C# : Discrete Fourier Transform - Magnitude
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment