Даже как-то неудобно задавать такие вопросы, но мне не помешает помощь людей, которые сталкивались с цифровой обработкой сигналов.
Итак, передо мной стоит тривиальная задача - обработать аудиосигнал с АЦП. Есть оцифрованный сигнал АЦП - по сути, массив из 800 точек (сигнал длительностью 100 мс, снятый с частотой дискретизации 8 кГц). Есть
функция БПФ из библиотеки arm_math, которая обеспечивает высокую скорость обработки этого массива. Проблема в том, что мне не нравится то, что я получаю на выходе этого преобразования. Код:
/* Непосредственно комплексное БПФ-преобразование на 1024 точки */
arm_cfft_f32(&arm_cfft_sR_f32_len1024, FFT_data, inversal_transform_flag, bit_reversr_flag);
/* Рассчитываем амплитуду каждого спектра */
arm_cmplx_mag_f32(FFT_data, freqs_magnitudes, FFT_SAMPLES_COUNT);
Полученный спектр амплитуд:
Пока я не понимаю:
- в каком диапазоне частот находится полученный результат и чем это определяется?
- есть ли возможность настроить более узкий коридор и шаг частоты для преобразования?
Буду благодарен за помощь, совет и указание на направление поиска информации.