Квантование и кодирование ввода с плавающей запятой в целочисленный выход
Quantizers
dspquant2
Блок равномерного кодирования выполняет следующие две операции над каждой выборкой с плавающей запятой во входном векторе или матрице:
Квантование значения с одинаковой точностью
Кодирует квантованное значение с плавающей запятой в целое значение
На первом этапе блок квантует входное значение до одного из 2B равномерно разнесенных уровней в диапазоне [-V, (1-21-B) V], где в параметре Bits указывается B, а в параметре Peak - V. Процесс квантования округляет как положительные, так и отрицательные входы вниз до ближайшего уровня квантования, за исключением тех, которые попадают точно на границу квантования. Действительная и мнимая составляющие комплексных входов квантуются независимо.
Число битов B может быть любым целым числом от 2 до 32 включительно. Входы больше (1-21-B) V или меньше -V насыщаются при этих соответствующих значениях. Действительная и мнимая составляющие комплексных входов насыщаются независимо.
На втором этапе квантованное значение с плавающей запятой однозначно отображается (кодируется) на одно из 2B целых значений. Если для типа Output установлено значение Unsigned integerнаименьшее квантованное значение с плавающей запятой, -V, отображается в целое число 0, а наибольшее квантованное значение с плавающей запятой, (1-21-B) V, отображается в целое число 2B-1. Промежуточные квантованные значения с плавающей запятой линейно (равномерно) отображаются на промежуточные целые числа в диапазоне [0, 2B-1]. Для эффективности блок автоматически выбирает неподписанный тип выходных данных (uint8, uint16, или uint32) с минимальным количеством битов, равным или большим, чем B.
Если для типа Output установлено значение Signed integerнаименьшее квантованное значение с плавающей запятой, -V, отображается на целое число -2B-1, а наибольшее квантованное значение с плавающей запятой, (1-21-B) V, отображается на целое число 2B-1-1. Промежуточные квантованные значения с плавающей запятой линейно отображаются на промежуточные целые числа в диапазоне [-2B-1, 2B-1-1]. Блок автоматически выбирает подписанный тип выходных данных (int8, int16, или int32) с минимальным количеством битов, равным или большим, чем B.
Входные данные могут быть вещественными или сложными, двойными или одиночными. Типы выходных данных, используемые блоком, показаны в таблице ниже. Следует отметить, что большинство блоков Toolbox™ системы DSP принимают только входы с двойной точностью. Блок преобразования типов данных Simulink ® используется для преобразования целочисленных типов данных в двойную точность. Полный обзор типов данных, а также список блоков Simulink, способных выполнять операции с пониженной точностью, см. в разделе О типах данных в Simulink (Simulink ).
| Биты | Целое число без знака | Целое число со знаком |
|---|---|---|
|
|
|
|
|
|
|
|
|
Операции блока Uniform Encoder соответствуют определению для равномерного кодирования, указанному в рекомендации ITU-T G.701.
См. пример ex_uniform_encoder модели.
В этом примере задаются следующие параметры:
Пик = 2
Биты = 3
Тип вывода = Unsigned
Следующий рисунок иллюстрирует равномерное кодирование.

Действительные и комплексные компоненты каждого входа (горизонтальная ось) независимо квантуются на один из 23 различных уровней в диапазоне [-2,1.5]. Эти компоненты затем сопоставляются с одним из 23 целых значений в диапазоне [0,7].
-2.0 is mapped to 0 -1.5 is mapped to 1 -1.0 is mapped to 2 -0.5 is mapped to 3 0.0 is mapped to 4 0.5 is mapped to 5 1.0 is mapped to 6 1.5 is mapped to 7
В этой таблице представлены результаты для нескольких конкретных входных данных.
| Вход | Квантованный вход | Продукция | Примечания |
|---|---|---|---|
|
|
| |
|
|
| |
|
|
| Насыщенность (вещественная) |
|
|
| |
|
|
| Насыщенность (мнимая) |
|
|
| Насыщение (вещественное и мнимое) |
Тип выходных данных автоматически устанавливается в uint8, наиболее эффективный формат для этого диапазона ввода.
Наибольшая входная амплитуда, подлежащая кодированию, V. Вещественные или мнимые входные значения больше (1-21-B) V или меньше -V насыщаются (независимо для комплексных входов) в этих пределах.
Укажите число битов, B, необходимое для представления целочисленного результата. Количество уровней, на которых блок квантует входной сигнал с плавающей запятой, равно 2B.
Тип данных вывода блока, Unsigned integer или Signed integer. Неподписанные выходы: uint8, uint16, или uint32, в то время как подписанные результаты int8, int16, или int32.
Общие аспекты цифровых систем передачи: Словарь терминов цифровой передачи и мультиплексирования и импульсно-кодовой модуляции (ИКМ), Международный союз электросвязи, Рекомендация ITU-T G.701, март 1993 г.
| Порт | Поддерживаемые типы данных |
|---|---|
Вход |
|
Продукция |
|
| Преобразование типа данных (Simulink) | Simulink |
| Квантователь (Simulink) | Simulink |
| Инструментарий системы DSP | |
| Унифицированный декодер | Инструментарий системы DSP |
udecode | Панель инструментов обработки сигналов |
uencode | Панель инструментов обработки сигналов |