Универсальный декодер

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

Библиотека

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

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

Параметры

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-битные целые числа

Вывод

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

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

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

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

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

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