dsp.LogicAnalyzer

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

Описание

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

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

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

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

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

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

Для отображения переходов сигналов в Logic Analyzer:

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

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

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Дополнительные сведения о настройке и настройке Logic Analyzer см. в разделе Logic Analyzer.

Создание

Описание

пример

scope = dsp.LogicAnalyzer создает объект Logic Analyzer System, scope.

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

Свойства

расширить все

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в 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

Подпись для отображения в окне возможностей в виде вектора символов или строки.

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

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

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

Положение окна возможностей на экране, в пикселях, задается как [left bottom width height] вектор. Положение по умолчанию зависит от разрешения экрана. По умолчанию окно возможностей появляется в центре экрана с шириной 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 -предел оси = мин (TimeDisplayOffset)

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

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

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

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

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

Описание

пример

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 | uint8 | uint16 | uint32 | 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Отобразить окно возможностей
hideСкрыть окно возможностей
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);

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

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