Вопрос

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top