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

Gain

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

Тип: Gain

Путь в библиотеке:

/Basic/Math Operations/Gain

Описание

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

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

При вычислении выходного сигнала блок Gain использует следующие правила:

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

  • Если тип входного сигнала отличается от типа коэффициента усиления, то Engee пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. В том случае, если такое приведение невозможно, то расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал — беззнаковое целое (Uint8), а параметр Gain задан отрицательным числом.

Порты

Вход

# IN_1 — входной сигнал
скаляр | вектор | матрица

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

Выход

# OUT_1 — входной сигнал, умноженный на коэффициент усиления
скаляр | вектор | матрица

Details

Входной сигнал, умноженный на коэффициент усиления. Если входной сигнал блока Gain вещественный, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел

Да

Параметры

Основные

# Gain — коэффициент, на который нужно умножить входной сигнал
Scalar / array of real and/or complex numbers

Details

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

Значение по умолчанию

1.0

Имя для программного использования

Gain

Настраиваемый

Да

Вычисляемый

Да

# Multiplication — режим умножения
Element-wise(K.*u) | Matrix(K*u) | Matrix(u*K)

Details

Укажите один из этих режимов умножения:

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

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

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

Значения

Element-wise(K.*u) | Matrix(K*u) | Matrix(u*K)

Значение по умолчанию

Element-wise(K.*u)

Имя для программного использования

Multiplication

Настраиваемый

Нет

Вычисляемый

Нет

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

# Output data type — тип выходных данных
Inherit: auto | Same as input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Details

Задает тип выходных данных.

Значения

Inherit: auto | Same as input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Значение по умолчанию

Inherit: auto

Имя для программного использования

OutDataTypeStr

Настраиваемый

Нет

Вычисляемый

Нет

# Output fixed-point type — тип выходных данных с фиксированной точкой
Data type

Details

Укажите тип выходных с фиксированной точкой.

Зависимости

Чтобы использовать этот параметр, установите для параметра Output data type значение Fixed-point.

Значение по умолчанию

fixdt(1, 16, 0)

Имя для программного использования

OutDataTypeStrFixed

Настраиваемый

Нет

Вычисляемый

Да

# Integer rounding mode — режим округления для операций с фиксированной точкой
Ceiling | Convergent | Floor | Nearest | Round | Zero

Details

Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:

  • Ceiling — округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности).

  • Floor — округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности).

  • Convergent — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа.

  • Nearest — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности).

  • Round — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, положительные числа округляются в большую сторону (в сторону положительной бесконечности), а отрицательные – в меньшую (в сторону отрицательной бесконечности).

  • Zero — округляет число в сторону нуля.

Значения

Ceiling | Convergent | Floor | Nearest | Round | Zero

Значение по умолчанию

Floor

Имя для программного использования

RndMeth

Настраиваемый

Нет

Вычисляемый

Нет

# Saturate on integer overflow — метод действия при переполнении
Logical

Details

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

Действие Причины для принятия этого решения Что происходит при переполнении Пример

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

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

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

Переполнение, связанное со знаковым 8-битным целым числом, может насытиться до -128 или 127.

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

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

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

Число 130 не помещается в знаковое 8-битное целое число и сворачивается в -126

Значение по умолчанию

false (выключено)

Имя для программного использования

SaturateOnIntegerOverflow

Настраиваемый

Нет

Вычисляемый

Нет

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

# Parameter data type — тип данных параметра
Inherit: auto | Same as input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Details

Задает тип данных параметра.

Значения

Inherit: auto | Same as input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Значение по умолчанию

Inherit: auto

Имя для программного использования

ParamDataTypeStr

Настраиваемый

Нет

Вычисляемый

Нет

# Parameter fixed-point type — тип данных параметра с фиксированной точкой
Data type

Details

Укажите тип данных параметра с фиксированной точкой.

Зависимости

Чтобы использовать этот параметр, установите для параметра Parameter data type значение Fixed-point.

Значение по умолчанию

fixdt(1, 16, 0)

Имя для программного использования

ParamDataTypeStrFixed

Настраиваемый

Нет

Вычисляемый

Да

Дополнительные возможности

Генерация Си кода: Да

Генерация Verilog: Да

Примеры