Область времени сигнализирует об отображении и измерении
dsp.TimeScope
Система object™ отображает сигналы временной области. Можно использовать осциллограф, чтобы измерить значения сигналов, найти peaks, отобразить двухуровневые измерения и статистику.
Видеть сигналы временной области в осциллографе:
Создайте dsp.TimeScope
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
Функции осциллографа:
Триггеры — Набор инициировал, чтобы синхронизировать повторяющиеся сигналы и приостановить отображение, когда события имеют место.
Измерения курсора — значения сигналов Меры с помощью вертикальных и горизонтальных курсоров.
Статистика сигнала — Отображение максимум, минимум, различие от пика к пику, среднее значение, медиана и значения RMS выбранного сигнала.
Пиковое Средство поиска — Находит максимумы, показывая x - значения оси, в которых они происходят.
Двухуровневые Измерения — переходы Меры, перерегулирования, отклонения от номинала и циклы.
Для получения информации об измерениях и триггерах, смотрите, Конфигурируют Осциллограф Времени.
Функции отображения осциллографа:
Несколько сигналов — График несколько сигналов на той же оси Y (отображение) с помощью нескольких входных портов.
Несколько осей Y (отображения) — Отображение несколько осей Y. Все оси Y имеют общую область значений времени на оси X.
Измените параметры — Изменяют значения параметров осциллографа прежде и во время симуляции.
Автомасштабирование оси — Автомасштабирующийся во время или в конце симуляции. Поля чертятся вверху и внизу осей.
возвращает Системный объект Осциллографа Времени, scope
= dsp.TimeScopescope
. Это действительные отображения объекта - и плавание с комплексным знаком и фиксированная точка сигнализирует во временном интервале.
создает Осциллограф Времени и устанавливает свойство NumInputPorts на scope
= dsp.TimeScope(numInputs
,sampleRate
)numInputs
и свойство SampleRate к sampleRate
.
свойства наборов, заданные как Имя, пары Значения.scope
= dsp.TimeScope(___,Name,Value)
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
NumInputPorts
— Количество входных портов
(значение по умолчанию) | целое число между [1, 96]Количество входных портов, заданных как положительное целое число. Каждый сигнал, проникающий через отдельный вход, становится отдельным каналом в осциллографе. Необходимо вызвать осциллограф с тем же количеством входных параметров как значение этого свойства.
SampleRate
— Частота дискретизации входных параметров
(значение по умолчанию) | скаляр | векторЗадайте частоту дискретизации, в герц, входных сигналов.
Можно задать скаляр или числовой вектор с длиной, равной значению NumInputPorts
. Инверсия частоты дискретизации определяет интервал между точками на оси времени в отображенном сигнале. Когда вы устанавливаете SampleRate
к скалярному значению и NumInputPorts
больше 1, объект использует ту же частоту дискретизации во всех входных параметрах.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeSpan
— Отрезок времени
(значение по умолчанию) | положительная скалярная величинаЗадайте отрезок времени, в секундах, как положительное значение числового скаляра. Пределы оси времени вычисляются можно следующим образом.
Минимальный предел оси времени = min (TimeDisplayOffset
)
Максимальный предел оси времени = макс. (TimeDisplayOffset
) + TimeSpan
Настраиваемый: да
Чтобы использовать это свойство, установите FrameBasedProcessing на false
, или набор FrameBasedProcessing
к true
и TimeSpanSource к 'Property'
.
Откройте Configuration Properties. На вкладке Time, набор Time Span.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeSpanOverrunAction
— Перенесите или прокрутите когда TimeSpan
превышается'Wrap'
(значение по умолчанию) | 'Scroll'
Задайте, как осциллограф отображает новые данные вне видимого отрезка времени.
Wrap
— В этом режиме осциллограф отображает новые данные, пока данные не достигают максимального предела оси времени. Когда данные достигают максимального предела оси времени окна scope, осциллограф очищает отображение. Осциллограф затем обновляет значение смещения времени и начинает отображать последующие точки данных, начинающие с минимального предела оси времени.
Scroll
— В этом режиме осциллограф прокручивает старые данные налево, чтобы создать место для новых данных по правой стороне отображения осциллографа. Этот режим графически интенсивен и может влиять на производительность во время выполнения. Однако это выгодно для отладки и контроля изменяющихся во времени сигналов.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time Span overrun action.
Типы данных: char |
string
TimeSpanSource
— Источник отрезка времени'Property'
(значение по умолчанию) | 'Auto'
Задайте источник отрезка времени для основанных на системе координат входных сигналов как:
'Property'
– Объект выводит x - пределы по осям из свойств TimeDisplayOffset и TimeSpan.
'Auto'
– Пределы оси времени выведены из TimeDisplayOffset
и свойства SampleRate и FrameSize (количество строк в каждом входном сигнале). Пределы вычисляются как:
Минимальный предел оси времени = min (
TimeDisplayOffset
)
Максимальный предел оси времени = макс. (
TimeDisplayOffset
) + макс. (1/SampleRate
.*FrameSize)
Настраиваемый: да
Чтобы использовать это свойство, установите FrameBasedProcessing
к true
.
Откройте Configuration Properties. На вкладке Time, набор Time Span.
Типы данных: char |
string
AxesScaling
— Режим масштабирования осей"OnceAtStop"
(значение по умолчанию) | "Auto"
| "Manual"
| "Updates"
Задайте, когда осциллограф будет масштабировать оси. Допустимые значения:
"Auto"
— Осциллограф масштабирует оси по мере необходимости, чтобы соответствовать данным, обоим в течение и после симуляции.
"Manual"
— Осциллограф не масштабирует оси автоматически.
"OnceAtStop"
— Осциллограф масштабирует оси, когда симуляция останавливается.
"Updates"
— Осциллограф масштабирует оси однажды и только однажды после 10 обновлений.
Выберите Tools> Axes Scaling.
Типы данных: char |
string
Name
— Имя окна'Time Scope'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗадайте имя осциллографа как вектор символов или представьте скаляр в виде строки. Это имя появляется как заголовок окна рисунка осциллографа. Чтобы задать заголовок графика осциллографа, используйте свойство Title.
Настраиваемый: да
Типы данных: char |
string
Position
— Положение окна[left bottom width height]
Определите объем положения окна в пикселях, заданных размером и местоположением окна scope как вектор с 4 элементами формы [left bottom width height]
. Можно поместить окно scope в определенную позицию по экрану путем изменения значений к этому свойству.
По умолчанию окно появляется в центре вашего экрана с шириной 410
пиксели и высота 300
'pixels'. Точное значение положения зависит от вашего разрешения экрана.
Настраиваемый: да
ReduceUpdates
— Уменьшайте обновления, чтобы улучшать производительностьtrue
(значение по умолчанию) | false
true
— Данные логов осциллографа для дальнейшего использования и обновлений окно периодически.
false
— Осциллограф обновляется каждый раз, когда осциллограф называется.
Скорость симуляции быстрее, когда это свойство установлено в true
.
Настраиваемый: да
Выберите Simulation> Reduce Updates to Improve Performance.
LayoutDimensions
— Отобразите размерности разметочной сетки
(значение по умолчанию) | [numberOfRows, numberOfColumns]
Задайте размерности разметочной сетки как вектор с 2 элементами: [numberOfRows,numberOfColumns]
. Можно использовать до 16 строк и 16 столбцов.
Пример: scope.LayoutDimensions = [2,4]
Настраиваемый: да
Выберите View> Layout.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
PlotType
— Управляйте типом графика'Line'
(значение по умолчанию) | 'Stairs'
Задайте тип графика использовать.
Настраиваемый: да
Откройте свойства Style. Установите Plot type.
Типы данных: char |
string
BufferLength
— Длина буфера используется в каждом входном сигнале
(значение по умолчанию) | скалярЗадайте размер буфера, который осциллограф содержит в его кэше памяти. Память ограничивается доступной памятью в вашей системе. Если ваш сигнал имеет строки M данных и точек данных N в каждой строке, M x N является количеством точек данных на временной шаг. Умножьте этот результат на количество временных шагов для вашей модели, чтобы получить необходимую длину буфера. Например, если у вас есть 10 строк данных с каждой строкой, имеющей 100 точек данных, и ваш запуск будет 10 временными шагами, необходимо войти 10,000 (10 x 100 x 10) как длина буфера.
Откройте Data History Properties. Установите Buffer length.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
FrameBasedProcessing
— Вход Process в системах координатtrue
(значение по умолчанию) | false
true
— Включите основанную на системе координат обработку.
false
— Включите основанную на выборке обработку.
Откройте Configuration Properties. На вкладке Main, набор Input processing.
TimeUnits
— Модули оси времени'Metric'
(значение по умолчанию) | 'Seconds'
| 'None'
Укажите, что модули раньше описывали ось времени. Можно выбрать одну из следующих опций:
Metric
— В этом режиме осциллограф преобразует времена на оси времени к самым соответствующим модулям измерения. Эти модули включают миллисекунды, микросекунды, наносекунды, минуты, дни, и т.д. Осциллограф выбирает соответствующие модули измерения на основе минимального предела оси времени и максимального предела оси времени окна scope.
Seconds
— В этом режиме осциллограф всегда отображает модули на оси времени как секунды.
None
— В этом режиме осциллограф не отображает модулей на оси времени. Осциллограф только показывает слову Time
на оси времени.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time units.
Типы данных: char |
string
TimeDisplayOffset
— Возместите пределы оси XЗадайте в секундах, как далеко переместить данные по x - ось. Значение сигналов не изменяется, только отображенный x - ось.
Если вы задаете это свойство как скаляр, то то значение является смещением отображения времени для всех каналов.
Если вы задаете вектор, каждый векторный элемент является смещением времени для соответствующего канала. Для векторов с длиной меньше, чем количество входных каналов смещения отображения времени для остающихся каналов установлены в 0. Если вектор имеет длину, больше, чем количество входных каналов, дополнительные векторные элементы проигнорированы.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time display offset.
TimeAxisLabels
— Метки оси времени'All'
(значение по умолчанию) | 'Bottom
| 'None'
Задайте, как метки оси времени должны появиться в отображениях осциллографа как:
'All'
— Метки оси времени появляются во всех отображениях.
'Bottom'
— Метки оси времени появляются в нижнем отображении каждого столбца.
'None'
— Никакие метки не появляются ни в каком отображении.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time-axis labels.
Типы данных: char |
string
MaximizeAxes
— Максимизируйте управление осями"Auto"
(значение по умолчанию) | "On"
| "Off"
Задайте, отобразить ли осциллограф в режиме максимизированных осей. В этом режиме оси расширены, чтобы поместиться в целое отображение. Чтобы сохранить пробел, метки не появляются в каждом отображении. Вместо этого значения метки появляются сверху отображенных на графике данных. Можно выбрать одну из следующих опций:
"Auto"
— Оси кажутся максимизируемыми во всех отображениях только если Title
и YLabel
свойства пусты для каждого отображения. Если вы вводите значение в какое-либо отображение для любого из этих свойств, оси не максимизируются.
"On"
— Оси кажутся максимизируемыми во всех отображениях. Любые значения ввели в Title
и YLabel
свойства скрыты.
"Off"
— Ни одна из осей не кажется максимизируемой.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Main, набор Maximize axes.
Типы данных: char |
string
ActiveDisplay
— Активный дисплей для установки свойств
(значение по умолчанию) | целое числоЗадайте активный дисплей, целочисленным номером отображения, чтобы получить и установить соответствующие свойства. Количество отображения соответствует своему постолбцовому индексу размещения. Установите это свойство управлять, какое отображение имеет свои цвета осей, свойства линии, свойства маркера и измененную видимость.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Display, набор Active Display.
Title
— Отобразите заголовок''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗадайте заголовок отображения вектора символов или строки.
Настраиваемый: да
Откройте Configuration Properties. Установите Title.
Типы данных: char |
string
ShowLegend
— Легенда Showfalse
(значение по умолчанию) | true
Чтобы показать легенду с входными именами, установите это свойство на true
.
От легенды можно управлять, какие сигналы отображаются. Это управление эквивалентно изменению видимости в диалоговом окне Style. В легенде scope кликните по имени сигнала, чтобы скрыть сигнал в осциллографе. Чтобы показать сигнал, кликните по имени сигнала снова. Чтобы показать только один сигнал, щелкните правой кнопкой по имени сигнала. Чтобы показать все сигналы, нажмите Esc.
Легенда только показывает первые 20 сигналов. Любые дополнительные сигналы нельзя просмотреть или управлять от легенды.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Display выберите Show legend.
Типы данных: логический
ShowTimeAxisLabel
— Демонстрирующаяся легенда Showtrue
(значение по умолчанию) | false
Когда вы устанавливаете это свойство на true
, осциллограф отображает метку оси времени. Когда вы устанавливаете это свойство на false
, осциллограф не отображает метку оси времени, но все еще отображает отметки деления и другие элементы оси времени. Это свойство применяется только если TimeAxisLabels
свойством является All
или Bottom
.
Настраиваемый: да
Чтобы управлять, какая ось отображения помечена, используйте ActiveDisplay
свойство.
Откройте Configuration Properties. На вкладке Time, набор Show time-axis label.
ChannelNames
— Названия каналаЗадайте входные названия канала как массив ячеек из символьных векторов. Имена появляются в легенде, диалоговом окне Style и панелях Measurements. Если вы не задаете имена, каналы помечены как Channel 1
, Channel 2
, и т.д.
Настраиваемый: да
Чтобы видеть названия канала, установите ShowLegend
к true
.
На легенде дважды кликните название канала.
Типы данных: char
ShowGrid
— Видимость сеткиfalse
(значение по умолчанию) | true
Установите это свойство на true
показать линии сетки на графике.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Display, набор Show grid.
PlotAsMagnitudePhase
— Сигнал графика как величина и фазаfalse
(значение по умолчанию) | true
Когда вы устанавливаете это свойство на true
, осциллограф строит величину и фазу входного сигнала на двух отдельных осях в том же активном дисплее. Когда вы устанавливаете это свойство на false
, осциллограф строит действительные и мнимые части входного сигнала на двух отдельных осях в том же активном дисплее.
Это свойство полезно для входных сигналов с комплексным знаком. Включение этого свойства влияет на фазу для входных сигналов с действительным знаком. Когда амплитуда входного сигнала является неотрицательной, фаза является 0 градусами. Когда амплитуда входного сигнала отрицательна, фаза является 180 градусами.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Display выберите Plot signals as magnitude and phase.
YLimits
— y - пределы по осям
(значение по умолчанию) | [ymin, ymax]
Задайте y - пределы по осям как двухэлементный числовой вектор, [ymin, ymax]
.
Если PlotAsMagnitudePhase
false
, значением по умолчанию является [-10,10]
. Если PlotAsMagnitudePhase
true
, значением по умолчанию является [0,10]
.
Настраиваемый: да
Когда PlotAsMagnitudePhase
true
, это свойство задает y - пределы по осям только графика величины. y - пределами по осям графика фазы всегда является [-180,180]
.
Откройте Configuration Properties. На вкладке Display, набор Y-limits (Minimum) и Y-limits (Maximum).
YLabel
— y - подпись по осям"Amplitude"
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗадайте текст для осциллографа, чтобы отобразиться слева от y - ось.
Настраиваемый: да
Это свойство применяется только когда PlotAsMagnitudePhase
false
. Когда PlotAsMagnitudePhase
true
, два y - подписи по осям являются значениями только для чтения. y - подписи по осям установлены в "Magnitude"
и "Phase"
для графика величины и графика фазы, соответственно.
Откройте Configuration Properties. На вкладке Display, набор Y-Label.
Типы данных: char |
string
отображает сигнал, scope
(signal
)signal
, во время определяют объем отображения.
отображает сигналы scope
(signal
,signal2,...,signalN)signal
, signal2
..., signalN
в отображении осциллографа времени, когда вы устанавливаете NumInputPorts
свойство к N
. В этом случае, signal1
, signal2
..., signalN
может иметь различные типы данных и размерности.
signal
— Входной сигнал или сигналы визуализироватьЗадайте один или несколько входных сигналов, чтобы визуализировать в dsp.TimeScope
. Сигналы могут иметь различные типы данных и размерности.
Пример: scope(signal1,signal2)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Если вы хотите перезапустить симуляцию с начала, вызовите reset
очистить отображения окна scope. Не вызывайте reset
после вызова release
.
Создайте dsp.SineWave
и dsp.TimeScope
объекты. Запустите осциллограф, чтобы отобразить сигнал
sine = dsp.SineWave('Frequency',100,'SampleRate',1000); sine.SamplesPerFrame = 10; scope = dsp.TimeScope('SampleRate',sine.SampleRate,'TimeSpan',0.1); for ii = 1:10 x = sine(); scope(x); end
Запустите release
метод, чтобы позволить изменения в значениях свойств и ввести характеристики. Осциллограф автоматически масштабирует оси.
release(scope)
Создайте dsp.SineWave
с частотой дискретизации на 1 000 Гц. Создайте dsp.FIRDecimator
объект десятикратно уменьшить синусоиду 2. Создайте dsp.TimeScope
объект с двумя входными портами.
Fs = 1000; % Sampling frequency sine = dsp.SineWave('Frequency',50,... 'SampleRate',Fs, ... 'SamplesPerFrame',100); decimate = dsp.FIRDecimator; % To decimate sine by 2 scope = dsp.TimeScope(2,[Fs Fs/2], ... 'TimeDisplayOffset',[0 38/Fs], ... 'TimeSpan',0.25, ... 'YLimits',[-1 1], ... 'ShowLegend', true);
Вызовите dsp.SineWave
объект создать синусоидальный сигнал. Используйте dsp.FIRDecimator
объект создать второй сигнал, который равняется исходному сигналу, но подкошенный фактором 2. Отобразите сигналы путем вызова dsp.TimeScope
объект.
for ii = 1:2 xsine = sine(); xdec = decimate(xsine); scope(xsine,xdec) end release(scope)
Закройте окно Time Scope и очистите переменные.
clear scope Fs sine decimate ii xsine xdec
Создайте вектор, представляющий синусоидальный сигнал с комплексным знаком, и создайте dsp.TimeScope
объект. Вызовите осциллограф, чтобы отобразить сигнал.
fs = 1000; t = (0:1/fs:10)'; CxSine = cos(2*pi*0.2*t) + 1i*sin(2*pi*0.2*t); CxSineSum = cumsum(CxSine); scope = dsp.TimeScope(1,fs,'TimeSpanSource','Auto','ShowLegend',1); scope(CxSineSum); scope.AxesScaling = 'Auto';
По умолчанию, когда вход является сигналом с комплексным знаком, Осциллограф Времени строит действительные и мнимые фрагменты на тех же осях. Эти действительные и мнимые фрагменты появляются как различные цветные линии на тех же осях в том же активном дисплее.
Измените PlotAsMagnitudePhase
свойство к true
и вызовите release
.
scope.PlotAsMagnitudePhase = true; release(scope)
Осциллограф времени теперь строит величину и фазу входного сигнала на двух отдельных осях в том же активном дисплее. Главные оси отображают величину, и нижние оси отображают фазу в градусах.
Создайте вектор, который представляет двухканальный постоянный сигнал. Создайте другой вектор, который представляет постоянный сигнал с тремя каналами. Создайте dsp.TimeScope
объект с двумя входными портами. Вызовите осциллограф, чтобы отобразить сигнал.
fs = 10; sigdim2 = [ones(5*fs,1) 1+ones(5*fs,1)]; % 2-dim 0-5 s sigdim3 = [2+ones(5*fs,1) 3+ones(5*fs,1) 4+ones(5*fs,1)]; % 3-dim 5-10 s scope = dsp.TimeScope(2,fs,'TimeSpanSource','Property'); scope.PlotType = 'Stairs'; scope.TimeSpanOverrunAction = 'Scroll'; scope.TimeDisplayOffset = [0 0 5]; scope([sigdim2; sigdim3(:,1:2)], sigdim3(:,3));
В этом примере размере входного сигнала к изменениям блока Time Scope, когда прогрессирует симуляция. Когда время симуляции меньше 5 секунд, Осциллограф Времени строит только двухканальный сигнал, sigdim2
. После 5 секунд Осциллограф Времени также строит сигнал с тремя каналами, sigdim3
.
Запустите release
метод, чтобы включить изменения в значениях свойств и ввести характеристики. Осциллограф автоматически масштабирует оси.
release(scope)
Закройте окно Time Scope и удалите переменные, которые вы создали из рабочей области.
clear scope fs sigdim2 sigdim3
Создайте и отобразите входной сигнал часов
Загрузите данные о часах, x
и t
. Найдите шаг расчета, ts
.
load clockex
ts = t(2)-t(1);
Создайте dsp.TimeScope
возразите и вызовите объект отобразить сигнал. Чтобы автомасштабировать оси и включить изменения в значениях свойств и ввести характеристики, вызовите release
.
scope = dsp.TimeScope(1,1/ts,'TimeSpanSource','Auto'); scope(x); release(scope)
Используйте двухуровневую панель измерений, чтобы найти время урегулирования
1. В меню Time Scope выберите Tools> Measurements> Bilevel Measurements.
2. Расширьте панель Настроек и Перерегулирования / панель Отклонений от номинала.
Первоначально, Осциллограф Времени не отображает возрастающий параметр Времени урегулирования ребра. Это отсутствие происходит, потому что значение по умолчанию Того, чтобы улаживать Ищет, параметр более длинен, чем целая длительность симуляции.
3. В поле Settle Seek введите 2e-6
и нажмите Enter.
Осциллограф времени теперь отображает возрастающее значение Времени урегулирования ребра 118.392
не уточнено.
Это значение времени урегулирования является на самом деле статистическим средним значением обосновывающихся времен для всех пяти возрастающих ребер. Чтобы показать время урегулирования только для одного возрастающего ребра, можно увеличить масштаб того перехода.
4. На панели инструментов Time Scope кликните по стреле рядом с кнопкой Zoom, и затем нажмите кнопку Zoom X.
5. Кликните по отображению около значения 2 микросекунд на оси времени.
6. Перетащите свое право курсора и выпустите его около значения 4 микросекунд на оси времени.
Осциллограф времени обновляет возрастающее значение Времени урегулирования ребра, чтобы отразить новое окно времени.
7. Закройте Осциллограф Времени и удалите переменные, которые вы создали из рабочей области.
clear scope x t ts
Используйте Пиковую панель Средства поиска Осциллографа Времени, чтобы измерить сердечный ритм.
Создайте и отобразите сигнал ECG
Создайте электрокардиограмму (ECG) сигнал. Пользовательский ecg
функция помогает сгенерировать сигнал heartbeat.
function x = ecg(L) a0 = [0, 1, 40, 1, 0, -34, 118, -99, 0, 2, 21, 2, 0, 0, 0]; d0 = [0, 27, 59, 91, 131, 141, 163, 185, 195, 275, 307, 339, 357, 390, 440]; a = a0 / max(a0); d = round(d0 * L / d0(15)); d(15) = L; for i = 1:14 m = d(i) : d(i+1) - 1; slope = (a(i+1) - a(i)) / (d(i+1) - d(i)); x(m+1) = a(i) + slope * (m - d(i)); end
x1 = 3.5*ecg(2700).'; y1 = sgolayfilt(kron(ones(1,13),x1),0,21); n = (1:30000)'; del = round(2700*rand(1)); mhb = y1(n + del); ts = 0.00025;
Создайте dsp.TimeScope
возразите и вызовите объект отобразить сигнал. Чтобы автомасштабировать оси и включить изменения в значениях свойств и ввести характеристики, вызовите release
.
scope = dsp.TimeScope(1,1/ts,'TimeSpanSource','Auto'); scope(mhb); release(scope)
Найдите сердечный ритм
Используйте Пиковые измерения Средства поиска, чтобы измерить время между сердечными ударами.
В меню Time Scope выберите Tools> Measurements> Peak Finder.
Расширьте панель Настроек.
В свойстве Max Num of Peaks введите 10
и нажмите Enter.
В панели Peaks Осциллограф Времени отображает список десяти пиковых амплитудных значений и времена, в которые они происходят.
Список пиковых значений показывает постоянную разницу во времени 0,675 секунд между каждым heartbeat. На основе следующего уравнения сердечный ритм этого сигнала ECG является приблизительно 89 ударами в минуту.
Закройте окно Time Scope и удалите переменные, которые вы создали из рабочей области.
clear scope x1 y1 n del mhb ts
Чтобы закрыть окно scope и очистить его связанные данные, используйте MATLAB®
clear
функция.
Чтобы скрыть или показать окно scope, используйте hide
и show
функции.
Используйте mcc
MATLAB функционируйте, чтобы скомпилировать код, содержащий осциллограф.
Вы не можете открыть диалоговые окна настройки осциллографа, если у вас есть больше чем один скомпилированный компонент в вашем приложении.
Указания и ограничения по применению:
Генерация кода поддержек MEX путем обработки вызовов объекта как значение внешних параметров. Не поддерживает генерацию кода для автономных приложений.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.