Pregunta

Soy nuevo en las transformadas de Fourier, por lo que puede alguien explicar lo que tengo que hacer para reproducir este comportamiento en 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 );

usando clase de FFT libgdx

Estoy asumiendo que yo quiero para inicializar mi objetivo FFT así:

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

pero no puedo encontrar métodos relacionados con el dominio de la frecuencia. Puedo hacer fourier.forward(samples), pero no se necesita ningún otro parámetro. Alguien me puede dar una pista sobre lo que tengo que hacer aquí?

¿Fue útil?

Solución

Yo creo que tengo la solución, hay un método backward de FFT que toma los valores imaginarios que se puede obtener después de llamar forward verdadero dominio de la frecuencia y.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top