Идентифицируйте пиковые значения во входном сигнале
Система dsp.PeakFinder object™ считает количество пиковых значений (максимумы, минимумы или оба) в каждом столбце входного сигнала с действительным знаком. Чтобы квалифицировать как пик, точка должна быть больше (или меньшей), чем обе из ее соседних точек. Конечные точки не рассматриваются как пиковые значения. Объект может также вывести индексы и значения peaks и двоичный массив, который указывает, является ли пик максимумами или минимумы.
Чтобы вывести пиковые индексы и пиковые значения, установите PeakIndicesOutputPort и PeakValuesOutputPort к true, соответственно. Кроме того, можно определить, какое из пиковых значений является максимумами или минимумы с помощью матрицы полярности. Матрица полярности является логическим массивом, в котором 1 указывает на максимумы, и 0 указывает на минимумы. Чтобы просмотреть матрицу полярности, установите PeakType на 'Maxima and Minima' и получите доступ к четвертому выводу.
Используйте свойство MaximumPeakCount задать сколько пиковых значений, чтобы искать в каждом входном сигнале. Объект прекращает искать входной сигнал, если это максимальное количество пиковых значений было найдено.
Если вы устанавливаете IgnoreSmallPeaks на true, объект больше не обнаруживает низкую амплитуду, достигает максимума и игнорирует шум в пороговом значении, которое вы задаете. В этом режиме текущее значение является максимумом если (current – previous)> threshold и (current – next)> threshold. Текущее значение является минимумом если (current – previous) <–threshold и (current – next) <–threshold.
Определить пиковые значения во входном сигнале:
Создайте объект dsp.PeakFinder и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
pkFind = dsp.PeakFinderpkFind = dsp.PeakFinder(Name,Value) создает пиковый Системный объект средства поиска, который идентифицирует пиковые значения (максимумы, минимумы или оба) во входном сигнале.pkFind = dsp.PeakFinder
создает пиковый Системный объект средства поиска с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.pkFind = dsp.PeakFinder(Name,Value)
Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.
Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.
cnt = pkFind(input)[cnt,idx] = pkFind(input)[___,val] = pkFind(input)[___,pol] = pkFind(input) возвращает количество пиковых значений (минимумы, максимумы или оба) во входном сигнале. Каждый столбец входа обработан как отдельный канал.cnt = pkFind(input)
[ возвращает количество пиковых значений, cnt,idx] = pkFind(input)cnt, и пиковых индексов, idx, во входном сигнале.
Чтобы получить доступ к пиковым индексам вывод, установите свойство PeakIndicesOutputPort на true.
pkFind = dsp.PeakFinder('PeakType','Maxima', ... 'PeakIndicesOutputPort',true); ... [cnt,idx] = pkFind(input);
[___, возвращает пиковые значения val] = pkFind(input)val во входном сигнале.
Чтобы получить доступ к пиковым значениям вывод, установите свойство PeakValuesOutputPort на true.
pkFind = dsp.PeakFinder('PeakType','Maxima', ... 'PeakValuesOutputPort',true); ... [cnt,idx,val] = pkFind(input);
[___, возвращает полярность пикового значения pol] = pkFind(input)pol во входном сигнале. Полярностью является 1 для максимумов и 0 для минимумов.
Чтобы получить доступ к полярности вывод, установите свойство PeakType на 'Maxima and Minima' и свойство PeakIndicesOutputPort к true.
pkFind = dsp.PeakFinder('PeakType','Maxima and Minima', ... 'PeakIndicesOutputPort',true); ... [cnt,idx,val,pol] = pkFind(input);
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:
release(obj)