Определить, является ли каждое значение входного сигнала локальным минимальным или максимальным
Сигнальные операции
dspsigops

Блок Peak Finder подсчитывает количество локальных экстремумов в каждом столбце действительного входного сигнала. Блок выводит число локальных экстремумов в порту Cnt. Можно также настроить блок для вывода индексов экстремумов, значений экстремумов и двоичного индикатора того, являются ли экстремумы максимальными или минимальными.
Чтобы квалифицироваться как крайность, точка должна быть больше (или меньше), чем обе соседние точки. Таким образом, конечные точки никогда не считаются крайними.
Если установить флажок Индексы пиковых значений вывода (Output peak indices), в блоке появится порт Idx. Блок выводит индексы экстремальных значений на порт Idx. Если для параметра Index base установлено значение Zeroблок выводит отсчитываемые от нуля экстремальные индексы. Если для параметра Index base установлено значение Oneблок выводит индексы экстремальных значений на основе одного элемента.
Если установить флажок Выходные пиковые значения (Output peak values), на блоке появится порт значения (Val port). Блок выводит экстремальные значения в порту Val. Если установить любой из этих флажков и установить тип (ы) Пик вMaxima and Minima, порт Pol также появляется на блоке. Если значение сигнала является максимальным, блок выводит 1 на порт Pol («полярность»). Если значение сигнала является минимальным, блок выводит 0 на порт Pol.
Используйте параметр Maximum number of peaks (Максимальное количество пиков), чтобы указать, сколько экстремальных значений следует искать в каждом входном сигнале. Блок прекращает поиск входного сигнала, как только найдено максимальное количество экстремальных значений.
Если установить флажок Игнорировать пики в пределах порога соседних значений, блок больше не будет обнаруживать пики низкой амплитуды. Эта функция позволяет блоку игнорировать шум в пределах заданного порогового значения. Введите пороговое значение параметра Threshold. Теперь текущее значение является максимальным, если (текущее - предыдущее) > пороговое значение и (текущее - следующее) > пороговое значение. Текущее значение является минимальным, если (текущее - предыдущее) < -пороговое значение и (текущее - следующее) < -пороговое значение.
Рассмотрим входной вектор
[9 6 10 3 4 5 0 12]
В таблице ниже представлен анализ, выполненный блоком Peak Finder. Следует отметить, что первое и последнее значения входного сигнала не учитываются:
| Предыдущее, текущее и следующее значения | 9 6 10 | 6 10 3 | 10 3 4 | 3 4 5 | 4 5 0 | 5 0 12 |
| Текущее значение, если оно является экстремумом | 6 | 10 | 3 | — | 5 | 0 |
| Индекс текущего значения, если оно является экстремумом | 1 | 2 | 3 | — | 5 | 6 |
| Полярность текущего значения, если оно является экстремумом | 0 | 1 | 0 | — | 1 | 0 |
В этом примере выходные сигналы блочных портов:
Cnt: 5
Idx: [1 2 3 5 6]
Вал: [6 10 3 5 0]
Пол: [0 1 0 1 0]
Параметр Overflow mode (режим переполнения) может влиять на выходной сигнал блока, когда входной сигнал является фиксированной точкой. Рассмотрим следующую модель:

В этой модели в блоке «Константа» установлены следующие параметры:
Постоянное значение - [-1 0.5 -1]
Интерпретировать векторные параметры как 1-D - не выбрано
Режим отбора проб - Sample based
Время выборки - 1
Тип выходных данных - <data type expression>
Режим - Fixed point
Знак - Signed
Масштабирование - Binary point
Длина слова - 16
Длина фракции - 15
В блоках Peak Finder установлены следующие параметры:
Тип (ы) пика -Maxima
Индексы пиковых значений на выходе - не выбраны
Выходные пиковые значения - выбранные
Максимальное количество пиков для поиска - 2
Игнорировать пики в пределах порога соседних значений - выбрано
Порог - 0.25
Режим переполнения - Wrap для обертки Peak Finder, Saturate для пикового поиска Satrate
Установка параметра Overflow mode блока Peak Finder Wrap в значение Wrap приводит к тому, что вычисления (текущее - предыдущее) > пороговое значение и (текущее - следующее) > пороговое значение переносятся при переполнении, что приводит к пропуску максимума.
Укажите, нужно ли искать максимумы, минимумы или и то, и другое.
Укажите базу индексов экстремальных значений как:
Zero (по умолчанию) - первый индекс начинается с 0. Например, рассмотрим входной вектор [-1.5, 0.5, 0]. Пиковое значение этого вектора равно 0,5, а индекс этого пикового значения равен 1.
One - В этом параметре первый индекс начинается с 1. Индекс пикового значения в [-1,5, 0,5, 0] равен 2.
Установите этот флажок, если требуется, чтобы блок выводил индексы экстремальных значений на порт Idx.
Установите этот флажок, если требуется, чтобы блок выводил экстремальные значения в порту Val.
Введите количество крайних значений для поиска в каждом входном сигнале. Блок прекращает поиск входного сигнала для экстремума, как только найдено максимальное количество экстремума. Значение этого параметра должно быть целым числом, большим или равным единице.
Установите этот флажок, если требуется исключить обнаружение пиков, амплитуды которых находятся в пределах заданного порога соседних значений.
Введите пороговое значение. Этот параметр появляется, если установить флажок Игнорировать пики в пределах порога соседних значений.
При установке флажка Игнорировать пики в пределах порога соседних значений появляется раздел Рабочие параметры фиксированной точки.
При выборе этого параметра блок насыщает результат операции с фиксированной точкой. При сбросе этого параметра блок переносит результат операции с фиксированной точкой. Для получения подробной информации о saturate и wrap, см. режим переполнения для операций с фиксированной точкой.
Порт | Поддерживаемые типы данных |
|---|---|
Вход |
|
Cnt |
|
Idx |
|
Вэл |
|
Политик |
|