Einstellen Frequenzbereich in Libgdx FFT
-
26-09-2019 - |
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 );
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?
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