Максимальные значения входа или последовательности входов
Системный тулбокс/статистика DSP
DSP System Toolbox Поддержка HDL/статистика
Блок Maximum идентифицирует значение и положение самого большого элемента в каждой строке или столбце входа или вдоль векторов заданного измерения из входа. Это также может вычислить максимальное значение всего входа. Блок Maximum может также отслеживать максимальные значения в последовательности входов за определенный период времени. Параметр Mode задает режим работы блока и может быть установлен на одно из следующего:
Value
- Блок выводит максимальные значения в заданном измерении.
Index
- Блок выводит массив индексов максимальных значений в заданном измерении.
Value and Index
- Блок выводит максимальные значения и соответствующий массив индексов в заданном измерении.
Running
- Блок отслеживает максимальные значения в последовательности входов за определенный период времени.
Можно задать размерность, используя параметр Find the maximum value over.
Примечание
Режим Running в блоке Maximum будет удален в следующем релизе. Чтобы вычислить текущий максимум в Simulink®Вместо этого используйте блок Moving Maximum.
In
- Вход данныхБлок принимает реальные или комплексные многоканальные и многомерные входы. Вход может быть с плавающей точкой, с фиксированной точкой или логическим. Действительные входы с фиксированной точкой могут быть либо подписанными, либо неподписанными. Комплексные входы с фиксированной точкой должны быть подписаны.
Этот порт не называется, пока вы не зададите значение параметра Mode Running
и параметр Reset port к любой опции, кроме None
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Поддержка комплексного числа: Да
Rst
- Порт сбросаЗадайте событие сброса, которое заставляет блок сбрасывать текущий максимум. Время дискретизации входного входа Rst должно быть положительным целым числом, кратным времени входного шага расчета.
Чтобы включить этот порт, установите параметр Mode равным Running
и параметр Reset port к любой опции, кроме None
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| Boolean
Val
- Максимальные значения по заданному измерениюТип данных максимального значения соответствует типу данных входа.
Когда параметр Mode установлен на Value and Index
или Value
, применимо следующее:
Размер размерности, для которой блок вычисляет максимальное значение, равен 1. Размеры всех других размерностей совпадают с размерами массивов входа. Например, когда вход является M -by- N -by- P массивом, с размерностью, установленной на 1
блок выводит массив 1-by N -by P. Когда для размерности задано значение 3
блок выводит двумерную матрицу M -by N.
Когда вход является M -by - N матрицей, с размерностью, установленной на 1
блок выводит матрицу N 1 байт.
Если вы задаете блок, чтобы вычислить максимальное значение за весь вход, блок выводит скаляр.
Когда установлен параметр Mode Running
блок отслеживает максимальное значение каждого канала во временной последовательности M входов -by N. В этом режиме вы также должны задать параметр Input processing как один из следующих:
Elements as channels (sample based)
- Блок обрабатывает каждый элемент входа как отдельный канал. Для трехмерного входного сигнала размера M -by- N -by- P, блок выводит массив M -by- N -by- P. Каждый yijk элемент выхода содержит максимальное значение, наблюдаемое в uijk элемента для всех входов с момента последнего сброса.
Когда происходит событие сброса, выполняемое максимальное yijk в текущей системе координат сбрасывается в uijk элемента.
Columns as channels (frame based)
- Блок обрабатывает каждый столбец входа как отдельный канал. Эта опция не поддерживает N-мерный входной сигнал, где N > 2. Для двумерного входного сигнала размера M -by - N, блок выводит матрицу M -by - N. Каждый элемент yij выхода содержит максимальное значение, наблюдаемое в j-м столбце всех входов с момента последнего сброса, вплоть до элемента uij текущего входа.
Когда происходит событие сброса, текущий максимум для каждого канала становится максимальным значением всех выборок в текущем входном кадре, вплоть до текущей входной выборки включительно.
Блок устанавливает текущий максимум всякий раз, когда событие сброса обнаруживается в опциональном порте Rst. Шаг расчета сброса должен быть положительным целым числом, кратным входом шага расчета.
Чтобы включить этот порт, установите параметр Mode равным Value and Index
или Value
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Поддержка комплексного числа: Да
Idx
- Индекс максимальных значений по заданному измерениюКогда вход double
, значения индекса также double
. В противном случае значения индекса uint32
.
Чтобы включить этот порт, установите параметр Mode равным Value and Index
или Index
.
Типы данных: double
| uint32
Mode
- Режим, в котором работает блокValue and Index
(по умолчанию) | Value
| Index
| Running
Когда параметр Mode установлен в:
Value
- Блок вычисляет максимальное значение в каждой строке или столбце входа или вдоль векторов заданной размерности входа. Он также может вычислить максимальное значение всего входа в каждом шаге расчета и выводит массив, y. Каждый элемент в выходе является максимальным значением в соответствующем столбце, строке, векторе или целом входе. Выходной y зависит от настройки параметра Find the maximum value over. Рассмотрим трехмерный входной сигнал размера M -by- N -by- P. Установите Find the maximum value over значение:
Each row
- Выходной y в каждом шаге расчета состоит из M -на 1-by - P массива, где каждый элемент содержит максимальное значение каждого вектора во втором измерении входного сигнала. Для входного сигнала M -by N матрицы выходом в каждом шаге расчета является вектор- M-на-1 столбец.
Each column
- Выходной y в каждом шаге расчета состоит из массива 1-by- N -by- P, где каждый элемент содержит максимальное значение каждого вектора по первому измерению входной размерности. Для M -by N матричного входа, выход в каждом шаге расчета является вектором-строкой N 1 байт.
В этом режиме блок обрабатывает длинно- M неориентированные векторные входы как M векторы-на-1.
Entire input
- Выходной y в каждом шаге расчета является скаляром, который содержит максимальное значение в M входной матрице -by- N -by- P.
Specified dimension
- Выходной y в каждом шаге расчета зависит от Dimension. Если для Dimension задано значение 1
, выходы те же, что и при выборе Each column
. Если для Dimension задано значение 2
, выходы те же, что и при выборе Each row
. Если для Dimension задано значение 3
, выходы в каждом шаге расчета являются M -by - N матрицей, содержащей максимальное значение каждого вектора для третьего измерения входной размерности.
Комплексные входы
Для комплексных входов блок выбирает значение в каждой строке или столбце входа, вдоль векторов заданного измерения из входа или всего входа, которая имеет максимальную квадратную величину, как показано на следующем рисунке. Для комплексного числа , величина в квадрате .
Index
- Блок вычисляет максимальное значение в каждой строке или столбце входа, вдоль векторов заданной размерности входа или всего входа и выводит I массива индексов. Каждый элемент в I является целым числом, индексирующим максимальное значение в соответствующем столбце, строке, векторе или целом входе. Выходной I зависит от настройки параметра Find the maximum value over. Рассмотрим трехмерный входной сигнал размера M -by- N -by - P:
Each row
- Выходной I в каждом шаге расчета состоит из M -by-1-by- P массива, где каждый элемент содержит индекс максимального значения каждого вектора во втором измерении входного сигнала. Для входа, который является M -by - N матрицей, выход в каждом шаге расчета является вектором- M на 1 столбец.
Each column
- Выходной I в каждом шаге расчета состоит из массива 1-by- N -by- P, где каждый элемент содержит индекс максимального значения каждого вектора по первому измерению входной размерности. Для входа, который является M -by - N матрицей, выход в каждом шаге расчета является вектором-строкой N 1 байт.
В этом режиме блок обрабатывает длинно- M неориентированные векторные входы как M векторы-на-1.
Entire input
- Выходной I в каждом шаге расчета является вектор 1 на 3, который содержит положение максимального значения в входной матрице M -by- N -by- P. Для входа, который является матрицей M -by N, выход является вектором 1 на 2.
Specified dimension
- Выходной I в каждом шаге расчета зависит от Dimension. Если для Dimension задано значение 1, выход будет таким же, как и при выборе Each column
. Если для Dimension задано значение 2, выход будет таким же, как и при выборе Each row
. Если Dimension установлено равным 3, выходы в каждом шаге расчета являются матрицей M -by N, содержащей индексы максимальных значений каждого вектора по третьему измерению входной размерности.
Когда максимальное значение происходит более одного раза, вычисленный индекс соответствует первому вхождению. Для примера, когда вход является вектором-столбцом [3 2 1 2 3]'
вычисленный один базовый индекс максимального значения 1
, а не 5
когда Each column
выбран.
Value and Index
- Блок выводит максимальное значение в каждой строке или столбце входа, вдоль векторов заданного размера входа или всего входа и соответствующих I массива индексов.
Running
- Блок отслеживает максимальное значение каждого канала во временной последовательности M -by - N входов. В этом режиме вы также должны задать параметр Input processing как один из следующих:
Elements as channels (sample based)
- Блок обрабатывает каждый элемент входа как отдельный канал. Для трехмерного входного сигнала размера M -by- N -by- P, блок выводит массив M -by- N -by- P. Каждый yijk элемент выхода содержит максимальное значение, наблюдаемое в uijk элемента для всех входов с момента последнего сброса.
Когда происходит событие сброса, выполняемое максимальное yijk в текущей системе координат сбрасывается в uijk элемента.
Columns as channels (frame based)
- Блок обрабатывает каждый столбец входа как отдельный канал. Эта опция не поддерживает N-мерный входной сигнал, где N > 2. Для двумерного входного сигнала размера M -by - N, блок выводит матрицу M -by - N. Каждый элемент yij выхода содержит максимальное значение, наблюдаемое в j-м столбце всех входов с момента последнего сброса, вплоть до элемента uij текущего входа.
Когда происходит событие сброса, текущий максимум для каждого канала становится максимальным значением всех выборок в текущем входном кадре, вплоть до текущей входной выборки включительно.
Блок устанавливает текущий максимум всякий раз, когда событие сброса обнаруживается в опциональном порте Rst. Шаг расчета сброса должен быть положительным целым числом, кратным входом шага расчета.
Текущий режим для входов переменного размера
Когда вход является сигналом переменного размера, и вы устанавливаете Mode на Running
, затем:
Если вы устанавливаете параметр Input processing равным Elements as channels (sample based)
, состояние сбрасывается.
Если вы устанавливаете параметр Input processing равным Columns as channels (frame based)
, затем:
Когда различие размеров входа в количестве каналов (столбцов), состояние сбрасывается.
Когда различие в размере входа находится в длине каналов (строк), сброс отсутствует, и выполняемая операция выполняется как обычно.
Index base
- Основа индекса максимального значенияOne
(по умолчанию) | Zero
Укажите, сообщается ли индекс максимального значения с помощью нумерации на основе одного или нуля.
Чтобы включить этот параметр, установите Mode на Index
или Value and Index
.
Find the maximum value over
- Размерность, по которой блок вычисляет максимальное значениеEach column
(по умолчанию) | Each row
| Entire input
| Specified dimension
Each column
- Блок выводит максимальное значение по каждому столбцу.
Each row
- Блок выводит максимальное значение по каждой строке.
Entire input
- Блок выводит максимальное значение за весь вход.
Specified dimension
- Блок выводит максимальное значение по размерности, заданное в параметре Dimension.
Чтобы включить этот параметр, установите Mode равным Value and Index
, Value
, или Index
.
Dimension
- Пользовательская размерность1
(по умолчанию) | скаляромЗадайте размерность (основанное на одном значении) входного сигнала, над которым блок вычисляет максимальное. Значение этого параметра должно быть больше 0 и меньше, чем количество размерностей в входном сигнале.
Чтобы включить этот параметр, установите Find the maximum value over равным Specified dimension
.
Input processing
- Метод обработки входов в рабочем режимеColumns as channels (frame based)
(по умолчанию) | Elements as channels (sample based)
Columns as channels (frame based)
- Блок обрабатывает каждый столбец входа как отдельный канал. Эта опция не поддерживает N-мерный входной сигнал, где N > 2. Для двумерного входного сигнала размера M -by - N, блок выводит матрицу M -by - N. Каждый элемент yij выхода содержит максимальное значение, наблюдаемое в j-м столбце всех входов с момента последнего сброса, вплоть до элемента uij текущего входа.
Когда происходит событие сброса, текущий максимум для каждого канала становится максимальным значением всех выборок в текущем входном кадре, вплоть до текущей входной выборки включительно.
Elements as channels (sample based)
- Блок обрабатывает каждый элемент входа как отдельный канал. Для трехмерного входного сигнала размера M -by- N -by- P, блок выводит массив M -by- N -by- P. Каждый yijk элемент выхода содержит максимальное значение, наблюдаемое в uijk элемента для всех входов с момента последнего сброса.
Когда происходит событие сброса, выполняемое максимальное yijk в текущей системе координат сбрасывается в uijk элемента.
Чтобы включить этот параметр, установите Mode равным Running
.
Reset port
- Событие сбросаNone
(по умолчанию) | Rising edge
| Falling edge
| Either edge
| Non-zero sample
Блок устанавливает текущий максимум всякий раз, когда событие сброса обнаруживается в опциональном порте Rst. Шаг расчета сброса должен быть положительным целым числом, которое кратно вход шага расчета.
None
- Отключение порта Rst.
Rising edge
- Запускает операцию сброса, когда вход Rst делает одно из следующего:
Повышается с отрицательного значения до положительного значения или нуля.
Поднимается с нуля до положительного значения, где подъем не является продолжением подъёма с отрицательного значения до нуля.
Falling edge
- Запускает операцию сброса, когда вход Rst делает одно из следующего:
Падает от положительного значения до отрицательного значения или нуля.
Падает с нуля до отрицательного значения, где падение не является продолжением падения с положительного значения до нуля.
Either edge
- Запускает операцию сброса, когда вход Rst является Rising edge
или Falling edge
.
Non-zero sample
- Запускает операцию сброса в каждом шаге расчета, когда вход Rst не равен нулю.
Примечание
При запуске симуляций в MultiTasking
Simulink mode, сигналы сброса имеют задержку с одной выборкой. Поэтому, когда блок обнаруживает событие сброса, происходит задержка с одной выборкой на скорости порта сброса, прежде чем блок применяет сброс. Для получения дополнительной информации о задержках и режимах задачи Simulink, смотрите Избыточную алгоритмическую задержку (Задержка Задачи) и Основанное на времени Планирование и Генерация кода (Simulink Coder).
Чтобы включить этот параметр, установите Mode равным Running
.
Примечание
Чтобы использовать эти параметры, вход данных должен быть комплексным и с фиксированной точкой.
Rounding mode
- Метод округленияFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте режим округления для операций с фиксированной точкой как один из следующих:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Для получения дополнительной информации смотрите режим округления.
Saturate on integer overflow
- Метод действия переполненияКогда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate
и wrap
, см. Режим переполнения для операций с фиксированной точкой.
Product output
- Тип выходных данных продуктаInherit: Same as input
(по умолчанию) | fixdt([],16,0)
Product output задает тип данных выхода операции продукта в блоке Maximum. Для получения дополнительной информации о типе выходных данных продукта смотрите Типы данных умножения.
Inherit: Same as input
- Блок задает тип выходных данных продукта, который должен совпадать с типом входных данных.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Accumulator
- Тип данных аккумулятораInherit: Same as product output
(по умолчанию) | Inherit: Same as input
| fixdt([],16,0)
Accumulator задает тип данных выхода операции накопления в блоке Maximum.
Inherit: Same as product output
- Блок задает тип данных аккумулятора таким же, как и тип выходных данных продукта.
Inherit: Same as input
- Блок задает тип данных аккумулятора таким же, как и тип входных данных.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Lock data type settings against changes by the fixed-point tools
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в диалоговом окне блока.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Когда вы устанавливаете Mode на один из Value
, Index
, или Value and Index
и задайте размерность, блок выдает результаты, идентичные MATLAB®
max
функция, когда она вызывается как [y,I] = max(u,[],D)
.
u
- вход данных.
D
- размерность.
y
- максимальное значение.
I
- индекс максимального значения.
Максимальное значение на всем входе идентично вызову max
функционировать как [y,I] = max(u(:))
.
Когда вы задаете Mode Running
, и Input processing к Columns as channels (frame based)
блок обрабатывает каждый столбец входа как отдельный канал. В этом примере блок обрабатывает двухканальный сигнал с форматом кадра три при этих настройках.
Блок выводит максимальное значение по каждому каналу с момента последнего сброса. При t = 2 происходит событие сброса. Максимальное значение во втором столбце изменяется на 6, хотя 6 меньше 9, что было максимальным значением со времени предыдущего события сброса.
Когда вы задаете Mode Running
, и Input processing к Elements as channels (sample based)
блок обрабатывает каждый элемент входа как отдельный канал. В этом примере блок обрабатывает двухканальный сигнал с форматом кадра три при этих настройках.
Каждый yij элемент выхода содержит максимальное значение, наблюдаемое в uij элемента для всех входов с момента последнего сброса. Событие сброса происходит в t = 2. Когда происходит событие сброса, текущий максимум, yij, в текущей системе координат сбрасывается к элементу uij.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет многоциклические реализации, которые вводят дополнительную задержку в сгенерированный код. Чтобы увидеть добавленную задержку, просмотрите сгенерированную модель или модель валидации. См. Сгенерированную модель и модель валидации (HDL Coder).
Архитектура | Дополнительные циклы задержки | Описание |
---|---|---|
default Tree | 0 | Генерирует древовидную структуру компараторов. |
Cascade | 1, когда блок имеет один векторный входной порт. | Эта реализация оптимизирована для области задержки * со средней скоростью. См. Cascade Architecture Best Practices (HDL Coder). |
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
InstantiateStages | Сгенерируйте VHDL® |
SerialPartition | Задайте разделы для каскадно-последовательных реализаций как вектор длин каждого раздела. Настройка по умолчанию использует минимальное количество каскадов. См. также раздел SerialPartition (HDL Coder). |
Параметры на Data Types Tab блока используются только для сложных входов с фиксированной точкой. Сумма квадратов действительной и мнимой частей такого входа формируется до проведения сравнения, как описано под параметром 'Mode' в Main Tab. Результаты квадратов действительной и мнимой частей помещаются в тип выходных данных продукта. Результат суммы квадратов помещается в тип данных аккумулятора. Эти параметры игнорируются для других типов входов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.