Data Type Conversion
Изменение типа данных сигнала.
Описание
Блок Data Type Conversion преобразует входной сигнал любого типа данных, поддерживаемого Engee, в указанный тип данных.
Порты
Вход
Port_1 — входной сигнал
скаляр
| вектор
| матрица
| массив
Входной сигнал в виде скаляра, вектора, матрицы или массива.
Входным сигналом может быть любой вещественный или комплексный сигнал. Если входной сигнал вещественный, то выходной сигнал вещественный. Если входной сигнал комплексный, то выходной сигнал комплексный. Блок преобразует входной сигнал к указанному в параметре Output data type типу данных.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
Параметры
Integer rounding mode — режим округления для операций с фиксированной точкой
Floor (по умолчанию)
| Ceiling
| Convergent
| Nearest
| Round
| Zero
Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:
-
Floor
— округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности). -
Ceiling
— округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности). -
Convergent
— округляет число до ближайшего представимого значения. В случае, если дробная часть числа оканчивается на 5 число округляется до ближайшего четного целого числа. -
Nearest
— округляет число до ближайшего представимого значения. В случае, если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности). -
Round
— округляет число до ближайшего представимого значения. В случае, если дробная часть числа оканчивается на 5 положительные числа округляются в большую сторону (в сторону положительной бесконечности), а отрицательные - в меньшую (в сторону отрицательной бесконечности).
-
Zero
— округляет число в сторону нуля.
Параметры блока всегда округляют до ближайшего представимого значения.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Output data type — тип выходных данных
Float16
| Float32
| Float64
| Int8
| Int16
| Int32
| Int64
| Int128
| UInt8
| UInt16
| UInt32
| UInt64
| UInt128
| Fixed
Укажите тип выходных данных.
Тип может быть указан напрямую или выражен как объект типа данных.
Параметр блока: |
|
Значение: |
|
По умолчанию: |
|
Saturate on integer overflow — насыщение до целого при переполнении
выключено (по умолчанию)
| включено
Флажок, при установке которого используется арифметика насыщения для целых чисел и чисел с фиксированной точкой: при переполнении результат автоматически заменяется максимально возможным (по модулю) для типа данных значением.
Действие | Обоснование | Влияние на переполнение | Пример |
---|---|---|---|
Флажок Saturate on integer overflow установлен (включен). |
Для вашей модели возможно переполнение, и вы хотите, чтобы в сгенерированном коде была явная защита от переполнения. |
При переполнении результат автоматически заменяется максимально возможным (по модулю) для типа данных значением. |
Максимальное значение, которое может представлять тип данных Любой результат операции с блоком, превышающий это максимальное значение, приводит к переполнению 8-битного целого числа. При установленном флажке выходной сигнал блока насыщается до 127. Аналогично, выходной сигнал блока насыщается при минимальном выходном значении -128. |
Флажок Saturate on integer overflow не установлен (выключен). |
Вы хотите оптимизировать эффективность вашего сгенерированного кода. Вы хотите избежать чрезмерного определения того, как блок обрабатывает сигналы, находящиеся вне диапазона. |
Переполнения переносятся в соответствующее значение, которое может быть представлено типом данных. |
Максимальное значение, которое может представлять тип данных Любой результат операции с блоком, превышающий это максимальное значение, приводит к переполнению 8-битного целого числа. Если флажок снят, программное обеспечение интерпретирует значение, вызывающее переполнение, как |
Когда вы устанавливаете этот флажок, насыщение применяется ко всем внутренним операциям в блоке, а не только к входным/выходным данным или результату.
Когда тип входных данных блока является типом с плавающей точкой, блок игнорирует этот параметр.
Параметр блока |
|
Значения |
|
По умолчанию |
|