Main Content

uencode

Cuantificar y codificar entradas de coma flotante como salidas de enteros

Descripción

ejemplo

y = uencode(u,n) cuantifica las entradas en un arreglo multidimensional de números u de coma flotante y las codifica como enteros utilizando la cuantificación de segundo nivel. La salida y la entrada u son arreglos del mismo tamaño. Los elementos de la salida y son enteros con magnitudes en el rango [0, 2n-1].

y = uencode(u,n,v) permite la entrada u para tener entradas de valores de coma flotante en el rango [-v,v] antes de saturarlas (el valor predeterminado de v es 1).

y = uencode(u,n,v,'SignFlag') asigna entradas a un arreglo multidimensional de números de coma flotante u cuyas entradas tienen valores en el rango [-v,v] para una salida de enteros y. Las entradas que se encuentren fuera de este rango están saturadas.

Ejemplos

contraer todo

Asigne escalares de coma flotante en [-1, 1] a enteros uint8 (sin signo). Represente una gráfica en escalera. El eje horizontal tiene rango desde -1 hasta 1 y el eje vertical desde 0 hasta 7 (es decir, 23-1).

u = -1:0.01:1;
y = uencode(u,3);
plot(u,y,'.')

Figure contains an axes object. The axes object contains an object of type line.

Vea los efectos de saturación cuando especifica un valor inferior para el pico en la entrada.

u = -2:0.5:2;
y = uencode(u,5,1)
y = 1x9 uint8 row vector

    0    0    0    8   16   24   31   31   31

Especifique que desea una salida con signo.

u = -2:0.5:2;
y = uencode(u,5,2,'signed')
y = 1x9 int8 row vector

   -16   -12    -8    -4     0     4     8    12    15

Argumentos de entrada

contraer todo

Entrada de coma flotante, especificada como una matriz o un vector. La entrada debe ser real o compleja. Los elementos de la entrada u fuera del intervalo [-1,1] se tratan como excesivos y se saturan:

  • Para las entradas u que sean inferiores a -1, el valor de la salida de uencode es 0.

  • Para las entradas u que sean superiores a 1, el valor de la salida de uencode es 2n-1.

Tipos de datos: single | double

Medida del número de niveles de cuantificación, especificada como un escalar entero positivo. n debe ser un entero entre 2 y 32 (incluidos).

Valor del pico, especificado como un escalar real positivo. Los elementos de u que se encuentren fuera del rango [-v,v] se tratan como excesivos y se saturan:

  • Para las entradas que sean inferiores a -v, el valor de la salida de uencode es 0.

  • Para las entradas que sean superiores a v, el valor de la salida de uencode es 2n-1.

Signo de la salida, especificado como "unsigned" o "signed". El tipo de entero de la salida depende del número de niveles de cuantificación 2n y del valor de 'SignFlag', que puede ser uno de estos.

  • "signed": Las salidas son enteros con signos, con magnitudes en el intervalo [-2n/2, (2n/2) – 1].

  • "unsigned": Las salidas son enteros sin signos, con magnitudes en el intervalo [0, 2n – 1].

Argumentos de salida

contraer todo

Salidas de enteros codificados, devueltas como un vector o una matriz.

Algoritmos

La función uencode asigna el valor de entrada de punto flotante a un valor entero determinado por el requisito de 2n niveles de cuantificación. Esta codificación se ajusta a la definición de codificación uniforme especificada en la Recomendación UIT-T G.701. El rango de entrada [-v,v] se divide en 2n intervalos uniformemente espaciados. Las entradas del rango [-v,v] se cuantifican primero según esta subdivisión del rango de entrada y luego se asignan a uno de los 2n enteros. El rango de la salida depende de si especifica o no que quiere enteros con signo.

Los tipos de datos de salida se optimizan para el número de bits, como se muestra en la siguiente tabla.

n

Entero sin signo

Entero con signo

2 a 8

uint8

int8

9 a 16

uint16

int16

17 a 32

uint32

int32

Referencias

[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.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también