Совокупное произведение

Совокупное произведение канала, столбца или элементов строки

Библиотека

Математические функции / Математические операции

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 матрица, первая строка которой имеет элементы

y1,j(t)=u1,j(t)yM,j(tTf)

Вычисление рабочего продукта для каждого элемента входа

Когда вы устанавливаете параметр Input processing на Elements as channels (sample based), блок обрабатывает каждый элемент входной матрицы как независимый канал. Когда следующая фигура и уравнение иллюстрируют, вывод имеет следующие характеристики:

  • Первый вывод совпадает с первым входом.

  • Каждый последующий вывод является поэлементным произведением текущего входа (время t) и предыдущий вывод (время t - Ts, где Ts является демонстрационным периодом).

  • Вывод имеет тот же размер, размерность, тип данных и сложность как вход.

Учитывая M-by-N матричный вход, u, выводом, y, является M-by-N матрица с элементами

yi,j(t)=ui,j(t)yi,j(tTs)1iM1jN

Для удобства блок обрабатывает длину-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 столбец имеет элементы

yi,j=k=1iuk,j     1iM

При умножении вдоль столбцов блок обрабатывает длину-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 строка имеет элементы

yi,j=k=1jui,k     1jN

Когда вы умножаетесь вдоль строк, блок обрабатывает длину-N, неориентированную на векторные входные параметры как 1 N векторами - строками.

Типы данных с фиксированной точкой

Следующая схема показывает типы данных, используемые в блоке совокупного произведения для сигналов фиксированной точки.

Вывод множителя находится в типе выходных данных продукта, когда по крайней мере одни из входных параметров ко множителю действительны. Когда оба из входных параметров ко множителю являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, смотрите Типы данных Умножения. Можно установить аккумулятор, продукт вывод, промежуточный продукт и типы выходных данных в диалоговом окне блока, как обсуждено в Параметрах.

Параметры

Main Tab

Multiply input along

Задайте размерность, по которой можно вычислить совокупное произведение. Можно принять решение умножиться вдоль Channels (running product), Columns или Rows. Для получения дополнительной информации смотрите следующие разделы:

Input processing

Задайте, как блок должен обработать вход при вычислении рабочего продукта вдоль каналов входа. Можно установить этот параметр на одну из следующих опций:

  • Columns as channels (frame based) — Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) — Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Этот параметр доступен только, когда вы устанавливаете параметр Multiply input along на Channels (running product).

Reset port

Определяет событие сброса, которое заставляет блок сбрасывать продукт вдоль каналов. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета. Этот параметр появляется только, когда вы устанавливаете параметр Multiply input along на Channels (running product). Для получения дополнительной информации смотрите Сброс Рабочего продукта.

Data Types Tab

Примечание

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

Rounding mode

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

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

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

Saturate on integer overflow

Когда вы выбираете этот параметр, блок насыщает результат своей операции фиксированной точки. Когда вы очищаете этот параметр, блок переносит результат своей операции фиксированной точки. Для получения дополнительной информации на saturate и wrap, смотрите режим переполнения для операций фиксированной точки.

Intermediate product

Задайте промежуточный тип данных продукта. Как показано в Типах данных с фиксированной точкой, вывод множителя брошен к промежуточному типу данных продукта, прежде чем следующий элемент входа будет умножен в него. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as input

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Product output

Задайте тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as input

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Accumulator

Задайте тип данных аккумулятора. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Можно установить этот параметр на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as input

  • Правило, которое наследовало тип данных, например, Inherit: Same as product output

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Output

Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as input

  • Правило, которое наследовало тип данных, например, Inherit: Same as product output

  • Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)

Если оба входных параметров без знака, все типы данных включая тип выходных данных без знака. Если одни из входных параметров подписываются, типы внутренних и выходных данных подписываются.

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.

Смотрите Типы данных Управляющего сигнала (Simulink) для получения дополнительной информации.

Minimum

Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []. Simulink использует это значение, чтобы выполнить:

  • Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),

  • Автоматическое масштабирование типов данных с фиксированной точкой

Maximum

Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []. Simulink использует это значение, чтобы выполнить:

  • Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),

  • Автоматическое масштабирование типов данных с фиксированной точкой

Lock data type settings against changes by the fixed-point tools

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.

Поддерживаемые типы данных

Порты ввода и выводаПоддерживаемые типы данных

Порт ввода данных, In

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Сбросьте входной порт, Rst

Все встроенные типы данных Simulink:

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Выходной порт

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

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

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

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

Функции

Блоки

Представлено до R2006a