Каково максимальное разрешение по частоте для спектрограммы реализации STFT в Matlab ()?

10

spectrogram()Функция Matlab рассчитывает STFT сигнала. Он описывает свой NFFTаргумент следующим образом:

S = SPECTROGRAM(X,WINDOW,NOVERLAP,NFFT)определяет количество частотных точек, используемых для вычисления дискретных преобразований Фурье. Если NFFTне указан, используется значение по умолчанию NFFT.

Правильно ли я в этом NFFT- компромисс только между разрешением по частоте и количеством вычислений? Для моей автономной работы нет необходимости сохранять циклы. Существует ли какой-либо максимальный предел NFFT, обусловленный, например, утечкой спектра, или любой другой проблемой, о которой я должен знать, или я могу установить этот аргумент на максимально высокий уровень?

Andreas
источник

Ответы:

5

Длина БПФ является компромиссом между частотой и временным разрешением. Спектрограммы часто генерируются путем вычисления перекрывающихся БПФ на интересующем сигнале. Если вы сделаете БПФ длиннее, то эффективная полоса пропускания каждого выходного лотка станет меньше, поэтому разрешение по оси частот улучшится. Единственным ограничивающим фактором для разрешения по частоте, которое вы можете получить, является общее время наблюдения, которое вы получаете от сигнала.

В то же время, однако, ваша способность распознавать локализованную во времени функцию уменьшается. Интуитивно понятный способ обдумать это - рассматривать FFT как сложное преобразование с понижением частоты, за которым следует операция интегрирования и выгрузки:

Икс[К]знак равноΣNзнак равно0N-1(Икс[N]е-J2πNКN)

Такой просмотр делает потерю временного разрешения более очевидной. Произведение в скобках сдвигает вниз по частоте на , и результирующий сигнал интегрируется через окноИкс[N]2πNКNNИкс[N]Nстановится больше, больше перекрывающихся БПФ будет содержать этот период времени в своих временных окнах интеграции. Следовательно, функция появится в большем количестве строк изображения спектрограммы (при условии, что время находится вдоль оси Y). Если вы затем сделаете разрез столбцов (т.е. частотных интервалов) спектрограммы, в которой находится объект, вы заметите более широкий размытый пик. Таким образом, у вас меньше возможностей для определения фактического времени появления функции.

Вы также правы, что увеличение длины БПФ требует большего количества вычислений, что может быть актуально для приложений реального времени.

Джейсон Р
источник