Está en la página 1de 33

DESARROLLO DE LA SOLUCIÓN

3.1 Solución Propuesta

La solución propone interpretar los potenciales eléctricos del globo ocular en

comandos de movimientos. Los comandos son interpretaciones que dará una PC al

movimiento vertical y horizontal de globo ocular. Los movimientos de derecha a

izquierda de este último serán movimientos del mouse de derecha a izquierda. Y para

los movimientos de arriba abajo guardan la misma lógica, pero adicionando el

comando del clic del mouse provisto por el guiño del ojo. Este sistema busca que se

pueda seleccionar opciones dentro de una interfaz gráfica solo con el movimiento

ocular. Para lograr este propósito se dividió el proyecto en tres etapas principales:

Acondicionamiento de la señal EOG. Digitalización de la señal y transmisión.

Procesamiento e Interfaz gráfica.

3.1.1. Acondicionamiento de la señal:

En el Manual de técnicas de Electrofisiología de Nicolau M at el, define la señal EOG

dentro del rango 50uV y 3500uV, y con un ancho de banda de 0.1 a 100 HZ. Estas

características de la señal EOG se mantiene trabajando como base para las

aplicaciones biomédicas en sistemas de apoyo para personas con discapacidad.

Como lo muestran los trabajos mencionados en los antecedentes.


Figura 20. Diagrama de bloques general propuesto
Fuente: Elaboración propia.

Estos sistemas se aplican en soporte como el control de silla de ruedas (Thota,

Vangali y Yang X.,2017) o los avances en la investigación de plataformas de

integración para control de dispositivos usando EOG (Vahdani y Pournamdar,2018).

El acondicionamiento tiene el propósito de preparar la señal fisiológica para ser

digitalizada. Para este proceso se requiere de amplificar las señales micro voltaicas a

niveles de voltajes, lo típico y recomendado es un amplificador de instrumentación.

Luego se debe filtrar la señal de interés y eliminar los ruidos típicos del canal de

registro. Por último, se debe usar una etapa donde se elimine o transforme los

componentes negativos de la señal para que pueda ser digitalizada.

3.1.1.1. Amplificador de instrumentación (AI)

 Análisis:
Los amplificadores de instrumentación son amplificadores que se usan de forma

especializada para señales bioeléctricas. Las características relevantes de este

amplificador son la alta impedancia de entrada, el control de ganancia simple y el

CMRR alto. Considerando lo anterior mencionado para el amplificador de

instrumentación, la impedancia de entrada debe estar en el rango de 10 9 a 1012 Ω.


CMRR mayo a 100dB (como lo estableció Bronzino) voltaje de alimentación entre

±15V y voltaje offset menor a 100uV. (Cordova F., 2013, pp. 37). Entonces:

Figura 21. Bloque de amplificador de instrumentación. Ganancia,


Resistencia de entrada y CMRR>100dB
Fuente: Elaboración propia.

La ganancia típica de un amplificador de instrumentación se define en base a una

relación inversa a la resistencia.

Resistencia de diseño
G=constante+ … (01)
resistencia de ganancia

constante : unnumero natural propio del diseño

Resistencia de diseño :resistencia que es propia del diseñointerno delintegrado

resistencia de ganancia: Parametroque es modificable por el diseñador para controla

Analizando los AI que se ofrecen localmente en base a las características de

impedancia de entrada, el voltaje de alimentación el CMRR y el Offset se encontró que

el AI 114 cuenta con las características óptimas como se muestra en la tabla 1.

Tabla 1.
Tabla Comparativo de características entre INA121-INA114-AD520.
INA121 INA114 AD620

Impedancia de entrada 1012 Ω 1010 Ω 108 Ω


Power supply (fuente de alimentación) ±2.25 a ±18 ±2.25 a ±18 ±2.25 a ±18
CMRR (Rechazo en modo común) 106dB 115dB 100dB
Voffset 100uV 50uV 50uV
ECG e
Amplificador Instrumentació instrumentación
Descripción del fabricante fisiológico n Medica Medica
Fuente: Elaboración propia
.

Figura 22. Esquema interno de un amplificador de instrumentación.


Su fórmula al lado derecho
fuente: (Texas Instrument – INA114)

El INA 114 tiene una configuración práctica como se mencionó en la parte

teórica. Ahora se procederá a hacer el cálculo de la ganancia teniendo en cuenta lo

siguiente: A mayor ganancia se sacrifica el ancho de banda, y a mayor ancho de

banda se sacrifica la ganancia, como se detalla a continuación

Figura 23. Respuesta en frecuencia den INA114.


Fuente: Texas Instrument – INA114

Donde se puede apreciar que la ganancia mínima es G=1, con un ancho de

banda 1MHz. Pero al aumentar la ganancia el ancho de banda se reduce a 1KHz.

 Diseño
La señal de EOG está en el rango de 0.1 a 100Hz, por ello se puede trabajar

con la última escala que detalla el fabricante de G=1000 y un ancho de banda de

1KHZ.

Aplicando la relación propia del INA114 en la ecuación 02 para llegar a la

ganancia de 1000 logramos obtener una resistencia 50 Ω .

50 k Ω 50 k Ω 50 k Ω
G=1+ …(02) 1000=1+ 1000 ≈ Rg=50 Ω
Rg Rg Rg

 Simulación en Proteus
Para probar que el diseño basado en el cálculo de la ecuación 02 con Rg=50 Ω.

Como se muestra en el simulador se requiere una señal senoidal de prueba, pero no

es una señal fisiológica, por ello este es un limitante pero aun así se puede explorar el

resultado de la amplificación como muestran en las Figuras 25 y 26.

Figura 24. Configuración del INA114. RG=50ohm. Vin = 3.5mV. Frec=10Hz


fuente: Propia
Figure 25. Señal de entrada al INA114. Valor Vpp=3.5mV
fuente: Propia

Figure 26. Señal de salida del INA114. Vpp=3.5V. Ganancia 1000


según el diseño y según la simulación
Fuente: Propia

Pero el software Proteus no es útil para poder presentar señales obtenidas a

partir de base datos extraídos de base de datos biomédicos, así que se procedió a

hacer una simulación alterna en LTspice (software libre de Analog Device) que tiene la

ventaja de usar componente diseñados bajo los parámetros reales del fabricante

Analog Device.
Figura 27. Configuración del Amplificador de Instrumentación.
Vin=3.5uV. G=1000. Se usó el LT1167 que es un homologo a al INA114
en Analog Device.
Fuente: Propia

En el caso de LTspice se usó como referencia al AI LT1167 que es parte de los

componentes en Analog Device que tiene las mismas características técnicas del

INA114, este último no es parte de la librería de Analog Device. En la Figura 27 se

muestra la arquitectura y en la figura 28 se ve su comportamiento como amplificador

para posteriormente incorporar la señal de EOG.

Figura 28. Simulación del AI. Ganancia de 1000.


Fuente: Elaboración propia.
Para verificar el comportamiento con una señal fisiológica normal se procederá

a usar la base de datos de physionet para poder ingresar en una simulación. Se

procede a entrar a la página de Physionet: www.physionet.org

Luego se ingresa al siguiente menú de preferencia mostrada en la Figura 29

Figura 19. Plataforma de Physiobank. Selección de Physiobank ATM


Fuente: Physionet

Luego aparecerá la interfaz de la Figura 30 donde se podrá buscar la señal de

interés, en este caso la señal de electrooculografía. Esta interfaz nos permite poder

extraer una porción de la data que se guarda comúnmente en paquetes de 24 horas

de grabación. En el presente caso se procederá a usar solo 10 segundos que nos

permitirá visualizar la señal de interés sin ningún problema.


Figura 30. Plataforma Physiobank ATM. Modo para selecciona base de
datos de Bioseñales. Extracción de señal de EOG de base de datos con
trama de 10 segundos
Fuente: Physionet

Figura 31. Grafica de la señal de EOG de la base de datos con trama


de 10 segundos. Se aprecia la señal en una hoja milimetrada en voltaje
y tiempo.
Fuente: Physionet

Esta data que se muestra es una señal de EOG que proporciona Physionet

para poder hacer procesamientos, análisis, estudios y algoritmos. Para poder

descargar la base de datos se debe buscar la opción con extensión .mat, para poder

verificar que la señal a trabajar sea la correcta y posteriormente crear su complemento

temporal para poder elaborar un fichero y poder usarlo como data input en las

simulaciones.
Figura 32. Files para descargar la base de datos. Spl32m.mat contiene
la señal de EOG. Slp32m.info contiene la ficha de datos de la señal
EOG.
Fuente: Physionet.

Esta data se debe de normalizar en tiempo. En este caso solo se descargó una

trama de 10 segundos para visualizar parte de la señal EOG. Ahora se procederá a

usar el Matlab (Versión 2017b) para poder visualizar si se descargó correctamente

usando el programa de la Figura 33 y mostrando el resultado en la Figura 34.

Figura 33. Programa en Matlab para poder graficar la señal de EOG


Fuente Propia.
Figura 34. Simulación de la señal de EOG en Matlab. Ala izquierda la
gráfica de la data cruda sin estandarizar. A la derecha la señal EOG
estandarizada en tiempo. Duración de señal 10 segundos como se
indicó en la base de datos.
Fuente: Propia

El código en MATLAB permitirá visualizar la señal, estandarizarla en sus

valores normales en el orden de los microvoltios, y crear el fichero señal en dominio

del tiempo. Este último es necesario para poder ingresar la simulación y evitar errores.

(se recomienda usar extensión txt o csv)

Una vez creado el fichero se procede a volver al LTSpice editando el

componente de la fuente y buscando la opción de cargar archivo como se muestra en

la Figura 35. Con este procedimiento logramos indexar la señal EOG en el simulador y

listo para ala simulación y la visualización de la señal correspondiente a la Figura 36.


Figura 35. Cargar la señal de EOG en el objeto fuente del LTspice para
la simulación.
Fuente: Elaboración Propia

Figura 36. Señal de base de datos como entrada del AI. Se verifica que
está en el orden de los micro voltios como se indica de forma normal.
Fuente: Elaboración Propia
Figura 37. Señal de salida del AI. Se amplifico la señal de EOG de la
base de datos. Con esto se ve que el diseño cumple con lo esperado.
Fuente: Elaboración Propia

Como se logra observar el amplificador de instrumentación amplifica adecuadamente

la señal EOG.

V out 100 mv
G= = G=1000
V ¿ 100 μv

3.1.1.2.- Amplificador

 Análisis:
El amplificador se encargará de llevar los niveles de voltaje a valores deseados, como

se comprobó en la última simulación observamos que la señal está en el rango

[100mV,-100mV]. Por ello se debe seguir amplificando para que la señal toque los

niveles de voltaje. Para esta etapa se propone un amplificador con las siguientes

características:

- Voltaje pico-pico a la salida del amplificador no debe superar los 5v.

- Alta impedancia de entrada

- El valor pico no debe superar los 2.5v para poder asegurar un posterior

offset.
Se propone usar un amplificador TL081 / OP07. Estos amplificadores presentan

una alta impedancia de entrada, buena respuesta en frecuencia y con

recomendaciones del fabricante para usos de sistemas de acondicionamientos

biomédicos con configuración (como propone el fabricante en su hoja de datos) no

inversora de ganancia 25 para poder llevar 100mv hasta un máximo de 2.5V, es decir

5vpp.

 Diseño

Figura 38. Diseño de amplificador no inversor.


Fuente: Propia

La ganancia en este tipo de topología se calcula según la siguiente ecuación se

calcula

R2 R2
G= + 1 … (03)25= +1 R 2=12 kΩR 1=0.5 KΩ
R1 R1

El fabricante recomienda usar resistencias de feedback en el orden de lo KΩ

para poder asegurar que no se consuma mucha corriente, en este caso 12 KΩ.

 Simulación:
El fabricante recomienda usar resistencias de feedback en el orden de lo KΩ

para poder asegurar que no se consuma mucha corriente, en este caso 12 KΩ.

Figura 39. Diseño del Amplificador no inversor en LTspice.


Fuente: Propia

Figura 40. Simulación de la señal EOG aumentando en Amplificador


con ganancia 25.
Fuente: Propia

3.1.1.3.- Filtro Pasa Altos para filtro Pasa banda

 Análisis:
Para esta parte se seleccionó un filtro Sallen key de 2 orden. El orden se seleccionó ya

que al probar simulaciones de 4 y 8 orden no se vio un gran cambio significativo en la

respuesta en frecuencia del filtro. Además, este filtro no presenta rizado en la banda

de paso a diferencia de otros filtros encontrados.

Figura 41. Comparación tipos de filtros


Fuente: (Guajardo, 2009)

 Diseño

La topología de un filtro pasa altos topología Sallen key de 2° orden es la siguiente:


Figura 42. Diseño de un filtro pasa altos topología Sallen key de 2°
orden. Frecuencia de corte de 0.1Hz
Fuente: Propia

Analizando la función de transferencia

k . s3
H ( s )=
s 2+ ( R 1.C1 1 + R 2.1C 2 + R 2.1C 1 − R 1.kC 1 ) s + R 1. R 2.C1 1. C 2 (04)

k =1 ; representala ganancia del filtro , en este caso es ganancia unitaria

 Simulación:
Procedemos a ver la respuesta en frecuencia del filtro de 2° orden con ganancia

unitaria en Matlab
Figura 43. Análisis de la función de transferencia del filtro propuesto en
Matlab.
Fuente: Propia

Figura 44. Respuesta en frecuencia del filtro propuesto.


Fuente: Propia

3.1.1.4.- Filtro Pasa Bajos para filtro Pasa banda


 Análisis:

Para esta parte se seleccionó un filtro Butterworth Sallen key de 2 orden. El orden se

seleccionó ya que al probar simulaciones de 4 y 8 orden no se vio un gran cambio

significativo en la respuesta en frecuencia del filtro. Además, este filtro no presenta

rizado en la banda de paso a diferencia de otros filtros encontrados como se indica en

la Figura 41.

 Diseño

El diseño propuesto es Sallen-key 2° orden de ganancia unitaria.

Figura 45. Diseño de un filtro pasa bajos, frecuencia de corte de 100Hz


Fuente: Propia

La función de transferencia es la siguiente


k
R 1. R 2.C 1. C 2
H ( s )= (05)
1 1 1 k 1
(
s 2+ + + −
R 2.C 2 R 1. C 1 R 2. C 1 R 1. C 2
s+)R 1. R 2.C 1. C 2

k =1 ; representala ganancia del filtro , en este caso es ganancia unitaria

 Simulación:

Figura 46. Análisis de la respuesta en frecuencia de la función de transferencia


del filtro pasa bajos Frecuencia de corte 100Hz
Fuente: Propia

3.1.1.5.- Filtro Notch

 Análisis:

Las señales fisiológicas están sujetas a los distintos tipos de ruidos. Uno de los tipos

de ruidos que se debe evitar es el que se produce por la red eléctrica y esta se

caracteriza por tener la frecuencia característica de 60Hz. Para plasmar este filtro

usaremos el Filtro Notch de 3° orden con topología Twin-T que sugiere el fabricante

Texas Instrument.
Figura 47. Filtro Notch
Fuente: Texas Instrument TL082

 Diseño

Figura 48. Diseño de filtro Notch propuesto.


Fuente: Propia
Se procederá a plantear la función de transferencia del sistema

2 2 1
H ( s )=
( R . CX ) ( R . R . C . CX ) R . R . C . C .CX . RX
s3 + s+ 2
s+

2 2 1 2 2 1 1
s +( ) s +( )
3 2
+ + + + s+
R .CX R . C RX .C R .CX . RX .C R . C . CX . R R . RX .C .C R . R .C .C .C

(06)

 Simulación:

Para analizar su comportamiento se llevará a una simulación en Matlab y procederá a

ver que para frecuencias cercanas a 60Hz el filtro tiene una fuerte atenuación.

Figura 49. Análisis de la respuesta en frecuencia del Filtro notch.


Fuente: Propia

3.1.1.6.- Offset

 Análisis

Este bloque de trabajo o etapa se usará para poder desplazar la onda resultante a

niveles por encima del cero voltios, para evitar valores negativos del EOG,

preparándolo para poder digitalizarlo. No se consideró usar rectificadores de media

onda por que se incurriría en perdida de la información.

 Diseño
El diseño propuesto se muestra en la Figura 51.:

Figura 50. Respuesta en Frecuencia del filtro Notch


Fuente: Propia

Figura 51. Diseño del sistema offset


Fuente: Propia
 Simulación

Las etapas se integrarán y se simulara con la señal extraída de la base de

datos de Physionet para demostrar que los valores de la señal se mantienen entre 0 y

5V.

Figura 52. Acondicionamiento total del EOG.


Fuente: Propia

Como se muestra en la simulación con todas las etapas integradas, tenemos

una señal amplificada un factor de 25000. Además de ser notorio el offset, el cual nos

permitirá llevar la señal EOG a una referencia donde se evita los voltajes negativos.

Esta última etapa es importante ya que nos brinda las condiciones mínimas para poder

iniciar el proceso de Digitalización.

3.1.2.- Digitalización y Transmisión:

Luego del canal de registro se debe digitalizar y transmitir la señal a la interfaz donde

ocurrirá el procesamiento y la clasificación de la data. Consideraciones que se debe

tener para selección el controlador es la siguiente:

- Cantidad de canales analógicos: 2

- Módulo de transmisión serial: 1

- Modelos de controlador en vigencia de producción

- Compiladores actualizados

- Accesible localmente
Figura 53. Diagrama de flujo para la programación del PIC
Fuente: Propia

3.1.2.1.- Microcontrolador

 Análisis
Se procede con la tabla comparativa de los micro controladores PIC que se
encuentran localmente.

Tabla 2.
Cuadro Comparativo de características entre Microcontroladores Locales.

PIC12F6xx/5x PIC18F4xx
x PIC16F6xx PIC16F8xx x
Pines Analógicos 1 5 5 8
Modulo Serial NO SI SI SI
Continuidad NO NO SI SI
Compiladores
Actualizados SI SI SI SI
Accesibilidad
local NO SI SI SI
Fuente: Elaboración propia
Como se indica en la tabla 2, la comparación de las familias se evidencia que el PIC

de la familia 16F8xx cuenta con los requerimientos necesarios para implementar la

solución. No se tomó en consideración la familia 18Fxxx debido a que cuenta con más

recursos o módulos que no serán usados en el proyecto.

Ya seleccionado la familia del PIC18Fxx y el controlador de acceso en el mercado

local es 16F877A se procede con la digitalización. Se debe considerar la frecuencia de

muestreo para la digitalización. Esto se relaciona con el teorema de Nyquits, donde

define que la frecuencia de muestreo debe ser mayor al doble de la frecuencia de la

señal de interés.

1
f m ≥ 2∗f s (07) f s=BW =BW EOG=100 HZ f m ≥ 200 HzT m=
fm

Se usará una frecuencia de muestreo 500Hz o tiempo de muestreo de 2mSeg

basado en los trabajos revisados que involucran el muestreo de la señal. El PIC que

se usara es el Pic16f877a que cuenta con un módulo de ADC a 8 bits de resolución.

Un módulo de transmisión serial. Además de tener 2 puertos libres que pueden

permitir adicionar módulos de prueba en caso se desee hacer testeos previos a la

transmisión. Lo típico que se encuentra (basado en la revisión de otros trabajos) son

los leds de estado y LCD o GLCD para mostrar datos o gráficas.


Figura54. Imagen del PIC a ser usado.
Fuente: Microchip Pic16F877A

 Diseño

Se usará el compilador CCS en el programa PIC C para poder programar en C

al PIC. EL tipo de comunicación será asíncrona, esto debido a la transmisión half

duplex que transmite 1 byte de datos de forma continua y no requiere sincronizar

relojes entre el emisor y receptor. Basados en el diafragma de flujo se basará el

siguiente seudocódigo antes de realizar el programa:

/====================================================/

Inicio de programa; Aquí se procede incluir librerías y funciones

Config_Serial_TX_RX(Velocidad,#bits,Paridad)

Var1:=0;

Var1:=0;

Función principal

Fnc_Config_ADC;

Fnc_Config_tiemp_ADC;

Loop
Open_Analog_Port;

Var1:=Canal_Analog;

Var2:=Canal_Analog*Vcc / 2^#bits

Fnc_Envio_serial(tipo_dato,Var2);

Fin del Loop

Fin de la función principal

/====================================================/

3.1.2.1.- Comunicación Serial

Implementando el seudocódigo el programa PIC C para el controlador PIC16F877A

basado en el diagrama de flujo de la Figura 53. Respetando la lógica ya descrita se

obtiene el código de la Figura 55

 Simulación

En la simulación en Proteus procede a enviar valores de la señal vectorizada

del EOG, estos valores fueron lo que se usaron inicialmente en el capítulo 3 en la

extracción de datos de Physionet y estandarizados en MATLAB. Se usará el software

Proteus para simular la transmisión serial como se muestra en la figura 56.

3.1.3.- Procesamiento e interfaz

 Análisis

Se propone el siguiente flujo para la creación del modelo de Machine Learning (ML)

basado en la adquisición y creación de la base de datos basado en el hardware ya

implementado.
Figura 55. Programa para el ADC y Transmisión Serial. Usando CCS
compiler v. 5.017
Fuente: Propia

Figura 56. Simulación para la transmisión de la señal EOG en dato y tramas de


bits como se muestra en el virtual terminal y el osciloscopio respectivamente.
fuente: Propia

Las categorías que se pretende analizar serán separadas por canales (vertical

y horizontal). Las categorías son las siguientes:

EOGv ( EOG vertical):

 Movimiento arriba = Mover mouse arriba


 Movimiento abajo = Mover mouse abajo

 Guiño = Clic izquierdo del mouse

EOGH (EOG Horizontal)

 Movimiento derecho = Mover mouse derecho

 Movimiento izquierdo = Mover mouse izquierdo

Estas son las categorías que se deben de clasificar. Esta clasificación será

proporcionada por un modelo de Machine Learning (ML), esto permitirá a un mouse

adquirir movimiento en una interfaz, donde la acción del guiño será interpretada como

clic izquierdo.

Figura 57. Diagrama de Flujo para crear los modelos de ML para la


clasificación de los movimientos oculares.
Fuente Propia

Una vez los modelos estén validados se procede usar en tiempo real bajo la

siguiente condición
- La recepción de la data debe ser adquirido en las mismas condiciones que

en la etapa de creación de modelo.

- La data que ingresa luego de crear el modelo se actualiza generando un

feedback que reduce el error del modelo.

- El sistema debe ser probado con modelos de K-NN, Support vector

machine, decisión tree.

- Se debe evaluar la matriz de confusión de cada modelo para ver cual tiene

mayor eficiencia en la clasificación de la señal EOG.

 Diseño

La extracción de características se hace en base a las señales de los canales

verticales y horizontales por separado. Las características es la frecuencia media

(analizado en la frecuencia promedio), la desviación de la señal (el grado de dispersión

e la data) y la potencia de la señal (el área bajo la curva de la señal EOG).

Figura 58. Se muestra la matriz de confusión del modelo de árbol de toma de


decisiones respecto a la frecuencia media y la potencia de la señal con una eficiencia
de 83%
Fuente: Elaboración propia
Figura 59. Se muestra la matriz de confusión del modelo de KNN respecto a la
frecuencia media y la potencia de la señal con una eficiencia de 87.5%
Fuente: Elaboración propia

Figura 60. Se muestra la matriz de confusión del modelo de SVM respecto a la


frecuencia media y la potencia de la señal con una eficiencia de 91.7%
Fuente: Elaboración propia

De los modelos se logró llegar a una exactitud de 91.7% con el SVM, por lo

cual este será el modelo final para los clasificadores. El modelo tomara las señales

nuevas para ingresar a la interfaz gráfica para el control del mouse en la interfaz

gráfica propuesta
Figura 61. Interfaz gráfica propuesta para el usuario. La pantalla
muestra un menú de preferencias o la más usadas. A lado derecho un
List Box donde encontrara las opciones complementarias.
Fuente: Propia

Cada botón indica una acción que se debe ejecutar. Las actividades

están planeadas para que el usuario tenga un acceso rápido, sin problemas de

confundir al mismo usuario o a la persona que asiste al usuario. La interfaz grafica se

implemento en Matlab debido al entorno integrado de las funciones de procesamiento,

machine learning y la facilidad de crear entornos de comunicación, detalles sobre el

código implementado en el Anexo V.

También podría gustarte