Усиление

Умножьтесь введенный константой

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

    Simulink / Математические операции

Описание

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

Вы задаете значение усиления в параметре Усиления. Параметр Умножения позволяет вам задать поэлементное или умножение матриц. Для умножения матриц этот параметр также позволяет вам указать на порядок множимых.

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

Порты

Входной параметр

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный

Вывод

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный

Параметры

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

Основной

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

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

Блочный параметр: Gain
Ввод: символьный вектор
Значения: '1' | действительный - или скаляр с комплексным знаком, вектор или матрица
Значение по умолчанию: '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
Ввод: символьный вектор
Значение: 'Поэлементный (K. *u)' | 'Матрица (K*u)' | 'Матрица (u*K)' | 'Матрица (K*u) (u вектор)'
Значение по умолчанию: 'Element-wise(K.*u)'

Задайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.

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

Блочный параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

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

Нижнее значение выходной области значений, которую проверяет Simulink®.

Симулинк использует минимум, чтобы выполнить:

Примечание

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

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

Блочный параметр: OutMin
Ввод: символьный вектор
Значения:' []' | скаляр
Значение по умолчанию: '[ ]'

Верхнее значение выходной области значений это Simulink Check.

Симулинк использует максимальное значение, чтобы выполнить:

Примечание

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

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

Блочный параметр: OutMax
Ввод: символьный вектор
Значения:' []' | скаляр
Значение по умолчанию: '[ ]'

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

Когда вы выбираете наследованную опцию, блок показывает эти поведения:

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

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

    • Задайте тип выходных данных явным образом.

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

    • Явным образом задайте тип данных по умолчанию, такой как fixdt(1,32,16) и затем используйте Fixed-Point Tool, чтобы предложить типы данных для вашей модели. Для получения дополнительной информации смотрите fxptdlg.

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

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

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

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

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило |, 'Наследуйтесь: То же самое, как введено' | 'Наследовалось: Наследуйтесь через обратное распространение' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16', 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили тип Выходных данных, который вы задаете на блоке. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).

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

Блочный параметр: LockScale
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

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

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

Блочный параметр: RndMeth
Ввод: символьный вектор
Значения: 'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль'
Значение по умолчанию: пол

Задайте, насыщает ли переполнение или переносится.

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

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

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

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

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

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

Вы хотите оптимизировать эффективность своего сгенерированного кода.

Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Проверку на Ошибки Диапазона сигнала.

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

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

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

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

Блочный параметр: SaturateOnIntegerOverflow
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

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

Задайте минимальное значение усиления. Значением по умолчанию является (незаданный) []. Симулинк использует это значение, чтобы выполнить:

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

Блочный параметр: ParamMin
Ввод: символьный вектор
Значение: скаляр
Значение по умолчанию: '[ ]'

Задайте максимальное значение усиления. Значением по умолчанию является (незаданный) []. Симулинк использует это значение, чтобы выполнить:

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

Блочный параметр: ParamMax
Ввод: символьный вектор
Значение: скаляр
Значение по умолчанию: '[ ]'

Задайте тип данных параметра Усиления.

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

Блочный параметр: ParamDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило |, 'Наследуйтесь: То же самое, как введено' | 'Наследовалось: Наследуйтесь через обратное распространение' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16', 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

Образцовые примеры

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point

Прямое сквозное соединение

No

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

Yes

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

Yes

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

No

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

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

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

Была ли эта тема полезной?