Нестационарный сигнал является сигналом, содержимое частоты изменяется со временем. spectrogram нестационарного сигнала является оценкой временного развития его содержимого. Чтобы создать спектрограмму нестационарного сигнала, Signal Analyzer выполните следующие шаги:
Разделите сигнал на сегменты равной длины. Сегменты должны быть достаточно короткими, чтобы содержимое частоты сигнала не изменялось заметно в сегменте. Сегменты могут перекрываться или не перекрываться.
Окрашивайте каждый сегмент и вычисляйте его спектр, чтобы получить short-time Fourier transform.
Отобразите степень каждого спектра по сегментам в децибелах. Изобразите величины один за другим как изображение с зависящей от амплитуды палитрой.
Вид спектрограммы доступен на отображениях, которые содержат только один сигнал.
Чтобы создать спектрограмму, сначала разделите сигнал на возможно перекрывающиеся сегменты. В Signal Analyzer можно управлять длиной сегментов и количеством перекрытия между смежными сегментами, используя Time Resolution и Overlap. Если вы не задаете длину и перекрытие, Signal Analyzer выбирает длину исходя из всей длины сигнала и 50% перекрытия. Приложение выравнивает временную ось спектрограммы по оси графика временной области.
На вкладке Spectrogram, в разделе Time Resolution, нажмите Specify.
Если сигнал не имеет информации о времени, задайте разрешение по времени (длину сегмента) в выборках. Разрешение по времени должно быть целым числом, большим или равным 1 и меньшим или равным длине сигнала.
Если сигнал имеет информацию о времени, задайте разрешение времени в секундах. Приложение преобразует результат в количество выборок и округляет его до ближайшее целого числа, которое меньше или равно количеству, но не меньше 1. Разрешение по времени должно быть меньше или равным длительности сигнала.
Задайте перекрытие в процентах от длины сегмента. Приложение преобразует результат в количество выборок и округляет его до ближайшее целого числа, которое меньше или равно количеству.
Если вы выбираете Auto для расчета разрешения по времени, то Signal Analyzer использует длину всего сигнала, чтобы выбрать длину сегментов. Приложение устанавливает разрешение по времени как ⌈ 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 выборки - ⌈ N/ 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 разделяет сигнал на перекрывающиеся сегменты, приложение окрашивает каждый сегмент в окно Кайзера. Масштабный фактор β окна, и, следовательно, leakage, настраивается.
Примечание
Утечки, используемые для вычисления спектра сигнала, и утечки, используемые для окна сегментов спектрограммы, являются независимыми друг от друга. Вы можете настроить их отдельно.
Затем приложение вычисляет спектр каждого сегмента, следуя процедуре, описанной в Spectrum Computation in Signal Analyzer, за исключением того, что нижний предел полосы пропускания разрешения равен
Сводные данные, Signal Analyzer находит компромисс между спектральным разрешением, достижимым со всей длиной сегмента, и ограничениями эффективности, которые являются результатом вычисления больших БПФ.
Если разрешение, полученное в результате анализа полного сегмента, достижимо, приложение вычисляет одну модифицированную периодограмму всего сегмента, используя окно Кайзера с заданным масштабным фактором.
Если разрешение, полученное в результате анализа полного сегмента, не достижимо, приложение вычисляет периодограмму Welch: Оно делит сегмент на перекрывающиеся подсегменты, окрашивает каждое подсегмент и усредняет периодограммы подсегментов. Приложение выбирает размер подмножества, окно и перекрытие так, чтобы составная периодограмма была эквивалентна измененной периодограмме всего сегмента с заданным окном Кайзера.
Приложение отображает степень кратковременного преобразования Фурье в децибелах, используя панель цветов с MATLAB по умолчанию® палитра. Цветовая панель содержит полную область значений степени спектрограммы и не меняется, если вы увеличиваете или панорамируете.
Можно изменить уровни величины, представленные заданной цветовой областью значений. На вкладке Spectrogram измените минимальное и максимальное значения степени для отображения. Можно также задать палитру так, чтобы она содержала полную область значений степени секции масштабирования спектрограммы. На вкладке Display нажмите кнопку Fit colormap.