Декодируйте целочисленный вход в вывод с плавающей точкой
Квантизаторы
dspquant2
Блок Uniform Decoder выполняет обратную операцию блока Uniform Encoder и восстанавливает квантованные значения с плавающей точкой от закодированного целочисленного входа. Блок придерживается определения для универсального декодирования, заданного в Рекомендации G.701 ITU-T.
Входные параметры могут быть действительными или комплексные числа следующих шести целочисленных типов данных: uint8
, uint16
, uint32
, int8
, int16
или int32
.
Блок сначала бросает целочисленные входные значения к значениям с плавающей точкой, и затем исключительно сопоставляет (декодирует) их к одному из 2B, однородно расположил значения с плавающей точкой с интервалами в области значений [-V, (1-21-B) V], где вы указываете, что B в параметре Bits (как целое число между 2 и 32) и V является значением с плавающей точкой, заданным параметром Peak. Самое маленькое входное значение, представимое битами B (0 для типа входных данных без знака;-2B-1 для типа входных данных со знаком), сопоставлен со значением-V. Самое большое входное значение, представимое битами B (2B-1 для типа входных данных без знака; 2B-1-1 для типа входных данных со знаком), сопоставлен со значением (1-21-B) V. Промежуточные входные значения линейно сопоставлены с промежуточными значениями в области значений [-V, (1-21-B) V].
Чтобы правильно декодировать значения, закодированные блоком Uniform Encoder, Bits и параметры Peak блока Uniform Decoder должны быть установлены в те же значения как Bits и параметры Peak блока Uniform Encoder. Параметр Overflow mode задает поведение блока Uniform Decoder, когда целочисленный вход вне области значений, представимой битами B. Когда вы выбираете Saturate, входные значения без знака, больше, чем 2B-1 насыщают в 2B-1; входные значения со знаком, больше, чем 2B-1-1 или меньше, чем-2B-1, насыщают в тех пределах. Действительные и мнимые компоненты комплексных входных параметров насыщают независимо.
Когда вы выбираете Wrap, входные значения без знака, u
, больше, чем 2B-1 перенесены назад в область значений [0, 2B-1] использование ультрасовременной-2B арифметики.
u = mod(u,2^B)
Входные значения со знаком, u
, больше, чем 2B-1-1 или меньше, чем-2B-1, перенесены назад в ту область значений с помощью ультрасовременной-2B арифметики.
u = (mod(u+2^B/2,2^B)-(2^B/2))
Действительные и мнимые компоненты комплексных входных параметров переносятся независимо.
Параметр Output type задает, ли декодируемый вывод с плавающей точкой одинарный или двойная точность. Любой уровень выходной точности может использоваться с любым из шести целочисленных типов входных данных.
См. модель в качестве примера ex_uniform_decoder.
В этом примере входом к блоку является uint8
вывод блока Uniform Encoder. Этот блок имеет сопоставимые настройки: Peak = 2
, Bits = 3
и Output type = Unsigned
. (Сопоставимые настройки гарантируют, что входные параметры к блоку Uniform Decoder не насыщают или переносятся. Смотрите пример на странице с описанием блока Uniform Encoder для больше об этих настройках.)
Действительные и комплексные компоненты каждого входа независимо сопоставлены с одним из 23 отличных уровней в области значений [-2.0,1.5]
.
0 is mapped to -2.0 1 is mapped to -1.5 2 is mapped to -1.0 3 is mapped to -0.5 4 is mapped to 0.0 5 is mapped to 0.5 6 is mapped to 1.0 7 is mapped to 1.5
Задайте самую большую амплитуду, представленную в закодированном входе. Чтобы правильно декодировать значения, закодированные с блоком Uniform Encoder, установите параметры Peak в обоих блоках к тому же значению.
Укажите, что количество входных битов, B, раньше кодировало данные. (Это может быть меньше, чем общее количество битов, предоставленных типом входных данных.), Чтобы правильно декодировать значения, закодированные с блоком Uniform Encoder, установите параметры Bits в обоих блоках к тому же значению.
Задайте поведение блока, когда целочисленный вход будет вне области значений, представимой битами B. Входные параметры из области значений могут или насыщать в экстремуме или перенестись назад в область значений.
Задайте точность вывода с плавающей точкой, single
или double
.
Общие аспекты систем цифровой передачи: словарь цифровой передачи и мультиплексирования, и условий Импульсной модуляции кода (PCM), Международного союза электросвязи, рекомендации G.701 ITU-T, март 1993
Порт | Поддерживаемые типы данных |
---|---|
Входной параметр |
|
Вывод |
|
Преобразование типа данных | Simulink |
Квантизатор | Simulink |
Скалярный декодер квантизатора | DSP System Toolbox |
Универсальный энкодер | DSP System Toolbox |
udecode | Signal Processing Toolbox |
uencode | Signal Processing Toolbox |