(Чтобы быть удаленным), Идентифицируют пиковые значения во входном сигнале
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
Системный объект будет удален в будущем релизе. Чтобы определить локальные максимумы, используйте findpeaks
функция. Чтобы определить локальные минимумы, используйте islocalmin
функционируйте и найдите значения сигналов, соответствующие локальным индексам минимумов, которые определяет функция. Для получения дополнительной информации см. Вопросы совместимости.
Определить пиковые значения во входном сигнале:
Создайте dsp.PeakFinder
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
создает пиковый Системный объект средства поиска, который идентифицирует пиковые значения (максимумы, минимумы или оба) во входном сигнале.pkFind
= dsp.PeakFinder
создает пиковый Системный объект средства поиска с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.pkFind
= dsp.PeakFinder(Name,Value
)
возвращает количество пиковых значений (минимумы, максимумы или оба) во входном сигнале. Каждый столбец входа обработан как отдельный канал.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)
Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным step
синтаксис. Например, obj(x)
становится step(obj,x)
.
Определите, является ли каждое значение входного сигнала локальным максимумом или минимумом.
pkFind = dsp.PeakFinder; pkFind.PeakIndicesOutputPort = true; pkFind.PeakValuesOutputPort = true; x1 = [9 6 10 3 4 5 0 12]';
Найдите peaks каждого входа [prev;cur;next]
: {[9;6;10],[6;10;3],...}
[cnt1, idx1, val1, pol1] = pkFind(x1)
cnt1 = uint32
5
idx1 = 10x1 uint32 column vector
1
2
3
5
6
0
0
0
0
0
val1 = 10×1
6
10
3
5
0
0
0
0
0
0
pol1 = 10x1 logical array
0
1
0
1
0
0
0
0
0
0