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

Extract Bits

Вывод выборки последовательных битов из входного сигнала.

extract bits

Описание

Блок Extract Bits позволяет выводить выборку последовательных битов из сохраненного целочисленного значения входного сигнала. Используйте параметр Bits to extract, чтобы определить метод выбора выходных битов.

Значения для выбора в параметре Bits to extract:

  • Upper half — вывод половины входных битов, содержащих старший бит.

  • Lower half — вывод половины входных битов, содержащих наименьший значащий бит.

  • Range starting with most significant bit — вывод определенного количества старших битов входного сигнала, количество битов задается в параметре Number of bits.

  • Range ending with least significant bit — вывод определенного количества младших значащих битов входного сигнала, количество битов задается в параметре Number of bits.

  • Range of bits — при выборе этого значения необходимо указать диапазон последовательных битов входного сигнала для вывода. Диапазон значений задается в параметре Bit indices в формате [start, end], и индексы входных битов маркируются последовательно, начиная с 0 для наименее значимого бита.

Порты

Вход

Port_1 — входной сигнал
скаляр | вектор | матрица | N-мерный массив

Входной сигнал, заданный в виде скаляра, вектора, матрицы или N-мерного массива. Входные данные с плавающей точкой проходят через блок без изменений. Входные данные типа Bool рассматриваются как данные типа UInt8.

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Выход

Port_1 — извлеченные биты
скаляр | вектор | матрица | N-мерный массив

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Параметры

Bits to extract — метод извлечения битов
Upper half (по умолчанию) | Lower half | Range starting with most significant bit | Range ending with least significant bit | Range of bits

Выберите метод извлечения битов из входного сигнала.

Рассмотрим входной сигнал, который в двоичном виде представлен 110111001:

  • Если выбрано значение Upper half — вывод половины входных битов, содержащих старший бит, то на выходе будет 11011 в двоичном виде.

  • Если выбрано значение Lower half — вывод половины входных битов, содержащих наименьший значащий бит, то на выходе будет 11001 в двоичном виде.

  • Если выбрано значение Range starting with most significant bit — вывод определенного количества старших битов входного сигнала, а количество битов в параметре Number of bits задано 3, то на выходе будет 110 в двоичном виде.

  • Если выбрано значение Range ending with least significant bit — вывод определенного количества младших значащих битов входного сигнала, а количество битов в параметре Number of bits задано 8, то на выходе будет 10111001 в двоичном виде.

  • Если выбрано значение Range of bits и указан ряд [4, 7] смежных битов входного сигнала для вывода в параметре Bit indices, то на выходе получится 1011 в двоичном виде.

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

Параметр блока

bitsToExtract

Значение

Upper half | Lower half | Range starting with most significant bit | Range ending with least significant bit | Range of bits

По умолчанию

Upper half

Number of bits — количество битов для вывода
8 (по умолчанию) | целое положительное число

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Bits to extract значение Range starting with most significant bit или Range ending with least significant bit.

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

Параметр блока

numBits

Значение

целое положительное число

По умолчанию

8

Bit indices — диапазон последовательных битов для вывода
[0, 7] (по умолчанию) | последовательный диапазон

Укажите диапазон битов входного сигнала для вывода в формате [start, end]. Индексы присваиваются входным битам, начиная с 0 в наименее значимом бите.

Зависимости

Чтобы использовать этот параметр, установите для параметра Bits to extract значение Range of bits.

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

Параметр блока

bitIdxRange

Значение

последовательный диапазон

По умолчанию

[0, 7]

Output scaling mode — режим масштабирования выходных данных
Preserve fixed-point scaling (по умолчанию) | Treat bit field as an integer

Выберите режим масштабирования, который будет использоваться для выбора выходных битов:

  • Preserve fixed-point scaling — масштабирование входных данных с фиксированной точкой используется для определения масштабирования на выходе во время преобразования типа данных.

  • Treat bit field as an integer — масштабирование входных данных с фиксированной точкой игнорируется, а для вычисления типа выходных данных используется только сохраненное целое число.

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

Параметр блока

outScalingMode

Значение

Preserve fixed-point scaling | Treat bit field as an integer

По умолчанию

Preserve fixed-point scaling