Документация Engee

Cumulative Product

Частичное произведение элементов канала, столбца или строки.

Тип: CumulativeProduct

Путь в библиотеке:

/Signal Operations/Math Functions/Math Functions/Cumulative Product

Описание

Блок Cumulative Product вычисляет частичное (промежуточное) произведение по заданному измерению ввода или по времени (текущее произведение).

Входной сигнал может быть вектором или матрицей.

Характеристики входных и выходных сигналов

Корректный входной сигнал

Блок Cumulative Product принимает векторные или матричные входные сигналы, содержащие вещественные или комплексные значения.

Корректный сигнал сброса

Дополнительный порт сброса Rst принимает скалярные значения, которые могут быть любого типа данных, поддерживаемых Engee, включая Bool. Частота дискретизации сигнала на порту Rst должна быть такой же или меньше частоты дискретизации входного сигнала. Шаг расчета входа в порт Rst должен быть положительным целым числом, кратным шагу расчета входного сигнала.

Вычисление произведения по каналам

Если для параметра Multiply Input Along установлено значение Channels, то блок вычисляет частичное произведение элементов в каждом входном канале. Частичное произведение каждого входа учитывает частичное (промежуточное) произведение всех предыдущих значений. В этом режиме необходимо также указать значение для параметра Input Processing. Если для него установлено значение Columns as channels, то блок вычисляет частичное произведение вдоль каждого столбца входного сигнала. Если для параметра Input Processing установлено значение Elements as channels, то блок вычисляет частичное произведение для каждого элемента входа во времени.

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

Если для параметра Input Processing установлено значение Columns as channels, то блок обрабатывает каждый входной столбец как независимый канал. Как показано на следующем рисунке и в уравнении, выходные сигналы имеют следующие характеристики:

  • Первая строка первого выхода совпадает с первой строкой первого входа.

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

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

Если на входе блока матрица размерностью на , то выход является матрицей на , первая строка которой состоит из элементов

cumulative product 1 ru

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

Если для параметра Input Processing установлено значение Elements as channels, то блок обрабатывает каждый элемент входной матрицы как независимый канал. Как показано на следующем рисунке и в уравнении, выходные сигналы имеют следующие характеристики:

  • Первый выход такой же, как и первый вход.

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

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

Если на входе блока матрица размерностью на , то выход является матрицей на





Для удобства при умножении по каналам блок обрабатывает входной неориентированный вектор длины как вектор-столбец размером на . В таких случаях на выходе получается неориентированный вектор длины .

cumulative product 2 ru

Сброс частичного произведения

Когда вы вычисляете частичное произведение, вы можете настроить блок для сброса всякий раз, когда он обнаруживает событие сброса на дополнительном порту Rst. Частота дискретизации сигнала на порту Rst должна быть такой же или меньше частоты дискретизации входного сигнала. Шаг расчета входа в порт Rst должен быть положительным целым числом, кратным шагу расчета входного сигнала. Сигнал на порту Rst может быть любого типа данных, поддерживаемых Engee, включая Bool.

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

Параметр Reset Port указывает событие сброса:

  • None — отключает порт Rst.

  • Передний фронт — запускает операцию сброса, когда сигнал на входе Rst:

    • повышается от отрицательного значения до положительного или нуля;

    • повышается от нуля до положительного значения (не является продолжением роста от отрицательного значения до нуля).

      cumulative product 5 ru

  • Задний фронт — запускает операцию сброса, когда сигнал на входе Rst:

    • снижается от положительного значения до отрицательного или нуля;

    • снижается от нуля до отрицательного значения (не является продолжением снижения от положительного значения до нуля).

      cumulative product 6 ru

  • Either edge — запускает операцию сброса, если выполняется любое из условий Передний фронт или Задний фронт (как описано выше).

  • None-zero sample — инициирует операцию сброса, если значение на входе Rst не равно нулю.

Умножение по столбцам

Если для параметра Multiply Input Along установлено значение Columns, то блок вычисляет частичное произведение каждого столбца входа. В этом режиме текущее частичное произведение не зависит от частичных произведений предыдущих значений. Выходные сигналы имеют ту же размерность и тип данных, что и входные. -ная выходная строка является поэлементным произведением первых входных строк.

Если на входе блока матрица размерностью на , то выход является матрицей на , -й столбец которой состоит из элементов



При умножении по столбцам блок обрабатывает входной неориентированный вектор длины как вектор-столбец размером на .

cumulative product 3 ru

Умножение вдоль строк

Если для параметра Multiply Input Along установлено значение Rows, то блок вычисляет частичное произведение элементов строки. В этом режиме текущее частичное произведение не зависит от частичных произведений предыдущих значений.

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

Если на входе блока матрица размерностью на , то выход является матрицей на , -я строка которой состоит из элементов



При умножении по строкам блок обрабатывает входной неориентированный вектор длины как вектор-строку размером на .

cumulative product 4 ru

Порты

Выход

# OUT_1 — промежуточное произведение
вектор | матрица

Details

Промежуточное произведение сигнала, возвращаемое в виде вектора или матрицы.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

Вход

# IN — входной сигнал
вектор | матрица

Details

Входной сигнал, заданный в виде вектора или матрицы.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

# Rst — порт сброса
скаляр

Details

Дополнительный порт сброса, принимающий скалярные значения, которые могут любого типа данных, поддерживаемого Engee, включая Bool. Частота дискретизации сигнала в порту Rst должна быть такой же или ниже частоты дискретизации входного сигнала.

Подробнее см. в разделе Сброс частичного произведения.

Зависимости

Чтобы использовать этот порт, установите для параметра Reset Port любое значение, отличное от None

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Нет

Параметры

Основные

# Multiply Input Along — размерность умножения
Columns | Rows | Channels

Details

Измерение, по которому вычисляется совокупное произведение.

Значения

Columns | Rows | Channels

Значение по умолчанию

Channels

Имя для программного использования

MultiplyInputAlong

Настраиваемый

Нет

Вычисляемый

Нет

# Input Processing — метод обработки ввода
Columns as channels | Elements as channels

Details

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

Вы можете установить для этого параметра одно из следующих значений:

  • Columns as channels — блок обрабатывает каждый столбец входа как отдельный канал;

  • Elements as channels — блок обрабатывает каждый элемент входа как отдельный канал.

Зависимости

Чтобы использовать этот параметр, установите для параметра Multiply Input Along значение Channels.

Значения

Columns as channels | Elements as channels

Значение по умолчанию

Columns as channels

Имя для программного использования

InputProcessing

Настраиваемый

Нет

Вычисляемый

Нет

# Reset Port — событие сброса
None | Передний фронт | Задний фронт | Either edge | None-zero sample

Details

Определяет событие сброса, которое заставляет блок сбрасывать произведение по каналам. Частота дискретизации сигнала на порту Rst должна быть такой же или меньше частоты дискретиззации входного сигнала. Шаг расчета входа в порт Rst должен быть положительным целым числом, кратным шагу расчета входного сигнала.

Зависимости

Чтобы использовать этот параметр, установите для параметра Multiply Input Along значение Channels.

Значения

None | Rising edge | Falling edge | Either edge | None-zero sample

Значение по умолчанию

None

Имя для программного использования

ResetPort

Настраиваемый

Нет

Вычисляемый

Нет