Настройка частотной области в libgdx FFT

Я новичок в преобразованиях Фурье, поэтому может кто-нибудь объяснить, что мне нужно сделать, чтобы воспроизвести это поведение в 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), но он не принимает никаких других параметров. Может ли кто-нибудь дать мне подсказку относительно того, что мне нужно сделать здесь?


person fredley    schedule 06.01.2011    source источник


Ответы (1)


Я думаю, что у меня есть решение, есть метод backward для FFT, который принимает действительные и мнимые значения частотной области, которые вы можете получить после вызова forward.

person fredley    schedule 06.01.2011