1

RosettaCode は、ここでCooley-Tukey FFT アルゴリズムの簡単な実装を提供します。質問は次のとおりで、数学およびプログラミングの観点からのものです。プログラムの入力が信号のスペクトルであり、そのようなスペクトルを持つ信号を生成したいとします。正しければ、入力スペクトルの逆 FFT を取得する必要があります。

RosettaCode によって提供されるコードは次のとおりです。

// inverse fft (in-place)
void ifft(CArray& x)
{
    // conjugate the complex numbers
    x = x.apply(std::conj);

    // forward fft
    fft( x );

    // conjugate the complex numbers again
    x = x.apply(std::conj);

    // scale the numbers
    x /= x.size();
}

ただし、これは 1 つの信号しか生成できません。ただし、複数の信号が同じスペクトルを持つ場合があります。では、これらの異なる信号を生成できるようにパラメータを追加するにはどうすればよいでしょうか?

4

2 に答える 2