Отобразите сигналы временной области
timescope
отображения объекта сигнализируют во временном интервале.
Функции осциллографа:
Data Cursor — значения сигналов Меры с помощью вертикальных и горизонтальных курсоров.
Статистика сигнала — Отображение максимум, минимум, различие от пика к пику, среднее значение, медиана и значения RMS выбранного сигнала.
Пиковое Средство поиска — Находит максимумы, показывая x - значения оси, в которых они происходят.
Двухуровневые Измерения — переходы Меры, перерегулирования, отклонения от номинала и циклы.
Триггеры — Набор инициировал, чтобы синхронизировать повторяющиеся сигналы и приостановить отображение, когда события имеют место.
Используйте Функции объекта, чтобы показать, скрыть, и определить видимость окна scope.
возвращает scope
= timescopetimescope
объект, scope
. Это действительные отображения объекта - и плавание с комплексным знаком и фиксированная точка сигнализирует во временном интервале.
возвращает scope
= timescope(Name,Value
)timescope
объект с набором свойств к заданному значению. Задайте свойства и их значения в кавычках, разделенных запятыми. Можно задать аргументы пары "имя-значение" в любом порядке.
Большинство свойств может быть изменено от timescope
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.
SampleRate
— Частота дискретизации входных параметров
(значение по умолчанию) | конечный числовой скаляр | векторЧастота дискретизации входного сигнала, в герц в виде конечного числового скаляра или вектора из скаляров.
Инверсия частоты дискретизации определяет x - ось (ось времени) интервал между точками в отображенном сигнале. Когда значение NumInputPorts
больше 1, и частота дискретизации является скаляром, объект использует ту же частоту дискретизации для всех входных параметров. Чтобы задать различные частоты дискретизации для каждого входа, используйте вектор.
Можно только установить это свойство при создании объекта или после вызова release
.
На вкладке Scope нажмите Settings. Под Data and Axes, набор Sample Rate.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeSpanSource
— Источник отрезка времени'auto'
(значение по умолчанию) | 'property'
Источник отрезка времени для основанных на системе координат входных сигналов в виде одного из следующего:
'property'
– Объект выводит x - пределы по осям от TimeDisplayOffset
и TimeSpan
свойства.
'auto'
– x - пределы по осям выведены из TimeDisplayOffset
свойство, SampleRate
свойство и количество строк в каждом входном сигнале (FrameSize в уравнениях ниже). Пределы вычисляются как:
Минимальный предел оси времени = TimeDisplayOffset
Максимальный предел оси времени = TimeDisplayOffset
+ макс. (1/SampleRate
.*FrameSize)
На вкладке Scope нажмите Settings. Под Data and Axes, набор Time Span.
Типы данных: char |
string
TimeSpan
— Отрезок времени
(значение по умолчанию) | положительная скалярная величинаОтрезок времени, в секундах в виде положительного значения числового скаляра. Пределы оси времени вычисляются как:
Минимальный предел оси времени = TimeDisplayOffset
Максимальный предел оси времени = TimeDisplayOffset
+ TimeSpan
Чтобы включить это свойство, установите TimeSpanSource
к 'property'
.
На вкладке Scope нажмите Settings. Под Data and Axes, редактирование Time Span.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeSpanOverrunAction
— Поведение потерь данных'scroll'
(значение по умолчанию) | 'wrap'
Задайте, как осциллограф отображает новые данные вне видимого отрезка времени как также:
'scroll'
— В этом режиме осциллограф прокручивает старые данные налево, чтобы создать место для новых данных справа от отображения осциллографа. Этот режим выгоден для отладки и контроля изменяющихся во времени сигналов.
'wrap'
— В этом режиме осциллограф добавляет данные слева от графика после переполнения права на график.
На вкладке Scope нажмите Settings. Под Data and Axes, набор Overrun Action.
Типы данных: char |
string
PlotType
— Тип графика'line'
(значение по умолчанию) | 'stairs'
Тип графика в виде также:
На вкладке Scope нажмите Settings. Под Data and Axes, набор Plot Type.
Типы данных: char |
string
AxesScaling
— Режим масштабирования осей'onceatstop'
(значение по умолчанию) | 'auto'
| 'manual'
| 'updates'
Когда это свойство установлено в:
'onceatstop'
– Пределы обновляются однажды в конце симуляции (когда release
называется).
'auto'
– Осциллограф пытается всегда сохранить данные в отображении при минимизации количества обновлений пределов осей.
'manual'
– Осциллограф не принимает мер, если не задано пользователем.
'updates'
– Осциллограф масштабирует оси однажды и только однажды после 100 обновлений визуализации.
Можно установить это свойство только при создании объекта.
Типы данных: char |
string
LayoutDimensions
— Отобразите размерности разметочной сетки
(значение по умолчанию) | [numberOfRows, numberOfColumns]
Задайте размерности разметочной сетки как двухэлементный вектор: [numberOfRows,numberOfColumns]
. Сетка может иметь максимум 4 строк и 4 столбцов.
Пример: scope.LayoutDimensions = [2,4]
На вкладке Scope нажмите Display Grid () и выберите определенное количество строк и столбцов от сетки.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeUnits
— Модули оси X'seconds'
(значение по умолчанию) | 'none'
Укажите, что модули раньше описывали ось X (ось времени). Можно выбрать одну из следующих опций:
'seconds'
— В этом режиме осциллограф всегда отображает модули на оси X как секунды. Осциллограф показывает слову Time(s)
на оси X.
'none'
— В этом режиме осциллограф не отображает модулей на оси X. Осциллограф только показывает слову Time
на оси X.
На вкладке Scope нажмите Settings. Под Data and Axes, набор Time Units.
Типы данных: char |
string
TimeDisplayOffset
— Возместите x - пределы по осямЗадайте в секундах, как далеко переместить данные по x - ось. Значение сигналов не изменяется, только пределы, отображенные на x - изменение оси.
Если вы задаете это свойство как скаляр, то то значение является смещением отображения времени для всех каналов. Если вы задаете это свойство как вектор, каждый входной канал может быть различным смещением отображения времени
На вкладке Scope нажмите Settings. Под Data and Axes, набор Time Offset.
TimeAxisLabels
— Метки оси времени'all'
(значение по умолчанию) | 'bottom
| 'none'
Ось времени помечает в виде:
'all'
— Метки оси времени появляются во всех отображениях.
'bottom
— Метки оси времени появляются в нижнем отображении каждого столбца.
'none'
— Никакие метки не появляются ни в каком отображении.
На вкладке Scope нажмите Settings. Под Data and Axes, набор Time Labels.
Типы данных: char |
string
MaximizeAxes
— Максимизируйте управление осями'auto'
(значение по умолчанию) | 'on'
| 'off'
Задайте, отобразить ли осциллограф в режиме максимизированных осей. В этом режиме оси расширены, чтобы поместиться в целое отображение. Чтобы сохранить пробел, метки не появляются в каждом отображении. Вместо этого метки и их значения появляются сверху отображенных на графике данных. Можно выбрать одну из следующих опций:
'auto'
— Оси кажутся максимизируемыми во всех отображениях только если Title
и YLabel
свойства пусты для каждого отображения. Если вы вводите значение в какое-либо отображение для любого из этих свойств, оси не максимизируются.
'on'
— Оси кажутся максимизируемыми во всех отображениях. Любые значения ввели в Title
и YLabel
свойства скрыты.
'off'
— Ни одна из осей не кажется максимизируемой.
На окне scope нажмите, чтобы максимизировать оси, скрыв все метки и вставив значения осей.
Типы данных: char |
string
BufferLength
— Длина буфера
(значение по умолчанию) | положительное целое числоЗадайте длину буфера, используемого для каждого входного сигнала как положительное целое число.
Можно установить это свойство только при создании объекта.
На вкладке Scope нажмите Settings. Под Data and Axes, набор Buffer Length.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Name
— Имя окна'Time Scope'
(значение по умолчанию) | вектор символов | строковый скалярЗадайте имя осциллографа как вектор символов или строковый скаляр. Это имя появляется как заголовок окна рисунка осциллографа. Чтобы задать заголовок графика осциллографа, используйте Title
свойство.
Типы данных: char |
string
Position
— Положение окна[left bottom width height]
Определите объем положения окна в пикселях, заданных размером и местоположением окна scope как четырехэлементный вектор из формы [left bottom width height]
. Можно поместить окно scope в определенную позицию по экрану путем изменения значений этого свойства.
По умолчанию окно появляется в центре вашего экрана с шириной 800
пиксели и высота 500
'pixels'. Точные значения положения зависят от вашего разрешения экрана.
ChannelNames
— Названия канала{''}
(значение по умолчанию) | массив ячеек из символьных векторовЗадайте входные названия канала как массив ячеек из символьных векторов. Названия канала появляются в легенде, и на вкладке Measurements под Select Channel. Если вы не задаете имена, каналы помечены как Channel 1
, Channel 2
, и т.д.
Чтобы включить это свойство, установите ShowLegend
к true
.
Типы данных: char
ActiveDisplay
— Активный дисплей для установки свойств
(значение по умолчанию) | целое числоАктивный дисплей раньше устанавливал свойства, заданные целочисленным номером отображения. Количество отображения соответствует построчному индексу размещения отображения. Установка этого свойства средства управления, какое отображение используется для следующих свойств: YLimits
YLabel
, ShowLegend
, ShowGrid
заголовок
, и PlotAsMagnitudePhase
.
На вкладке Scope нажмите Settings. Под Display and Labels, набор Active Display.
Title
— Отобразите заголовок''
(значение по умолчанию) | вектор символов | строковый скалярЗадайте заголовок отображения вектора символов или строкового скаляра.
Когда вы устанавливаете это свойство, ActiveDisplay
управляет отображением, которое обновляется.
На вкладке Scope нажмите Settings. Под Display and Labels, набор Title.
Типы данных: char |
string
YLabel
— y - подпись по осям'Amplitude'
(значение по умолчанию) | вектор символов | строковый скалярЗадайте текст для осциллографа, чтобы отобразиться слева от y - ось.
Это свойство применяется только когда PlotAsMagnitudePhase
false
. Когда PlotAsMagnitudePhase
true
, два y - подписи по осям являются значениями только для чтения "Magnitude"
и "Phase"
, для графика величины и графика фазы, соответственно.
Когда вы устанавливаете это свойство, ActiveDisplay
управляет отображением, которое обновляется.
На вкладке Scope нажмите Settings. Под Display and Labels, набор YLabel.
Типы данных: char |
string
YLimits
— y - пределы по осям
(значение по умолчанию) | [ymin, ymax]
Задайте y - пределы по осям как двухэлементный числовой вектор, [ymin, ymax]
.
Если PlotAsMagnitudePhase
false
, значением по умолчанию является [-10,10]
.
Если PlotAsMagnitudePhase
true
, значением по умолчанию является [0,10]
. Это свойство задает y - пределы по осям только графика величины. y - пределами по осям графика фазы всегда является [-180,180]
Когда вы устанавливаете это свойство, ActiveDisplay
управляет отображением, которое обновляется.
На вкладке Scope нажмите Settings. Под Display and Labels, набор Y-Axis Limits.
ShowLegend
— Легенда Showfalse
(значение по умолчанию) | true
Чтобы показать легенду с входными именами, установите это свойство на true
.
От легенды можно управлять, какие сигналы отображаются. В легенде scope кликните по имени сигнала, чтобы скрыть сигнал в осциллографе. Чтобы показать сигнал, кликните по имени сигнала снова.
На вкладке Scope нажмите Settings. Под Display and Labels выберите Show Legend.
Типы данных: логический
ShowGrid
— Видимость сеткиtrue
(значение по умолчанию) | false
Установите это свойство на true
показать линии сетки на графике.
На вкладке Scope нажмите Settings. Под Display and Labels выберите Show Grid.
PlotAsMagnitudePhase
— Сигнал графика как величина и фазаfalse
(значение по умолчанию) | true
Сигнал графика как величина и поэтапно осуществленный в виде также:
true
– Осциллограф строит величину и фазу входного сигнала на двух отдельных осях в том же активном дисплее.
false
– Осциллограф строит действительные и мнимые части входного сигнала на двух отдельных осях в том же активном дисплее.
Это свойство полезно для входных сигналов с комплексным знаком. Включение этого свойства влияет на фазу для входных сигналов с действительным знаком. Когда амплитуда входного сигнала является неотрицательной, фаза является 0 градусами. Когда амплитуда входного сигнала отрицательна, фаза является 180 градусами.
На вкладке Scope нажмите Settings. Под Display and Labels выберите Magnitude Phase Plot.
Чтобы использовать объектную функцию, задайте объект как первый входной параметр.
hide | Скройте окно scope |
show | Отобразите окно scope |
isVisible | Определите видимость осциллографа |
generateScript | Сгенерируйте скрипт MATLAB, чтобы создать осциллограф с текущими настройками |
step | Запустите алгоритм Системного объекта |
release | Высвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики |
reset | Сбросьте внутренние состояния Системного объекта |
Создайте временной интервал синусоидальный сигнал. Отобразите сигнал путем вызова объекта scope времени.
Создайте синусоидальный сигнал с двумя тонами, один на уровне 0,3 кГц и другим на уровне 3 кГц.
t = (0:1000)'/8e3; xin = sin(2*pi*0.3e3*t)+sin(2*pi*3e3*t);
Создайте timescope
возразите и просмотрите синусоидальный сигнал путем вызова объекта scope времени scope
.
scope = timescope('SampleRate', 8e3,... 'TimeSpanSource', 'property', ... 'TimeSpan', 0.1); scope(xin)
Запустите release
позволить изменения в значениях свойств и ввести характеристики. Осциллограф автоматически масштабирует оси.
release(scope);
Скройте окно scope.
if(isVisible(scope)) hide(scope) end
Покажите окно scope.
if(~isVisible(scope)) show(scope) end
Создайте и отобразите входной сигнал часов
Загрузите данные о часах, x
и t
. Найдите шаг расчета, ts
.
load clockex
ts = t(2)-t(1);
Создайте timescope
возразите и вызовите объект отобразить сигнал. Чтобы автомасштабировать оси и включить изменения в значениях свойств и ввести характеристики, вызовите release
.
scope = timescope(1,1/ts,'TimeSpanSource','Auto'); scope(x); release(scope);
Используйте двухуровневую панель измерений, чтобы найти время урегулирования
1. От вкладки Measurements выберите Aberrations.
Первоначально, Time Scope не отображает измерение Времени урегулирования. Это отсутствие происходит, потому что значение по умолчанию Того, чтобы улаживать Ищет, параметр более длинен, чем целая длительность симуляции.
2. В поле Bilevel Settings> Settle Seek введите 2e-6
и нажмите Enter.
Time Scope теперь отображает возрастающее значение Времени урегулирования ребра 118.392
не уточнено.
Это значение времени урегулирования является на самом деле статистическим средним значением обосновывающихся времен для всех пяти возрастающих ребер. Чтобы показать время урегулирования только для одного возрастающего ребра, можно увеличить масштаб того перехода.
3. Наведите на правый верхний угол осей осциллографа и нажмите кнопку изменения масштаба.
4. Кликните по отображению около значения 0,00002 секунд на оси времени.
5. Перетащите свое право курсора и выпустите его около значения 0,000024 секунд на оси времени.
Time Scope обновляет возрастающее значение Времени урегулирования ребра, чтобы отразить новое окно времени.
Создайте dsp.SineWave
с частотой дискретизации на 1 000 Гц. Создайте dsp.FIRDecimator
объект десятикратно уменьшить синусоиду 2. Создайте timescope
объект с двумя входными портами.
Fs = 1000; % Sampling frequency sine = dsp.SineWave('Frequency',50,... 'SampleRate',Fs, ... 'SamplesPerFrame',100); decimate = dsp.FIRDecimator; % To decimate sine by 2 scope = timescope(2,[Fs Fs/2], ... 'TimeDisplayOffset',[0 38/Fs], ... 'TimeSpanSource','Property',... 'TimeSpan',0.25, ... 'YLimits',[-1 1], ... 'ShowLegend', true);
Вызовите dsp.SineWave
объект создать синусоидальный сигнал. Используйте dsp.FIRDecimator
объект создать второй сигнал, который равняется исходному сигналу, но подкошенный на коэффициент 2. Отобразите сигналы путем вызова 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
Создайте вектор, представляющий синусоидальный сигнал с комплексным знаком, и создайте 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 = timescope(1,fs,'TimeSpanSource','Auto','ShowLegend',1); scope(CxSineSum); release(scope)
По умолчанию, когда вход является сигналом с комплексным знаком, Time Scope строит действительные и мнимые фрагменты на тех же осях. Эти действительные и мнимые фрагменты появляются как различные цветные линии на тех же осях в том же активном дисплее.
Измените PlotAsMagnitudePhase
свойство к true
и вызовите release
.
scope.PlotAsMagnitudePhase = true; scope(CxSineSum); release(scope)
Time Scope теперь строит величину и фазу входного сигнала на двух отдельных осях в том же активном дисплее. Главные оси отображают величину, и нижние оси отображают фазу в градусах.
Создайте вектор, который представляет двухканальный постоянный сигнал. Создайте другой вектор, который представляет постоянный сигнал с тремя каналами. Создайте 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 = timescope(2,fs,'TimeSpanSource','Property'); scope.PlotType = 'Stairs'; scope.TimeSpanOverrunAction = 'Scroll'; scope.TimeDisplayOffset = [0 5]; scope([sigdim2; sigdim3(:,1:2)], sigdim3(:,3));
В этом примере размере входного сигнала к изменениям Time Scope, когда прогрессирует симуляция. Когда время симуляции меньше 5 секунд, Time Scope строит только двухканальный сигнал, sigdim2
. После 5 секунд Time Scope также строит сигнал с тремя каналами, sigdim3
.
Запустите release
метод, чтобы включить изменения в значениях свойств и ввести характеристики. Осциллограф автоматически масштабирует оси.
release(scope)
Используйте Пиковую панель Средства поиска Time Scope, чтобы измерить сердечный ритм.
Создайте и отобразите сигнал 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;
Создайте timescope
возразите и вызовите объект отобразить сигнал. Чтобы автомасштабировать оси и включить изменения в значениях свойств и ввести характеристики, вызовите release
.
scope = timescope(1,1/ts); scope(mhb); release(scope)
Найдите сердечный ритм
Используйте Пиковые измерения Средства поиска, чтобы измерить время между сердечными ударами.
На вкладке Measurements выберите Peak Finder.
Для свойства Num Peaks введите 10
.
В панели Peaks в нижней части окна Time Scope отображает список десяти пиковых амплитудных значений и времена, в которые они происходят.
Список пиковых значений показывает постоянную разницу во времени 0,675 секунд между каждым heartbeat. На основе следующего уравнения сердечный ритм этого сигнала ECG является приблизительно 89 ударами в минуту.
Закройте окно Time Scope и удалите переменные, которые вы создали из рабочей области.
clear scope x1 y1 n del mhb ts
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.