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; }
No comments:
Post a Comment