dsp.MovingMaximum

Перемещение максимум

Описание

The dsp.MovingMaximum Система object™ определяет перемещение максимума входного сигнала вдоль каждого канала, независимо с течением времени. Объект использует метод скользящего окна, чтобы определить скользящий максимум. В этом методе окно заданной длины перемещается по каждому каналу, выборка за выборкой, и объект определяет максимум данных в окне. Для получения дополнительной информации см. «Алгоритмы».

Чтобы определить скользящий максимум входа:

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

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

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

Создание

Описание

movMax = dsp.MovingMaximum возвращает движущийся максимальный объект, movMax, с использованием свойств по умолчанию.

пример

movMax = dsp.MovingMaximum(Len) устанавливает WindowLength свойство к Len.

movMax = dsp.MovingMaximum(Name,Value) задает дополнительные свойства, используя Name,Value пар. Неопределенные свойства имеют значения по умолчанию.

Пример: movMax = dsp.MovingMaximum('SpecifyWindowLength',1,'WindowLength',10);

Свойства

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

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

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

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

Флаг для задания длины окна в виде скаляра логического значения.

  • true - Длина скользящего окна равна значению, заданному в WindowLength свойство.

  • false - Длина раздвижного окна бесконечна. В этом режиме объект определяет максимум текущей выборки и всех прошлых выборок.

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

Зависимости

Это свойство применяется при установке SpecifyWindowLength на true.

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

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

Синтаксис

Описание

пример

y = movMax(x) определяет скользящий максимум входного сигнала, x, с использованием метода раздвижного окна.

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

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

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

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

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

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

Перемещение максимума входного сигнала, возвращаемое как вектор или матрица.

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

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

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

release(obj)

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

stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Вычислите скользящий максимум суммы трёх синусоид с изменяющейся амплитудой. Используйте раздвижное окно длиной 30.

Инициализация

Установите входной сигнал, который является суммой трех синусоид с частотами на 2 Гц, 5 Гц и 10 Гц. Частота дискретизации составляет 100 Гц. Создайте dsp.MovingMaximum объект с длиной окна 30. Создайте временные возможности для просмотра выхода.

sin = dsp.SineWave('SampleRate',100,...
    'Frequency',[2 5 10],...
    'SamplesPerFrame',100);
movMax = dsp.MovingMaximum(30);
scope  = timescope('SampleRate',100,...
    'TimeSpanOverrunAction','Scroll',...
    'TimeSpanSource','Property',...
    'TimeSpan',10,'ShowGrid',true,...
    'YLimits',[-4.5 4.5]);

Вычисление максимума перемещения

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

for index = 1:100
    sin.Amplitude = rand(1,3);
    x = sum(sin(),2);
    xmax = movMax(x);
    scope([x,xmax])
end

Алгоритмы

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

Ссылки

[1] Боденем, Дин. «Адаптивная фильтрация и обнаружение изменений для потоковых данных». PH.D. Дипломная работа. Имперский колледж, Лондон, 2012.

Расширенные возможности

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