Control Digital - Reconstruccion de Señal
Control Digital - Reconstruccion de Señal
Control Digital - Reconstruccion de Señal
CONTROL DIGITAL
PRACTICA 1
RECONSTRUCTOR DE SENAL
ADAN EDUARDO HUERTA NIETO JOSE EDUARDO ACOSTA BANDA JOSE SAUL PEREZ RICO
Contenido
INTRODUCCION ......................................................................................................................... 3 OBJETIVO .................................................................................................................................... 5 DESARROLLO ............................................................................................................................. 5 DIAGRAMA DE FLUJO ........................................................................................................... 6 CODIGO GENERADO EN ENSAMBLADOR.......................................................................... 6 DIAGRAMA COMPLETO ...................................................................................................... 11 RESULTADOS DE LA SIMULACION ................................................................................... 12 RESULTADOS DE LABORATORIO ..................................................................................... 16
INTRODUCCION
El muestreo digital es una de las partes que intervienen en la digitalizacin de las seales. Consiste en tomar muestras peridicas de la amplitud de una seal analgica, siendo el intervalo entre las muestras constante. El ritmo de este muestreo, se denomina frecuencia o tasa de muestreo y determina el nmero de muestras que se toman en un intervalo de tiempo. El muestreo est basado en el Teorema de Muestras, que es la base de la representacin discreta de una seal continua en banda limitada. Es til en la digitalizacin de seales (y por consiguiente en las telecomunicaciones) y en la codificacin del sonido en formato digital. Independientemente del uso final, el error total de las muestras ser igual al error total del sistema de adquisicin y conversin ms los errores aadidos por el ordenador o cualquier sistema digital. Para dispositivos incrementales, tales como motores paso a paso y conmutadores, el error medio de los datos muestreados no es tan importante como para los dispositivos que requieren seales de control continuas. Un parte importante del muestreo de seal digital es considerar el teorema de de muestreo de Nyquist-Shannon, tambin conocido como teorema de muestreo de Whittaker-Nyquist-Kotelnikov-Shannon, criterio de Nyquist o teorema de Nyquist , es un teorema fundamental de la teora de la informacin, de especial inters en las telecomunicaciones. Este teorema fue formulado en forma de conjetura por primera vez por Harry Nyquist en 1928 (Certaintopics in telegraphtransmissiontheory), y fue demostrado formalmente por Claude E. Shannon en 1949 (Communication in thepresence of noise). El teorema trata con el muestreo, que no debe ser confundido o asociado con la cuantificacin, proceso que sigue al de muestreo en la digitalizacin de una seal y que, al contrario del muestreo, no es reversible (se produce una prdida de informacin en el proceso de cuantificacin, incluso en el caso ideal terico, que se traduce en una distorsin conocida como error o ruido de cuantificacin y que establece un lmite terico superior a la relacin seal-ruido). Dicho de otro modo, desde el punto de vista del teorema, las muestras discretas de una seal son valores exactos que an no han sufrido redondeo o truncamiento alguno sobre una precisin determinada, esto es, an no han sido cuantificadas. El teorema demuestra que la reconstruccin exacta de una seal peridica continua en banda base a partir de sus muestras, es matemticamente posible si la seal est limitada en banda y la tasa de muestreo es superior al doble de su ancho de banda.
Dicho de otro modo, la informacin completa de la seal analgica original que cumple el criterio anterior est descrita por la serie total de muestras que resultaron del proceso de muestreo. No hay nada, por tanto, de la evolucin de la seal entre muestras que no est perfectamente definido por la serie total de muestras. Si la frecuencia ms alta contenida en una seal analgica es y
la seal se muestrea a una tasa , entonces se puede recuperar totalmente a partir de sus muestras mediante la siguiente funcin de interpolacin:
Ejemplo de reconstruccin de una seal de 14,7 kHz (lnea gris discontinua) con slo cinco muestras. Cada ciclo se compone de slo 3 muestras a 44100 muestras por segundo. La reconstruccin terica resulta de la suma ponderada de la funcin de interpolacin g(t) y sus versiones correspondientes desplazadas en el tiempo g(t-nT) con , donde los coeficientes de ponderacin son las muestras x(n). En esta imagen cada funcin de interpolacin est representada con un color (en total, cinco) y estn ponderadas al valor de su correspondiente muestra (el mximo de cada funcin pasa por un punto azul que representa la muestra). As, se puede expresar como:
donde
Hay que notar que el concepto de ancho de banda no necesariamente es sinnimo del valor de la frecuencia ms alta en la seal de inters. A las seales para las cuales esto s es cierto se les llama seales de banda base, y no todas las seales comparten tal caracterstica (por ejemplo, las ondas de radio en frecuencia modulada). Si el criterio no es satisfecho, existirn frecuencias cuyo muestreo coincide con otras (el llamado aliasing).
OBJETIVO
Muestrear una seal analgica con el modulo convertidor anlogo-digital (ADC) de un microprocesador y esta misma seal reconstruirla sin modificaciones a travs de un modulo digital-analgico (DAC), en esta seal reconstruida podremos observar el efecto de digitalizacin y el desfase producido por el la lectura de la seal analgica y la escritura analgica.
DESARROLLO
Para nuestra practica utilizaremos un microprocesador de Microchip ,el 16f877A, con el programa niplesoft para disear el cdigo. El DAC utilizado es el DAC0800 y el programa compilador es Mplab de Microchip.
DIAGRAMA DE FLUJO
;------------------------------------------------------------
LIST
P=PIC16F877A
equ 0x3FFE equ 0x3FFF equ 0x3FFB equ 0x3FF7 equ 0x3FBF equ 0x3F7F equ 0x3FFF equ 0x3FFF equ 0x3DFF
_WRT_ENABLE_OFF
__config _HS_OSC & _DEBUG_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_ENABLE_OFF & _CP_OFF
;-----------------------------------------------------------wequ 0x0000 statusequ 0x0003 portbequ 0x0006 pclathequ 0x000a adreshequ 0x001e adcon0 resulequ 0x0021 _np_temp1 trisaequ 0x0085 trisbequ 0x0086 triseequ 0x0089 equ 0x0022 equ 0x001f
adcon1
equ 0x009f
;-----------------------------------------------------------adfmequ 7 ; adonequ 0 ; cequ 0 ;carry / borrow bit go_doneequ 2 ; rp0equ 5 ;registrer bank select bit rp1equ 6 ;registrer bank select bit zequ 2 ;bit cero
;-----------------------------------------------------------; Inicio
;------------------------------------------------------------
;-----------------------------------------------------------paso2 movlw b'00000000' bsf status,rp0 ;configurar el puerto e como xxxxxsss ;cambiar a banco 1
bcf status,rp1 movwf trise movlw b'00000001' movwf trisa movlw b'10001110' movwf adcon1 movlw b'00000000' movwftrisb bcf status,rp0 bsf adcon0,adon paso5 movlw b'10000001' movwf adcon0 bsf status,rp0 bcf adcon1,adfm bcf status,rp0 callleer_ad movfadresh,w movwfresul ;escribir en el puerto b movfresul,w movwfportb goto paso5 ;cierra el ciclo ;cambiar a banco 1 ;alinear el resultado a la izquierda ;cambiar a banco 0 ;conversin ;cambiar a banco 0 ;activar activar el conversor a/d. ;configurar el puerto b como ssssssss ;configuracion a/d = ddddddda ;configurar el puerto a como xxsssssa
;------------------------------------------------------------
Declaracin de Subrutinas
;------------------------------------------------------------
leer_ad ;realizarconversion a/d movlw .200 movwf _np_temp1 leer_ad_esperar decfsz _np_temp1,1 gotoleer_ad_esperar bsf adcon0,go_done nop nop leer_ad_esperar_fin btfsc adcon0,go_done gotoleer_ad_esperar_fin return
End
DIAGRAMA COMPLETO
RESULTADOS DE LA SIMULACION
Durante la simulacin observamos que al aplicrsele un a frecuencia muy baja, en este caso 10KHz, la seal reconstruida no se ve muy afectada por el retraso en el procesamiento de seal.
Al aumentar la frecuencia de la seal de entrada a 10Hz se observa mejor como la seal reconstruida se empieza a escalonar efecto producido por el retraso en el procesamiento del microcontrolador, aunque la seal se muestreo es la misma.
Al aumentar la frecuencia de la seal de entrada se observa como se empieza a deformar la seal reconstruida por el tiempo que tarda el microcontrolador en procesar la seal, este tiempo se pudo medir como 140 microsegundos, al parecer puede ser muy poco tiempo pero al ir incrementado la frecuencia de la seal muestreada esto comienza a ser un problema al reconstruir la seal a travez del microcontrolador. Pero aun asi cumple con el teorema de muestreo de Nyquist y se puede reconstruir la seal.
Al aumentar la frecuencia a 2.1 KHz se observa que la seal de salida se sale de los criterios de muestreo con lo cual no puede ser reconstruida y nos producira el efecto aliasing en el cual al tratar de reconstruirla estaramos obteniendo otra frecuencia que no es la que realmente la original.
RESULTADOS DE LABORATORIO
Se puede observar que al muestrear una frecuencia de 120Hz, la onda reconstruida no se ve muya afectada por el retraso producido por el procesamiento.
CONCLUSION
Se pudo reforzar el hecho de que cuando se va a realizar un control digital el muestreo debe de ser el apropiado para el sistema en cuestin de velocidad y resolucin, en nuestra practica observamos que al tener una resolucin baja (8 bits) nuestra seal reconstruida se presentaba escalonada por el retardo en la lectura y escritura, a pesar de que se estaba leyendo una seal de baja frecuencia comparada con la velocidad del microcontrolador y al ir aumentando la frecuencia de la seal esta se iba distorsionando cada vez ms.