Идентифицируйте пиковые значения во входном сигнале
Система 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.PeakFinder
pkFind = 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)