Está en la página 1de 11

Diseo de un conversor A/D

Juan N. Zambrano C.1

Resumen

En el presente artculo se hace primero una introduccin a los convertidores ana-

lgico-digitales, luego se resalta la importancia del proceso de conversin en el mundo actual y la necesidad de hacerlo y ms adelante se presentan las deniciones ms importantes relacionadas con el tema y se muestran algunos clculos sencillos de las caractersticas de un convertidor A/D. Luego se muestra el diseo y la codicacin utilizada para hacerlo, seguidamente se hace el anlisis del convertidor diseado y se termina el artculo con un anlisis de error. Palabras clave Cuantizacin, niveles de cuantizacin, bits, resolucin del conversor, rango dinmico, Simulink, bloques.

Abstract
The present article starts with an introduction to the analog-todigital converters, highlighting the importance of the conversion process in the current world and the need to do it, then the most important denitions related to the topic are given and some simple calculations of the characteristics of an A/D converter are shown. Afterwards, the design and the codication of one of these are examined, followed by the analysis of the designed converter, and the article nishes with an error analysis. Keywords Quantication, quantication levels, bits, converter resolution, dynamic range, Simulink, blocks.

Universidad EAFIT, Medelln, jzambra3@eat.edu.co, juanchoza@gmail.com.

35

35

VINCULOS 7 book.indb 35

03/12/2008 05:10:48 p.m.

I + D

1. Introduccin
En el tratamiento con seales es conveniente, la mayora de las veces, expresar seales denidas en tiempo continuo (para todo instante), es decir anlogas, como seales en tiempo discreto, es decir digitales. Las primeras son llamadas as porque generalmente tienen la misma forma de onda de la variable fsica que representan; las segundas son cadenas de dgitos binarios que no se parecen a la forma de onda del fenmeno fsico y por tanto son llamadas no anlogas o digitales. Es importante aclarar que una seal anloga es continua en el dominio (tiempo) pero no necesariamente en el rango, ya que puede tener discontinuidades de tipo no evitable. De la misma forma, un sistema que recibe y genera seales anlogas se llama sistema anlogo, y un sistema que recibe y genera seales digitales es llamado sistema digital. Sin embargo, un sistema anlogo puede ser modelado como un sistema digital por conveniencia de anlisis y diseo, como es usual en sistemas de control. Veamos algunas diferencias entre las dos tcnicas (Chi-Tsong, 2006): Las seales digitales son codicadas en cadenas de dgitos binarios que representan niveles de voltaje. Este tipo de representacin es menos susceptible al ruido y a las corrientes parsitas de las fuentes de poder. La precisin de los sistemas y transductores anlogos es limitada, mientras que en los dispositivos digitales se puede incrementar simplemente aumentando el nmero de bits, lo que los hace ms precisos y ms conables. Los sistemas digitales son ms exibles y verstiles que los sistemas anlogos que, una vez construidos, no pueden ser modicados sin tener que reemplazar algunos componentes o el sistema completo. Los sistemas digitales se pueden

modicar, la mayora de las veces, por programacin. Debido al avance de la tecnologa VLSI (very-large-scale integration) los sistemas digitales son cada vez ms econmicos, aun para sistemas de control pequeos.

En la siguiente seccin denir algunos trminos necesarios en el proceso de diseo de un sistema que puede hacer la conversin de una seal anloga a una seal digital, al cual llamar de ahora en adelante conversor A/D. Luego mostrar grcamente la forma de una seal que ha sido digitalizada y nalmente har un anlisis del error que se presenta en el proceso.

2. Proceso de conversin
El conversor A/D consta bsicamente de tres etapas: el muestreo, la cuanticacin y la codicacin de la seal de salida para poderla visualizar. Veamos cmo se desarrolla cada una de ellas en nuestro diseo:

2.1 Muestreo
Cuando una seal continua entra al conversor para ser cuanticada, ste no puede tomar todos los valores de ella debido precisamente a su carcter continuo. Por ello debe tomar muestras de la funcin cada determinado tiempo, llamado periodo de muestreo, y debe ser denido por el usuario de acuerdo a las capacidades de software y hardware que posea. En nuestro caso utilizaremos periodos de muestreo uniforme aunque ello puede introducir ambigedad en la seal obtenida e impone una restriccin esencial: la mxima frecuencia analgica (ver teorema de Nyquist: Soria et al., 2003, p. 4) que podemos recuperar tras un muestreo de la seal 1 a F m (frecuencia de muestreo) es F max = 2 F m 1 donde F m = T , de donde:

36 36

DISEO DE UN CONVERSOR A/D

VINCULOS 7 book.indb 36

03/12/2008 05:10:48 p.m.

V N C U L O S
D I C I E M B R E D E 2 0 0 7 VOLUMEN 4 NMERO 1

max

1 2T

2.2 Cuanticacin
La cuanticacin se dene como la conversin de una seal en tiempo discreto con valores continuos en una seal en tiempo discreto con valores discretos (seal digital). El valor de cada muestra se representa mediante un valor seleccionado de un conjunto nito de valores (niveles de cuanticacin) (Soria et al., 2003). La cuanticacin es un proceso irreversible, no invertible, ya que siempre se produce una prdida de informacin. Tericamente esto se fundamenta en el hecho de que al existir un nmero discreto y nito de niveles para clasicar un conjunto continuo de valores, a diferentes valores continuos les corresponder la misma clase, es decir el mismo valor discreto, por lo que no se pueden obtener valores originales a partir de valores cuanticados. En el proceso de cuanticacin se debe tener en cuenta el rango de operacin ( V ) del conversor, tambin conocido como rango dinmico, el cual se calcula como:

Lo cual signica que un conversor de 4 bits, con un rango de 0 a 10 voltios, tendr 8 niveles de cuanticacin, es decir, a los innitos valores continuos en [0,10] slo se les podr asignar22 un nmero entero entre 0 y 7. Y dicho conversor tendr una resolucin de:

dv =

10 = 0.625voltios 16

Si consideramos que en nuestro caso la aproximacin se har por truncamiento, entonces el error mximo posible que se puede cometer se llama error por truncamiento y ser: etru < 0.625voltios El conversor slo reconocer valores de entrada que no excedan el rango dinmico del mismo. Cuando esto suceda la seal ser recortada y producir graves distorsiones, las cuales se conocen como ruido de sobrecarga. La calidad de la salida del conversor, que es la relacin seal-ruido de cuanticacin (SQNR, por sus siglas en ingls) (Soria et al., 2003), dene la relacin entre la potencia de la seal y la del ruido:

SQNR =

P P A

seal ruido

3 2n 22

V = Vmx Vmn
2

Igualmente se debe tener en cuenta el nmero de bits del conversor o longitud de palabra del sistema (n) y se puede denir el mximo nmero posible de niveles de cuanticacin como 2 n , representado por los enteros {0, 1, 2,, 2 n -1}:

seal

A, P 2

ruido

= 3 2 n para sinusoides

La calidad (dB):

SQNR (dB ) = 10log ( SQRN )


10

para sinusoides

SQNR(dB) = 1, 76 + 6, 02 n
mx

= 2n 1
La regla de los 6 dB: de la expresin anterior se deduce que cada bit adicional del

Luego la resolucin del cuanticador ser:

dv =

Si la asignacin del entero se hace por redondeo, se le asigna a cada muestra el entero ms cercano.

37

37

ZAMBRANO C.

VINCULOS 7 book.indb 37

03/12/2008 05:10:48 p.m.

I + D

Figura 1. Convertidor A/D.

conversor proporciona un aumento de unos 6 en la SQNR..

2.3 Codicacin
Para poder dibujar la seal digital a la salida del conversor es necesario expresar estos valores enteros en valores que recorran la misma escala de medida de la funcin original. Para ello multiplicamos el entero obtenido por la resolucin del conversor, es decir:

correspondiente a dicho voltaje. Se utiliz en User-Dened functions la opcin Embedded MATLAB Function (Ogata, 1996) para construir el bloque (gura 1). Dentro del instrucciones cual se escribieron las

discreto

= dv N i con i = 0,..., 2 n 1

function k = CONVER1(n, signal) dv=(10+10)/(2^n); k=0; while (signal> -10+(k+1)*dv) k=k+1; end que muestran claramente que este bloque acepta valores continuos entre -10 y 10. Pero si quisiramos dejar estos valores variables para adaptarlos a cualquier rango, modicamos el cdigo as: function k = CONVER1(n,signal,Vmax,Vmin) dv=(Vmax-Vmin)/(2^n); k=0; while (signal >Vmin+(k+1)*dv) k=k+1; end y el bloque de Simulink tomara la formaque se muestra en la gura 2.

En caso de que la funcin de entrada tome valores negativos, es necesario hacer una traslacin hacia abajo de la funcin de salida ya que todos los enteros utilizados para reconstruirla son positivos.

3. Diseo del convertidor


3.1 Una funcin cuanticadora
La primera parte del diseo se escribi utilizando Simulink, una funcin de dos entradas y una salida que acepta el nmero de bits del conversor y el voltaje a ser discreteado y entrega en la salida el entero

38 38

DISEO DE UN CONVERSOR A/D

VINCULOS 7 book.indb 38

03/12/2008 05:10:49 p.m.

V N C U L O S
D I C I E M B R E D E 2 0 0 7 VOLUMEN 4 NMERO 1

Figura 2. Convertidor A/D.

Cabe anotar que las cajas pequeas de la izquierda actan como las entradas del convertidor, que pueden ser ajustadas a gusto del usuario, y el display del lado derecho registra la salida del sistema.

Los comentarios dentro del cdigo han sido eliminados para invitar al lector a escribir sus propios programas, ya que stos se pueden construir de muchas formas. Incluso algunos comandos como while ya se encuentran en forma de bloques en Simulink. El convertidor queda esquematizado por el diagrama de bloque (gura 3). Como se ve el convertidor muestra cuatro entradas las cuales representan: 1. 2. 3. 4. Nmero de bits del convertidor. Voltaje mximo de operacin. Voltaje mnimo de operacin. Seal de entrada: cualquier seal continua cuyo rango est entre V mx y V mn . Cualquier valor que caiga fuera del rango dinmico ser recortado.

3.2 El convertidor
Para el diseo del convertidor analgico-digital se modic el cdigo anterior de tal forma que se pudieran visualizar las funciones de entrada y salida, lo mismo que el error y la resolucin del cuanticador. El cdigo modicado tom la forma: 1. function [y,dv,x] =
CONVERSOR(n,vmax,vmin,signal)

2. dv=(vmax-vmin)/(2^n); 3. k=0; 4. while (signal vmin+(k+1)*dv) k=k+1; end 5. y=k*dv+vmin; 6. x=signal-y;

Igualmente se aprecian tres dispositivos de salida: 1. Un osciloscopio en el que se visualizan la seal de entrada y la seal de salida.
ZAMBRANO C.

39

39

VINCULOS 7 book.indb 39

03/12/2008 05:10:49 p.m.

I + D

Figura 3. Convertidor A/D.

2. Un display en el que se registra la resolucin del cuanticador, el cual depende solamente del rango dinmico y del nmero de bits. 3. Un osciloscopio en el que se visualiza la seal de error. En la siguiente seccin se muestran y analizan los resultados de las pruebas realizadas al convertidor.

4. Anlisis del sistema


Veamos lo que sucede en la salida del conversor de la gura 3 cuando aplicamos un voltaje fuera de rango. Tomaremos:

V V

mn mx

=0 = 10

Entrada = 10sin( x), T = 0, 005, n = 5bits


El sistema se ve de la siguiente forma:

Figura 4. Convertidor A/D.

40 40
DISEO DE UN CONVERSOR A/D

VINCULOS 7 book.indb 40

03/12/2008 05:10:49 p.m.

V N C U L O S
D I C I E M B R E D E 2 0 0 7 VOLUMEN 4 NMERO 1

Grco 1. Entrada y salida del conversor.

En donde se observa en el display que la resolucin del conversor es

seales para ver el efecto de la cuanticacin (grco 2). Se observa mucho mejor si tomamos menos bits. Probemos con:

dv = 0,3125
y las seales de entrada y salida se ven como se muestra en el grco 1. Lo cual prueba que los datos por fuera del rango dinmico del conversor son recortados. Ahora veamos un poco ms de cerca las

V V

mn mx

= 10 = 10

Entrada = 10sin( x), T = 0, 005 n = 4bits

Grco 2. Entrada-salida (5 bits).

41
ZAMBRANO C.

41

VINCULOS 7 book.indb 41

03/12/2008 05:10:50 p.m.

I + D

Las seales de entrada y salida son:

Grco 3. Entrada-salida (4 bits).

Y veamos la diferencia con 3 bits:

Grco 4. Entrada-salida (3 bits).

42 42
DISEO DE UN CONVERSOR A/D

VINCULOS 7 book.indb 42

03/12/2008 05:10:50 p.m.

V N C U L O S
D I C I E M B R E D E 2 0 0 7 VOLUMEN 4 NMERO 1

Grco 5. Entrada-salida (3 bits / T=0.0005).

En todos los casos anteriores se ha utilizado un periodo de muestreo T=0,005. Si cambiramos dicho tiempo, ni los niveles de cuanticacin ni la resolucin del convertidor cambiaran, solamente cambiara el nmero de muestras tomadas de la seal de entrada y as podra verse ms suave su funcin. Veamos el grco anterior con T=0.0005.

truncamiento porque cada valor se aproxima al digito inferior. Ahora veamos cmo se calcula y visualiza dicho error. Denimos el error como la diferencia entre la seal de entrada y la salida cuanticada:

x = signal y de la gura 4.
El error para un convertidor de 4 bits, con signal = 10sin( x), V mn = 10vol y V mx = 10vol se observa en el grco 6.

5. Error
En la seccin 2 se trataron algunas cosas acerca del error, que en nuestro caso se llam de

Grco 6. Error para 4 bits, V = 20 .

43
ZAMBRANO C.

43

VINCULOS 7 book.indb 43

03/12/2008 05:10:50 p.m.

I + D

Figura 5. Conversor A/D.

Como se nota en la gura el error es una funcin cuyo rango es (0125) donde 1.25 es precisamente el valor que se observa en el display cuando se hace la simulacin. Esto es porque:

dv = resolucin del conversor =

20 = 1.25 24

se explic en la seccin 2. Esto nos muestra que al aumentar el nmero de bits, disminuye la probabilidad de error y viceversa. Veamos una simulacin para signal = 5 sin( x) , = 5vol y mx = 5vol con un convermn sor de 8 bits (gura 5).

Es precisamente el error mximo que se tiene cuando se hace el proceso de conversin, como

En la gura 5 se nota que la resolucin del convertidor es 0,03906. La funcin de error se muestra en el grco 7.

Grco 7. Error para conversin de la gura 5.

44 44
DISEO DE UN CONVERSOR A/D

VINCULOS 7 book.indb 44

03/12/2008 05:10:51 p.m.

V N C U L O S
D I C I E M B R E D E 2 0 0 7 VOLUMEN 4 NMERO 1

Como se observa ste coincide con el valor lmite establecido en la gura anterior. Estos resultados muestran que el error se distribuye uniformemente desde 0 hasta dv (grco supra): Cuyo valor esperado es

3. En el diseo de convertidores el tiempo de muestreo no afecta la resolucin del convertidor; como se logr ver, sta depende solamente del nmero de bits. 4. Aqu se analiz la distribucin del error utilizando el truncamiento, pero es fcil ver que si se utiliza el redondeo la distribucin de probabilidad del error es la misma obtenida ac: con

E (e) =
con una varianza

dv 2

2 = V (e) =

(dv) 2 12

E (e) = 0 y V (e) =

(dv) 2 12

6. Conclusiones y sugerencias
1. Se ha mostrado una metodologa muy prctica en el diseo de convertidores A/D, como el uso de Simulink a manera de alternativa a los procesos de programacin y simulacin de sistemas. 2. Se recomienda ahondar en el uso de esta herramienta (Simulink) ya que se puede programar utilizando ms el sistema de bloques, que an no conocemos muy bien, pero que con la prctica y el estudio podremos dominar.

5. En el diseo de convertidores, el nmero de bits (n) est estrechamente ligado al error; estas dos cantidades varan en forma inversa.

Bibliografa
Chi-Tsong, C. (2006). Analog & Digital Control System Design. Transfer-function, Statespace & Algebraic Methods. State University of New York at Stony Brook. Ogata, K. (1996). Sistemas de control en tiempo discreto. Pearson educacin. Soria, E. et al. (2003). Tratamiento digital de seales. Pearson-Prentice Hall.

45
ZAMBRANO C.

45

VINCULOS 7 book.indb 45

03/12/2008 05:10:51 p.m.

También podría gustarte