Vous êtes sur la page 1sur 8

apuntes del cidcom

por Robin Schmidt (traducido por GP)


Nro: 002 / Ctg:DSP-digit / Lng:L / Nvl: M2/ Tpo:AU / VerFch:1-06/08/09

MUESTREO Y CUANTIZACION
1. Introduccin
Una seal est definida por una variable cualquiera que cambia segn alguna otra variable independiente. Asumiremos aqu que la variable independiente, denotada t, es tiempo y que la variable dependiente es cualquier cantidad fsica que cambia en el transcurso del tiempo piense por ejemplo en un voltaje elctrico que cambia a medida que el tiempo transcurre. Denotaremos esta ltima variable dependiente con x, o con x(t), para hacer explcita su dependencia del tiempo. Un ejemplo elemental de este tipo de seal es una sinusoide. Cuando queremos representar dicha sinusoide en el dominio digital tenemos que hacer dos cosas: muestrear y cuantizar. A continuacin describimos esas dos operaciones en el orden mencionado.

2. Muestreo (o Sampleo)
La primera cosa que tenemos que hacer [para obtener la representacin digital de esa sinusoide] es tomar valores de la seal continua a intervalos regulares de tiempo. Este proceso se llama muestreo (sampling). El intervalo de tiempo entre dos muestras consecutivas se denota Ts (el sampling interval o perodo de muestreo) y su recproco, la llamada frecuencia de muestreo (sampling-frequency o sample-rate), se denota con fs, donde fs = 1/Ts. El resultado de este proceso es simplemente una secuencia de nmeros. Usaremos n como ndice en esta secuencia y nuestra seal en tiempo discreto ser denotada x[n]. En la literatura DSP [Digital Signal Processing] es comn usar parntesis para variables continuas, tales como el tiempo t, y corchetes para variables discretas, tales como nuestro ndice de muestra n. Habiendo definido nuestro perodo de muestreo, la operacin de sampleo (o muestreo) simplemente extrae los valores de la seal en instantes que son mltiplos enteros de Ts , de manera que nuestra secuencia en tiempo discreto resulta: x[n] = x(n Ts) (1)

Observe que en este punto (despus del muestreo) nuestra seal todava no es enteramente digital, porque los valores x[n] pueden todava tomar cualquier nmero de un rango continuo. Esa es la razn por la cual hablamos aqu de seal en tiempo discreto y no de seal digital.

La figura 1 muestra el proceso de muestrear una sinusoide continua.

Fig. 1 Sampleando una sinusoide medimos el valor de la seal a intervalos de tiempo regulares. Aunque dibujada en el grfico de la derecha, la seal continua subyacente se pierde en este proceso todo lo que hemos dejado despus del muestreo es una secuencia de nmeros. En la jerga DSP, esos mismos nmeros reciben el nombre de muestras (o samples); en esta terminologa, cada nmero es un sample. En este sentido, el significado de la palabra muestra (o sample) no es el mismo que tiene en la jerga de los msicos: con el trmino sample los msicos se refieren a una grabacin corta de un evento acstico. En este artculo usaremos la terminologa DSP. Ahora la cuestin es: podemos reconstruir la seal continua a partir de sus samples (o muestras)?

2.1 Interpolacin
Mientras la seal continua x(t) est definida para todos los valores de t, nuestra seal en tiempo discreto est definida slo para instantes que son mltiplos enteros de Ts. Para reconstruir una seal continua desde los samples, debemos de algn modo conjeturar qu valor pudo probablemente tener la seal continua entre nuestros samples. Interpolacin es el proceso de conjeturar valores de una seal en puntos arbitrarios del tiempo, que caen, en general, entre las muestras reales. Como consecuencia, la interpolacin crea una seal en tiempo continuo y puede ser vista como el proceso inverso al muestreo. Idealmente, quisiramos que nuestro algoritmo de interpolacin conjeture correctamente. La seal continua obtenida de la interpolacin debera ser igual que la seal continua original. El mtodo de interpolacin ms elemental es el representado por la interpolacin constante por tramos, donde simplemente se toma el valor de una muestra cercana como el valor estimado de la seal para todo instante intermedio. La funcin reconstruida e interpolada tendr una forma semejante a una escalera. El mtodo que sigue en calidad al precedente (para mejor) es el muy popular mtodo de interpolacin lineal. En ste, para reconstruir un valor [de la seal continua], simplemente conectamos con lneas rectas las muestras obtenidas en los instantes de sampleo. La figura 2 muestra seales continuas reconstruidas mediante interpolacin constante por tramos e interpolacin lineal.

Fig. 2 Reconstruyendo la sinusoide desde sus muestras mediante interpolacin constante por tramos e interpolacin lineal Tambin hay mtodos de interpolacin ms sofisticados, que producen reconstrucciones ms fieles que los dos recin mencionados. Entre ellos mencionamos interpolaciones polinmicas de orden ms alto (cuadrtica, cbica, curtica, etc.) y interpolacin sinc ventaneada.

2.2 El teorema del muestreo


El muestreo y la interpolacin nos llevan alternativamente del tiempo continuo al tiempo discreto y viceversa. Sin embargo, no hay ninguna garanta de que la seal reconstruida (interpolada) sea ni siquiera similar a la seal original en tiempo continuo. Un aporte fundamental para hacer que esta cuestin del muestreo (o sampleo) y la interpolacin funcione correctamente fue hecho por Claude Shannon en 1948 con su famoso teorema del muestreo. Este teorema establece las condiciones bajo las cuales una seal continua en el tiempo puede ser reconstruida exactamente desde sus muestras y define tambin el algoritmo de interpolacin que debera usarse para lograr esta exacta reconstruccin. En trminos generales, lo que dice el teorema del muestreo es que la seal original en tiempo continuo puede ser reconstruida exactamente desde sus samples cuando la frecuencia ms alta (denotada fh) presente en la seal (vista como un composicin de sinusoides) es ms baja que la mitad de la frecuencia de muestreo: fh < (fs / 2) (2)

La mitad de la frecuencia de muestreo tambin se llama frecuencia de Nyquist, en honor a Harry Nyquist, quien tambin contribuy en mucho a la teora del muestreo. Cuando se cumple la condicin (2), podemos reconstruir la seal en tiempo continuo subyacente mediante un proceso conocido como interpolacin sinc (cuya descripcin detallada est ms all del alcance de este artculo). Una sutil observacin lateral: en algunos libros, la inecuacin (2) aparece modificada con un en lugar de <. Esto es incorrecto, fh tiene que ser estrictamente menor que la mitad de la frecuencia de muestreo, porque cuando usted samplea una sinusoide con una frecuencia exactamente igual a la mitad de la frecuencia de muestreo, usted puede ser capaz de capturarla fielmente (cuando los instantes de sampleo coinciden con los mximos de la sinusoide), pero cuando esos instantes ocurren en los zero-crossings usted no capturar nada. Para casos intermedios, usted capturar la sinusoide con la amplitud incorrecta. De este modo, la reconstruccin perfecta no est garantizada para fh = (fs / 2). Cuando la condicin (2) no se cumple, pero nosotros sampleamos y reconstruimos la seal de todos modos, un fenmeno raro ocurre, es un fenmeno muy conocido y frecuentemente mal comprendido, se llama...

2.3 Alising (o solapado)

Segn el teorema del muestreo, la seal mostrada en la figura 1 est muestreada correctamente. Como esta seal particular es una nica sinusoide (no una composicin de sinusoides) la frecuencia ms alta en esta seal es justamente la frecuencia de esta sinusoide. La frecuencia de muestreo es 10 veces mayor que la de la sinusoide, es decir fh = (fs / 10) < (fs / 2). Para verlo de otro modo: se toman 10 muestras por cada perodo de la seal y esto es ms que suficiente para reconstruir exactamente la sinusoide subyacente en tiempo continuo. Para hacerlo ms concreto, imagine que la sinusoide tiene una frecuencia de 1 Hz y que el sample-rate (frecuencia de muestreo) fuera 10 Hz (valores nada prcticos para seales de audio, pero eso no importa para esta discusin general). Veamos ahora qu pasa cuando tratamos de samplear una sinusoide de 8 Hz con un sample-rate de 10 Hz. Esto se muestra en la figura 3. La sinusoide con la alta frecuencia de 8 Hz produce una serie de samples, como habitualmente ocurre. Sin embargo, una sinusoide cuya frecuencia fuera de 2 Hz dara lugar a exactamente la misma secuencia de samples y ser esta sinusoide de frecuencia ms baja [la de 2 Hz] la que ser reconstruida por nuestro algoritmo de interpolacin.

Fig. 3 Aliasing: la sinusoide con f = 8 Hz est reflejada en otra sinusoide con f = 2 Hz, a un sample-rate fs = 10 Hz, porque las dos producen la misma secuencia de samples La regla general es: siempre que sampleamos una sinusoide de frecuencia f superior a la mitad del sample-rate pero inferior al sample-rate (fs > f > fs/2), entonces su alias aparecer a una frecuencia f = fs f, o f = fs/2 (f fs/2), donde la segunda forma deja claro que debemos reflejar el exceso de frecuencia por encima de la frecuencia de Nyquist en la frecuencia de Nyquist para obtener su alias. La figura 4 ilustra el proceso de reflexin en la frecuencia de Nyquist para el caso de un espectro que viola la inecuacin (2); esta reflexin se denomina a veces foldover.

Fig. 4 Aliasing desde un punto de vista espectral: las frecuencias superiores a la frecuencia de Nyquist [indicada 0.5 fs] se reflejan en la baseband [rango de 0 a 0.5 fs]

Cuando una sinusoide est aun ms all de la frecuencia de muestreo la veremos movida a la banda debajo de la mitad del sample-rate (lamada baseband). Para frecuencias incluso ms altas la cosa se repite una y otra vez esta explicacin es tal vez un poco rebuscada, pero la figura 5 debiera dar una idea clara de adnde se refleja y cundo se refleja.

Fig. 5 Si el espectro original hubiera lucido como cualquiera de los bloques grises, el espectro resultante reconstruido hubiera siempre lucido como el primer bloque gris El hecho de que las frecuencias ms altas invaden el espectro que queremos capturar demanda un filtrado pasa-bajos de la seal continua que queremos samplear previo al sampleo de la misma. Es para esto que se necesitan los as llamados filtros Anti-Alias. Sin estos filtros nuestros espectros estaran completamente contaminados por frecuencias que son el reflejo de aqullas que estn ms all de la mitad del sample-rate (o sea, ms all de la fecuencia de Nyquist). Lo que es ms: estos productos resultantes del aliasing no tendrn en general ninguna relacin armnica con la seal que queremos capturar, lo que los hace mucho ms molestos sonoramente que la distorsin armnica tal como la conocemos de equipos analgicos. El aliasing (o solapado) no ocurre solamente cuando queremos capturar seales analgicas que no son debidamente filtradas con filtros anti-aliasing, sino y en primer lugar cuando generamos seales dentro de la computadora.

3. Cuantizacin
Despus del muestreo tenemos una secuencia de nmeros que, tericamente, pueden representar cualquier valor de un rango continuo. Hay infinitos valores posibles, de hecho, esos valores forman un conjunto infinito no numerable [lo que significa que los elementos de ese conjunto no se pueden poner en correspondencia biunvoca con los nmeros naturales]. Para poder representar cada nmero de ese rango continuo, sera necesario tener una cantidad infinita de dgitos, algo que no tenemos. En lugar de eso, debemos representar nuestros nmeros con una cantidad finita de dgitos, es decir: despus de discretizar la variable del tiempo, tenemos ahora que discretizar tambin la variable usada para la amplitud. Esta discretizacin de valores de amplitud recibe el nombre de cuantizacin. Suponga que nuestra secuencia adopta valores en el rango [1 1]. Suponga ahora que debemos representar cada nmero de este rango con slo dos dgitos decimales; uno antes y otro despus del punto decimal. Nuestros posibles valores de amplitud sern por ello 1.0, -0.9,..., -0.1, 0.0, 0.1,...,0.0, 1.0. Son exactamente 21 niveles distintos para la amplitud y denotaremos este nmero de niveles de cuantizacin con Nq. Cada nivel est en un escaln ubicado 0.1 ms arriba que su predecesor. Denotaremos ese tamao del escaln de cuantizacin con q. Asignamos ahora a cada nmero de nuestro rango continuo aquel nivel de cuantizacin que est

ms cerca de la amplitud real: el rango 0.05...+0.05 se corresponder con el nivel de cuantizacin 0.0, el rango 0.05...1.5 se corresponder con 0.1 y as sucesivamente. Esa correspondencia puede ser vista como una funcin constante por tramos actuando sobre nuestra variable continua de amplitud x. Esto se muestra en la figura 6. Observe que esta correspondencia tambin incluye una operacin de truncamiento en 1: los valores mayores que 0.95 se corresponden con el nivel de cuantizacin 1, no importa cun grande sean; algo anlogo ocurre para los valores negativos.

Fig. 6 Lnea caracterstica de un cuantizador inputs de un rango x continuo se corresponden con valores discretos xq.

Ruido de cuantizacin
Al forzar el redondeo de un valor arbitrario x, tomado de la seal, al nivel de cuantizacin xq ms cercano, este valor xq puede ser visto como x ms un error. Denotaremos ese error como eq (de quantization error) y as tenemos: xq = x + eq eq = xq x (3)

El error de cuantizacin est restringido al rango q/2...+ q/2 nunca haremos un error que sea ms grande que la mitad del tamao del escaln de cuantizacin, es decir:

Por esta razn, el error de cuantizacin se llama frecuentemente ruido de cuantizacin. Una justificacin matemtica ms rigurosa para el tratamiento del error de cuantizacin como ruido blanco uniformemente distribuido est dada por el Teorema de Cuantizacin de Widrow, pero nosotros no avanzaremos aqu ms lejos en este terreno. Definimos la razn seal/ruido [Signal to Noise Ratio, o SNR] de un sistema como la razn, expresada en decibeles, entre el valor RMS de la seal querida y el valor RMS del ruido:

x rms (5) erms dnde el valor RMS es la raz cuadrada de la potencia (promediada) de la seal. Denotando la potencia de la seal con Px y la potencia de el error con Pe podemos, aplicando una propiedad bsica de los logaritmos, rescribir (5) como: SNR = 20 log10
SNR = 10 log 10 Px Pe

(6)

La potencia del ruido de cuantizacin est dada por la varianza de la variable aleatoria continua asociada, y resulta ser: Pe = q2 1 2 e de = q 12 q / 2
q/2

(7)

Tomamos una sinusoide con amplitud 1 como seal deseada, esta seal tiene una potencia de: 1 Px = (8) 2

Poniendo las expresiones (7) y (8) en la ecuacin (6) obtenemos:


SNR = 10 log10 6 q2 (9)

Repetimos, esta ecuacin puede ser usada para calcular la SNR entre una sinusoide de amplitud unitaria [o sea, de amplitud 1] y el error de cuantizacin producido cuando cuantizamos esa sinusoide con un escaln de cuantizacin q. En esta discusin hemos usado un escaln de magnitud 0,1; esto se debi nicamente para poder presentar los principios de un modo sencillo. Las computadoras no representan nmeros usando dgitos decimales, sino que utilizan dgitos binarios ms conocidos como bits. Con b bits podemos representar 2b nmeros distintos. Como queremos que esos nmeros representen valores en el rango 1 y 1, podemos representar 2b-1 niveles de cuantizacin debajo de cero y 2b-1 arriba de cero. Sin embargo, no hemos representado todava el cero mismo. Para hacer esto robamos un bit del rango positivo, de manera que ahora podemos representar 2b-1 1 valores estrictamente positivos. El tamao del escaln es:

q=

1 2 b 1

(10)

Poniendo todo esto en su lugar estamos ahora en condiciones de calcular la SNR para una cuantizacin de la seal con b bits como:

SNR = 10 log10 (6 2 2b 2 ) y para un clculo rpido y aproximado

(11)

SNR 6 b

(12)

Esto nos dice que cada bit adicional aumenta la razn seal-ruido en 6dB. La frmula exacta da una SNR de aproximadamente 98dB para 16 bits y una SNR de 146dB para 24 bits (en comparacin con los 96dB y 144dB de la regla (12)). Tomar como seal de referencia una sinusoide de amplitud mxima es desde luego una suposicin muy optimista, porque se trata de una seal con una potencia muy alta su potencia es , y de ah que su valor de RMS sea 0.707... Probablemente usted est familiarizado con la nocin de niveles de RMS en decibeles: una sinusoide de amplitud 1 tiene un nivel de RMS de 3.01dB en esta notacin. Un nivel de RMS tan alto ocurrir solo raramente en la prctica. Por ello, en general esperaremos un valor algo ms bajo para seales usadas en la prctica. Una implicancia de esto es que cuando se graban seales de audio hay que hallar un compromiso entre el headroom y la SNR; especficamente, por cada 6dB de headroom se renuncia efectivamente a un bit de resolucin.

********************************************************************** Fuentes bibliogrficas: Robin Schmidt, DigitalSignals (archivo pdf), disponible en www.rs-met.com [ingls]

Vous aimerez peut-être aussi