В этом примере показано, как визуализировать и измерить сигналы во время и частотный диапазон в MATLAB с помощью осциллографа времени и спектра анализатор.
Создайте синусоиду с частотой 100 Гц, произведенных на уровне 1 000 Гц. Сгенерируйте пять секунд синусоиды на 100 Гц с аддитивным белым шумом во вторых интервалах. Отправьте сигнал в осциллограф времени и спектр анализатор для отображения и измерения.
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 дан следующим уравнением:
Измерения курсора
Включите Измерения Курсора из вкладки Measurements путем нажатия соответствующей кнопки панели инструментов. Курсоры появляются на осциллографе времени с полем, показывающим изменение вовремя и значение между этими двумя курсорами. Можно перетащить курсоры и использовать их, чтобы измерить время между событиями в форме волны. Когда вы перетаскиваете курсор, время, значение в курсоре появляется. Этот рисунок показывает, как использовать курсоры, чтобы измерить временной интервал между peaks в форме волны ECG. Измерение в поле курсора демонстрирует, что временной интервал между двумя 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 кГц. Добавьте белый Гауссов шум в сумму синусоид и отобразите односторонний спектр мощности в спектре анализатор.
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, задать минимальное пиковое расстояние и изменить другие настройки от панели Настроек в Пиковой панели Измерения Средства поиска.
Чтобы узнать больше об использовании измерений со спектром анализатор, смотрите Спектр пример Измерений Анализатора.