Documentation |
Quantize and encode floating-point inputs to integer outputs
y = uencode(u,n)
y = uencode(u,n,v)
y = uencode(u,n,v,'SignFlag')
y = uencode(u,n) quantizes the entries in a multidimensional array of floating-point numbers u and encodes them as integers using 2^{n}-level quantization. n must be an integer between 2 and 32 (inclusive). Inputs can be real or complex, double- or single-precision. 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]. Elements of the input u outside of the range [-1,1] are treated as overflows and are saturated.
For entries in the input u that are less than -1, the value of the output of uencode is 0.
For entries in the input u that are greater than 1, the value of the output of uencode is 2^{n}-1.
y = uencode(u,n,v) allows the input u to have entries with floating-point values in the range [-v,v] before saturating them (the default value for v is 1). Elements of the input u outside of the range [-v,v] are treated as overflows and are saturated:
For input entries less than -v, the value of the output of uencode is 0.
For input entries greater than v, the value of the output of uencode is 2^{n}-1.
y = uencode(u,n,v,'SignFlag') maps entries in a multidimensional array of floating-point numbers u whose entries have values in the range [-v,v] to an integer output y. Input entries outside this range are saturated. The integer type of the output depends on the string 'SignFlag' and the number of quantization levels 2^{n}. The string 'SignFlag' can be one of the following:
'signed': Outputs are signed integers with magnitudes in the range [-2^{n}/2, (2^{n}/2) - 1].
'unsigned' (default): Outputs are unsigned integers with magnitudes in the range [0, 2^{n}-1].
The output data types are optimized for the number of bits as shown in the table below.
n | Unsigned Integer | Signed Integer |
---|---|---|
2 to 8 | ||
9 to 16 | ||
17 to 32 |
[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.