Quantize and encode floating-point inputs to integer outputs
quantizes the entries in a multidimensional array of floating-point numbers
y
= uencode(u
,n
)u
and encodes them as integers using
2n-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, 2n-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.
uencode
maps the floating-point input value to an integer value determined
by the requirement for 2n 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 2n 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
2n 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.
[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.