Você está na página 1de 24

DISEO E IMPLEMENTACIN DE UN ELECTROCARDIOGRAMA UTILIZANDO UN DSPIC

FERNANDO PEZ PEREZ Paezfernando22@hotmail.com

PRESENTADO A: Ing. CARLOS ALBERTO VERA ROMERO

GRUPO A

UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERAS Y ARQUITECTURA PROGRAMA DE INGENIERA ELECTRNICA PAMPLONA N. S. COLOMBIA JUNIO 2010

INTRODUCCIN

A continuacin, se da una visin sobre el diseo e implementacin de un electrocardiograma (ECG) basado en un procesador digital de seales (PDS), resaltando sus principales caractersticas y resultados obtenidos. El dispositivo implementado se encarga de tomar las seales provenientes de la superficie corporal, amplificarla, acondicionarla, filtrarla y visualizarlas en un PC mediante el desarrollo de una interfaz creada en Matlab R2009a. Las conexiones del aparato son de tal manera que una deflexin hacia arriba indica un potencial positivo y una deflexin en posicin hacia abajo indica un potencial negativo.

DESARROLLO
GENERALIDADES

El corazn y su actividad elctrica El corazn es el msculo ms importante del cuerpo. Su funcin es la de bombear la sangre al resto del cuerpo. Est dividido en dos mitades: izquierda y derecha. Y cada mitad tiene dos cavidades, aurcula y ventrculo, separados a su vez por unas vlvulas que permiten que la sangre slo circule en un sentido.

Fig.1 Cavidades cardiacas

El potencial elctrico es generado por un pequeo grupo de clulas de la siguiente forma: 1) El impulso elctrico se genera en el Nodo Sinosal o sinoauricular (S.A.), que se encuentra en la parte posterior-superior de la aurcula derecha. Tiene forma ovalada y es de dimensiones considerables. Desde este nodo, el impulso elctrico se desplaza a travs de las aurculas por dos vas internodales producindose as la contraccin auricular. 2) A continuacin la onda llega al Nodo Auriculoventricular (AV) donde se detiene aproximadamente 0,1s. 3) Para continuar a travs de unas fibras que hacen de puente entre el nodo auriculoventricular y las ramas ventriculares. Dichas fibras se denominan Haz de His.

4) ) El haz de His se divide en dos Ramas de His (derecha e izquierda) para llevar el estmulo elctrico a los dos ventrculos. 5) Las dos ramas se subdividen en las denominadas Fibras de Purkinje situadas en las paredes ventriculares.

Fig.2 Elementos de distribucin elctrica del corazn

El Electrocardiograma El electrocardiograma es la representacin grafica que se obtiene al medir la actividad elctrica del corazn de una manera continua. Es un mtodo rpido, simple e indoloro en el cual se amplifican los impulsos elctricos, relacionados con la contraccin del corazn.

El electrocardiograma es el elemento principal de la electro-fsica cardaca y tiene una funcin relevante en el diagnstico de enfermedades y anomalas cardiovasculares, como por ejemplo: - Un defecto del miocardio - Defectos congnitos - Enfermedad de la vlvula cardaca - Arritmias -Taquicardia/Bradicardia. Frecuencia respectivamente - Enfermedad de la arteria coronaria - Un ataque cardaco anterior - Un ataque cardaco inminente

cardaca

muy

rpida

muy

lenta

La frecuencia cardaca normal de un adulto es de entre 50 y 100 pulsaciones por minuto con un ritmo constante y uniforme. La seal ECG representa la corriente elctrica que circula a travs del corazn durante el latido de ste. Cada parte de la seal est dividida en las siguientes ondas e intervalos:

Fig.3 Seal ECG

Onda P: Nos indica que se est realizando la contraccin auricular para bombear la sangre hacia los ventrculos. Tanto la aurcula izquierda como la derecha se contraen simultneamente. La duracin de esta onda suele ser inferior a los 100ms y su amplitud est entre 0,1mV y 0,5mV. Las ondas P irregulares o inexistentes pueden provocar una arritmia.

Ondas Q, R, S: Este grupo de ondas QRS representa la corriente elctrica encargada de la contraccin de los ventrculos derecho e izquierdo para bombear la sangre hacia las arterias. Es la onda de mayor magnitud de toda la seal y su duracin puede variar entre 60ms y 100ms. Las anormalidades en este grupo de ondas pueden indicar taquicardia ventricular, hipertrfia ventricular, pericarditis u otra clase de anomalas. Onda T: Representa la seal elctrica de recuperacin o descontraccin de los ventrculos. Es una onda positiva de una amplitud que no supera los 0,6mV. Onda U: Corresponde a la despolarizacin de las fibras de Purkinje. Su amplitud es relativamente baja y pasa desapercibida en la mayora de los casos.

DISEO DE LA TARJETA El diseo de la tarjeta se basa en el siguiente diagrama en bloques el cual est formado por:

Fig.4 Diagrama en bloques de la tarjeta.

1. Proteccin al paciente Con el fin de proteger al paciente frente a picos de corriente provenientes del circuito, se han situado dos resistencias a la entrada de los electrodos. En este

caso, la corriente mxima se ha limitado a 30 A para un valor de alimentacin de 3 V.

Fig.4 Circuito de proteccin.

El varistor se encarga de proteger al paciente frente a picos de tensiones que pudieran proceder de la red elctrica.

2. Amplificador de instrumentacin Esta etapa consiste en el diseo de un amplificador de instrumentacin para la seal ECG ya que es una seal muy dbil que se encuentra comprendida entre 0.5mV hasta 5mV con un componente en DC por encima de 300mV. El amplificador de instrumentacin est diseado a base de amplificadores operacionales TL084 como lo muestra la figura 5.

Fig.5 Amplificador de instrumentacin.

Calculamos la ganancia del circuito: G = R5/R4 (1+2R2/RG) G= 100k/10k (1+2(100k)/1k) G= 2010 (1)

Fig.6 Salida del amplificador de instrumentacin.

La figura 6 muestra un ejemplo de una seal sinusoidal amplificada 2010 veces, es decir la seal de entrada a 1mVpp de la figura 5 es ahora igual a 2Vpp.

3. Circuito de offset La seal amplificada tiene dos componentes: la seal ECG y un offset que nos ha introducido el amplificador de instrumentacin. Para el procesado de la seal de ECG el offset no nos interesa con lo cual tenemos que eliminarlo. Para quitar dicha componente hemos implementado un amplificador operacional configurado como sumador el cual se observa en la figura 7.

Fig.7 Circuito OFFSET.

Fig.8 Salida del circuito OFFSET. En la figura 8 se muestra la respuesta del circuito offset ante una seal sinusoidal de entrada la cual es montada en un nivel DC quedando as una seal UNIPOLAR. El segundo bloque del circuito est formado por un amplificador inversor con una ganancia igual a uno, cuya funcin es la de recuperar la fase de la seal original.

4. Procesador digital de seales (DSP) El procesador digital de seales (DSP) tiene como funcin ejecutar un algoritmo para modificar la seal de entrada. Adems necesita de dos tareas fundamentales:

1- Muestreo de la seal: Simplemente parte de una seal o magnitud analgica contina y genera en la salida una secuencia de valores discretos, comnmente llamado ADC. 2- Reconstruccin de la seal: En su entrada recibe la seal filtrada del DSP y la convierte en una seal analgica mediante un proceso de reconstruccin realizado por un convertidor digital-analgico (DAC). El algoritmo implementado tiene como funcin principal: muestrear la seal analgica en una serie de pulsos, aplicar un filtro digital para la eliminacin del ruido de la seal ECG, enviar la seal resultante hacia la entrada de un DAC. Para llevar a cabo estos procesos se utiliz un DSP de la familia MICROCHIP: dsPIC30F4012 cuya configuracin de pines se muestra en la figura 9.

Fig.9 Diagrama de pines del dsPIC30F4012

Dentro de las caractersticas ms importantes de este dispositivo encontramos: Posibilidad de trabajar a 16Bits 6 canales PWM Conversor A/D de 10Bits Cristal de 4-10MHZ con PLL activo (4x, 8x, 16x) 1Kbyte de memoria EEPROM Controlador de bus SPI y I2C Capaz de implementar FFT y filtros digitales 2 mdulos UART

6. Conversor digital a anlogo (DAC) Se encarga bsicamente de convertir una entrada digital binaria a una seal analgica. Para el diseo de la tarjeta se utiliz un DAC de la familia MICROCHIP: MCP4821 mostrado en la figura 10.

Fig.10 Diagrama de pines del MCP4821

Las caractersticas ms destacadas de este dispositivo son las siguientes: Resolucin de 12Bit Interface SPI Voltaje de referencia (Vref) interno. Rango de alimentacin de 2.7V-5.5V

7. Amplificador Tiene como funcin principal incrementar en magnitud la seal ECG filtrada proveniente del conversor digital a anlogo.

Fig.11 Amplificador

De la figura 11 podemos observar que salida del DAC est conectada a un amplificador inversor con una ganancia igual a 2.5. La salida anterior es conectada a un ltimo amplificador inversor con ganancia variable. 8. Tarjeta de adquisicin de datos (DAQ) La funcin principal de la tarjeta de adquisicin de datos es obtener informacin de variables fsicas para luego ser procesadas, supervisadas y manipuladas dentro de un proceso. El uso de esta tarjeta se debe a que el diseo se realiz y probo sobre un porttil el cual solo contiene puertos USB. Recordemos que el DSP utilizado solo posee salidas UART. La tarjeta fue diseada e implementada con un anteriormente en otro curso y es aprovechada para muestrear la seal ECG filtrada proveniente del DSP. SENSORES Para la captacin de la seal ECG atreves de la superficie corporal se utilizaron electrodos de broche (tipo adulto) como se observa en la figura 12.

Fig.12 Electrodos

La figura 13 representa la ubicacin cada una de los electrodos y etiquetados de la siguiente manera: un electrodo ir al brazo derecho (RA), otro electrodo ir en el

brazo izquierdo (LA) y un ltimo electrodo que servir como referencia ir a la pierna derecha (RL).

Fig.13 Ubicacin de los electrodos.

DISEO DEL FILTRO EN MATLAB La seal de ECG tiene componentes relevantes solo entre 0,05 Hz y 130 Hz, por lo tanto nuestro circuito solo debe dejar pasar las seales que se encuentren en este rango. Necesitamos realizar un filtro pasa-banda con frecuencias de corte de 0,05 Hz hasta 130 Hz. El filtro fue realizado en Matlab R2009a de la siguiente manera: %%Diseo del filtro PASABANDA: F1=0.05,F2=130 %%Fs=500 -->Frec. de Muestreo %%Wn = [W1 W2] frecuencia de corte en radianes N=1; %%orden del filtro=2 ya que para el diseo del filtro pasa-banda la funcin %%%%butter retorna un orden igual a 2N entre W1 < W < W2. W1=0.0002; %W1=0.005/(Fs/2) frec. Corte F1 W2=0.52; %W2=130/(Fs/2) frec. Corte F2 Wn=[W1 W2]; %% Fc1 y Fc2 [B,A] = BUTTER(N,Wn,'bandpass') %%filtro IIR butterwoth freqz(B,A,50,500); %%Muestra la respuesta en frecuencia del filtro

%%coeficientes del filtro: B = 0.5156 0 -0.5156 A= 1.0000 -0.9682 -0.0311

Fig.14 Respuesta en frecuencia del filtro pasa-banda.

La figura 14 representa la respuesta en frecuencia del filtro implementado. Tambin se observa que la respuesta es un poco inestable para frecuencias de corte: 0.05 HZ y en la grfica es casi que despreciable. La razn de utilizar un filtro IIR en la aplicacin es el poco gasto computacional que exige ya que para filtros IIR el orden es igual de bajo que un filtro analgico. DISEO DEL FILTRO EN EL DSP Los filtros IIR estn basados en una estructura bi-cuadrtica con elementos de retraso denotados: hz-1 como el cual se encuentra en la funcin de transferencia de forma general denotada como:

Y su estructura bi-cuadrtica a manera de bloques es:

Coeficientes obtenidos en Matlab R2009a: B= A= 0.5156 0 -0.5156

1.0000 -0.9682 -0.0311

Funcin de transferencia:

Armando la ecuacin en diferencias: Y(n) = 0.5156x(n) 0.5156x(n-2)+0.9682y(n-1)+0.0311y(n-2) El compilador utilizado para la programacin del DSP es el PCW de la casa CCS Inc. El algoritmo se basa en obtener la seal ECG con ruido, luego muestrearla en una serie de pulsos, aplicar el filtro pasa-banda y luego enviarla de forma digital hacia el DAC. //Algoritmo en CCS por correo ALGORITMO DE LA TARJETA DAQ //Programa en PCW CCS #include <18F2550.h> //seleccin del microntrolador #device adc=8 //Resolucin del ADC #fuses //configuracin de bits HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL2,CPUDIV1,VRE GEN #use delay(clock=48000000) //frecuencia de reloj interna

#include <usb_cdc.h> #include <usb_desc_cdc.h> int8 dato; void main(){

//driver para trabajar con usb CDC

setup_port_a( ALL_ANALOG ); //Puerto A como entradas analogicas setup_adc( ADC_CLOCK_INTERNAL ); set_adc_channel(0); //seleccionamos el canal A0 del microcontrolador usb_cdc_init(); usb_init(); while(1){ usb_task(); if(usb_enumerated()){ dato=read_adc(); // guardo en dato la lectura del ADC usb_cdc_putc(dato); //envi el dato por el puerto USB } } }

//inicializa el hardware usb

INTERFACE EN MATLAB-GUIDE La figura 15 muestra la interfaz principal del ECG creado en el GUIDE de MATLAB R2009a en la cual se puede observar los botones para abrir y cerrar el puerto de comunicacin, adems se encuentra el AXES que muestra en tiempo real la seal obtenida del corazn.

Fig.15 Interfaz de desarrollo.

Algoritmo para el botn ABRIR: propiedad callback:


function boton1_Callback(hObject, eventdata, handles) % hObject handle to boton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global SerPIC namecom=get(handles.caja1,'String'); %%obtiene el COM solicitado %%configuracin SerPIC = serial(namecom) %%vector para la comunicacin serie set(SerPIC,'BaudRate',9600) %%velocidad en baudios set(SerPIC,'DataBits',8) %% Bits de datos igual a 8 set(SerPIC,'Parity','none') %%sin paridad set(SerPIC,'StopBits',1) %% un bit de parada set(SerPIC,'FlowControl','none') fopen(SerPIC); %%Abre el puerto % for i=1:50 %% Toma de 1 hasta 50 muestras %%READ v=fread(SerPIC); %% Leeo el puerto v1=fread(SerPIC); %% Leeo el puerto v2=fread(SerPIC); v3=fread(SerPIC); v4=fread(SerPIC);

. .

.
v222=fread(SerPIC); v223=fread(SerPIC); v224=fread(SerPIC); v225=fread(SerPIC);

%% Leeo el puerto

c=cat(1,v,v1,v2,v3,v4... ,v222,v223,v224,v225); %%concateno las matrices dd=(c*5)/256; %%conversin para ajustar la escala axes(handles.axes1) %%selecciono el AXES plot(dd) %%imprimo la grafica en el AXES end

Algoritmo para el botn CERRAR: propiedad callback:


function boton2_Callback(hObject, eventdata, handles) % hObject handle to boton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global SerPIC fclose(SerPIC); %%cierra el puerto delete(SerPIC) %%Borra el vector creado anteriormente clear SerPIC

Del cdigo anterior se puede observar la facilidad del algoritmo pero hay que tener en cuenta que se tuvo que leer el puerto COM has 226 veces ya que la frecuencia de la seal ECG es relativamente baja alrededor de los 1.5 HZ, es decir si leemos el puerto pocas veces solo se obtiene un trozo de la seal ECG filtrada.

RESULTADOS OBTENIDOS La seal ECG original est contaminada de mucho ruido (Figura 16), que como sabemos es una seal ajena a la seal de estudio, provocando errores en el sistema de medida. Estos factores adquieren especial importancia en la primera etapa de medida del sistema (electrodos). Los cables son otro factor a tener en cuenta, ya que actan como antenas y pueden introducir interferencias en nuestro circuito, para solucionar este problema se utiliza cables apantallados.

Fig.16 Seal ECG contaminada.

Mediante la implementacin del filtro IIR pasa-banda digital en el DSP se puede observar una seal un poco ms parecida a la que observamos en las pelculas o televisin, la figura 17 muestra el resultado final obtenido de la seal ECG.

Fig.17 Seal ECG filtrada.

ANEXO 1 (Sistema completo)

Anexo 2 (Esquemas y PCB)

Anexo 2 (Esquemas y PCB)

CONCLUSIONES Despus de las pruebas realizadas y los resultados obtenidos se considera que el diseo e implementacin de un ECG no es una tarea tan fcil ya que la seal est acompaada de varios factores que impiden su visualizacin como lo son: los sensores, los cables, la fuente de alimentacin etc. Muchos de estos problemas fueron eliminndose ya que se hizo el uso de cables blindados o apantallados que permiten eliminar gran parte del ruido e interferencias que intervenan en la tarjeta implementada. Se ha comprobado el funcionamiento de los filtros digitales IIR en tiempo real y la importancia que estos tienen en el campo medicinal. El estudio de la TZ y las ecuaciones en diferencias aclaro un poco ms el tema de filtros y como aplicarlos tanto en Matlab como en el DSP. Cada uno de los resultados obtenidos se hicieron atreves de la herramienta matemtica Matlab, que permiti el diseo de los filtros digitales y las herramientas graficas (GUIDE) para la correcta visualizacin de la seal ECG. Se ha resaltado la importancia que tiene el circuito para la proteccin al paciente ya que este brinda la seguridad al paciente que actualmente aplica como ley a nivel del diseo en aparatos del campo de la medicina.

BIBILIOGRAFIA Y REFERENCIAS - Armstrong ML. (1988). Los electrocardiogramas. Buenos Aires: El Ateneo - Sharp Merck. (1997), Manual Merck de informacin mdica para el hogar. Barcelona: Ocano - Webster John G. (1998). Medical Instrumentation. Application and Design. New Jersey: Wiley - Bronzino, Joseph D. (1995). The Biomedical Engineering Handbook. Boca Raton: CRC - Hartmann Eckart. ECG Front-End Design is Simplified with MicroConverter, Extrado el 27 abril, 2010, de http://www.analog.com/library/analogDialogue/archives/37-11/ecg.html