Я новичок в БПФ и обработке сигналов, так что, надеюсь, этот вопрос имеет смысл и / или не глуп.
Я хотел бы выполнить анализ спектра для живого аудиосигнала. Моя цель - найти хороший компромисс между отзывчивостью и разрешением по частоте, чтобы я мог угадать высоту входящего звука почти в реальном времени.
Из того, что я узнал о математике за преобразованием Фурье, существует неотъемлемый баланс между размером выборки и разрешающей способностью по частоте. Чем больше образец, тем лучше разрешение. Поскольку я пытаюсь минимизировать размер выборки (чтобы достичь требования, близкого к реальному времени), это означает, что мое разрешение страдает (каждый слот в выходном буфере соответствует широкому частотному диапазону, что нежелательно).
Однако, для моего предполагаемого применения, меня не волнует большая часть спектра. Мне нужна только информация о спектре для узкого частотного диапазона, скажем, от 100 до 1600 Гц. Есть ли способ изменить реализацию FFT так, чтобы я мог улучшить разрешение вывода в частотной области, сохраняя размер входного буфера постоянным (и небольшим)? Другими словами, могу ли я обменять выходную общую пропускную способность на выходное разрешение? Если да, то как это сделать?
Хотя я в лучшем случае слабо разбираюсь в математике, кажется, что заполнение входного буфера нулями может быть интересным, не так ли?
Заранее благодарим за любую помощь, которую вы можете предложить.