Tôi biết điều đầu tiên bạn đang làm là "tìm tài liệu bên trong", vấn đề là tài liệu không rõ ràng về nó.Sử dụng getSpectrum() trong thư viện Libgdx
tôi sử dụng thư viện để lấy FFT và tôi bắt đầu từ hướng dẫn ngắn này: http://www.digiphd.com/android-java-reconstruction-fast-fourier-transform-real-signal-libgdx-fft/
Vấn đề là nó sử dụng:
fft.forward(array);
fft_cpx=fft.getSpectrum();
tmpi = fft.getImaginaryPart();
tmpr = fft.getRealPart();
Cả hai "fft_cpx", "tmpi", "tmpr "là vector nổi. Trong khi "tmpi" và "tmpr" được sử dụng để tính toán độ lớn, "fft_cpx" không được sử dụng lại.
Tôi nghĩ rằng getSpectrum() là liên minh getReal và getImmaginary nhưng giá trị khác nhau. Có thể getSpectrum là các giá trị phức tạp, nhưng đại diện của chúng là gì?
Tôi thử không có mã số này fft_cpx=fft.getSpectrum();
và có vẻ như công việc đúng, nhưng tôi muốn biết nếu cần thiết và sự khác biệt giữa getSpectrum() và getReal() hoặc getImmaginary() là gì.
Đây là nó tài liệu: http://libgdx-android.com/docs/api/com/badlogic/gdx/audio/analysis/FFT.html
phao nào [] getSpectrum()
Returns: quang phổ của FourierTransform.forward cuối cùng() gọi.
phao nào [] getRealPart()
Returns: phần thực sự của FourierTransform.forward cuối cùng() gọi.
phao nào [] getImaginaryPart()
Returns: phần ảo của FourierTransform.forward cuối cùng() gọi.
Cảm ơn!