Вы находитесь на странице: 1из 14

UNER – Facultad de Ingeniería Programación Avanzada

ADQUISICIÓN Y PROCESAMIENTO DE POTENCIALES EVOCADOS

Introducción

Potencial evocado se trata de una exploración neurofisiológica que evalúa la


función del sistema sensorial acústico, visual, somatosensorial1 y sus vías
por medio de respuestas provocadas frente a un estímulo conocido y
normalizado.

Cuando un tren de estímulos sensoriales de cualquier tipo llega al cerebro,


provoca secuencias características de ondas en el trazado
electroencefalográfico (EEG), que denominamos potenciales evocados. Son
diferentes para cada modalidad sensorial y su variabilidad también depende
de la intensidad del estímulo. Característicamente presentan una relación
estable en el tiempo respecto al estímulo.

Los potenciales evocados auditivos de tronco cerebral (PEATC) representan


la actividad eléctrica generada por el nervio auditivo y las vías auditivas
ascendentes del tronco cerebral en respuesta a un estímulo acústico
adecuado. Se colocan al paciente unos auriculares mediante los cuales
escuchará un sonido a distintas intensidades. Las respuestas se registran
con unos electrodos pegados al cuero cabelludo y lóbulos de las orejas.

Tomografía Eléctrica Cerebral. ProyecciónNormal de Potencial Auditivo.

1
El sistema somatosensorial comprende un complejo organismo consistente en centros de recepción y
proceso, cuya función es producir modalidades de estímulo tales como el tacto, la temperatura, la
propiocepción (posición del cuerpo) y la nocicepción (dolor).

1
UNER – Facultad de Ingeniería Programación Avanzada

Los potenciales evocados poseen 10 ms de duración y consisten en una


sucesión de picos cuya amplitud generalmente posee valores cercanos a 1
µV. La morfología característica de esta señal en adultos se muestra en la
figura 1, donde puede observarse la secuencia de picos, que se identifican
con números romanos desde el I hasta el VII.

Figura 1: Morfología de la señal de PEATC.

Para obtener esta señal debe estimularse el sistema auditivo (el efecto de
dicho estímulo es la onda que precede al pico I) y registrarse el
electroencefalograma (EEG) de la persona mediante electrodos. La
morfología de la señal de EEG es la registrada en la figura 2.

600

400

200
Amplitud [uV]

-200

-400

-600
0 2 4 6 8 10
Tiempo [ms]

Figura 2: Morfología de la señal de EEG.

El PEATC se encuentra inmerso en esta señal de EEG, que actúa como ruido
de fondo. La amplitud del PEATC es mucho menor que este ruido, como
puede verse comparando los valores de amplitud entre las figuras 1 y 2.

La extracción de la señal de PEATC desde el ruido de fondo que se


encuentra en las señales registradas puede realizarse mediante una técnica
de filtrado conocida como Promediación Coherente. Ésta consiste en
registrar las señales electroencefalográficas luego de aplicar una serie de

2
UNER – Facultad de Ingeniería Programación Avanzada

estímulos auditivos, para posteriormente promediarlas y obtener el


potencial evocado libre de ruido2. Generalmente la Promediación Coherente
necesita procesar alrededor de 1000 registros de EEG para obtener una
única señal de PEATC, que luego debe pasar por varios filtros que permiten
obtener una señal clara que puede ser utilizada para diagnósticos clínicos.

El análisis y procesamiento de los PEATC reviste gran importancia en el


estudio de la capacidad auditiva. Las diferentes características de esta
señal, como por ejemplo la presencia o no de picos, valores de amplitudes y
latencias (tiempos de ocurrencia de picos), permiten realizar diagnósticos
como la estimación del umbral de audición o la localización de patologías
auditivas, entre otros.

Las señales adquiridas pueden procesarse mediante Sistemas de


Adquisición y Procesamiento de Potenciales Evocados (SAPPE). Estos
dispositivos tienen la capacidad de cargar las señales de EEG registradas,
aplicarles todos los filtros correspondientes para obtener la señal de PEATC
para luego almacenar los resultados en archivos o mostrarlos en una
pantalla o display.

En la figura 3 está esquematizado el procedimiento completo de adquisición


y procesamiento.

SAPPE

Figura 3: Esquema del procedimiento completo de PEATC

En la figura 4 se muestran ejemplos de sistemas de adquisición y


procesamiento de PEATC comerciales.

2
Este proceso puede llevarse a cabo dado que puede suponerse al PEATC como una señal estable
(igual en cada uno de los registros) y a la señal de ruido (EEG) aleatoria, estacionaria y de valor
medio cero.

3
UNER – Facultad de Ingeniería Programación Avanzada

Figura 4: Sistemas de adquisición de PEATC.

4
UNER – Facultad de Ingeniería Programación Avanzada

Objetivos
Los objetivos de este práctico son:

• Adquirir y almacenar en memoria los datos de las respuestas a los


estímulos auditivos (registros de EEG) que se encuentran dentro de
archivos en el disco rígido.
• Promediar las señales almacenadas a fin de obtener la señal de
PEATC.
• Aplicar distintas técnicas de procesamiento a la señal de PEATC para
mejorar sus características.
• Mostrar la señal de PEATC en pantalla y almacenarla en el disco
rígido.
• Determinar los valores de los picos encontrados en la señal de
PEATC, y los tiempos en los que éstos ocurren.

1. DISEÑO ORIENTADO A OBJETOS

• Objetivo

Comprensión y presentación del diseño del problema. Identificación de las


clases candidatas, las definitivas y sus relaciones.

• Trabajo a presentar

1.a) Diseño del programa.


1.b) Declaración de las clases encontradas con sus atributos y métodos
más significativos.

2. ADQUISICIÓN DE LAS SEÑALES DE EEG

Por cada paciente al que se le realizó el estudio, se encuentra almacenado


en el disco rígido un archivo de texto llamado “_NOMBRE_.cfg” (donde
‘_NOMBRE_’ representa el nombre de los pacientes). Contiene parámetros
importantes del estudio, como el nombre del paciente, la fecha en que se
obtuvieron las señales, el nombre del archivo donde se encuentran
almacenadas todas las señales, la cantidad de señales obtenidas y la
cantidad de muestras por señal. Todas las señales se encuentran
almacenadas en un único archivo binario para cada paciente, con el
formato tiempo de muestra/valor de la muestra, ambos valores flotantes.
Un esquema de dicho formato para un paciente se esquematiza en la figura
5.

5
UNER – Facultad de Ingeniería Programación Avanzada

REGISTRO_X.DAT

t11 v11 t12 v12 …. …. t1n v1n t21 v21 t22 v22 …. …. t2n v2n …. ….
2
EEG1 EEG2
…. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. ….

…. …. …. …. …. …. …. …. …. …. tm1 vm1 tm2 vm2 …. …. tmn vmn


t
EEGm

Figura 5: Archivo con m señales de EEG de n muestras cada uno

Se requiere leer dichos archivos y almacenar todas las señales en memoria,


en conjunto con sus parámetros.

Una vez que todos los datos fueron almacenados, es conveniente


reordenarlos como se muestra en la figura 6. Al estar ordenados de esta
manera, el procesamiento de las señales puede realizarse de una forma
mucho más eficiente, dado que en lugar de ser necesario cargar los m x n
datos en memoria para comenzar la promediación, se pueden ir procesando
de a m datos para obtener cada muestra del potencial evocado.

REGISTRO_X_MODIF.DAT

t11 v11 t21 v21 …. …. tm1 vm1 t12 v12 t22 v22 …. …. tm2 vm2 …. ….

m 1ras muestras m 2das muestras


…. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. ….

…. …. …. …. …. …. …. …. …. …. t1n v1n t2n v2n …. …. tmn vmn


t avas
mn muestras

Figura 6: Formato del archivo modificado

Es decir, esta nueva estructura tiene primero los primeros registros de


todas las señales, luego los segundos registros de todas las señales y así
sucesivamente.

• Objetivo

Comprensión de los fundamentos de lectura y escritura de archivos de texto


y binarios. Utilización de estructuras de datos.

• Trabajo a presentar

2.a) Almacenar en memoria los parámetros del estudio en conjunto con las
señales registradas utilizando la estructura de datos creada durante el
diseño del problema.

6
UNER – Facultad de Ingeniería Programación Avanzada

2.b) Mostrar por pantalla los datos correspondientes a cada paciente.


2.c) Graficar con GNUPlot uno de los EEG de un paciente. El usuario podrá
elegir el paciente y cual señal será la mostrada en pantalla.
2.d) A partir de las señales almacenadas en el archivo REGISTRO_X.DAT
generar otro archivo binario con el formato mostrado en la figura 6
utilizando la funciones de la biblioteca iostream, como por ejemplo seekg()
y tellg().

3. FILTRADOS DE LAS SEÑALES DE EEG

Se requiere obtener algunos parámetros estadísticos importantes de las


señales de EEG como el valor medio µ, el desvío estándar σ y los valores
máximos y mínimos. Estos parámetros permiten identificar, por ejemplo, las
señales que pueden ser descartadas debido a que sus valores se encuentran
fuera del rango normal para un adulto.

Posteriormente, debe obtenerse la señal de PEATC a partir de las señales de


EEG mediante la técnica de Promediación Coherente, que consiste en
promediar los valores isócronos3 de todas las señales de EEG almacenadas
en memoria.

Una vez extraído el PEATC, pueden aplicársele algunas técnicas de filtrado


con distinto fines, por ejemplo:

- Remoción del nivel de continua: para llevar a cero el valor medio de todas
las señales. El filtro se implementa sustrayendo a cada valor de la señal el
valor medio µ de la misma.

- Remoción de tendencia lineal (Detrend): para corregir la tendencia a subir


o bajar de las señales. Esta tendencia puede verse como una recta que pasa
por el medio de la señal, denominada recta de mínimos cuadrados. El filtro
se implementa sustrayendo a la señal la recta de ajuste de mínimos
cuadrados. El algoritmo para encontrar la recta de mínimos cuadrados es:

void RectaMinimosCuadrados()
{
int n = s.size();
double sumx=0,sumy=0,sumx2=0,sumy2=0,sumxy=0;
double sxx,syy,sxy;
double x,y;

for (int i=0; i<n; i++)


{
x=i;
y=s[i];
sumx += x;
sumy += y;
sumx2 += (x * x);
sumy2 += (y * y);
sumxy += (x * y);
}

3
Isócronos: que ocurren en el mismo instante de tiempo.

7
UNER – Facultad de Ingeniería Programación Avanzada

sxx = sumx2 - (sumx * sumx / n);


syy = sumy2 - (sumy * sumy / n);
sxy = sumxy - (sumx * sumy / n);

// Pendiente infinita
if (abs(sxx) == 0)
cout << "Pendiente infinita";
else
{
// Calcula la pendiente y la ordenada al origen
pendiente = sxy / sxx;
ord_origen = sumy / n - pendiente * sumx / n;
}
}

- Filtrado pasabajos: para suavizar la forma de onda de la señal. El filtro se


implementa aplicando a la señal el siguiente algoritmo:

s_filt[i-3] = a0*s[i] + a1*s[i-1] + a2*s[i-2] + a3*s[i-3] + a4*s[i-4]


+ a5*s[i-5] + a6*s[i-6]

donde

a0=0.09126085479392705; a4=0.15000490789650014;
a1=0.11426173765854734; a5=0.11426173765854734;
a2=0.15000490789650014; a6=0.09126085479392705;
a3=0.16357952746091733;

- Normalización: para que todas las señales posean la misma escala. El


filtro se implementa escalando la señal en el rango [0,1], esto es, el valor
mínimo de la señal toma el valor 0 y el valor máximo toma el valor 1.

Los resultados parciales de cada uno de estos procesamientos se muestran


a continuación en la figura 7.

8
UNER – Facultad de Ingeniería Programación Avanzada

600

400

200
m

Amplitud [uV]
señales 0

EEG
-200

-400

-600
0 2 4 6 8 10
Tiempo [m s]

Promediación
Coherente

PEATC
sin
procesar

Filtro
Eliminación
Continua

PEATC
sin
continua

Filtro
Eliminación de
Tendencia Lineal

9
UNER – Facultad de Ingeniería Programación Avanzada

PEATC
sin
tendencia

Filtro
Pasa Bajos

PEATC
suavizado

Filtro
Normalizador

PEATC
final

Fig. 7: Esquema del proceso completo de filtrado

Una vez obtenida y procesada la señal de PEATC, puede ser utilizada para
realizar diagnósticos clínicos a través de inspección visual en el display del
audiómetro. Por ejemplo, la ausencia del pico V en la señal es un claro
indicativo de que el paciente sufre de algún tipo de hipoacusia (disminución
de la capacidad auditiva).

10
UNER – Facultad de Ingeniería Programación Avanzada

Además, la visualización de la evolución de la señal a través de las distintas


etapas de filtrado permite determinar la calidad y eficiencia de los filtros
que están siendo utilizados.

• Objetivo

Utilización de los elementos de la STL: contenedores, iteradores y


algoritmos.

• Trabajo a presentar

3.a) Calcular el valor medio y el desvío estándar de las señales de EEG


registradas. Utilice métodos de la biblioteca algorithm, como por ejemplo,
max_element(), min_element() y de la biblioteca numeric, como
accumulate(), etc. Almacenar los resultados dentro del objeto que los
calcula.
3.b) Realizar la Promediación Coherente de las señales almacenadas en
memoria (no utilice el archivo obtenido en el punto 2.d), almacenando la
señal de PEATC resultante dentro del objeto que lo calcula.
3.c) Implementar los filtros mencionados anteriormente: remoción de nivel
de continua, remoción de tendencia lineal, pasabajos y normalizado
descritos anteriormente.
3.d) Almacenar en archivos de texto todas las salidas parciales de los filtros
utilizados en el punto 3.c.
3.e) Con el programa se debe poder visualizar con GNUPlot cualquier
gráfico a elección del usuario.

4. OPERADORES PARA LA PROMEDIACIÓN COHERENTE

Para hacer más clara la lectura del código, se propone escribir un nuevo
algoritmo de la Promediación Coherente, donde la suma de las señales de
EEG pueda llevarse a cabo mediante el operador ‘+’, y la división por el
número de muestras, mediante el operador ‘/’.

De la misma manera, se desea acceder a cada muestra de las señales por


medio del operador ‘[]’, para poder utilizarlo de la siguiente manera:

Senial PEATC; //Creación de un objeto de tipo Senial


float valor;
//Se accede DIRECTAMENTE a los valores almacenados mediante el
//operador [] APLICADO AL OBJETO
valor=PEATC[3];
PEATC[5]=0.0000023;

11
UNER – Facultad de Ingeniería Programación Avanzada

• Objetivo

Aplicación de conceptos de sobrecarga de funciones y sobrecarga de


operadores.

• Trabajo a presentar

4.a) Generar un nuevo algoritmo para la Promediación Coherente, en


donde las señales de EEG puedan sumarse mediante el operador ‘+’ y
pueda utilizarse el operador ‘/’ para realizar la división final en el cálculo del
promedio.
4.b) Agregar al programa la posibilidad de acceder a cada elemento de
cualquier señal en memoria para lectura o escritura mediante el operador
‘[]’.

5. GRAFICACIÓN DEL PROCESO DE FILTRADO

Se requiere visualizar la evolución del proceso de Promediación Coherente


de las señales de EEG. Esto permite, por ejemplo, determinar el número
óptimo de señales de EEG que deben ser promediadas a fin de obtener una
señal de PEATC de utilidad para diagnóstico. Un ejemplo de gráfico que
muestra la evolución de la promediación puede verse en la figura 8.

Figura 8: Visualización de la evolución de la Promediación Coherente.

12
UNER – Facultad de Ingeniería Programación Avanzada

• Objetivo

Utilización de la biblioteca de graficación OpenGL.

• Trabajo a presentar

5.a) Graficar la señal de PEATC obtenida.


5.b) Realizar una gráfica en 3 dimensiones, en donde el eje x represente el
tiempo, el eje y represente los resultados parciales de la Promediación
Coherente y el eje z represente el número de señales de EEG promediadas.

6. CONTENEDOR DE FILTROS

Dado que todos los procesamientos aplicados a la señal de PEATC pueden


considerarse como filtros, se podría pensar en crear un conjunto de estos
filtros, para ser utilizados indistintamente del tipo de procedimiento que
realizan. Es decir:

for(unsigned i=0;i<CantidadFiltros;i++)
{
ListaDeFiltros[i]->MostrarNombreFiltro();
ListaDeFiltros[i]->Filtrar(PotencialEvocado);
}
• Objetivo

Aplicación de conceptos de polimorfismo.

• Trabajo a presentar

6.a) Almacenar todos los filtros existentes en una única lista.


6.b) Agregar un método que permita identificar el tipo de filtro a utilizar,
para diferenciar los distintos filtros existentes en la lista.
6.c) Filtrar la señal de PEATC utilizando todos los filtros que se encuentran
almacenados en la lista de filtros.

7. CÁLCULO NUMÉRICO

Como se mencionó anteriormente, la presencia de los picos, sus amplitudes


y latencias (el tiempo en el que los picos ocurren), son las características
principales que permiten realizar diagnósticos clínicos sobre el estado del
sistema auditivo del paciente. En la actualidad, una de las ramas de
investigación sobre estas señales apunta a la detección automática de
hipoacusias. Esto requiere, entre otras cosas, el desarrollo de técnicas para
la detección automática de los picos y el tiempo en el que éstos ocurren
(latencias) como puede verse en la figura 9.

13
UNER – Facultad de Ingeniería Programación Avanzada

Figura 9: Gráfico del PEATC y su derivada primera.

• Objetivo

Utilización de biblioteca de cálculo numérico.

• Trabajo a presentar

7.a) Interpolar los valores de la señal de PEATC utilizando funciones de la


biblioteca Numerical Recipes (Oxford University), como por ejemplo spline()
y splint(), para obtener mayor precisión en el cálculo del valor de los picos.
Realizar métodos que permitan obtener el valor de la señal para cualquier
tiempo.
7.b) Realizar métodos para obtener la 1er y 2da derivada de la señal para
cualquier valor del tiempo. Estos se utilizarán para identificar los puntos
críticos de la señal y discriminar si se trata de máximos o mínimos de la
señal.
7.c) Los máximos y mínimos de la señal de PEATC se encuentran en
aquellos puntos donde se anulan los valores de la 1ra derivada. Implementar
un método para detectar cuáles son los intervalos de tiempo entre los que
se encuentran las raíces de la derivada, y posteriormente encontrar dichas
raíces.
7.d) Determinar el tiempo en el que ocurren los picos (máximos de la señal
de PEATC) verificando que los puntos críticos encontrados mediante la 1ra
derivada posean signo negativo en la 2da derivada.
7.e) Comente los resultados logrados, y compárelos con los que se
obtienen mediante inspección visual de la señal. Para esto se debe graficar
la señal de PEATC, su 1ra derivada en la misma ventana e indicar con
círculos los picos encontrados utilizando GNUPlot.

14

Вам также может понравиться