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