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

Cumulative Product

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

cumulative product

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cum prod running framebased

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

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

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

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

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

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

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

cum prod running samplebased

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

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

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

Параметр Reset port указывает событие сброса, которое может быть одним из:

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

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

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

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

rising edge

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

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

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

falling edge

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

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

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

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

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

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

ch block ref a to g163

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

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

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

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

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

ch block ref a to g297

Параметры

Multiply input along — размерность умножения
Channels (running product) (по умолчанию) | Columns | Rows

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

Input processing — метод обработки ввода
Columns as channels (frame based) (по умолчанию) | Elements as channels (sample based)

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

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

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

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

Зависимости

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

Reset port — событие сброса
None (по умолчанию) | Rising edge | Falling edge | Either edge | Non-zero sample

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

Зависимости

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