exponenta event banner

dsp. MatrixViewer

Визуализация матричных данных

Описание

DSP. MatrixViewer визуализирует матричные данные путем сопоставления матричных элементов с заданным диапазоном цветов.

Для визуализации матричных данных в Matrix Viewer:

  1. Создать dsp.MatrixViewer и задайте его свойства.

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

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

Зумирование и панорамирование

Для масштабирования осей графика можно использовать кнопку прокрутки мыши для увеличения/уменьшения масштаба графика, а также клавиши CTRL + щелчок и перетаскивание для панорамирования графика. Кроме того, можно использовать кнопки, которые появляются при наведении курсора на правый верхний угол окна печати.

  • - автоматическое масштабирование осей в соответствии с данными.

  • - Увеличьте изображение графика.

  • - Панорамирование вокруг осей.

Измерения курсора

Активизируйте измерения курсора, наведя курсор на просмотр матрицы и нажимая кнопку курсора.

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

Создание

Описание

scope = dsp.MatrixViewer создает системную object™ Matrix Viewer, scope.

пример

scope = dsp.MatrixViewer(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в отдельные кавычки. Например, scope = dsp.MatrixViewer("AxisOrigin","Lower left corner")

Свойства

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

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Матричная информация

Укажите режим нумерации по оси X.

  • "Offset and resolution" - вычислить точки данных оси X из свойств XResolution и XOffset.

  • "Custom" - вычислять точки данных оси X с помощью свойства CustomXData.

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

Укажите режим нумерации по оси Y:

  • "Span and resolution" - вычислить точки данных оси Y из свойств YSpan и YResolution.

  • "Offset and resolution" - вычислить точки данных оси Y из свойств YResolution и YOffset.

  • "Custom" - вычислять точки данных оси Y с помощью свойства CustomYData.

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

Задайте пользовательские значения для оси X с помощью двухэлементного числового вектора или числового вектора с конечным числом элементов.

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

Пример: [5 156]

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

Зависимость

Чтобы включить это свойство, необходимо установить для параметра XDataMode значение "Custom".

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

Задайте пользовательские значения для оси Y с помощью двухэлементного числового вектора или числового вектора с конечным числом элементов.

Если задан двухэлементный вектор, в качестве значений min и max оси y используются числа. Если задан вектор с более чем двумя элементами, значения должны быть монотонно увеличены, и область действия использует первое и последнее значения вектора в качестве минимального и максимального значений соответственно. Если пределы данных по оси Y не заданы, область использует количество входных строк в качестве максимального значения по оси Y.

Пример: [-130 10]

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

Зависимость

Чтобы включить это свойство, необходимо установить для YDataMode значение "Custom".

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

Задайте смещение для отображения на оси X в виде скаляра.

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

Зависимость

Чтобы включить это свойство, необходимо установить для параметра XDataMode значение "Offset and resolution".

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

Укажите интервал значений вдоль оси X как скаляр.

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

Зависимость

Чтобы включить это свойство, необходимо установить для параметра XDataMode значение "Offset and resolution".

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

Задайте смещение для отображения на оси Y в виде скаляра.

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

Зависимость

Чтобы включить это свойство, необходимо установить для YDataMode значение "Offset and resolution".

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

Задайте интервал значений вдоль оси Y как скаляр.

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

Зависимость

Чтобы включить это свойство, необходимо установить для YDataMode значение "Offset and resolution" или "Span and resolution".

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

Укажите диапазон значений вдоль оси Y как скаляр.

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

Зависимость

Чтобы включить это свойство, необходимо установить для YDataMode значение "Span and resolution".

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

Визуализация

Укажите имя области. Это имя отображается как заголовок окна рисунка области. Чтобы задать название графика, используйте команду Title собственность.

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

Укажите начальное расположение графика. При указании "Upper left corner"график начинается в левом верхнем углу осей и продолжается вниз.

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

Укажите в пикселях размер и расположение окна области в виде четырехэлементного вектора формы [left bottom width height]. По умолчанию окно области отображается в центре экрана шириной 410 пикселы и высота 300 пикселы. Значения по умолчанию для этого свойства могут изменяться в зависимости от разрешения экрана.

Укажите заголовок графика в виде символьного вектора или строки. По умолчанию заголовок отсутствует.

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

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

Укажите текст области для отображения под осью X. По умолчанию оси не помечены.

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

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

Укажите текст области для отображения слева от оси Y. По умолчанию оси не помечены.

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

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

Укажите текст области для отображения рядом с цветовой панелью. По умолчанию панель цветов не помечена.

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

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

Цветовая схема карты цветов, заданная как предопределенное имя карты цветов или трехстолбцовая матрица RGB-триплетов.

Список допустимых имен карт цветов см. в разделе map.

Чтобы использовать пользовательскую карту цветов, укажите трехстолбцовую матрицу RGB-триплетов. Матрицу RGB можно создать самостоятельно или вызвать предопределенную функцию карты цветов, например: colormap, для создания матрицы.

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

Задание пределов полосы цветов в виде двухэлементного числового вектора [min max]. По умолчанию предельные значения задаются как минимальное и максимальное значения входной матрицы.

Пример: [1 80]

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

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

Расположение цветовой полосы относительно осей.

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

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

Установить для этого свойства значение false скрытие цветовой полосы на графике.

Установить для этого свойства значение false скрытие линий сетки на графике.

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

Установить для этого свойства значение false скрытие засечек на осях X и Y.

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

Синтаксис

Описание

пример

scope(matrix) отображает matrix путем сопоставления значений элементов матрицы с диапазоном цветов.

Входные аргументы

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

Укажите числовую матрицу n-by-m для визуализации.

Пример: scope(rand(3,5))

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

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

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

release(obj)

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

setCursorDataLabelsНастройка меток данных для измерений курсора
showОкно области просмотра
hideСкрыть окно области
isVisibleОпределение видимости объема работ
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

В этом примере показано, как создать спектрограмму квадратичной чирпы с помощью dsp.MatrixViewer Системный объект.

Настройка частоты дискретизации и сигнала частотной частоты.

Fs = 233e3;
frameSize = 20e3;
chirp = dsp.Chirp("SampleRate",Fs,"SamplesPerFrame",frameSize,...
  "InitialFrequency",11e3,"TargetFrequency",11e3+55e3,...
  "Type","Quadratic");

Создать dsp.MatrixViewer сфера применения. Задайте метки осей, выберите карту цветов и задайте границы карты цветов.

scope = dsp.MatrixViewer(...
    "ColorBarLabel","Power/Frequency (dB/Hz)",...
    "XLabel","Frequency (Hz)",...
    "YLabel","Time (secs)",...
    "Colormap","hsv",...
    "ColorLimits",[-100,-30]);

Визуализируйте спектрограмму сигнала чирпа в области видимости.

for idx = 1:50
    y = chirp() + 0.05*randn(frameSize,1);
    [~,~,~,Ps] = spectrogram(y,128,120,128,1e3);
    val = 10*log10(abs(Ps)'+eps);
    scope(val);
end

Представлен в R2019a