dsp. LogicAnalyzer

Визуализируйте, измерьте и анализируйте переходы и состояния в зависимости от времени

Описание

Система Logic Analyzer object™ отображает переходы в сигналах временного интервала. Используя dsp.LogicAnalyzer, вы можете:

  • Отладьте и анализируйте модели

  • Проследите и коррелируйте 96 сигналов одновременно

  • Обнаружьте и анализируйте нарушения синхронизации

  • Проследите системное выполнение

  • Обнаружьте изменения сигнала с помощью триггеров

Отобразить переходы сигналов в Logic Analyzer:

  1. Создайте объект dsp.LogicAnalyzer и установите его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Для получения дополнительной информации о том, как сконфигурировать и настроить Logic Analyzer, смотрите Logic Analyzer.

Создание

Синтаксис

scope = dsp.LogicAnalyzer
scope = dsp.LogicAnalyzer(Name,Value)

Описание

пример

scope = dsp.LogicAnalyzer создает Системный объект Logic Analyzer, scope.

scope = dsp.LogicAnalyzer(Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки. Например, scope = dsp.LogicAnalyzer('BackgroundColor','White','NumInputPorts',4).

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и функция release разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Цвет фона отображения, заданного как 'Black' или 'White'.

Настраиваемый: да

Типы данных: char | string

Цвет для каналов в отображении, заданном как триплет RGB.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Размер шрифта для каналов в отображении, в точках, заданных как неотрицательное целое число.

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Формат для каналов в отображении, заданном как одно из следующего:

  • 'Automatic' — Отображает сигналы с плавающей точкой в формате Analog и сигналы целочисленной и фиксированной точки в формате Digital. Булевы сигналы отображены как нуль или один.

  • 'Analog' — Показывает значения аналоговым графиком.

  • 'Digital' — Показывает значения цифровыми переходами.

Настраиваемый: да

Типы данных: char | string

Высота канала в отображении, в пикселях, заданных как положительный действительный скаляр в области значений [8, 200].

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Это свойство применяет только к фиксированной точке (fi) значения.

Настраиваемый: да

Типы данных: char | string

Разрядка между каналами в отображении, в пикселях, заданных как положительное скалярное целое число.

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Заголовок, чтобы отобразиться на окне scope, заданном как вектор символов или строка.

Настраиваемый: да

Типы данных: char | string

Количество входных портов, заданных как положительное целое число. Каждый сигнал, проникающий через отдельный вход, становится отдельным каналом в осциллографе. Необходимо вызвать осциллограф с тем же количеством входных параметров как значение этого свойства.

Положение окна scope на вашем экране, в пикселях, заданных как вектор [left bottom width height]. Положение по умолчанию зависит от вашего разрешения экрана. По умолчанию окно scope появляется в центре вашего экрана с шириной пикселей 800 и высотой пикселей 600.

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Шаг расчета входных параметров в секундах, заданных в виде конечного числа. Тот же шаг расчета используется для всех входных параметров.

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Смещение отображения времени в секундах, заданных как неотрицательный скаляр.

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Отрезок времени в секундах, заданных как положительная скалярная величина. x - пределы по осям вычисляются можно следующим образом:

  • Минимальный x - предел по осям = min (TimeDisplayOffset)

  • Максимальный x - предел по осям = макс. (TimeDisplayOffset) + TimeSpan

TimeDisplayOffset и TimeSpan являются значениями их соответствующих свойств.

Настраиваемый: да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Использование

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

scope(signal)
scope(signal1,signal2,...signalN)

Описание

пример

scope(signal) отображает signal сигнала в осциллографе Logic Analyzer.

scope(signal1,signal2,...signalN) отображения несколько сигналов в Logic Analyzer, когда вы устанавливаете свойство NumInputPorts на N. Каждый сигнал может иметь различные типы данных и размерности.

Входные параметры

развернуть все

Задайте один или несколько входных сигналов, чтобы визуализировать в dsp.LogicAnalyzer. Сигналы могут иметь различные типы данных и размерности.

Целые числа поддерживаются, до 64 битов и сигналы фиксированной точки поддерживаются до 128 битов.

Пример: scope(signal1,signal2)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | table | cell

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

addCursorДобавьте курсор в Logic Analyzer
addDividerДобавьте делитель в Logic Analyzer
addWaveДобавьте волну в Logic Analyzer
deleteCursorУдалите курсор Logic Analyzer
deleteDisplayChannelУдалите канал Logic Analyzer
getCursorInfoВозвратите настройки для курсора Logic Analyzer
getCursorTagsВозвратите все теги курсора Logic Analyzer
getDisplayChannelInfoВозвратите настройки для канала отображения Logic Analyzer
getDisplayChannelTagsВозвратите все теги канала отображения Logic Analyzer
modifyCursorИзмените свойства курсора Logic Analyzer
modifyDisplayChannelИзмените свойства канала отображения Logic Analyzer
moveDisplayChannelПереместите положение канала отображения Logic Analyzer
showОтобразите окно scope
hideСкройте окно scope
isVisibleОпределите видимость осциллографа
stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

развернуть все

Создайте объект dsp.LogicAnalyzer. Вызовите осциллограф в цикле, чтобы отобразить сигналы.

scope = dsp.LogicAnalyzer('NumInputPorts',3);
for ii = 1:20
    scope(ii,10*ii,20*ii);
end

Создайте объект dsp.LogicAnalyzer с четырьмя каналами. Вызовите modifyDisplayChannel, чтобы установить основание каждого из каналов. Запустите осциллограф в цикле, чтобы отобразить волны.

scope = dsp.LogicAnalyzer('NumInputPorts',4,'DisplayChannelFormat','Digital');
scope.TimeSpan = 12;

modifyDisplayChannel(scope,1,'Name','Index','Radix','Unsigned decimal'); 
modifyDisplayChannel(scope,2,'Name','Fi_hex','Radix','Hexadecimal'); 
modifyDisplayChannel(scope,3,'Name','Fi_bin','Radix','Binary'); 
modifyDisplayChannel(scope,4,'Name','Fi_actual','Radix','Signed decimal'); 

for ii = 1:20 
    fival = fi((ii-1)/16,0,4,4); 
    scope(ii,fival,fival,fival); 
end

Задайте класс WeekDaysInt, чтобы содержать перечислимый список будних значений. Создайте и сохраните следующий файл определения класса.

classdef WeekDaysInt < int32
  enumeration
    Monday(1), Tuesday(2), Wednesday(3), Thursday(4), Friday(5)
  end
end

Создайте объект dsp.LogicAnalyzer и сконфигурируйте вектор, комплекс и перечисленные сигналы данных.

scope = dsp.LogicAnalyzer('NumInputPorts',6);
waves = getDisplayChannelTags(scope);

modifyDisplayChannel(scope,waves{1},'InputChannel',1,'Name','Vector Digital');
modifyDisplayChannel(scope,waves{2},'InputChannel',2,'Name','Vector Analog',...
    'Format','Analog','Height',80);
modifyDisplayChannel(scope,waves{3},'InputChannel',3,'Name','Complex Digital');
modifyDisplayChannel(scope,waves{4},'InputChannel',4,'Name','Complex Analog',...
    'Format','Analog','Height',80,'Color','Green');
modifyDisplayChannel(scope,waves{5},'InputChannel',5,'Name','Enum Digital');
modifyDisplayChannel(scope,waves{6},'InputChannel',6,'Name','Enum Analog',...
    'Format','Analog','Height',80);

Вызовите объект scope в цикле, чтобы отобразить сигналы.

stop = 30;
for count = 1:stop
    sinValVec       = sin(count/stop*2*pi);
    cosValVec       = cos(count/stop*2*pi);
    cosValVecOffset = cos((count+10)/stop*2*pi);
    sinValReal      = sin((count+2)/stop*2*pi);
    cosValImag      = cos((count+2)/stop*2*pi);

    % Create a weekday enumerated value by wrapping the index
    day = WeekDaysInt(1+mod(count-1,5));

    scope(...
          [count (count-(stop/2))],...              % digital vector
          [sinValVec cosValVec cosValVecOffset],... % analog vector
          complex((count-(stop/2)),count),...       % digital complex
          complex(sinValReal, cosValImag),...       % analog complex
          day,...                                   % digital enum
          day...                                    % analog enum
          )
end

Советы

Чтобы закрыть окно анализатора логики и очистить его связанные данные, используйте функцию MATLAB® clear.

Введенный в R2013a

Для просмотра документации необходимо авторизоваться на сайте