Uniform Encoder
Квантование и кодирование входных данных с плавающей точкой в целочисленные выходные данные.
Описание
Блок Uniform Encoder выполняет операцию квантования и преобразования входных данных с плавающей точкой в целочисленные выходные данные.
Блок придерживается единообразного кодирования, соответствующего определению единообразного кодирования в «ITU-T Recommendation G.701».
Более подробная информация о том, как блок вычисляет кодированный выходной целочисленный сигнал, приведена в разделе Алгоритмы.
Порты
Вход
Input — входной сигнал
вектор
| матрица
Входной сигнал с плавающей точкой в виде вектора или матрицы.
Входные сигналы, превышающие или меньшие, чем , насыщаются при соответствующих значениях.
Действительные и мнимые компоненты комплексных входных данных преобразуются независимо.
Типы данных: Float32
| Float64
Поддержка комплексных чисел: Да
Выход
Output — декодированный выходной сигнал
вектор
| матрица
Выходные данные кодера, возвращаемые в виде вектора или матрицы.
Блок квантует каждую выборку во входных данных с плавающей точкой и преобразует квантованное значение с плавающей точкой в целое число.
Дополнительные сведения о том, как блок вычисляет выходные данные, см. в разделе Алгоритмы.
Типы данных: Int8
, Int16
, Int32
, UInt8
, UInt16
, UInt32
Поддержка комплексных чисел: Да
Параметры
Main
Peak — наибольшая амплитуда входного сигнала
1 (по умолчанию)
| неотрицательный скаляр
Укажите наибольшую амплитуду входного сигнала как неотрицательный скаляр.
Действительные или мнимые входные значения, превышающие или меньшие , насыщаются (независимо для комплексных входов) в этих пределах.
Bits — количество бит
8 (по умолчанию)
| целое число в диапазоне [2, 32]
Укажите количество битов , необходимое блоку для представления целочисленных выходных данных. Количество битов может быть любым целым числом от 2 до 32 включительно.
Количество уровней, на которых блок квантует входные данные с плавающей запятой, равно .
Output type — тип выходных данных
Unsigned integer (по умолчанию)
| Signed integer
Укажите тип данных для вывода блока:
-
Unsigned integer
– блок отображает наименьшее квантованное значение с плавающей точкой на целое число 0 и наибольшее квантованное значение с плавающей точкой на целое число . Он линейно (равномерно) отображает промежуточные квантованные значения с плавающей точкой на промежуточные целые числа в диапазоне ]. Для повышения эффективности блок автоматически выбирает беззнаковый тип выходных данных (UInt8
,UInt16
илиUInt32
) с минимальным количеством битов, равным или большим, чем . -
Signed integer
– блок отображает наименьшее квантованное значение с плавающей точкой в целое число , а наибольшее квантованное значение с плавающей точкой – в целое число . Он линейно отображает промежуточные квантованные значения с плавающей точкой на промежуточные целые числа в диапазоне ]. Блок автоматически выбирает знаковый тип выходных данных (Int8
,Int16
илиInt32
) с минимальным количеством битов, равным или большим, чем .
В этой таблице приведены типы выходных данных, которые использует блок.
Bits |
|
|
От 2 до 8 |
|
|
От 9 до 16 |
|
|
От 17 до 32 |
|
|
Дополнительно
Алгоритмы
Блок Uniform Encoder выполняет эти две операции с каждой выборкой с плавающей точкой во входных данных.
-
Квантует значение с одинаковой точностью.
-
Кодирует квантованное значение с плавающей точкой в целое число.
На первом этапе блок квантует входное значение до одного из равномерно распределенных уровней в диапазоне ], где вы указываете в параметре Bits, а в параметре Peak. Процесс квантования округляет как положительные, так и отрицательные входные данные в меньшую сторону до ближайшего уровня квантования, за исключением тех, которые находятся точно на границе квантования. Он независимо квантует действительную и мнимую составляющие комплексных входных данных.
На втором этапе блок уникальным образом преобразует (кодирует) квантованное значение с плавающей точкой в одно из целых значений.
Когда вы устанавливаете для Output type значение Unsigned integer
, блок преобразуют наименьшее квантованное значение с плавающей точкой в целое число 0, а наибольшее квантованное значение с плавающей точкой в целое число . Он линейно (равномерно) преобразует промежуточные квантованные значения с плавающей точкой в промежуточные целые числа в диапазоне ]. Для повышения эффективности блок автоматически выбирает тип выходных данных без знака (UInt8
, UInt16
или UInt32
) с минимальным количеством битов, равным или превышающим .
Когда для параметра Output type задано значение Signed integer
, наименьшее квантованное значение с плавающей запятой преобразуется в целое число , а наибольшее квантованное значение с плавающей запятой преобразуется в целое число . Промежуточные квантованные значения с плавающей запятой линейно преобразуются в промежуточные целые числа в диапазоне ]. Блок автоматически выбирает тип выходных данных со знаком (Int8
, Int16
или Int32
) с минимальным количеством битов, равным или превышающим .