Byte Pack
Преобразование входных сигналов в вектор UInt8.
Тип: BytePack
Путь в библиотеке:
|
Описание
Блок Byte Pack принимает входные сигналы одного или нескольких типов данных и преобразует их в один вектор UInt8 для вывода. Параметры блока позволяют задать тип данных входных сигналов и выравнивание данных в векторе, который выводит блок.
Порты
Выход
#
OUT_1
—
преобразованные данные сигнала
вектор
Details
Преобразованные входные данные блока, возвращаемые как вектор данных UInt8.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Вход
#
IN_1
—
сигналы для преобразования
сигнал типа Float64 (по умолчанию) | массив данных сигнала
Details
Массив входных сигналов одного или нескольких типов данных.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Параметры
#
Output port (packed) data type —
тип данных выходного сигнала блока
UInt8 | UInt16 | UInt32
Details
Укажите тип данных Engee для выходного сигнала.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
# Input port data types — типы данных входных сигналов блока
Details
Укажите типы данных Engee для входных сигналов, полученных блоком в массиве ячеек. В массиве ячеек укажите типы данных в порядке, в котором входной порт блока получает данные сигналов. Например, если блок получает данные в порядке UInt32, UInt32, UInt16, Float64, UInt8, Float64 и Float32, укажите следующий массив ячеек:
("UInt32","UInt32","UInt16","Float64","UInt8","Float64","Float32")
Затем блок указывает количество входов блока.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Byte alignment —
граница байтов для выравнивания типов данных
1 | 2 | 4 | 8
Details
Укажите, как выравнивать типы данных входных данных для формирования выходного вектора UInt8 в байтах. Выравнивание может выполняться по границам 1, 2, 4 или 8 байтов. В зависимости от значения выравнивания каждое значение сигнала начинается с границ, кратных значению выравнивания. Алгоритмы выравнивания для каждого элемента выходного вектора начинаются с границы байта, заданной значением выравнивания. Выравнивание по байтам устанавливает границы относительно начальной точки вектора.
Чтобы получить максимально плотную упаковку без пробелов между типами данных в различных комбинациях типов данных, выберите значение 1.
Можно использовать несколько типов данных разной длины. В таких случаях выравнивание по двум байтам может привести к появлению однобайтовых пробелов между значениями UInt8 или Int8 и другого типа данных. В реализации пакета блок копирует данные в буфер выходных данных по одному байту за раз.
Например, предположим, что вы указали следующий массив ячеек для параметра Input port data types:
("UInt32","UInt32","UInt16","Float64","UInt8","Float64","Float32")
Предположим, что вы установили для параметра Byte alignment значение 2. Каждое новое значение начинается на 2 байта от предыдущей границы данных. Если сигналы являются скалярными значениями, то:
-
Первое значение сигнала в векторе начинается с
0байт. -
Второе значение сигнала начинается с
2байт. -
Третье значение сигнала начинается с
4байт. -
Четвертое значение сигнала начинается с
6байт. -
Пятое значение сигнала начинается с
8байт. -
Шестое значение сигнала начинается с
10байт. -
Седьмое значение сигнала начинается с
12байт.
Алгоритм упаковки оставляет промежуток в 1 байт между значением данных UInt8 и значением двойной точности.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |