Domanda

Sono nuovo di trasformate di Fourier, così qualcuno può spiegare che cosa devo fare per replicare questo comportamento in 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 );

con class FFT di libgdx

Sto supponendo che io voglio per inizializzare il mio oggetto FFT così:

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

, ma non riesco a trovare tutti i metodi relativi al dominio della frequenza. Posso fare fourier.forward(samples), ma non ci vuole tutti gli altri parametri. Qualcuno può darmi un suggerimento su cosa devo fare qui?

È stato utile?

Soluzione

Credo che ho la soluzione, c'è un metodo backward di FFT che prende il vero dominio della frequenza e dei valori immaginari che si possono ottenere dopo aver chiamato forward.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top