Uniform Decoder

Декодируйте целочисленный вход в выход с плавающей точкой

Библиотека

Квантизаторы

dspquant2

  • Uniform Decoder block

Описание

Блок Uniform Decoder выполняет обратную операцию блока Uniform Encoder и восстанавливает квантованные значения с плавающей точкой от закодированного целочисленного входа. Блок придерживается определения для универсального декодирования, заданного в Рекомендации G.701 ITU-T.

Входные параметры могут быть действительными или комплексные числа следующих шести целочисленных типов данных: uint8uint16uint32int8int16, или 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-BV. Промежуточные входные значения линейно сопоставлены с промежуточными значениями в области значений [-V, (1-21-BV.

Чтобы правильно декодировать значения, закодированные блоком 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] использование mod-2B арифметика.

u = mod(u,2^B)

Входные значения со знаком, u, больше, чем 2B-1- 1 или меньше чем-2B-1 перенесены назад в ту область значений с помощью mod-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

Параметры

Peak

Задайте самую большую амплитуду, представленную в закодированном входе. Чтобы правильно декодировать значения, закодированные с блоком Uniform Encoder, установите параметры Peak в обоих блоках к тому же значению.

Bits

Укажите, что количество входных битов, B, раньше кодировало данные. (Это может быть меньше общего количества битов, предоставленных типом входных данных.), Чтобы правильно декодировать значения, закодированные с блоком Uniform Encoder, установите параметры Bits в обоих блоках к тому же значению.

Overflow mode

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

Output type

Задайте точность выхода с плавающей точкой, single или double.

Ссылки

Общие аспекты систем цифровой передачи: словарь цифровой передачи и мультиплексирования, и условий Импульсной модуляции кода (PCM), Международного союза электросвязи, рекомендации G.701 ITU-T, март 1993

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Входной параметр

  • 8-, 16-, и 32-битные целые числа

Вывод

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

Смотрите также

Data Type Conversion (Simulink)Simulink
Quantizer (Simulink)Simulink
Скалярный декодер квантизатораDSP System Toolbox
Универсальный энкодерDSP System Toolbox
udecodeSignal Processing Toolbox
uencodeSignal Processing Toolbox

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Представлено до R2006a