Как использовать этот код БПФ с переменным размером синусоиды и целыми числами вместо шорт?

http://www.koders.com/java/fid168F68D8D019CF9A4F17CA8AFEE102F8BE3B2C28.aspx?s=FFT#L21

2 часть вопроса, на самом деле. Мое понимание БПФ довольно общее.

1) Код кажется достаточно простым. Но решение, которое я ищу, требует переменного размера массива данных (все равно будет степень 2). Итак, как мне изменить синусоиду, которая используется здесь? Я вижу, что это статическая синусоида размера 1024, которая четко определена. Как я могу использовать динамический размер реального массива данных для создания правильной синусоиды?

2) Кроме того, решение, которое я ищу, требует использования целых чисел вместо шорт, как в приведенном примере. Так как в массиве входных данных будет массив целых чисел. Какие модификации этого кода потребуются?

Заранее спасибо за вашу помощь.


person Mountain Man    schedule 12.07.2012    source источник


Ответы (1)


  1. Если вам нужен массив переменного размера, просто используйте ArrayList для вставки ваших значений. Код должен легко подстраиваться под это.

  2. Чтобы перейти с короткого на целое, просто измените их все на целые. Short — это просто 2-байтовое целое число вместо 4-байтового int.

person Rob Wagner    schedule 12.07.2012