Преобразование Фурье на Android - PullRequest
3 голосов
/ 01 сентября 2011

Существуют ли какие-либо API-интерфейсы Android, которые реализуют преобразование Фурье с использованием DSP устройства?Или есть какие-либо API, которые позволяют использовать DSP устройства?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 01 сентября 2011

Нет, нет общедоступного API для выполнения аппаратно-ускоренного БПФ.

Вы можете оптимизировать собственный код, ориентируясь на armeabi-v7a ABI для использования FPU.Это очень полезно для FFT с плавающей запятой.

См. CPU-ARCH-ABIS в каталоге документов / * Android NDK .

2 голосов
/ 26 марта 2012

Извините, это немного поздно, но если вы хотите вычислить преобразование Фурье в Android для действительного или комплексного числа, лучше использовать jTransfrom или libgdx.FFT.libgdx использует бэкэнд KissFFT, не совсем уверенный в том, что использует jTransform.

В этом примере показано, как реализовать libgdx:

http://www.digiphd.com/android-java-simple-fft-libgdx/

Надеюсь, это поможет.

1 голос
/ 01 сентября 2011

Во-первых, не все устройства имеют DSP. Большинство на самом деле просто имеют процессор и графический процессор.

На сегодняшний день вы, вероятно, не можете делать то, что хотите, без пользовательского ПЗУ / прошивки. Хорошей новостью является то, что они работают над этим. Посмотрите на Renderscript , который доступен, начиная с Honeycomb. В настоящее время он работает только на процессорах (хотя может использовать несколько ядер), но в будущем планируется выпустить его и на GPU (и, возможно, на DSP), с минимальными изменениями кода с вашей стороны. См. этот пост для получения дополнительной информации.

0 голосов
/ 01 сентября 2011

Visualiyer, как говорят, может экспортировать БПФ из воспроизведения звука:

http://developer.android.com/reference/android/media/audiofx/Visualizer.html

но это, конечно, не то, что вам нравится.

...