Frage

Ich bin neu auf Fourier-Transformationen, so kann jemand erklären, was ich tun müssen, um dieses Verhalten zu replizieren 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 );

mit Libgdx FFT-Klasse

Ich gehe davon aus, dass ich möchte, dass meine FFT-Objekt initialisieren also:

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

, aber ich kann keine Methoden finden, um den Frequenzbereich beziehen. Ich kann tun fourier.forward(samples), aber es braucht keine anderen Parameter. Kann mir jemand einen Tip geben, was ich hier tun müssen?

War es hilfreich?

Lösung

Ich glaube, ich habe die Lösung bekommt, gibt es eine backward Methode von FFT, die den Frequenzbereich realen und imaginäre Werte annehmen, dass Sie nach dem Aufruf von forward bekommen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top