私はフーリエ変換が初めてなので、fftwでこの動作を再現するために何をする必要があるかを誰かが説明できます:
double* timeDomain = static_cast< double* >( fftw_malloc( sizeof( double ) * SEGMENTATION_LENGTH ) );
fftw_complex* frequencyDomain = static_cast< fftw_complex* >( fftw_malloc( sizeof( fftw_complex ) * ( ( SEGMENTATION_LENGTH / 2 ) + 1 ) ) );
fftw_plan forward = fftw_plan_dft_r2c_1d( SEGMENTATION_LENGTH, timeDomain, frequencyDomain, FFTW_MEASURE );
libgdx の FFT クラスを使用する
FFT オブジェクトを次のように初期化する必要があると想定しています。
//2048 is smallest power of 2 larger than SEGMENTATION_LENGTH
FFT fourier = new FFT(2048,44100);
しかし、周波数領域に関連する方法が見つかりません。できますがfourier.forward(samples)
、他のパラメーターは必要ありません。ここで何をする必要があるかについて、誰かがヒントをくれますか?