我目前正在尝试编写一些傅里叶变换算法.我从一个简单的DFT算法开始,如数学定义中所述:
public class DFT {
public static Complex[] Transform(Complex[] input) {
int N = input.Length;
Complex[] output = new Complex[N];
double arg = -2.0 * Math.PI / (double)N;
for (int n = 0; n < N; n++) {
output[n] = new Complex();
for (int k = 0; k < N; k++)
output[n] += input[k] * Complex.Polar(1, arg * (double)n * (double)k);
}
return output;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我用以下代码测试了这个算法:
private int samplingFrequency = 120;
private int numberValues = 240;
private void doCalc(object …Run Code Online (Sandbox Code Playgroud)