exponenta event banner

Выгода

Умножение входного сигнала на константу

  • Библиотека:
  • Simulink/Часто используемые блоки

    Операции с симуляцией/математикой

    Кодер HDL/обычно используемые блоки

    Кодер HDL/Операции с плавающей точкой HDL

    Кодер HDL/Математические операции

  • Gain block

Описание

Блок усиления умножает входной сигнал на постоянное значение (усиление). Каждый из входных сигналов и коэффициентов усиления может быть скаляром, вектором или матрицей.

Значение коэффициента усиления задается в параметре «Коэффициент усиления». Параметр Умножение позволяет задать умножение по элементам или матричное умножение. Для матричного умножения этот параметр также позволяет указать порядок умножения.

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

Порты

Вход

развернуть все

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

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Продукция

развернуть все

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

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Параметры

развернуть все

Главный

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

Программное использование

Параметр блока: Gain
Текст: символьный вектор
Значения: '1' | real- or complex-valued scalar, vector, or matrix
По умолчанию: '1'

Укажите один из следующих режимов умножения:

  • Element-wise(K.*u) - Каждый элемент входного сигнала умножается на каждый элемент коэффициента усиления. При необходимости блок выполняет расширение, чтобы входные значения и коэффициент усиления имели одинаковые размеры.

  • Matrix(K*u) - Входной сигнал и коэффициент усиления умножаются матрично на входной сигнал в качестве второго операнда.

  • Matrix(u*K) - Входной сигнал и коэффициент усиления умножаются матрично на входной сигнал в качестве первого операнда.

  • Matrix(K*u) (u vector) - Входной сигнал и коэффициент усиления умножаются на входной сигнал в качестве второго операнда. Этот режим идентичен Matrix(K*u), за исключением того, как определяются размеры.

    Предположим, что K является m-by-n матрица. Matrix(K*u)(u vector) задает для ввода вектор длины n и вывод в вектор длины m. Напротив, Matrix(K*u) использует распространение для определения размеров входных и выходных данных. Для m-by-n матрица усиления, вход может распространяться на n-by-q матрица, и выходной сигнал становится m-by-q матрица.

Программное использование

Параметр: Multiplication
Текст: символьный вектор
Значение: 'Element-wise(K.*u)' | 'Matrix(K*u)' | 'Matrix(u*K)' | 'Matrix(K*u) (u vector)'
По умолчанию: 'Element-wise(K.*u)'

Укажите время выборки в качестве значения, отличного от -1. Дополнительные сведения см. в разделе Указание времени образца.

Зависимости

Этот параметр не отображается, если для него явно не задано значение, отличное от -1. Дополнительные сведения см. в разделе Блоки, для которых образец времени не рекомендуется.

Программное использование

Параметр блока: SampleTime
Текст: символьный вектор
Значения: скаляр или вектор
По умолчанию: '-1'

Атрибуты сигнала

Меньшее значение диапазона вывода, которое проверяет Simulink ®.

Simulink использует минимум для выполнения:

Примечание

Минимальный выходной сигнал не насыщает и не отсекает фактический выходной сигнал. Вместо этого используйте блок «Насыщенность».

Программное использование

Параметр блока: OutMin
Текст: символьный вектор
Значения: '[ ]'| скаляр
По умолчанию: '[ ]'

Верхнее значение диапазона вывода, которое проверяет Simulink.

Simulink использует максимальное значение для выполнения:

Примечание

Выходной максимум не насыщает и не отсекает фактический выходной сигнал. Вместо этого используйте блок «Насыщенность».

Программное использование

Параметр блока: OutMax
Текст: символьный вектор
Значения: '[ ]'| скаляр
По умолчанию: '[ ]'

Выберите тип данных для вывода. Тип может быть унаследован, указан непосредственно или выражен как объект типа данных, например Simulink.NumericType.

При выборе унаследованной опции блок проявляет следующие варианты поведения:

  • Inherit: Inherit via internal rule - Simulink выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, принимая во внимание свойства встроенного целевого оборудования. При изменении параметров встроенного целевого объекта тип данных, выбранный внутренним правилом, может измениться. Например, если блок умножает вход типа int8 на выигрыш в размере int16 и ASIC/FPGA указан как целевой тип аппаратных средств, тип выходных данных: sfix24. Если Unspecified (assume 32-bit Generic)другими словами, общий 32-разрядный микропроцессор, указывается в качестве целевого аппаратного обеспечения, тип выходных данных - int32. Если длина слов, обеспечиваемая целевым микропроцессором, не может соответствовать диапазону вывода, программное обеспечение Simulink отображает ошибку в средстве просмотра диагностики.

  • Inherit: Keep MSB- Simulink выбирает тип данных, который поддерживает полный диапазон операций, затем снижает точность вывода до размера, соответствующего встроенному целевому оборудованию.

    Совет

    Для более эффективного создания кода отмените выбор параметра Saturate on integer overflow.

    Это правило никогда не приводит к переполнению.

  • Inherit: Match scaling- Simulink выбирает тип данных, масштабирование которого соответствует масштабированию входных типов. Если полный диапазон типа не помещается на встроенном целевом оборудовании, диапазон уменьшается, давая тип, соответствующий встроенному целевому оборудованию. Это правило может привести к переполнению.

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

    • Явно укажите тип выходных данных.

    • Используйте простой выбор Inherit: Same as input.

    • Явно укажите тип данных по умолчанию, например fixdt(1,32,16) а затем с помощью инструмента «Фиксированная точка» предложите типы данных для модели. Дополнительные сведения см. в разделе fxptdlg (Конструктор фиксированных точек).

    • Чтобы указать собственное правило наследования, используйте Inherit: Inherit via back propagation а затем используйте блок распространения типа данных. Примеры использования этого блока доступны в блоке Примеры распространения типов данных библиотеки атрибутов сигнала.

  • Inherit: Inherit via back propagation - Использовать тип данных управляющего блока.

  • Inherit: Same as input - Использовать тип данных входного сигнала.

Зависимости

Если входные данные имеют тип данных с плавающей запятой, меньший, чем единичная точность, Inherit: Inherit via internal rule тип выходных данных зависит от настройки выходного типа Inherit с плавающей запятой, меньшего, чем параметр конфигурации с одинарной точностью. Типы данных меньше, чем единичная точность, когда количество битов, необходимое для кодирования типа данных, меньше, чем 32 бита, необходимых для кодирования типа данных с одинарной точностью. Например, half и int16 меньше, чем единичная точность.

Программное использование

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Keep MSB' | 'Inherit: Match scaling' | 'Inherit: Same as input' | 'Inherit: Inherit via back propagation' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли тип данных «Вывод», указанный в блоке. Дополнительные сведения см. в разделе Использование параметров типа выходных данных блокировки (конструктор фиксированных точек).

Программное использование

Параметр блока: LockScale
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Укажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB ® в поле маски.

Программное использование

Параметр блока: RndMeth
Текст: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
По умолчанию: 'Floor'

Укажите, будут ли переполнения насыщаться или переноситься.

ДействиеОбъяснениеВлияние на переполнениеПример

Установите этот флажок (on).

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

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

Максимальное значение, int8 (со знаком, 8-разрядное целое число) может представлять тип данных 127. Любой результат операции блока, превышающий это максимальное значение, вызывает переполнение 8-разрядного целого числа. Если флажок установлен, выходной сигнал блока насыщается на уровне 127. Аналогично, блочный выход насыщается при минимальном выходном значении -128.

Не устанавливайте этот флажок (off).

Требуется оптимизировать эффективность созданного кода.

Необходимо избегать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов.

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

Максимальное значение, int8 (со знаком, 8-разрядное целое число) может представлять тип данных 127. Любой результат операции блока, превышающий это максимальное значение, вызывает переполнение 8-разрядного целого числа. Если флажок снят, программное обеспечение интерпретирует значение, вызывающее переполнение, как int8, что может привести к непреднамеренному результату. Например, результат блока 130 (двоичный 1000 0010), выраженный как int8, составляет -126.

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

Программное использование

Параметр блока: SaturateOnIntegerOverflow
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Атрибуты параметров

Укажите минимальное значение коэффициента усиления. Значение по умолчанию: [] (не указано). Simulink использует это значение для выполнения следующих действий:

Программное использование

Параметр блока: ParamMin
Текст: символьный вектор
Значение: скаляр
По умолчанию: '[ ]'

Укажите максимальное значение коэффициента усиления. Значение по умолчанию: [] (не указано). Simulink использует это значение для выполнения следующих действий:

Программное использование

Параметр блока: ParamMax
Текст: символьный вектор
Значение: скаляр
По умолчанию: '[ ]'

Укажите тип данных параметра Gain.

Программное использование

Параметр блока: ParamDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Same as input' | 'Inherit: Inherit via back propagation' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16', 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Примеры модели

Характеристики блока

Типы данных

Boolean | double | fixed point | half | integer | single

Прямой проход

yes

Многомерные сигналы

yes

Сигналы переменного размера

yes

Обнаружение пересечения нулей

no

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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