Совокупная сумма

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

Библиотека

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

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

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

Сброс рабочей суммы

Когда вы вычисляете рабочую сумму, можно сконфигурировать блок, чтобы сбросить рабочую сумму каждый раз, когда это обнаруживает событие сброса в дополнительном порте 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 столбец имеет элементы

yi,j=k=1juk,j     1iM

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

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

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

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

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

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

Параметры

Main Tab

Sum input along

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

Input processing

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

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

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

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

Reset port

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

Data Types Tab

Примечание

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

Rounding mode

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

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

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

Saturate on integer overflow

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

Accumulator

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

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

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

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

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

Output

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

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

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

  • Выражение, которое оценивает к допустимому типу данных, например, 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