Визуализация сигнала и измерения в MATLAB

В этом примере показано, как визуализировать и измерить сигналы во время и частотный диапазон в MATLAB с помощью осциллографа времени и спектра анализатор.

Визуализация сигнала во временном и частотном диапазонах

Создайте синусоиду с частотой 100 Гц, произведенных на уровне 1 000 Гц. Сгенерируйте пять секунд синусоиды на 100 Гц с аддитивным$N(0,0.0025)$ белым шумом во вторых интервалах. Отправьте сигнал в осциллограф времени и спектр анализатор для отображения и измерения.

SampPerFrame = 1000;
Fs = 1000;
SW = dsp.SineWave('Frequency', 100, ...
  'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
TS = timescope('SampleRate', Fs, 'TimeSpanSource','property', ...
    'TimeSpan', 0.1, 'YLimits', [-2, 2], 'ShowGrid', true);
SA = dsp.SpectrumAnalyzer('SampleRate', Fs);
tic;
while toc < 5
  sigData = SW() + 0.05*randn(SampPerFrame,1);
  SA(sigData);
  TS(sigData);
end
release(TS)
release(SA)

Измерения временного интервала

Используя осциллограф времени, можно сделать много измерений сигнала.

Следующие измерения доступны:

  • Измерения курсора - помещают экранные курсоры на все отображения осциллографа.

  • Статистика сигнала - отображает максимум, минимум, различие от пика к пику, среднее значение, медиану, значения RMS выбранного сигнала, и времена, в которые происходят максимум и минимум.

  • Двухуровневые Измерения - отображают информацию о переходах выбранного сигнала, аберрациях и циклах.

  • Пиковое Средство поиска - отображает максимумы и времена, в которые они происходят.

Можно включить и отключить эти измерения от вкладки Measurements.

Чтобы проиллюстрировать использование измерений в осциллографе времени, симулируйте сигнал ECG. Используйте ecg функция, чтобы сгенерировать 2 700 выборок сигнала. Используйте фильтр Savitzky-Golay, чтобы сглаживать сигнал и периодически расширять данные, чтобы получить приблизительно 11 периодов.

x = 3.5*ecg(2700).';
y = repmat(sgolayfilt(x,0,21),[1 13]);
sigData = y((1:30000) + round(2700*rand(1))).';

Отобразитесь сигнал во время определяют объем и используют Пиковые измерения Средства поиска и Data Cursor. Примите частоту дискретизации 4 кГц.

TS_ECG = timescope('SampleRate', 4000, ...
    'TimeSpanSource', 'Auto', 'ShowGrid', true);
TS_ECG(sigData);
TS_ECG.YLimits = [-4, 4];

Пиковые измерения

Включите Пиковые Измерения из вкладки Measurements путем нажатия соответствующей кнопки панели инструментов. Панель Peaks появляется в нижней части окна scope времени. Для свойства Num Peaks введите 8 и нажмите Enter. В панели Peaks осциллограф времени отображает список 8 пиковых амплитудных значений и времена, в которые они происходят.

Существует постоянная разница во времени 0,675 секунд между каждым heartbeat. Поэтому сердечный ритм сигнала ECG дан следующим уравнением:

$$\frac{60\,{\rm sec/min}}{0.675\,{\rm sec/beat}} =&#xA;88.89\,{\rm beats/min\,(bpm)}$$

Измерения курсора

Включите Измерения Курсора из вкладки Measurements путем нажатия соответствующей кнопки панели инструментов. Курсоры появляются на осциллографе времени с полем, показывающим изменение вовремя и значение между этими двумя курсорами. Можно перетащить курсоры и использовать их, чтобы измерить время между событиями в форме волны. Когда вы перетаскиваете курсор, время, значение в курсоре появляется. Этот рисунок показывает, как использовать курсоры, чтобы измерить временной интервал между peaks в форме волны ECG.$\Delta T$ Измерение в поле курсора демонстрирует, что временной интервал между двумя peaks составляет 0,675 секунды, соответствуя сердечному ритму 1,482 Гц или 88,9 ударам/min.

Статистика сигнала и двухуровневые измерения

Можно также выбрать Signal Statistics и различные двухуровневые измерения от вкладки Measurements. Статистика сигнала может использоваться, чтобы определить минимальные и максимальные значения сигнала, а также другие метрики как от пика к пику, среднее значение, медиана и значения RMS. Двухуровневые измерения могут использоваться, чтобы определить информацию о повышении и падающих переходах, аберрациях перехода, перерегулировании и информации об отклонении от номинала, времени урегулирования, ширине импульса и рабочем цикле. Чтобы читать больше об этих измерениях, смотрите, Конфигурируют Time Scope Объект MATLAB.

Измерения частотного диапазона

Этот раздел объясняет, как сделать измерения частотного диапазона со спектром анализатор.

Спектр анализатор обеспечивает следующие измерения:

  • Измерения курсора - устанавливают курсоры на отображение спектра.

  • Пиковое Средство поиска - отображает максимумы и частоты, на которых они происходят.

  • Измерения канала - отображают занимаемую полосу и измерения канала ACPR.

  • Измерения искажения - отображают гармонику и измерения искажения межмодуляции.

  • Измерения CCDF - отображают дополнительные измерения кумулятивной функции распределения.

Можно включить и отключить эти измерения от спектра панель инструментов анализатора или в меню Tools> Measurements.

Измерения искажения

Чтобы проиллюстрировать использование измерений со спектром анализатор, создайте синусоиду на 2,5 кГц, произведенную на уровне 48 кГц с аддитивным белым Гауссовым шумом. Оцените старший полином (9-я степень) в каждом значении сигналов, чтобы смоделировать нелинейное искажение. Отобразите сигнал в спектре анализатор.

Fs = 48e3;
SW = dsp.SineWave('Frequency', 2500, ...
  'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SA_Distortion = dsp.SpectrumAnalyzer('SampleRate', Fs, ...
    'PlotAsTwoSidedSpectrum', false);
y = [1e-6 1e-9 1e-5 1e-9 1e-6 5e-8 0.5e-3 1e-6 1 3e-3];
tic;
while toc < 5
  x = SW() + 1e-8*randn(SampPerFrame,1);
  sigData = polyval(y, x);
  SA_Distortion(sigData);
end
clear SA_Distortion;

Включите гармонические измерения искажения путем нажатия на соответствующий значок на панели инструментов или путем нажатия на пункт меню Tools> Measurements> Distortion Measurements. В Измерениях Искажения измените значение для Цифры. Гармоники к 9 и проверка флажок Label Harmonics. В панели вы видите значение основного принципа близко к 2 500 Гц и 8 гармоник, а также их ОСШ, SINAD, THD и значений SFDR, на которые ссылаются относительно основной выходной мощности.

Пиковое средство поиска

Можно отследить изменяющиеся во времени спектральные компоненты при помощи Пикового диалогового окна измерения Средства поиска. Можно показать и опционально пометить до 100 peaks. Можно вызвать Пиковое диалоговое окно Средства поиска от пункта меню Tools> Measurements> Peak Finder, или путем нажатия на соответствующий значок на панели инструментов.

Чтобы проиллюстрировать использование Пикового Средства поиска, создайте сигнал, состоящий из суммы трех синусоид с частотами 5, 15, и 25 кГц и амплитудами 1, 0.1, и 0.01 соответственно. Данные производятся на уровне 100 кГц. Добавьте$N(0,10^{-8})$ белый Гауссов шум в сумму синусоид и отобразите односторонний спектр мощности в спектре анализатор.

Fs = 100e3;
SW1 = dsp.SineWave(1e0,   5e3, 0, 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SW2 = dsp.SineWave(1e-1, 15e3, 0, 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SW3 = dsp.SineWave(1e-2, 25e3, 0, 'SampleRate', Fs, 'SamplesPerFrame', SampPerFrame);
SA_Peak = dsp.SpectrumAnalyzer('SampleRate', Fs, 'PlotAsTwoSidedSpectrum', false);
tic;
while toc < 5
    sigData = SW1() + SW2() + SW3() + 1e-4*randn(SampPerFrame,1);
    SA_Peak(sigData);
end
clear SA_Peak;

Позвольте Пиковому Средству поиска пометить три частоты синусоиды. Значения частоты и степени в dBm отображены в Пиковой панели Средства поиска. Можно увеличить или сократить максимальное число peaks, задать минимальное пиковое расстояние и изменить другие настройки от панели Настроек в Пиковой панели Измерения Средства поиска.

Чтобы узнать больше об использовании измерений со спектром анализатор, смотрите Спектр пример Измерений Анализатора.