Vous êtes sur la page 1sur 6

CONVERSORES ADC/DAC Y FILTRO DIGITAL

Cristian David Mrquez Pidiache, David Felipe Nez Herrera, Johann Santiago Nio Medina
David.Nunez@uptc.edu.co, Cristian.Marquez@uptc.edu.co, Johann.Nino@uptc.edu.co
Universidad Pedaggica y Tecnolgica de Colombia, Faculta de Ingeniera, Escuela Ingeniera electrnica.

Resumen: El propsito de esta prctica es

lograr dar
comparacin a tipos de filtros, en los cuales se estudiaran los tipos
de conversiones tanto ADC (analog to digital converter) Y DAC
(digital to analogic converter) analizando su estructura interna, los
cuales se pondrn en prctica usndolos en un filtro de tipo FIR.
El filtro opera entre seales digitales. El cual toma una secuencia
de nmeros (seal de entrada), y la modifica produciendo otra
secuencia de nmeros (seal de salida) claro est que dejando atrs
ciertas caractersticas. Este filtro ser realizado con ayuda de
elementos como Digital Filter Design de Matlab y la descripcin de
hardware VHDL. Ms que hacer uso de los tipos de adc y dac, un
propsito clave de la prctica es comparar los filtros, que en este
caso especficamente un filtro pasa bajas de orden 10 y con unas
frecuencias de paso, corte y muestreo; que se establecern ms
adelante. Se realizara una seal de entrada que nos permitir
evaluar el desempeo del filtro, de tal manera poder concluir que
ocurre con el filtro si se modifica el parmetro de frecuencia de
muestreo.

Figura 2. Seal de salida (azul) con respecto a seal de entrada


(amarilla) a 1khz de frecuencia.

Palabras clave: ADC, DAC, filtro digital, FIR, frecuencia de


muestreo, pasabajas, seal.

I.

CONVERSIN ADC/DAC DE UNA SEAL


SENOIDAL

Implementar el siguiente circuito del siguiente diagrama de


bloques.

Figura 3. Seal de salida (azul) con respecto a seal de entrada


(amarilla) a 5khz de frecuencia.

Figura 1. Conversin adc/dac.

Para la primera parte del desarrollo del laboratorio, se busca


verificar el correcto funcionamiento de los conversores ADC y
DAC, implementados para la prctica. El montaje realizado de
estos conversores es el mostrado en la figura 1. Para ello, a la
entrada del ADC se aplica una seal senoidal; adems se vara
la frecuencia con los valores de 1KHZ, 5KHZ, 10KHZ cada una
con una amplitud de 1v respectivamente.
A continuacin se ilustran las figuras para cada uno de los casos
mencionados anteriormente.

Figura 4. Seal de salida (azul) con respecto a seal de entrada


(amarilla) a 10khz de frecuencia.


De la figura 6. Tenemos la seal de salida con respecto
a la entrada, con la mxima frecuencia de la seal de entrada.
Esta frecuencia de operacin del DAC se estableci a 300KHZ,
que es donde la seal de entrada es reconstruida por el DAC.
Sin embargo se alcanzan a percibir unas pequeas fluctuaciones
y deformaciones de la seal de salida (azul). Esto ltimo debido
a efectos de ruido producidos por la circuitera del montaje del
ADC/DAC, as como de interferencias provenientes de la
fuente de alimentacin.

III.

FILTRO DIGITAL TIPO FIR

A. DESARROLLO FILTRO DIGITAL


Figura 5. Seal de salida (azul) con respecto a seal de entrada
(amarilla) a 10khz de frecuencia. Para este caso se aument la
velocidad de muestreo (Fs).

Disear e implementar en la herramienta digital Filter Design


de Matlab con los siguientes parmetros de diseo.

Tipo de Filtro: Pasabajas


Orden del Filtro. 10
Frecuencia de Paso(Fp): 60HZ
Frecuencia de Corte(Fc): 1KHZ
Frecuencia de Muestreo(Fs):10KHZ

Figura 6. Seal de salida (azul) con respecto a seal de entrada


(amarilla). Al mximo de frecuencia de muestreo del ADC.

II.

ANALISIS
DE
RESULTADOS
DE
CONVERSIN ADC/DAC DE UNA SEAL
SENOIDAL

A.

Qu se concluye de estos resultados?


Como bien se alcanza a apreciar en las figuras 2, 3,4 y
5. Cuando se cambia la frecuencia del ADC la seal se
torna o ms perfecta o con algunas deformaciones
dependiendo de la frecuencia aplicada. En la figura 4
y 5 estamos observando el mismo comportamiento
solo que la frecuencia de muestreo en la figura 5 se
aument para diferenciar esos escalones que se
obtienen de la seal de salida.

B.

Cul es la frecuencia mxima de la seal sinodal de


entrada para que la seal de salida sea reconstruida
correctamente mediante el DAC?

Figura 7. Parmetros de filtro a implementar en la herramienta


Matlab.
Luego de haber generado el filtro, la misma herramienta de
Matlab nos facilita el cdigo en VHDL para ser implementado
en la FPGA DE1 de altera. El tipo de filtro descrito es un filtro
tipo FIR.

Figura 8. Esquema de filtro pasabajas tipo FIR.


La parte rotulada con 1 de la figura 8, corresponde al siguiente
codigo generado:

Figura 12: Diagrama de bloques implementacion de filtro

B.

Figura 9. Registro de desplazamiento del filtro tipo FIR en


VHDL.
La parte rotulada con 2 de la figura 8, corresponde al siguiente
codigo generado:

ANALISIS DE RESULTADOS FILTRO DIGITAL

Luego de haber implementado el filtro en la FPGA y haber


conectado adecuadamente la salida del ADC a las entradas de
la FPGA, asi como las salidas de la FPGA a las entradas del
DAC se procedio a verificar en el osciloscopio las seales de
salida con respecto a las de entrada.
A continuacion se muestran cada una de las graficas obtenidas,
graficas a las que se les har su correspondiente analisis.

Figura 10: Bloque de multiplicacion de coeficientes por seal


de entrada.
La parte rotulada con 3 de la figura 8, corresponde al siguiente
codigo generado:

Figura 13: Seal de entrada al ADC, que pasa por el


filtro implementado en FPGA, para luego pasar por el
DAC, seal de salida (azul). Frecuencia de seal 60Hz.

Figura 11: Bloque sumador de los productos de la figura 10.

Figura 14: Seal de entrada al ADC, que pasa por el


filtro implementado en FPGA, para luego pasar por el
DAC, seal de salida (azul). Frecuencia de seal 500Hz.

Para comprobar el correcto funcionamiento del filtro, este


se hace funcionar bajo diferentes frecuencias, tal como se
describe en el diagrama de bloques de la figura 12, se
comienza analizando la figura 13, en esta figura se
observa la seal de entrada (amarilla) para el mejor
entendimiento del informe se va siempre a trabajar como
seal de entrada la grfica de color amarillo- y la seal de
salida, todo esto operando a una frecuencia de 60Hz que
son visibles en la imagen tomada del osciloscopio. Lo que
vemos es que la seal alcanza a pasar filtrada casi por
completo debido a que se encuentra dentro de la
frecuencia de paso que fue establecida a 60Hz; luego si
nos pasamos a la siguiente figura, la figura 14, notamos
que si aumentamos esta frecuencia a 500Hz la salida
empezara a atenuarse poco a poco hasta superar la
frecuencia de corte del filtro, que inicialmente fue
propuesta como 1kHz.
Siguiendo con el anlisis de las grficas, en la figura 15
se ve como la seal ya un poco imperfecta empieza a
atenuarse cada vez ms, ya que est en el lmite de la
frecuencia de corte. Ahora, si nos fijamos en la figura 16,
la seal de salida est casi que completamente atenuada,
ya que esta supero la frecuencia de corte del filtro (1 kHz)
debido a que la frecuencia para este caso est de 10kHz.

C.

Figura 15: Seal de entrada al ADC, que pasa por el


filtro implementado en FPGA, para luego pasar por el
DAC, seal de salida (azul). Frecuencia de seal 1kHz.

Resultados de herramienta Simulink

Como parte del procedimiento estndar para cualquier prctica


de laboratorio, en este caso, de antemano, se hicieron las
correspondientes simulaciones del filtro que se deseaba
implementar. Para ello, se us la herramienta Simulink de
Matlab, la cual nos brinda la posibilidad de ver los resultados
que se esperan obtener cuando se haya implantado el filtro en la
FPGA.
A continuacin se muestran los resultados que arroja la
herramienta de software Simulink, cada una de estas
simulaciones con los mismos parmetros que las hechas en la
prctica, resaltando as, que efectivamente el filtro ha cumplido
su finalidad con los parmetros inicialmente propuestos.

Figura 17. Seal a 60Hz

Figura 16: Seal de entrada al ADC, que pasa por el


filtro implementado en FPGA, para luego pasar por el
DAC, seal de salida (azul). Frecuencia de seal 10kHz.
Figura 18. Seal a 500Hz

Mdulo de retardo: es el encargado de guardar hasta M1valores anteriores de la seal de entrada y el valor actual de la
seal. Cada vez que llega un nuevo dato, se realiza una
actualizacin de las posiciones.

Figura 19. Seal a 1kHz

Mdulo multiplicador: es el encargado de multiplicar los


valores digitales de los coeficientes h(n) con los valores
digitales de la seal de entrada y sus respectivos retardos.
Mdulo sumador: se encarga de realizar la suma de las
multiplicaciones entre h (k) y las seales x(n-k).
Asignacin de Recursos

Figura 20. Seal a 10kHz


Tal como se obtuvo en las simulaciones con la herramienta
Simulink las pruebas en la prctica concuerda con lo que se
deseaba obtener, podemos entonces comparar la figura 13, con
lo obtenido en la figura 17, la figura 14, con la 18, la 15 con la
19 y por ltimo la 16 con la 20. Como bien se aprecia las
grficas concuerdan mucho entre s, otro motivo a celebrar el
buen funcionamiento del filtro implementado.

Mdulo de retardo:
Se utiliza un nmero de flip-flops igual a la longitud del filtro
conectados en cascada, de tal forma que cada vez que se tenga
un pulso de reloj (relacionado con la llegada de un nuevo dato),
el valor de la posicin i pase a la posicin i-1 , tal y como se
presenta en la Figura 22.

D. ANALISIS DE RECURSOS UTILIZADOS EN


LA IMPLEMENTACIN EN FPGA
Para entender un poco el resultado obtenido de los recursos es
necesario primero analizar un poco ms a detalle la arquitectura
del filtro tipo FIR pasa bajos.

Figura 22: Flipflops modulo de retardo de filtro


A continuacin se ilustran entonces los datos de recursos
utilizados, estos datos obtenidos de la herramienta de software
de TimeQuest time analyzer de Quartus.

Figura 21: Bloques de filtro tipo FIR.


Hablar de la arquitectura de un filtro FIR consiste en representar
de forma modular cada una de las partes que componen la
realizacin del filtro y asignarle a cada mdulo los recursos
hardware que se necesiten.
En la figura 21 tenemos entonces cada una de esas partes que
componen el filtro, partes que sern descritas ms a detalle:

Entrada
filter_out[0]
filter_out[1]
filter_out[2]
filter_out[3]
filter_out[4]
filter_out[5]
filter_out[6]
filter_out[7]

clk
clk
clk
clk
clk
clk
clk
clk

Tabla 1: Recursos usados.

4.062ns
3.923ns
3.940ns
4.032ns
3.915ns
4.002ns
3.933ns
4.059ns

Universidade Federal do Rio Grande do Sul. Publicado en: Memorias X


Workshop Iberchip, 2004.

IV.

CONCLUSIONES

Con el desarrollo de la prctica en primer lugar se comprob de


manera satisfactoria el desempeo y funcin que cumplen los
conversores ADC y DAC, tal como se ilustra en los resultados
que se obtuvieron en la primera parte de la prctica. Se observ
cmo al tener una seal anloga de entrada de un ADC y luego
de este llevada a un DAC, la seal de salida es casi idntica a la
seal de entrada, y con casi idntica se hace referencia a que en
muchas ocasiones la seal de salida del DAC presenta
malformaciones o algn tipo de ruido, este ltimo producido en
parte por la circuitera, la fuente de alimentacin, pero ms
importarte aun, por el pulso de reloj que se usaba, un pulso
proveniente de un circuito integrado 555, que como bien se sabe
es un integrado que nos puede llegar a ser til para muchas
aplicaciones, dada su facilidad de adquisicin pero en
yuxtaposicin a ello pueda que el resultado final no sea el
ptimo y mucho ms cuando estamos trabajando este tipo de
seales en este tipo de implementacin de filtros.
Por otra parte, para la implementacin del filtro, como era de
esperarse, se intuy que los resultados arrojados por la
herramienta de simulacin de filtros debido a la naturaleza ideal
de los sistemas de simulacin los resultados iban a ser perfectos,
pero que como se vena mencionando, en la prctica cambia a
gran escala, pues no se tiene control de variables externas a los
recursos utilizados para la implementacin del filtro. Pese a las
dificultades de precisin y de ruido, se logr identificar
plenamente el funcionamiento del filtro que se deseaba estudiar,
en primer lugar estableciendo unos parmetros del filtro, para
luego ser implementado en el lenguaje de descripcin de
hardware VHDL y as llevar a cabo el funcionamiento del
sistema. Todo concurri muy bien, segn los resultados
obtenidos y anteriormente expuestos, adems gracias a las
herramientas de software disponibles se lleg a conseguir el
anlisis de los recursos utilizados en la implementacin del
filtro en la FPGA.

V.

REFERENCIAS

[1] pardo, Fernando; boluda, Jos. Vhdl lenguaje para sntesis y modelado de
circuitos. Alfaomega grupo editor. pg. 238.
[2] Smith, j. o. ntroduction to digital filters with audio applications",
http://ccrmawww.stanford.edu/ jos/filters/
[3] J. G., Proakis, Dimitri g. manolakis. Tratamiento digital de seales. Prentice
hall, 1997.
[4] Samuel Stearms, Ruth A. David. Signal procesing algoritms. Prentice Hall,
1997.
[5] Smith DJ. HDL Chip Design. A practical guide for designing, synthesizing
and simulating ASICs and FPGAs
using VHDL or Verilog. 1998
[6] Ballesteros DM. Reduccin de ruido en seales ECG utilizando filtros
wavelet. Publicado en: Memorias II
Congreso Internacional de la Regin Andina IEEE, 2002.
[7] Silva S, Panato A. Implementacao em FPGA de um multiplicador de ponto
flutante com pipeline profundo.

[8] Vaidyanathan, P. P.,Multirate Systems and Filter Banks, Signal processing


series, Prentice Hall, New Jersey, U.S.A, 119-120 (1993)
[9] Vesma, J., y Saramaki T., Design and properties of polynomial-based
fractional delay filters, Proc. IEEE Int. Symp. Circuits and Systems, 104-107,
Geneva, Switzerland, May 28-31 (2000)
[10] Vesma, J., y Saramaki T., Optimization and efficient implementation of
FIR filters with adjustable fractional delay, Proc. IEEE Int. Symp. Circuits and
Systems, 2256-2259, Hong Kong, Japan, June 8-12 (1997).

Vous aimerez peut-être aussi