Совокупное произведение канала, столбца или элементов строки
Математические функции / Математические операции
dspmathops
Блок совокупного произведения вычисляет совокупное произведение в заданном измерении входа или через время (запускающий продукт).
Вход может быть вектором или матрицей.
Блок совокупного произведения принимает векторные или матричные входные параметры, содержащие действительный или комплексные числа.
Дополнительный порт сброса, Rst
, принимает скалярные значения, которые могут быть любым встроенным типом данных Simulink® включая boolean
. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета.
Когда вы устанавливаете параметр Multiply input along на Channels (running product)
, блок вычисляет совокупное произведение элементов в каждом входном канале. Рабочий продукт текущего входа учитывает рабочий продукт всех предыдущих входных параметров. В этом режиме необходимо также задать значение для параметра Input processing. Когда вы устанавливаете параметр Input processing на Columns as channels (frame based)
, блок вычисляет рабочий продукт вдоль каждого столбца текущего входа. Когда вы устанавливаете параметр Input processing на Elements as channels (sample based)
, блок вычисляет рабочий продукт для каждого элемента входа через время. Смотрите следующие разделы для получения дополнительной информации:
Когда вы устанавливаете параметр Input processing на Columns as channels (frame based)
, блок обрабатывает каждый входной столбец как независимый канал. Когда следующая фигура и уравнение иллюстрируют, вывод имеет следующие характеристики:
Первая строка первого вывода совпадает с первой строкой первого входа.
Первая строка каждого последующего вывода является поэлементным произведением первой строки текущего входа (время t) и последней строки предыдущего вывода (время t - Tf, где Tf является периодом кадра).
Вывод имеет тот же размер, размерность, тип данных и сложность как вход.
Учитывая M-by-N матричный вход, u, выводом, y, является M-by-N матрица, первая строка которой имеет элементы
Когда вы устанавливаете параметр Input processing на Elements as channels (sample based)
, блок обрабатывает каждый элемент входной матрицы как независимый канал. Когда следующая фигура и уравнение иллюстрируют, вывод имеет следующие характеристики:
Первый вывод совпадает с первым входом.
Каждый последующий вывод является поэлементным произведением текущего входа (время t) и предыдущий вывод (время t - Ts, где Ts является демонстрационным периодом).
Вывод имеет тот же размер, размерность, тип данных и сложность как вход.
Учитывая M-by-N матричный вход, u, выводом, y, является M-by-N матрица с элементами
Для удобства блок обрабатывает длину-M, неориентированную на векторные входные параметры как M-by-1 вектор-столбцы при умножении вдоль каналов. В таких случаях вывод является длиной-M, неориентированной на вектор.
Когда вы вычисляете рабочий продукт, можно сконфигурировать блок, чтобы сбросить рабочий продукт каждый раз, когда это обнаруживает событие сброса в дополнительном порте Rst
. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета. Вход к порту Rst
может иметь булев тип данных.
Если событие сброса имеет место, в то время как блок выполняет основанную на выборке обработку, блок инициализирует текущую производительность к значениям текущего входа. Если событие сброса имеет место, в то время как блок выполняет основанную на кадре обработку, блок инициализирует первую строку текущей производительности к значениям в первой строке текущего входа.
Параметр Reset port задает событие сброса, которое может быть одним из следующего:
None
отключает порт Rst
.
Rising edge
— Инициировал операцию сброса, когда вход Rst
выполняет одно из следующих действий:
Повышения от отрицательной величины до положительного значения или нуля
Повышения от нуля до положительного значения, где повышение не является продолжением повышения от отрицательной величины, чтобы обнулить (см. следующую фигуру),
Falling edge
— Инициировал операцию сброса, когда вход Rst
выполняет одно из следующих действий:
Падения от положительного значения до отрицательной величины или нуля
Падения от нуля до отрицательной величины, где падение не является продолжением падения от положительного значения, чтобы обнулить (см. следующую фигуру),
Either edge
— Инициировал операцию сброса, когда входом Rst
является Rising edge
или Falling edge
(как описано выше)
Non-zero sample
— Инициировал операцию сброса в каждом шаге расчета, что вход Rst
не является нулем
Когда вы запускаете симуляции в режиме Simulink MultiTasking
, сигналы сброса имеют задержку с одной выборкой. Когда блок обнаруживает событие сброса, задержка с одной выборкой происходит при скорости порта сброса, прежде чем блок применит сброс. Для получения дополнительной информации о задержке и режимах управления задачами Simulink, смотрите Избыточную Алгоритмическую Задержку (Определяющий задачу для Задержки) и Основанное на времени Планирование и Генерация кода (Simulink Coder).
Когда вы устанавливаете параметр Multiply input along на Columns
, блок вычисляет совокупное произведение каждого столбца входа. В этом режиме текущее совокупное произведение независимо от совокупных произведений предыдущих входных параметров.
y = cumprod(u) % Equivalent MATLAB code
Вывод имеет тот же размер, размерность, тип данных и сложность как вход. m th выходная строка является поэлементным произведением первых строк входа m.
Учитывая M-by-N вход, u, выводом, y, является M-by-N матрица, j которой th столбец имеет элементы
При умножении вдоль столбцов блок обрабатывает длину-M, неориентированную на векторные входные параметры как M-by-1 вектор-столбцы.
Когда вы устанавливаете параметр Multiply input along на Rows
, блок вычисляет совокупное произведение элементов строки. В этом режиме текущее совокупное произведение независимо от совокупных произведений предыдущих входных параметров.
y = cumprod(u,2) % Equivalent MATLAB code
Вывод имеет тот же размер, размерность и тип данных как вход. n th выходной столбец является поэлементным произведением первых столбцов входа n.
Учитывая M-by-N матричный вход, u, выводом, y, является M-by-N матрица, i которой th строка имеет элементы
Когда вы умножаетесь вдоль строк, блок обрабатывает длину-N, неориентированную на векторные входные параметры как 1 N векторами - строками.
Следующая схема показывает типы данных, используемые в блоке совокупного произведения для сигналов фиксированной точки.
Вывод множителя находится в типе выходных данных продукта, когда по крайней мере одни из входных параметров ко множителю действительны. Когда оба из входных параметров ко множителю являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, смотрите Типы данных Умножения. Можно установить аккумулятор, продукт вывод, промежуточный продукт и типы выходных данных в диалоговом окне блока, как обсуждено в Параметрах.
Main Tab
Задайте размерность, по которой можно вычислить совокупное произведение. Можно принять решение умножиться вдоль Channels (running product)
, Columns
или Rows
. Для получения дополнительной информации смотрите следующие разделы:
Задайте, как блок должен обработать вход при вычислении рабочего продукта вдоль каналов входа. Можно установить этот параметр на одну из следующих опций:
Columns as channels (frame based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Этот параметр доступен только, когда вы устанавливаете параметр Multiply input along на Channels (running product)
.
Определяет событие сброса, которое заставляет блок сбрасывать продукт вдоль каналов. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета. Этот параметр появляется только, когда вы устанавливаете параметр Multiply input along на Channels (running product)
. Для получения дополнительной информации смотрите Сброс Рабочего продукта.
Data Types Tab
Наследование с плавающей точкой более приоритетно по сравнению с настройками типа данных, заданными на этой панели. Когда входные параметры являются плавающей точкой, блок игнорирует эти настройки, и все внутренние типы данных являются плавающей точкой.
Задайте округляющийся режим для операций фиксированной точки как одно из следующего:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Для получения дополнительной информации смотрите округление режима.
Когда вы выбираете этот параметр, блок насыщает результат своей операции фиксированной точки. Когда вы очищаете этот параметр, блок переносит результат своей операции фиксированной точки. Для получения дополнительной информации на saturate
и wrap
, смотрите режим переполнения для операций фиксированной точки.
Задайте промежуточный тип данных продукта. Как показано в Типах данных с фиксированной точкой, вывод множителя брошен к промежуточному типу данных продукта, прежде чем следующий элемент входа будет умножен в него. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as input
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as input
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип данных аккумулятора. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Можно установить этот параметр на:
Правило, которое наследовало тип данных, например, Inherit: Same as input
Правило, которое наследовало тип данных, например, Inherit: Same as product output
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as input
Правило, которое наследовало тип данных, например, Inherit: Same as product output
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Если оба входных параметров без знака, все типы данных включая тип выходных данных без знака. Если одни из входных параметров подписываются, типы внутренних и выходных данных подписываются.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.
Смотрите Типы данных Управляющего сигнала (Simulink) для получения дополнительной информации.
Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []
. Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []
. Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.
Порты ввода и вывода | Поддерживаемые типы данных |
---|---|
Порт ввода данных, |
|
Сбросьте входной порт, | Все встроенные типы данных Simulink:
|
Выходной порт |
|