Я новичок в преобразованиях Фурье, поэтому может кто-нибудь объяснить, что мне нужно сделать, чтобы воспроизвести это поведение в 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 следующим образом:
//2048 is smallest power of 2 larger than SEGMENTATION_LENGTH
FFT fourier = new FFT(2048,44100);
но я не могу найти какие-либо методы, относящиеся к частотной области. Я могу сделать fourier.forward(samples)
, но он не принимает никаких других параметров. Может ли кто-нибудь дать мне подсказку относительно того, что мне нужно сделать здесь?