Uniform Encoder

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

Библиотека

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

dspquant2

  • Uniform Encoder block

Описание

Блок Uniform Encoder выполняет следующие две операции на каждой выборке с плавающей точкой во входном векторе или матрице:

  1. Квантует значение с помощью той же точности

  2. Кодирует квантованное значение с плавающей точкой к целочисленному значению

В первом шаге блок квантует входное значение к одному из 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]. Для КПД блок автоматически выбирает тип выходных данных без знака (uint8uint16, или uint32) с минимальным количеством битов равняются или больше, чем B.

Когда Output type установлен в Signed integer, наименьшее квантованное значение с плавающей точкой,-V, сопоставлено с целым числом-2B-1, и самое большое квантованное значение с плавающей точкой, (1-21-B) V, сопоставлено с целым числом 2B-1-1. Квантованные значения промежуточного звена с плавающей точкой линейно сопоставлены с промежуточными целыми числами в области значений [-2B-1, 2B-1-1]. Блок автоматически выбирает тип выходных данных со знаком (int8int16, или int32) с минимальным количеством битов равняются или больше, чем B.

Входные параметры могут быть действительными или объединить, двойную или одинарную точность. Типы выходных данных, которые использование блока показывают в приведенной ниже таблице. Обратите внимание на то, что большинство блоков DSP System Toolbox™ принимает только входные параметры с двойной точностью. Используйте блок Simulink® Data Type Conversion, чтобы преобразовать целочисленные типы данных в двойную точность. Займитесь Типами данных в Simulink (Simulink) для полного обсуждения типов данных, а также списка блоков Simulink, способных к операциям уменьшаемой точности.

БитыЦелое число без знакаЦелое число со знаком

2 к 8

uint8

int8

9 к 16

uint16

int16

17 к 32

uint32

int32

Универсальные блочные операции Энкодера придерживаются определения для линейного кодирования, заданного в Рекомендации 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

1.5+0.0i

7+4i

 

-0.4

-0.5+0.0i

3+4i

 

-3.2

-2.0+0.0i

4i

(Действительное) насыщение

0.4-1.2i

0.0-1.5i

4+i

 

0.4-6.0i

0.0-2.0i

4

(Мнимое) насыщение

-4.2+3.5i

-2.0+2.0i

7i

Насыщение (действительный и мнимый)

Тип выходных данных автоматически установлен в uint8, самый эффективный формат для этого входного диапазона.

Параметры

Peak

Самая большая входная амплитуда, которая будет закодирована, V. Действительные или мнимые входные значения, больше, чем (1-21-B) V или меньше, чем-V, насыщают (независимо для комплексных входных параметров) в тех пределах.

Bits

Укажите, что количество битов, B, должно было представлять целочисленный выход. Количество уровней, на которых блок квантует вход с плавающей точкой, 2B.

Output type

Тип данных выхода блока, Unsigned integer или Signed integer. Выходными параметрами без знака является uint8uint16, или uint32, в то время как выходными параметрами со знаком является int8int16, или int32.

Ссылки

Общие аспекты систем цифровой передачи: словарь цифровой передачи и мультиплексирования, и условий Импульсной модуляции кода (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