Установка частотного домена в libgdx FFT - PullRequest
0 голосов
/ 06 января 2011

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

с использованием класса FFT libgdx

Я предполагаю, что захочу инициализировать мой FFT-объект следующим образом:

//2048 is smallest power of 2 larger than SEGMENTATION_LENGTH
FFT fourier = new FFT(2048,44100); 

, но я не могу найти какие-либо методы, относящиеся к частотной области.Я могу сделать fourier.forward(samples), но он не принимает никаких других параметров.Может кто-нибудь подсказать мне, что мне здесь делать?

1 Ответ

0 голосов
/ 06 января 2011

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

...