Совокупная сумма канала, столбца или элементов строки
Математические функции / Математические операции
dspmathops
Блок Cumulative Sum вычисляет совокупную сумму в заданном измерении входа или через время (запускающий сумму).
Входные параметры могут быть вектором или матрицей.
Блок Cumulative Sum принимает векторные или матричные входные параметры, содержащие действительный или комплексные числа.
Дополнительный порт сброса, Rst
, принимает скалярные значения, которые могут быть любым встроенным типом данных Simulink® включая boolean
. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета.
Когда вы устанавливаете параметр Sum input along на Channels (running sum)
, блок вычисляет совокупную сумму элементов в каждом входном канале. Рабочая сумма текущего входа учитывает рабочую сумму всех предыдущих входных параметров. В этом режиме необходимо также задать значение для параметра 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 матрица с элементами
Когда вы вычисляете рабочую сумму, можно сконфигурировать блок, чтобы сбросить рабочую сумму каждый раз, когда это обнаруживает событие сброса в дополнительном порте Rst
. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета. Шаг расчета сброса должен быть положительным целочисленным кратным входной шаг расчета. Входом к порту Rst
может быть boolean
.
Если событие сброса имеет место, в то время как блок выполняет основанную на выборке обработку, блок инициализирует текущую производительность к значениям текущего входа. Если событие сброса имеет место, в то время как блок выполняет основанную на кадре обработку, блок инициализирует первую строку текущей производительности к значениям в первой строке текущего входа.
Параметр 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).
Когда вы устанавливаете параметр Sum input along на Columns
, блок вычисляет совокупную сумму каждого столбца входа. В этом режиме текущая совокупная сумма независима от совокупных сумм предыдущих входных параметров.
y = cumsum(u) % Equivalent MATLAB code
Вывод имеет тот же размер, размерность, тип данных и сложность как вход. m th выходная строка является суммой первых строк входа m.
Учитывая M-by-N вход, u, выводом, y, является M-by-N матрица, j которой th столбец имеет элементы
Блок обрабатывает длину-M, неориентированную на векторные входные параметры как M-by-1 вектор-столбцы при подведении итогов вдоль столбцов.
Когда вы устанавливаете параметр Sum input along на Rows
, блок вычисляет совокупную сумму элементов строки. В этом режиме текущая совокупная сумма независима от совокупных сумм предыдущих входных параметров.
y = cumsum(u,2) % Equivalent MATLAB code
Вывод имеет тот же размер, размерность и тип данных как вход. Энный выходной столбец является суммой первых столбцов входа n.
Учитывая M-by-N вход, u, выводом, y, является M-by-N матрица, i которой th строка имеет элементы
Когда вы суммируете вдоль строк, блок обрабатывает длину-N, неориентированную на векторные входные параметры как 1 N векторами - строками.
Следующая схема показывает типы данных, используемые в блоке Cumulative Sum для сигналов фиксированной точки.
Можно установить аккумулятор и типы выходных данных в диалоговом окне блока, как обсуждено в Параметрах.
Main Tab
Задайте размерность, по которой можно вычислить совокупное суммирование. Можно принять решение суммировать вдоль Channels (running sum)
, Columns
или Rows
. Для получения дополнительной информации смотрите следующие разделы:
Задайте, как блок должен обработать вход при вычислении рабочей суммы вдоль каналов входа. Можно установить этот параметр на одну из следующих опций:
Columns as channels (frame based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Этот параметр доступен только, когда вы устанавливаете параметр Sum input along на Channels (running sum)
.
Определяет событие сброса, которое заставляет блок сбрасывать сумму вдоль каналов. Уровень входа к порту Rst должен быть тем же самым или медленнее, чем тот из сигнала входных данных. Шаг расчета входа к порту Rst должен быть положительным целочисленным кратным входной шаг расчета. Этот параметр появляется только, когда вы устанавливаете параметр Sum input along на Channels (running sum)
. Для получения дополнительной информации смотрите Сброс Рабочей Суммы.
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, который помогает вам установить параметр Accumulator.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as accumulator
Правило, которое наследовало тип данных, например, Inherit: Same as input
Выражение, которое оценивает к допустимому типу данных, например, fixdt([],16,0)
Если оба входных параметров без знака, все типы данных включая тип выходных данных без знака. Если одни из входных параметров подписываются, типы внутренних и выходных данных подписываются.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.
Смотрите Типы данных Управляющего сигнала (Simulink) для получения дополнительной информации.
Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []
. Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []
. Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.
Порты ввода и вывода | Поддерживаемые типы данных |
---|---|
Порт ввода данных, |
|
Сбросьте входной порт, | Все встроенные типы данных Simulink:
|
Выходной порт |
|