可以从FFT重新创建声音吗?

时间:2016-04-01 17:01:26

标签: fft

我正在研究一些FFT代码,并且我正在寻找重新创建(快速)傅立叶变换分解的(循环)声音的可能性。 我尝试添加几条sinuzoidal曲线,但它根本不起作用。 我正在使用C ++,但欢迎任何帮助。

由于

1 个答案:

答案 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);
         }
     }
 }

它完美无缺,也许它会帮助别人。