Документация Engee

Uniform Decoder

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

Тип: UniformDecoder

Путь в библиотеке:

/Signal Operations/Quantizers/Uniform Decoder

Описание

Блок Uniform Decoder выполняет обратную операцию по отношению к блоку унифицированного кодера Uniform Encoder и восстанавливает квантованные значения с плавающей точкой из закодированных целочисленных входных данных.

Блок придерживается определения равномерного декодирования, приведенного в «ITU-T Recommendation G.701».

Более подробная информация о том, как блок вычисляет декодированный выходной сигнал с плавающей точкой, приведена в разделе Алгоритмы.

Порты

Вход

# IN_1 — входной сигнал
вектор | матрица

Details

Входной сигнал с целочисленными данными в виде вектора или матрицы, который необходимо декодировать.

Вещественные и мнимые компоненты комплексных входных данных преобразуются независимо.

Типы данных

Float32, Float64, Int8, Int16, Int32, UInt8, UInt16, UInt32, Bool, Fixed

Поддержка комплексных чисел

Да

Выход

# OUT_1 — декодированный выходной сигнал
вектор | матрица

Details

Декодированный выходной сигнал с плавающей точкой, возвращаемый в виде вектора или матрицы.

Тип выходных данных зависит от значения параметра Output type:

  • single – тип данных Float32.

  • double – тип данных Float64.

Дополнительные сведения о том, как блок вычисляет выходные данные, см. в разделе Алгоритмы.

Типы данных

Float32, Float64

Поддержка комплексных чисел

Да

Параметры

Основные

# Peak — наибольшая амплитуда в кодированном входном сигнале
Вещественное число

Details

Укажите наибольшую амплитуду, представленную в кодированном входном сигнале, в виде неотрицательного скаляра.

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

Значение по умолчанию

1

Имя для программного использования

peak

Настраиваемый

Нет

Вычисляемый

Да

# Bits — количество бит
Вещественное число

Details

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

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

Значение по умолчанию

3

Имя для программного использования

bits

Настраиваемый

Нет

Вычисляемый

Да

# Overflow mode — режим переполнения
Saturate | Wrap

Details

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

  • При установке для параметра Overflow mode значения Saturate беззнаковые входные значения, превышающие , насыщаются на уровне , а знаковые входные значения, больше чем или меньше чем , насыщаются на этих пределах. Вещественные и мнимые компоненты комплексных входных сигналов насыщаются независимо.

  • При установке для параметра Overflow mode значения Wrap беззнаковые входные значения , больше чем , возвращаются в диапазон с помощью арифметики :

    Знаковые входные значения , больше чем или меньше чем , возвращаются в этот диапазон с помощью арифметики :

Вещественные и мнимые компоненты комплексных входных данных обрабатываются независимо друг от друга.

Значения

Saturate | Wrap

Значение по умолчанию

Saturate

Имя для программного использования

overflow_mode

Настраиваемый

Нет

Вычисляемый

Нет

# Output type — тип выходных данных
Double | Single

Details

Укажите точность декодированных выходных данных с плавающей точкой: одинарная (Single) или двойная (Double).

Вы можете использовать любой уровень точности выходных данных с любым из шести целочисленных типов входных данных.

Значения

Double | Single

Значение по умолчанию

Double

Имя для программного использования

output_type

Настраиваемый

Нет

Вычисляемый

Нет

Алгоритмы

Details

Блок Uniform Decoder сначала преобразует целочисленные входные значения в значения с плавающей точкой, а затем однозначно сопоставляет (декодирует) их одному из равномерно распределенных значений с плавающей точкой в диапазоне , где — значение параметра Bits, а — значение параметра Peak.

Блок сопоставляет наименьшее входное значение, представляемое битами ( для беззнакового типа входных данных и для знакового типа входных данных), со значением .

Наибольшее входное значение, представляемое битами ( для беззнакового типа входных данных и для знакового типа входных данных), блок преобразует в значение . Блок линейно преобразует промежуточные входные значения на промежуточные значения в диапазоне .

Для корректного декодирования значений, закодированных блоком Uniform Encoder, параметры Bits и Peak блока Uniform Decoder должны быть установлены в те же значения, что и параметры Bits и Peak блока Uniform Encoder.