Декодируйте 2n-уровневые квантованные целочисленные входы к выходам с плавающей точкой
y = udecode(u,n)
y = udecode(u,n,v)
y = udecode(u,n,v,'SaturateMode'
)
y = udecode(u,n)
инвертирует операцию uencode
и восстанавливает квантованные значения с плавающей точкой из закодированного многомерного массива целых чисел u
. Входной параметр n
должно быть целым числом от 2 до 32. Целое число n
указывает, что существует 2n уровни квантования для входов, так что значения в u
должно быть либо:
Целые числа со знаком в области значений [-2n /2, (2n /2) – 1]
Беззнаковые целые числа в области значений [0, 2n – 1]
Входами могут быть вещественные или комплексные числа любого целочисленного типа данных (uint8
, uint16
, uint32
, int8
, int16
, int32
). Переполнения (значения в u
вне диапазонов, указанных выше) насыщаются до конечных точек интервала области значений. Область выхода y
имеет те же размерности, что и u
. Его значения имеют значения в области значений [-1,1]
.
y = udecode(u,n,v)
декодирует u
таким образом, что выходной y
имеет значения в области значений [-v,v]
, где значение по умолчанию для v
равен 1.
y = udecode(u,n,v,
декодирует 'SaturateMode'
)u
и обрабатывает входные переполнения (значения в u
за пределами [-v,v]
) согласно 'saturatemode'
, который может быть установлен в одно из следующих значений:
'saturate'
- Насыщение переливов. Это метод по умолчанию для обработки переполнений.
Записи в входных входах со знаком u
значения которых находятся вне области значений [-2n /2, (2n/ 2 ) - 1] присваиваются значения, определяемые ближайшей конечной точкой этого интервала .
Значения в беззнаковых входах u
значения которых находятся вне области значений [0, 2n-1] присваиваются значения, определяемые ближайшей конечной точкой этого интервала.
'wrap'
- Оберните все переполнения согласно следующему:
Записи в входных входах со знаком u
значения которых находятся вне области значений [-2n /2, (2n/ 2 ) - 1] обернуты обратно в эту область значений по модулю 2n арифметика (вычисленная с помощью u
= mod(u+2^n/2,2^n)-(2^n/2)
).
Значения в беззнаковых входах u
значения которых находятся вне области значений [0, 2n - 1] обратно в необходимую область значений перед декодированием по модулю 2n арифметика (вычисленная с помощью u
= mod(u,2^n)
).
Алгоритм соответствует определению для равномерного декодирования, указанному в Рекомендации G.701 ITU-T. Целочисленные входные значения однозначно отображаются (декодируются) из одного из 2n равномерно разнесенные целочисленные значения для квантованных значений с плавающей точкой в области значений [-v,v]
. Наименьшее допустимое целочисленное входное значение сопоставлено с - v
а наибольшее допустимое целочисленное входное значение сопоставлено с v
. Значения вне допустимой входной области значений либо насыщены, либо обернуты, согласно спецификации.
Действительные и мнимые компоненты комплексных входов декодируются независимо.
[1] Международное объединение электросвязи. Общие аспекты цифровых систем передачи: словарь цифровой передачи и мультиплексирования и условия модуляции импульсного кода (PCM). Рекомендация ITU-T G.701. Март 1993 года.