Я создаю мобильное приложение, используя дротик / трепетание, и моему приложению требуется поток амплитуды различных звуковых частот от микрофона. У меня есть поток Array , поступающий из ENCODING_PCM_16BIT из mic_stream library . Чтобы преобразовать данные PCM в звуковые частоты, я использую быстрое преобразование Фурье FFT library ; который использует реализацию алгоритма Кули-Тьюки.
Моя проблема в том, что вывод БПФ не соответствует ожиданиям. Из того, что я прочитал, вывод FFT должен иметь длину N / 2 для ввода длины N. Однако этот алгоритм выводит массив длины N. Кроме того, первая половина вывода отражается второй половиной, см. , Так правильно ли я просто игнорировать вторую половину выходного массива?