Длина БПФ является компромиссом между частотой и временным разрешением. Спектрограммы часто генерируются путем вычисления перекрывающихся БПФ на интересующем сигнале. Если вы сделаете БПФ длиннее, то эффективная полоса пропускания каждого выходного лотка станет меньше, поэтому разрешение по оси частот улучшится. Единственным ограничивающим фактором для разрешения по частоте, которое вы можете получить, является общее время наблюдения, которое вы получаете от сигнала.
В то же время, однако, ваша способность распознавать локализованную во времени функцию уменьшается. Интуитивно понятный способ обдумать это - рассматривать FFT как сложное преобразование с понижением частоты, за которым следует операция интегрирования и выгрузки:
Икс[ k ] = ∑n = 0N- 1( х [ н ] е- J 2 πн кN)
Такой просмотр делает потерю временного разрешения более очевидной. Произведение в скобках сдвигает вниз по частоте на , и результирующий сигнал интегрируется через окнох [ н ]2 πн кNNх [ н ]Nстановится больше, больше перекрывающихся БПФ будет содержать этот период времени в своих временных окнах интеграции. Следовательно, функция появится в большем количестве строк изображения спектрограммы (при условии, что время находится вдоль оси Y). Если вы затем сделаете разрез столбцов (т.е. частотных интервалов) спектрограммы, в которой находится объект, вы заметите более широкий размытый пик. Таким образом, у вас меньше возможностей для определения фактического времени появления функции.
Вы также правы, что увеличение длины БПФ требует большего количества вычислений, что может быть актуально для приложений реального времени.