Квантуйте и закодируйте вход с плавающей точкой в целочисленный вывод
Квантизаторы
dspquant2
Блок Uniform Encoder выполняет следующие две операции на каждой выборке с плавающей точкой во входном векторе или матрице:
Квантует значение с помощью той же точности
Кодирует квантованное значение с плавающей точкой к целочисленному значению
В первом шаге блок квантует входное значение к одному из 2B однородно распределенные уровни в области значений [-V, (1-21-B) V], где вы задаете B в параметре Bits, и вы задаете V в параметре Peak. Процесс квантования округляет и положительные и отрицательные входные параметры вниз к самому близкому уровню квантования, за исключением тех, которые падают точно на контур квантования. Действительные и мнимые компоненты комплексных входных параметров квантуются независимо.
Количество битов, B, может быть любым целочисленным значением между 2 и 32, включительно. Входные параметры, больше, чем (1-21-B) V или меньше, чем-V, насыщают в тех соответствующих значениях. Действительные и мнимые компоненты комплексных входных параметров насыщают независимо.
На втором шаге квантованное значение с плавающей точкой исключительно сопоставлено (закодированное) с одним из 2B целочисленные значения. Когда Output type установлен в Unsigned integer
, наименьшее квантованное значение с плавающей точкой,-V, сопоставлено с целым числом 0, и самое большое квантованное значение с плавающей точкой, (1-21-B) V, сопоставлено с целым числом 2B-1. Квантованные значения промежуточного звена с плавающей точкой линейно (однородно) сопоставлены с промежуточными целыми числами в области значений [0, 2B-1]. Для эффективности блок автоматически выбирает тип выходных данных без знака (uint8
, uint16
или uint32
) с минимальным количеством битов, равных или больше, чем B.
Когда Output type установлен в Signed integer
, наименьшее квантованное значение с плавающей точкой,-V, сопоставлено с целым числом-2B-1, и самое большое квантованное значение с плавающей точкой, (1-21-B) V, сопоставлено с целым числом 2B-1-1. Квантованные значения промежуточного звена с плавающей точкой линейно сопоставлены с промежуточными целыми числами в области значений [-2B-1, 2B-1-1]. Блок автоматически выбирает тип выходных данных со знаком (int8
, int16
или int32
) с минимальным количеством битов, равных или больше, чем B.
Входные параметры могут быть действительными или объединить, двойную или одинарную точность. Типы выходных данных, которые использование блока показывают в приведенной ниже таблице. Обратите внимание на то, что большинство блоков DSP System Toolbox™ принимает только входные параметры с двойной точностью. Используйте блок Simulink® Data Type Conversion, чтобы преобразовать целочисленные типы данных в двойную точность. Займитесь Типами данных в Simulink (Simulink) для полного обсуждения типов данных, а также списка блоков Simulink, способных к операциям уменьшаемой точности.
Биты | Целое число без знака | Целое число со знаком |
---|---|---|
|
|
|
|
|
|
|
|
|
Универсальные блочные операции Энкодера придерживаются определения для линейного кодирования, заданного в Рекомендации G.701 ITU-T.
См. модель в качестве примера ex_uniform_encoder.
В этом примере устанавливаются следующие параметры:
Peak = 2
Bits = 3
Output type = 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
Эта таблица показывает результаты для нескольких конкретных входных параметров.
Входной параметр | Квантованный вход | Вывод | Примечания |
---|---|---|---|
1.6 |
|
| |
-0.4 |
|
| |
-3.2 |
|
| (Действительное) насыщение |
|
|
| |
|
| 4 | (Мнимое) насыщение |
|
|
| Насыщение (действительный и мнимый) |
Тип выходных данных автоматически установлен в uint8
, самый эффективный формат для этого входного диапазона.
Самая большая входная амплитуда, которая будет закодирована, V. Действительные или мнимые входные значения, больше, чем (1-21-B) V или меньше, чем-V, насыщают (независимо для комплексных входных параметров) в тех пределах.
Укажите, что количество битов, B, должно было представлять целочисленный вывод. Количество уровней, на которых блок квантует вход с плавающей точкой, 2B.
Тип данных вывода блока, Unsigned integer
или Signed integer
. Выходными параметрами без знака является uint8
, uint16
или uint32
, в то время как выходными параметрами со знаком является int8
, int16
или int32
.
Общие аспекты систем цифровой передачи: словарь цифровой передачи и мультиплексирования, и условий Импульсной модуляции кода (PCM), Международного союза электросвязи, рекомендации G.701 ITU-T, март 1993
Порт | Поддерживаемые типы данных |
---|---|
Входной параметр |
|
Вывод |
|
Преобразование типа данных | Simulink |
Квантизатор | Simulink |
DSP System Toolbox | |
Универсальный декодер | DSP System Toolbox |
udecode | Signal Processing Toolbox |
uencode | Signal Processing Toolbox |