我正在研究一些FFT代码,并且我正在寻找重新创建(快速)傅立叶变换分解的(循环)声音的可能性。 我尝试添加几条sinuzoidal曲线,但它根本不起作用。 我正在使用C ++,但欢迎任何帮助。
由于
答案 0 :(得分:0)
似乎必须单独回答我的问题......我也明白IFFT是我所寻找的,我找到了一个较慢的功能但对我来说很完美:
void inverseDFT(const double *a, const double *b, const int &N, double *&s)
{
// note: this code is not optimised at all, written for clarity not speed.
for (int x = 0; x < N; ++x)
{
s[x] = a[0];
for (int k = 1; k <= N / 2; ++k)
{
s[x] += a[k] * cos(2 * M_PI / N * k * x) + b[k] * sin(2 * M_PI / N * k * x);
}
}
}
它完美无缺,也许它会帮助别人。