Область времени сигнализирует об отображении и измерении
Система dsp.TimeScope
object™ отображает сигналы временного интервала. Можно использовать осциллограф, чтобы измерить значения сигналов, найти peaks, отобразить двухуровневые измерения и статистику.
Видеть временной интервал сигнализирует в осциллографе:
Создайте объект dsp.TimeScope
и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
Функции осциллографа:
Триггеры — Набор инициировал, чтобы синхронизировать повторяющиеся сигналы и приостановить отображение, когда события имеют место.
Измерения курсора — значения сигналов Меры с помощью вертикальных и горизонтальных курсоров.
Статистика сигнала — Отображение максимум, минимум, различие от пика к пику, среднее значение, медиана и значения RMS выбранного сигнала.
Пиковое Средство поиска — Находит максимумы, показывая x - значения оси, в которых они происходят.
Двухуровневые Измерения — переходы Меры, перерегулирования, отклонения от номинала и циклы.
Для получения информации об измерениях и триггерах, смотрите, Конфигурируют Осциллограф Времени.
Функции отображения осциллографа:
Несколько сигналов — График несколько сигналов на той же оси Y (отображение) с помощью нескольких входных портов.
Несколько осей Y (отображения) — Отображение несколько осей Y. Все оси Y имеют общую область значений времени на оси X.
Измените параметры — Изменяют значения параметров осциллографа прежде и во время симуляции.
Автомасштабирование оси — Автомасштабирующийся во время или в конце симуляции. Поля чертятся вверху и внизу осей.
scope = dsp.TimeScope
scope = dsp.TimeScope(numInputs,sampleRate)
scope = dsp.TimeScope(___,Name,Value)
возвращает Системный объект Осциллографа Времени, scope
= dsp.TimeScopescope
. Это действительные отображения объекта - и плавание с комплексным знаком и фиксированная точка сигнализирует во временном интервале.
создает Осциллограф Времени и устанавливает свойство NumInputPorts на scope
= dsp.TimeScope(numInputs
,sampleRate
)numInputs
и свойство SampleRate к sampleRate
.
свойства наборов, заданные как Имя, пары Значения.scope
= dsp.TimeScope(___,Name,Value)
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и функция release
разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
NumInputPorts
— Количество входных портов1
(значение по умолчанию) | целое число между [1, 96]Количество входных портов, заданных как положительное целое число. Каждый сигнал, проникающий через отдельный вход, становится отдельным каналом в осциллографе. Необходимо вызвать осциллограф с тем же количеством входных параметров как значение этого свойства.
SampleRate
— Частота дискретизации входных параметров1
(значение по умолчанию) | скаляр | векторЗадайте частоту дискретизации, в герц, входных сигналов.
Можно задать скаляр или числовой вектор с длиной, равной значению NumInputPorts
. Инверсия частоты дискретизации определяет интервал между точками на оси времени в отображенном сигнале. Когда вы устанавливаете SampleRate
на скалярное значение, и NumInputPorts
больше, чем 1, объект использует ту же частоту дискретизации для всех входных параметров.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
TimeSpan
— Отрезок времени10
(значение по умолчанию) | положительная скалярная величинаЗадайте отрезок времени, в секундах, как положительное значение числового скаляра. Пределы оси времени вычисляются можно следующим образом.
Минимальный предел оси времени = 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, осциллограф очищает отображение. Осциллограф затем обновляет значение смещения времени и начинает отображать последующие точки данных, начинающие с минимального предела оси времени.
Прокрутка
В этом режиме осциллограф прокручивает старые данные налево, чтобы создать место для новых данных по правой стороне отображения осциллографа. Этот режим графически интенсивен и может влиять на производительность во время выполнения. Однако это выгодно для отладки и контроля изменяющихся во времени сигналов.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time Span overrun action.
Типы данных: char | string
TimeSpanSource
— Источник отрезка времени'Property'
(значение по умолчанию) | 'Auto'
Задайте источник отрезка времени для основанных на кадре входных сигналов как:
'Property'
– объект выводит x - пределы по осям из свойств TimeDisplayOffset и TimeSpan.
'auto'
Пределы оси времени выведены из свойств TimeDisplayOffset
и SampleRate и FrameSize (количество строк в каждом входном сигнале). Пределы вычисляются как:
Минимальный предел оси времени = min(TimeDisplayOffset)
Максимальный предел оси времени = max(TimeDisplayOffset) + max(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
Имя
Имя окна'Time Scope'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗадайте имя осциллографа как вектор символов или представьте скаляр в виде строки. Это имя появляется как заголовок окна рисунка осциллографа. Чтобы задать заголовок графика осциллографа, используйте свойство Title.
Настраиваемый: да
Типы данных: char | string
Position
— Положение окна[left bottom width height]
Определите объем положения окна в пикселях, заданных размером и местоположением окна scope как вектор с 4 элементами формы [left bottom width height]
. Можно поместить окно scope в определенную позицию по экрану путем изменения значений к этому свойству.
По умолчанию окно появляется в центре вашего экрана с шириной пикселей 410
и высотой пикселей 300
. Точное значение положения зависит от вашего разрешения экрана.
Настраиваемый: да
ReduceUpdates
— Уменьшайте обновления, чтобы улучшать производительностьtrue
(значение по умолчанию) | false
tRUE
Данные логов осциллографа для дальнейшего использования и обновлений окно периодически.
ложь
Осциллограф обновляет каждый раз, когда осциллограф называется.
Скорость симуляции быстрее, когда это свойство установлено в true
.
Настраиваемый: да
Выберите Simulation> Reduce Updates to Improve Performance.
LayoutDimensions
— Отобразите размерности разметочной сетки[1,1]
(значение по умолчанию) | [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
— Длина буфера используется для каждого входного сигнала5000
(значение по умолчанию) | скалярЗадайте размер буфера, который осциллограф содержит в его кэше памяти. Память ограничивается доступной памятью в вашей системе. Если ваш сигнал имеет строки 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
Включите основанную на кадре обработку.
ложь
Включите основанную на выборке обработку.
Откройте Configuration Properties. На вкладке Main, набор Input processing.
Единицы измерения времени
Модули оси времени'Metric'
(значение по умолчанию) | 'Seconds'
| 'None'
Укажите, что модули раньше описывали ось времени. Можно выбрать одну из следующих опций:
Metric
— В этом режиме осциллограф преобразовывает времена на оси времени к самым соответствующим модулям измерения. Эти модули включают миллисекунды, микросекунды, наносекунды, минуты, дни, и т.д. Осциллограф выбирает соответствующие модули измерения на основе минимального предела оси времени и максимального предела оси времени окна scope.
Секунды
В этом режиме осциллограф всегда отображает модули на оси времени как секунды.
'none'
В этом режиме осциллограф не отображает модулей на оси времени. Осциллограф только показывает слову Time
на оси времени.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time units.
Типы данных: char | string
TimeDisplayOffset
— Сместите пределы оси XЗадайте в секундах, как далеко переместить данные по x - ось. Значение сигналов не изменяется, только отображенный x - ось.
Если вы задаете это свойство как скаляр, то то значение является смещением отображения времени для всех каналов.
Если вы задаете вектор, каждый векторный элемент является смещением времени для соответствующего канала. Для векторов с длиной меньше, чем количество входных каналов смещения отображения времени для остающихся каналов установлены в 0. Если вектор имеет длину, больше, чем количество входных каналов, дополнительные векторные элементы проигнорированы.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Time, набор Time display offset.
TimeAxisLabels
— Метки оси времени'All'
(значение по умолчанию) | 'Bottom
| 'None'
Задайте, как метки оси времени должны появиться в отображениях осциллографа как:
все
Метки оси времени появляются во всех отображениях.
'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
— Активный дисплей для установки свойств1
(значение по умолчанию) | целое числоЗадайте активный дисплей, целочисленным номером отображения, чтобы получить и установить соответствующие свойства. Количество отображения соответствует своему постолбцовому индексу размещения. Установите это свойство управлять, какое отображение имеет свои цвета осей, свойства строки, свойства маркера и измененную видимость.
Настраиваемый: да
Откройте Configuration Properties. На вкладке Display, набор Active Display.
Заголовок
Отобразите заголовок''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗадайте заголовок отображения вектора символов или строки.
Настраиваемый: да
Откройте 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 - пределы по осям[-10,10]
(значение по умолчанию) | [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
Для версий ранее, чем R2016b, используйте функцию step
, чтобы запустить алгоритм Системного объекта. Аргументы к step
являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.
Например, y = step(obj,x)
и y = obj(x)
выполняют эквивалентные операции.
scope(signal)
scope(signal,signal2,...,signalN)
отображает сигнал, 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.TimeScope
и dsp.SineWave
. Запустите осциллограф, чтобы отобразить сигнал
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, используйте функции show
и hide
.
Используйте функцию mcc
MATLAB, чтобы скомпилировать код, содержащий осциллограф.
Вы не можете открыть диалоговые окна настройки осциллографа, если у вас есть больше чем один скомпилированный компонент в вашем приложении.
Указания и ограничения по применению:
Генерация кода поддержек MEX путем обработки вызовов объекта как внешних. Не поддерживает генерацию кода для автономных приложений.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.