dsp.PeakFinder

(Чтобы быть удаленным), Идентифицируют пиковые значения во входном сигнале

Описание

dsp.PeakFinder Система object™ считает количество пиковых значений (максимумы, минимумы или оба) в каждом столбце входного сигнала с действительным знаком. Чтобы квалифицировать как пик, точка должна быть больше (или меньшей), чем обе из ее соседних точек. Конечные точки не рассматриваются как пиковые значения. Объект может также вывести индексы и значения peaks и двоичный массив, который указывает, является ли пик максимумами или минимумы.

Чтобы вывести пиковые индексы и пиковые значения, установите PeakIndicesOutputPort и PeakValuesOutputPort к true, соответственно. Кроме того, можно определить, какое из пиковых значений является максимумами или минимумы с помощью матрицы полярности. Матрица полярности является логическим массивом, в котором 1 указывает на максимумы, и 0 указывает на минимумы. Чтобы просмотреть матрицу полярности, установите PeakType на 'Maxima and Minima' и доступ четвертый выход.

Используйте свойство MaximumPeakCount задать сколько пиковых значений, чтобы искать в каждом входном сигнале. Объект прекращает искать входной сигнал, если это максимальное количество пиковых значений было найдено.

Если вы устанавливаете IgnoreSmallPeaks на true, объект больше не обнаруживает низкую амплитуду, достигает максимума и игнорирует шум в пороговом значении, которое вы задаете. В этом режиме текущее значение является максимумом если (currentprevious)> threshold и (currentnext)> threshold. Текущее значение является минимумом если (currentprevious) <–threshold и (currentnext) <–threshold.

Примечание

dsp.PeakFinder Системный объект будет удален в будущем релизе. Чтобы определить локальные максимумы, используйте findpeaks функция. Чтобы определить локальные минимумы, используйте islocalmin функционируйте и найдите значения сигналов, соответствующие локальным индексам минимумов, которые определяет функция. Для получения дополнительной информации см. Вопросы совместимости.

Определить пиковые значения во входном сигнале:

  1. Создайте dsp.PeakFinder объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

pkFind = dsp.PeakFinder создает пиковый Системный объект средства поиска, который идентифицирует пиковые значения (максимумы, минимумы или оба) во входном сигнале.

pkFind = dsp.PeakFinder(Name,Value) создает пиковый Системный объект средства поиска с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.

Пример: задержитесь = dsp. PeakFinder ('PeakType', 'Максимумы');

Свойства

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

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

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

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

Тип peaks, чтобы идентифицировать в виде одного из следующего:

  • 'Maxima' – Если IgnoreSmallPeaks установлен в true, текущее значение идентифицировано как максимум если (currentprevious)> threshold и (currentnext)> threshold. Задайте threshold в свойстве PeakThreshold. Если IgnoreSmallPeaks установлен в false, текущее значение должно быть больше, чем обе его соседних точки.

  • 'Minima' – Если IgnoreSmallPeaks установлен в true, текущее значение идентифицировано как минимум если (currentprevious) <–threshold и (currentnext) <–threshold. Если IgnoreSmallPeaks установлен в false, текущее значение должно быть меньшим, чем обе его соседних точки.

  • 'Maxima and Minima' – Объект идентифицирует и максимумы и точки минимумов.

Включите выход пиковых индексов в виде также:

  • true – Объект возвращает индексы пиковых значений входного сигнала.

  • false – Объект не возвращает индексы пиковых значений входного сигнала.

Включите выход пиковых значений в виде также:

  • true – Объект возвращает пиковые значения входного сигнала.

  • false – Объект не возвращает пиковые значения входного сигнала.

Максимальное количество пиковых значений, чтобы идентифицировать в каждом входном сигнале в виде целого числа, больше, чем или равный 1. Объект прекращает искать входной сигнал peaks, если это идентифицирует максимальное количество.

Пример 5

Пример: 50

Проигнорируйте peaks ниже порога в виде также:

  • false – Объект идентифицирует текущее значение как пик, если текущее значение больше (или меньше), чем обе из его соседних точек.

  • true – Объект идентифицирует текущее значение как максимум если (currentprevious)> threshold и (currentnext)> threshold. Объект идентифицирует текущее значение как минимум если (currentprevious) <–threshold и (currentnext) <–threshold.

Порог, ниже которого peaks проигнорирован в виде действительного скаляра, больше, чем или равный 0 или вектор со всеми элементами, больше, чем или равный 0. Длина вектора должна быть равна количеству каналов.

Это свойство идентифицирует текущее входное значение, чтобы быть максимумом если (текущее входное значение – предыдущее входное значение)> порог и (текущее входное значение – следующее входное значение)> порог. Текущее значение является минимумом если (текущее входное значение – предыдущее входное значение) <-порог и (текущее входное значение – следующее входное значение) <-порог.

Пример: 0.2

Пример: [0.3 2.4]

Пример: [3; 0.4]

Зависимости

Это свойство применяется только, когда вы устанавливаете IgnoreSmallPeaks к true.

Свойства фиксированной точки

Округление метода в виде 'Floor', который эквивалентен усечению. Установка округляет результат вычисления к самому близкому представимому номеру в направлении отрицательной бесконечности.

Действие переполнения для операций фиксированной точки в виде одного из следующего:

  • 'Wrap' – Объект переносит результат своих операций фиксированной точки.

  • 'Saturate' – Объект насыщает результат своих операций фиксированной точки.

Для получения дополнительной информации о действиях переполнения смотрите режим переполнения для операций фиксированной точки.

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

Описание

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);

Входные параметры

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

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

Пример: [9 6 10 3 5 5 0 12; 9 6 1 13 4 1 0 12]'

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

Выходные аргументы

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

Количество пиковых значений, возвращенных как скаляр или вектор-строка из длины, равняется количеству каналов во вводе данных.

Пример: [4 3]

Типы данных: uint32

Индексы пиковых значений во входном сигнале, возвращенном как вектор-столбец или матрица. Размер пиковых индексов выход совпадает с размером входа. Все ненулевые элементы представляют пиковые индексы.

Пример: [1 2 3 6 0 0 0 0 0 0; 2 3 6 0 0 0 0 0 0 0]'

Зависимости

Чтобы включить этот выход, установите PeakIndicesOutputPort свойство к true.

Типы данных: uint32

Пиковые значения во входном сигнале, возвращенном как вектор-столбец или матрица.

Пример: [6 10 3 0 0 0 0 0 0 0; 1 13 0 0 0 0 0 0 0 0]'

Зависимости

Чтобы получить доступ к пиковым значениям выход, установите PeakValuesOutputPort свойство к true.

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

Полярность пикового значения во входном сигнале, возвращенном как вектор-столбец или матрица логической 1 с и 0s. Полярностью является 1 для максимумов и 0 для минимумов.

Пример: [0 1 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0]'

Типы данных: логический

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

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

release(obj)

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

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

Примеры

Определите локальные максимумы и минимумы

Примечание: Если вы используете 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

Вопросы совместимости

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

Предупреждает запуск в R2019b

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

Смотрите также

Функции

Блоки

Представленный в R2012a