exponenta event banner

Унифицированный кодировщик

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

Библиотека

Quantizers

dspquant2

  • Uniform Encoder block

Описание

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

  1. Квантование значения с одинаковой точностью

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

На первом этапе блок квантует входное значение до одного из 2B равномерно разнесенных уровней в диапазоне [-V, (1-21-B) V], где в параметре Bits указывается B, а в параметре Peak - V. Процесс квантования округляет как положительные, так и отрицательные входы вниз до ближайшего уровня квантования, за исключением тех, которые попадают точно на границу квантования. Действительная и мнимая составляющие комплексных входов квантуются независимо.

Число битов B может быть любым целым числом от 2 до 32 включительно. Входы больше (1-21-B) V или меньше -V насыщаются при этих соответствующих значениях. Действительная и мнимая составляющие комплексных входов насыщаются независимо.

На втором этапе квантованное значение с плавающей запятой однозначно отображается (кодируется) на одно из 2B целых значений. Если для типа Output установлено значение Unsigned integerнаименьшее квантованное значение с плавающей запятой, -V, отображается в целое число 0, а наибольшее квантованное значение с плавающей запятой, (1-21-B) V, отображается в целое число 2B-1. Промежуточные квантованные значения с плавающей запятой линейно (равномерно) отображаются на промежуточные целые числа в диапазоне [0, 2B-1]. Для эффективности блок автоматически выбирает неподписанный тип выходных данных (uint8, uint16, или uint32) с минимальным количеством битов, равным или большим, чем B.

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

Входные данные могут быть вещественными или сложными, двойными или одиночными. Типы выходных данных, используемые блоком, показаны в таблице ниже. Следует отметить, что большинство блоков Toolbox™ системы DSP принимают только входы с двойной точностью. Блок преобразования типов данных Simulink ® используется для преобразования целочисленных типов данных в двойную точность. Полный обзор типов данных, а также список блоков Simulink, способных выполнять операции с пониженной точностью, см. в разделе О типах данных в Simulink (Simulink ).

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

2 кому 8

uint8

int8

9 кому 16

uint16

int16

17 кому 32

uint32

int32

Операции блока Uniform Encoder соответствуют определению для равномерного кодирования, указанному в рекомендации ITU-T G.701.

Примеры

См. пример ex_uniform_encoder модели.

В этом примере задаются следующие параметры:

  • Пик = 2

  • Биты = 3

  • Тип вывода = 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, наиболее эффективный формат для этого диапазона ввода.

Параметры

Пик

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

Биты

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

Тип выходного документа

Тип данных вывода блока, Unsigned integer или Signed integer. Неподписанные выходы: uint8, uint16, или uint32, в то время как подписанные результаты int8, int16, или int32.

Ссылки

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

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

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

Вход

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

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

Продукция

  • 8-, 16- и 32-разрядные целые числа

См. также

Преобразование типа данных (Simulink)Simulink
Квантователь (Simulink)Simulink

Скалярный декодер квантователя

Инструментарий системы DSP
Унифицированный декодерИнструментарий системы DSP
udecodeПанель инструментов обработки сигналов
uencodeПанель инструментов обработки сигналов

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

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