# uencode

Quantize and encode floating-point inputs to integer outputs

## Description

quantizes the entries in a multidimensional array of floating-point numbers
`y`

= uencode(`u`

,`n`

)`u`

and encodes them as integers using
2^{n}-level quantization. The output y and
the input `u`

are arrays of the same size. The elements of the output y
are unsigned integers with magnitudes in the range [0,
2^{n} – 1].

maps entries in a multidimensional array of floating-point numbers `y`

= uencode(`u`

,`n`

,`v`

,`'SignFlag'`

)`u`

whose entries have values in the range [`-v,v`

] to an integer output
`y`

. Input entries outside this range are saturated.

## Examples

## Input Arguments

## Output Arguments

## Algorithms

The `uencode`

function maps the floating-point input value to an
integer value determined by the requirement for
2^{n} levels of quantization. This encoding
adheres to the definition for uniform encoding specified in ITU-T Recommendation G.701. The
input range `[-v,v]`

is divided into 2^{n} evenly
spaced intervals. Input entries in the range `[-v,v]`

are first quantized
according to this subdivision of the input range, and then mapped to one of
2^{n} integers. The range of the output depends on whether or not
you specify that you want signed integers.

The output data types are optimized for the number of bits as shown in the table below.

## References

[1] International Telecommunication Union. *General
Aspects of Digital Transmission Systems: Vocabulary of Digital Transmission
and Multiplexing, and Pulse Code Modulation (PCM) Terms*.
ITU-T Recommendation G.701. March, 1993.

## Extended Capabilities

## Version History

**Introduced before R2006a**