Uniform Decoder

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

Библиотека

Quantizers

dspquant2

  • Uniform Decoder block

Описание

Блок 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] использование 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++ с помощью Coder™ Simulink ®

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