exponenta event banner

dsp. MovingMinimum

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

Описание

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

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

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

release(obj)

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

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

Примеры

свернуть все

Вычислите минимум движения суммы трех синусоидальных волн с изменяющейся амплитудой. Используйте скользящее окно длиной 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