lunes, mayo 19, 2014

Entendiendo los... Osciloscopios (II): submuestreo y sobremuestreo

En la entrada anterior puse de manifiesto que un osciloscopio tenía que tener al menos un ancho de banda 10 veces menor que la velocidad de muestreo... Bueno, pues mentí. Al menos en parte, ya que existe una técnica para aumentar el ancho de banda permitido incluso por encima de la frecuencia de corte del teorema de Nyquist: el submuestreo.

Problema de submuestreo
Problema de submuestreo
 Imaginemos que tenemos una frecuencia de muestreo de 1GSa/s y muestreamos una señal periodica de 1GHz, tendríamos una serie de puntos todos a la misma altura. Pero no nos quedamos ahí. Si volvemos a muestrear la señal con el reloj un poco desfasado tendremos otra serie de puntos a distinta altura, repitiendo el proceso y desfasando el reloj cada vez más podemos volver a reconstruir la señal original... Ingenioso, ¿verdad?

1er ciclo
1er ciclo

2º ciclo
2º ciclo
...
Suma de los 4 ciclos
Suma de los 4 ciclos


La ventaja está muy clara: podemos aumentar el ancho de banda más allá de las restricciones puestas por el teorema de Nyquist.

Ahora bien, esta técnica tiene algunos inconvenientes que no son despreciables:
  • En primer lugar la técnica requiere que tengamos una señal periódica, por lo que no podremos ver los transitorios rápidos que generalmente es lo que nos interesa ver con un osciloscopio: no se podrá usar la opción de un sólo disparo porque esta sí está limitada por la frecuencia de Nysquit. Sólo por este motivo la mayoría de los osciloscopios no la usan.
  • Otros inconvenientes son de tipo constructivo: hay que tener un control bastante preciso del reloj y de la fase de este con respecto a la señal de interés, y los ruidos en este circuito fastidian bastante.

A título personal, yo he usado un Promax que trabajaba así hasta que me canse de que me "ocultara" las medidas y quedó cogiendo polvo en una estantería (todavía está).

En el caso contrario, podemos tener un sobremuestreo es decir  tener una velocidad de muestreo muy superior al ancho de banda que queremos conseguir. Con esto se obtienen las siguientes ventajas:
  • El filtro antialiasing puede ser de orden menor (y por lo tanto más barato) ya que la frecuencia de Nyquist es mucho mayor, luego de forma digital se puede implementar un filtro mas estricto.
  • Se reduce la distorsión producida por por los conversores D/A al reducir el espacio entre muestras.
  • También podemos promediar varias muestras con lo que conseguiríamos: por un lado tener una mayor protección contra el ruido ya que parte de la banda tendrá ruido incorrelado con la señal y se cancelara, y además podríamos aumentar la resolución de tal forma que cada vez que doblaramos el número de muestras a promediar obtendríamos 1/2 bit más, de esta forma con X muestras para promediar conseguiríamos n bits extras según la fórmula:
    $$ n[bits]= \frac{log_2 {X [número de muestras]}}{2} $$
    Es decir para conseguir 4 bits más de resolución necesitaremos promediar 256 muestras recogidas del conversor A/D por cada muestra enviada a la pantalla.

Señal con sobremuesteo
Señal con sobremuesteo


La desventajas de realizar un sobremuestreo son:
  • El conversor A/D debe ser mucho más rápido que el necesario para una conversión a la frecuencia de Nyquist.
  • Necesitamos una memoria grande y rápida para guardar los datos lo cual es más cara.
  • Necesitamos que la recepción y procesado de datos sea más rápido lo cual implica circuitos digitales más caros. 
  • Sólo sirve para subir unos pocos bits ya que cada bit de resolución más es necesario multiplicar por 4 la velocidad de muestreo.

Sin embargo, estas desventajas son salvables:
  • Por un lado, suele ser más sencillo encontrar un ADC de alta velocidad y baja resolución que uno de menor velocidad y mayor resolución (en proporción).
  • Además podemos elegir cuando utilizar el sobremuestreo para dar más resolución, como por ejemplo cuando se activa el filtro de 20MHz que muchos osciloscopios modernos llevan implementado (fue un ancho de banda habitual en los osciloscopios analógicos). Haciendo un cálculo rápido, con 1GSa/s y 20MHz de ancho de banda son 50 muestras por ciclo, es decir, podríamos aumentar la resolución 2.82bits:2 bits y el resto como protección contra el ruido o si aceptamos una pequeña degradación de el bit de menor peso 3bits.
  •  Podemos repartir las muestras entre varias memorias que trabajen en paralelo, y a partir de aquí realizar el procesado de las muestras en paralelo (si una cosa hacen bien las FPGAs es el trabajo en paralelo), una vez hecho el procesado de las muestras se pueden promediar y trabajar a velocidad "normal".

Como se puede ver las ventajas del sobremuestro son muchas y los obstáculos no son insalvables, así que ¿por qué no se utiliza más?... La respuesta es sencilla: no es necesario (al menos en osciloscopios), me explico: imaginemos que en la pantalla tenemos 1V en vertical entre extremos de la pantalla (ver figura)


Con 10 bits tendríamos 1024 divisiones que mostrar una resolución de aproximadamente 1mV (0.98mV), que para una pantalla de 10cm de altura nos daría una distancia entre puntos de 0.1mm (0.098mm). Vale, pero ¿qué pasa si queremos hacer zoom en una parte de la señal? Pues que para eso tenemos un amplificador a la entrada que nos aplica una ganancia variable ("zoom analógico"), además podemos multiplicar algo la señal digital, con un factor x10 tendríamos una distancia vertical de 1mm ("zoom digital"). Además los conversores A/D rápidos y de mayor resolución están cada vez más  baratos y siempre se pueden realizar técnicas de multiplexado para trabajar con varios conversores más lentos pero de mayor resolución. Por otro lado esta técnica sólo sirve para ganar unos pocos bits ya que por cada uno de ellos hay que multiplicar el número de muestras necesarias por 4.

Ojo te dicho que en osciloscopios esta técnica no se suele usar, pero sí en otros aparatos de medida: los multímetros. Un multímetro baratito tiene como mínimo 3 dígitos (000-999), para esto son necesarios 10bits de resolución más signo (11bits). Para 4 dígitos (0000-9999) son necesarios 14bits más signo. Para 5 dígitos son necesarios 17bits más signo....

Pero no sólo eso sino que para 10bits necesitamos unos componentes de 1%, para que el error sea menor que 1 LSB. Con 14 necesitamos componentes del 0,1%, etc.
Un multimetro de de banco se va a los 5-6 dígitos tranquilamente con un ancho de banda de unos pocos kHz, así que cualquier técnica que ayude a bajar el coste es bienvenida.

S2

Ranganok Schahzaman

No hay comentarios: