Декодируйте квантованные целочисленные входные параметры 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]
Входные параметры могут быть действительными или комплексные числа любого целочисленного типа данных (uint8uint16uint32int8int16int32). Переполнение (записи в 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). Рекомендация G.701 ITU-T. Март 1993.