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

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

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

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

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

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

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

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

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

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

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

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

Можно включить и отключить эти измерения от панели инструментов scope времени или в меню Tools> 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))).';

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

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

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

Включите Пиковые Измерения путем нажатия на соответствующий значок панели инструментов или путем нажатия на пункт меню Tools> Measurements> Peak Finder. Нажмите Settings в Пиковой панели Средства поиска, чтобы расширить панель Настроек. Введите 10 для Цифры Max Peaks и нажимают Enter. Отображения осциллографа времени в Peaks разделяют список на области 10 пиковых амплитудных значений и времена, в которые они происходят.

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

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

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

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

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

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

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

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

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

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

  • Измерения канала - отображают занимаемую полосу и измерения канала 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 кГц. Добавьте белый Гауссов шум в сумму синусоид и отобразите односторонний спектр мощности в спектре анализатор.

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, задать минимальное пиковое расстояние и изменить другие настройки от панели Настроек в Пиковой панели Измерения Средства поиска.

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