Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

uencode

Cuantificar y codificar entradas de coma flotante como salidas de enteros

Descripción

y = uencode(x,n) cuantifica las entradas en un arreglo multidimensional de números de punto flotante x en el intervalo [-1, 1] y las codifica como enteros utilizando la cuantificación de nivel 2n. Los elementos de la salida y son enteros sin signo con magnitudes en el intervalo [0, 2n – 1].

ejemplo

y = uencode(x,n,v) permite que la entrada x tenga entradas con valores de punto flotante en el intervalo [-v,v] antes de saturarlas.

y = uencode(x,n,v,outputSign) especifica la opción outputSign para generar salidas enteras con signo o sin signo.

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 contains a line object which displays its values using only markers.

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 = 1×9 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 = 1×9 int8 row vector

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

Argumentos de entrada

contraer todo

Entradas de punto flotante, especificadas como un vector, una matriz o un arreglo multidimensional. La función uencode trata los elementos de x fuera del intervalo [-v, v] como desbordamientos y los satura de la manera siguiente:

  • Para los elementos de entrada menores que -v, uencode devuelve un valor de salida de 0 (salida sin signo) o -2^n/2 (salida con signo).

  • Para los elementos de entrada mayores que v, uencode devuelve un valor de salida de 2^n-1 (salida sin signo) o 2^n/2-1 (salida con signo).

La función uencode codifica los componentes real e imaginario de entradas de valor complejo x de forma independiente.

Tipos de datos: single | double
Soporte de números complejos:

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). El valor de 2n indica el número de niveles de cuantificación establecidos para el arreglo cuantificado y, y define un rango de cuantificación para y.

El rango de cuantificación depende del valor de n y la naturaleza del signo de y:

  • Entradas con signo: de -2n/2 a (2n/2)–1.

  • Entradas sin signo: de 0 a (2n–1).

Amplitud de no saturación, especificada como un escalar positivo. La función trata los elementos de x fuera del intervalo [-v,v] como saturación y los codifica de la manera siguiente:

  • Para los elementos de entrada menores que -v, uencode devuelve un valor de salida de 0 (salida sin signo) o -2^n/2 (salida con signo).

  • Para los elementos de entrada mayores que v, uencode devuelve un valor de salida de 2^n-1 (salida sin signo) o 2^n/2-1 (salida con signo).

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 outputSign, que puede ser uno de los siguientes:

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

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

Argumentos de salida

contraer todo

Salidas de enteros codificados, devueltas como un vector, una matriz o un arreglo multidimensional. El arreglo de salida y tiene la misma dimensión que x.

Algoritmos

La función uencode asigna el valor de entrada de coma 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 que desea enteros con signo.

La función optimiza los tipos de datos de salida para el número de bits, como se muestra en esta 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

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también