dsp.MovingMinimum

Скользящий минимум

Описание

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

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

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

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

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

Создание

Описание

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

пример

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

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

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

Свойства

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

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

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

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

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

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

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

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

Зависимости

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

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

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

Синтаксис

Описание

пример

y = movMin(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.MovingMinimum объект с длиной окна 30. Создайте временные возможности для просмотра выхода.

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

Вычислите скользящий минимум

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

for index = 1:100
    sin.Amplitude = rand(1,3);
    x = sum(sin(),2);
    xmin = movMin(x);
    scope([x,xmin])
end
scope.AxesScaling = 'onceatstop';

Алгоритмы

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

Ссылки

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

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

.
Введенный в R2016b