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