So che la prima cosa che si sta facendo è "cercarla nella documentazione", il problema è che le documentazioni non sono chiare al riguardo.Uso di getSpectrum() nella libreria Libgdx
Io uso la biblioteca per ottenere FFT e ho iniziato da questa breve guida: http://www.digiphd.com/android-java-reconstruction-fast-fourier-transform-real-signal-libgdx-fft/
Il problema è che esso uso:
fft.forward(array);
fft_cpx=fft.getSpectrum();
tmpi = fft.getImaginaryPart();
tmpr = fft.getRealPart();
Sia "fft_cpx", "TMPi", "TMPR "Sono un vettore galleggiante. Mentre "tmpi" e "tmpr" sono usati per calcolare la grandezza, "fft_cpx" non viene usato di nuovo.
Ho pensato che getSpectrum() fosse unione di getReal e getImmaginary ma il valore è tutto diverso. Forse getSpectrum sono valori complessi, ma qual è la loro rappresentazione?
Provo senza questo linecode fft_cpx=fft.getSpectrum();
e sembra funzionare bene, ma mi piacerebbe sapere se è necessario e qual è la differenza tra getSpectrum() e getReal() o getImmaginary().
Qui è esso documentazioni: http://libgdx-android.com/docs/api/com/badlogic/gdx/audio/analysis/FFT.html
float pubblico [] getSpectrum()
Restituisce: lo spettro dell'ultima FourierTransform.forward) chiamata (.
float pubblico [] getRealPart()
Returns: la parte reale dell'ultima FourierTransform.forward) chiamata (.
float pubblico [] getImaginaryPart()
Returns: la parte immaginaria dell'ultimo FourierTransform.forward() chiamata.
Grazie!