Функции > Обработка сигналов > Объединенный частотно-временной анализ > Пример. Быстрое преобразование Фурье
  
Пример. Быстрое преобразование Фурье
Функция stft используется для расчета оконного преобразования Фурье (STFT) сигнала, спектральные характеристики которого изменяются со временем.
Функция возвращает матрицу, столбцы которой содержат преобразование Фурье входного сигнала в моменты, разделенные выборками s. Для сигнала x(t) STFT определяется в непрерывном времени как:
Нажать для копирования этого выражения
где w(t) — скользящее вещественнозначное сужение окна, которое используется для локализации влияния преобразования поблизости от заданного времени.
Сигнал с двумя тонами
Следующий сигнал состоит из двух синусоид разных частот, возникающих в разное время.
1. Задайте компоненты сигнала.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
2. Постройте график составного сигнала.
Нажать для копирования этого выражения
В STFT содержится информация о частотном спектре сигнала и времени, в котором частота присутствует.
3. Рассчитайте STFT со 100 частотными выборками, временным шагом 30 и окном Хэннинга.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Это матрица 100 x 56 (всего имеется 56 временных шагов размером 30 в сигнале длины L)
4. Рассчитайте квадрат величины.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
5. Сохраните полученный контур в виде изображения в формате BMP.
Нажать для копирования этого выражения
(v_spec_rotated.bmp)
На данном изображении показаны не только две частоты, но также и время их возникновения. Однако данная спектрограмма страдает так называемым компромиссом локализации. Для получения временной локализации (когда STFT отмечает время активности синусоид) требуется короткое окно в интервале времени. Напротив, для хорошей частотной локализации необходимо долговременное окно. На этот компромисс также оказывает влияние тип используемого окна, рассматриваемый сигнал, время и частота.
6. В качестве иллюстрации рассчитайте STFT и спектрограмму того же вышеописанного сигнала, но используя длину частотного окна 300 вместо 100.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
7. Сохраните полученный контур в виде изображения в формате BMP.
Нажать для копирования этого выражения
(v_nbspec_rotated.bmp)
STFT, рассчитанное с длинным окном, имеет лучшее частотное разрешение, но временное разрешение при этом ухудшилось. Данный компромисс время-частота можно обойти, используя другие функции времени-частоты, например timefreq и timecorr.
Пользовательское кадрирование
В данном примере частотное окно дополняется нулями до длины преобразования Фурье.
1. Задайте длину окна и процентную часть, занимаемую растущей косинусоидой.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Длина окна не может превышать длину преобразования Фурье.
2. Измените масштаб коэффициентов окна так, чтобы окно имело единицы измерения энергии.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
3. Рассчитайте STFT и спектрограмму.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
4. Сохраните полученный контур в виде изображения в формате BMP.
Нажать для копирования этого выражения
(v_spec2_rotated.bmp)
Попробуйте изменить параметры функции stft или частоты синусоид входного сигнала и наблюдайте за изменением графиков.