Нестационарный сигнал - это сигнал, частотное содержание которого изменяется со временем. Спектрограмма нестационарного сигнала является оценкой эволюции во времени его частотного содержания. Для построения спектрограммы нестационарного сигнала анализатор сигналов выполняет следующие действия:
Разделите сигнал на сегменты равной длины. Сегменты должны быть достаточно короткими, чтобы частотное содержание сигнала не изменялось заметно внутри сегмента. Сегменты могут перекрываться или не перекрываться.
Окнайте каждый сегмент и вычислите его спектр, чтобы получить кратковременное преобразование Фурье.
Отображение посегментной мощности каждого спектра в децибелах. Изображайте величины бок о бок в виде изображения с цветовой картой, зависящей от величины.
Вид спектрограммы доступен на дисплеях, содержащих только один сигнал.

Чтобы построить спектрограмму, сначала разделите сигнал на возможно перекрывающиеся сегменты. В Signal Analyzer можно управлять длиной сегментов и величиной перекрытия между соседними сегментами с помощью команд Разрешение по времени (Time Resolution) и Перекрытие (Overlap). Если длина и перекрытие не указаны, анализатор сигналов выбирает длину на основе всей длины сигнала и 50% перекрытия. Приложение выравнивает временную ось спектрограммы с осью графика временной области.
На вкладке Спектрограмма (Spectrogram) в разделе Разрешение времени (Time Resolution) щелкните Указать (Specify).
Если сигнал не имеет временной информации, укажите временное разрешение (длину сегмента) в выборках. Разрешение по времени должно быть целым числом, большим или равным 1, и меньшим или равным длине сигнала.
Если сигнал содержит временную информацию, укажите временное разрешение в секундах. Приложение преобразует результат в несколько выборок и округляет его до ближайшего целого числа, которое меньше или равно числу, но не меньше 1. Разрешение по времени должно быть меньше или равно длительности сигнала.
Укажите перекрытие в процентах от длины сегмента. Приложение преобразует результат в число выборок и округляет его до ближайшего целого числа, которое меньше или равно числу.
Если для вычисления разрешения по времени выбрать Auto, то анализатор сигналов использует длину всего сигнала для выбора длины сегментов. Приложение устанавливает разрешение по времени как ⌈ N/d ⌉ выборок, где скобки обозначают функцию потолка, N - длину сигнала, а d - делитель, который зависит от N:
| Длина сигнала (N) | Делитель (d) | Длина сегмента |
|---|---|---|
2 образцы - 63 образцы | 2 | 1 образец - 32 образцы |
64 образцы - 255 образцы | 8 | 8 образцы - 32 образцы |
256 образцы - 2047 образцы | 8 | 32 образцы - 256 образцы |
2048 образцы - 4095 образцы | 16 | 128 образцы - 256 образцы |
4096 образцы - 8191 образцы | 32 | 128 образцы - 256 образцы |
8192 образцы - 16383 образцы | 64 | 128 образцы - 256 образцы |
16384 образцы - N образцов | 128 | 128 образцы - ⌈ Н/ 128⌉ образцы |
По-прежнему можно задать перекрытие между соседними сегментами. Задание перекрытия изменяет количество сегментов. Сегменты, выходящие за пределы конечной точки сигнала, заполняются нулями.
Рассмотрим сигнал из семи выборок [s0 s1 s2 s3 s4 s5 s6]. Поскольку ⌈ 7/2 ⌉ = ⌈ 3,5 ⌉ = 4, приложение делит сигнал на два сегмента длиной четыре, когда нет перекрытия. Количество сегментов изменяется по мере увеличения перекрытия.
| Количество перекрывающихся образцов | Результирующие сегменты |
|---|---|
0 |
s0 s1 s2 s3
s4 s5 s6 0 |
1 |
s0 s1 s2 s3
s3 s4 s5 s6 |
2 |
s0 s1 s2 s3
s2 s3 s4 s5
s4 s5 s6 0 |
3 |
s0 s1 s2 s3
s1 s2 s3 s4
s2 s3 s4 s5
s3 s4 s5 s6 |
После установки длины сегмента и наложения количество сегментов и их расположения на кромках остаются фиксированными и не зависят от увеличения или панорамирования. При масштабировании и панорамировании приложение вычисляет и отображает спектрограмму, используя сегменты, которые попадают в область видимого увеличения, представляющую интерес.
Приложение:
Выравнивает временную ось спектрограммы с осью соответствующего графика временной области. Таким образом, спектральное содержание в данный момент времени совпадает с его возникновением.
Для ненулевого перекрытия удлиняет первый и последний сегменты до конечных точек сигнала.
Ноль-площадки сигнала, если последний сегмент выходит за пределы конечной точки сигнала.
Когда сегменты перекрываются на 0%, каждый сегмент центрируется в фактическое время вхождения. Когда перекрытие ненулевое, выравнивание временной оси спектрограммы с осью временной области приводит к удлинению первого и последнего временных интервалов. Все остальные временные интервалы имеют одинаковую длину. Другими словами, центр каждого сегмента, за исключением первого и последнего, соответствует фактическому времени возникновения. Рассмотрим следующий пример:

После того, как Signal Analyzer разделит сигнал на перекрывающиеся сегменты, каждое окно приложения будет иметь окно Kaiser. Коэффициент формы β окна и, следовательно, утечка являются регулируемыми.
Примечание
Утечка, используемая для вычисления спектра сигнала, и утечка, используемая для отображения сегментов спектрограммы, независимы друг от друга. Их можно настроить отдельно.
Затем приложение вычисляет спектр каждого сегмента, следуя процедуре, описанной в Spectrum Computation in Signal Analyzer, за исключением того, что нижний предел разрешающей способности равен
− 1.
Таким образом, Signal Analyzer находит компромисс между спектральным разрешением, достижимым со всей длиной сегмента, и ограничениями производительности, возникающими в результате вычисления больших FFT.
Если разрешение, полученное в результате анализа полного сегмента, достижимо, приложение вычисляет одну измененную периодограмму всего сегмента, используя окно Кайзера с заданным коэффициентом формы.
Если разрешение, полученное в результате анализа полного сегмента, недостижимо, приложение вычисляет периодограмму Welch: Он делит сегмент на перекрывающиеся подсегменты, окнами каждый подсегмент и усредняет периодограммы подсегментов. Приложение выбирает размер подсегмента, окно и перекрытие, так что составная периодограмма эквивалентна измененной периодограмме всего сегмента с указанным окном Кайзера.
Приложение отображает мощность кратковременного преобразования Фурье в децибелах, используя цветовую полосу с картой цветов MATLAB ® по умолчанию. Цветовая полоса включает полный диапазон мощности спектрограммы и не изменяется при увеличении или панорамировании.
Можно изменить уровни величины, представленные заданным диапазоном цветов. На вкладке Спектрограмма (Spectrogram) измените минимальное и максимальное значения мощности для отображения. Также можно настроить карту цветов так, чтобы она содержала полный диапазон мощности увеличенной секции спектрограммы. На вкладке «Отображение» нажмите кнопку «Подогнать карту цветов».