Está en la página 1de 7

Proyecto Final

Varianza y Filtros Pasa-Banda de Señales EEG.


Procesamiento de señales EEG para obtener varianza, filtro Chebyshev 1 y Elíptico en
Matlab.

Omar Moreno Landa Jasiel Arratia Lara


Facultad de electrónica: Ingeniería Mecatrónica Facultad de electrónica: Ingeniería Mecatrónica
Universidad Popular Autónoma del Estado de Puebla Universidad Popular Autónoma del Estado de Puebla
Puebla, México Puebla, México
omar.moreno@upaep.edu.mx jasiel.arratia01@upaep.edu.mx

Angel Spinoso Pensabé


Facultad de electrónica: Ingeniería Mecatrónica
Universidad Popular Autónoma del Estado de Puebla
Puebla, México
angel.spinoso@upaep.edu.mx

Abstract— This paper presents the script of Matlab which Debido a la naturaleza semipermeable del endotelio capilar,
processes data from EEG signals previously stored. The signals are las proteínas plasmáticas son retenidas en el comportamiento
filtered to remove some frequencies that belong to artefacts. The vascular y su influencia sobre la actividad osmótica es capital
variance is also computed to compare signals. para los movimientos de fluidos entre los compartimentos
Palabras clave— EEG, Variance, Filters, Band-Pass,
capilar e intersticial
Chebyshev, Elliptic, Matlab. Se establece este equilibrio a través del epitelio por la
presencia de proteínas no difusibles añade un pequeño pero
I. INTRODUCCIÓN significativo incremento a esta actividad osmótica. Las
En el presente documento se realiza un programa utilizando el proteínas de plasma originan una presión osmótica de unos 20
software de Matlab para el estudio de señales mm de Hg y la originada por las partículas cargadas
electroencefalográficas, cargando una base de datos de dichas producidas por el equilibrio de Gibbs es de unos 6 o 7 mm de
señales, utilizando filtros Pasa-Banda Chebyshev 1 y Elíptico. Hg. La suma de ambas es la presión oncótica o sea la atracción
El uso de los filtros es para poder eliminar frecuencias no hacia el agua que ejercen las proteínas del plasma
deseadas, las cuales podrían pertenecer a artefactos usados en Cuando partículas de gran tamaño cargadas eléctricamente,
la práctica. Se calculará la varianza con el fin de comparar las como las proteínas, que no se difunden a través de una
señales. De igual manera se dará una breve explicación de lo membrana semipermeable están presentes en un
que es el Efecto Gibbs, del filtro pasabandas y de lo que son compartimento fluido como el vascular, atraen los iones
las señales EEG y cómo es que se obtienen. cargados positivamente y repelen los iones cargados
negativamente (tal y como aparece en la figura). Como
consecuencia de ello, se establece un gradiente eléctrico y
II. MARCO TEÓRICO sendos gradientes de concentración de los iones, estos dos
últimos iguales y de signo opuesto. En el equilibrio, los
Efecto Gibbs productos de las concentraciones iónicas de cada lado de la
También conocido como el efecto de Donnan, la ley de membrana son iguales. En consecuencia, la concentración de
Donnan o el equilibrio de Donnan, es el nombre para el partículas es desigual a ambos lados de la membrana y se
comportamiento de partículas cargadas cerca de membranas establece un gradiente osmótico en dirección hacia el
semipermeables, en otras palabras, es el efecto de equilibrio compartimiento que contiene las proteínas.
que se produce entre iones que pueden atravesar la membrana Equilibrio de membrana de Donnan
y los que no son capaces de hacerlo. Las composiciones de en El equilibrio de membrana de Donnan se basa en que a un
el equilibrio se ven determinadas tanto por las concentraciones lado de la membrana hay que "aplicar" una disolución "por
de los iones como por sus cargas. ejemplo" cloruro sódico y al otro lado de la membrana un
electrolito cargado negativamente, los iones que son de signo
contrario pasan a través de la membrana, y los iones de · Ritmo: estados de relajación, aumentan al cerrar los
cloruro y de sodio pasan sin ninguna dificultad por la ojos. Región: occipital, en menor medida en parietal y
membrana, los iones de las partículas iónicas no pasan frontal. Tienen una frecuencia de 8–12 Hz
teniendo un equilibrio a lo largo de la membrana, como existe · Ritmo: Actividades mentales intensas. Región:
un equilibrio los volúmenes en la disolución a ambos lados de parietal y frontal. Originan un campo electromagnético
la membrana son idénticos, la actividad o concentración del con una frecuencia comprendida entre 13 y 30 Hz.
cloruro sódico es la misma, por lo tanto, obedece al principio · Ritmo: Movimientos o planeación de los mismos.
de tendencias de escape. Región: fronto-central
Transporte de Membrana Montaje de electrodos
La membrana es impermeable a moléculas hidrofílicas como
los hidratos de carbono, aminoácidos, proteínas o ácidos
nucleicos.
La membrana es permeable a moléculas hidrofóbicas como los
lípidos, y a moléculas pequeñas como los gases. También es
parcialmente permeable al agua.
La membrana debe permitir la entrada de nutrientes en la
célula y la salida de productos de desecho. También debe
transmitir a la célula las señales que proceden del exterior de
la misma. Por eso en la membrana existen transportadores y
receptores, y ambos son proteínas de membrana.

Señales EEG.
Es un análisis que se utiliza para detectar anomalías
relacionadas con la actividad eléctrica del cerebro. Este
procedimiento realiza un seguimiento de las ondas cerebrales
y las registra. Se colocan pequeños discos metálicos con
cables delgados (electrodos) sobre el cuero cabelludo y
después se envían señales a una computadora para registrar los
resultados. La actividad eléctrica normal del cerebro forma un
patrón reconocible. Por medio de un EEG, los médicos pueden
buscar patrones anormales que indiquen convulsiones u otros
problemas.
Du Bois Rédmond, médico alemán, fue la primera persona en
observar la aparición de actividad eléctrica al paso de un
impulso nervioso en nervios periféricos. Richard Caton, Figura 1. Adquisición de señales EEG.
científico inglés, fue la primera persona en observar la
actividad eléctrica a nivel cerebral efectuando registros en Sistema PETAC
animales. Hans Berger, médico alemán, fue la primera persona
en registrar la actividad eléctrica cerebral en seres humanos en
forma de registros, acuñó el término electroencefalograma.
El EEG proviene de la suma espacial del campo generado por
potencias postsinápticos que ocurren en forma sincronizada en
poblaciones neuronales de distribución espacial uniforme.
En ámbito de las aplicaciones clínicas del EEG, a los patrones
de señal que se manifiestan ante eventos o comportamientos
específicos se denominan ritmos

EEG – Ritmos
A los patrones de señal que se manifiestan ante eventos o
comportamientos específicos se denominan ritmos. Figura 2. Sistema PETAC..
· Ritmo : en niños, en adultos en sueño profundo o con
patologías (región -adultos: frontal; región -niños:
occipital). Con una frecuencia de 0.5-3 Hz,
· Ritmo: durante estrés emocional (decepción o
frustración) región: parietal y temporal. Con una
frecuencia de 4-7 Hz EEGLAB.
EEGLAB es una caja de herramientas interactiva de Matlab el fin de determinar las constantes temporales del circuito, y
para el procesamiento de EEG continuo y relacionado con en consecuencia las frecuencias a las que este responde.
eventos, MEG y otros datos electrofisiológicos que incorporan
Filtro pasa banda
análisis de componentes independientes (ICA), análisis de
tiempo / frecuencia, rechazo de artefactos, estadísticas Es aquel que permite el paso de frecuencias comprendidas
relacionadas con eventos y varios modos útiles de en un determinado rango de frecuencias, es decir, entre una
visualización del promedio. y datos de un solo ensayo. frecuencia de corte superior (FH) y una inferior (FL).
EEGLAB se ejecuta en Linux, Unix, Windows y Mac OS X.
Se usa en ecualizadores de audio, haciendo que unas
EEGLAB proporciona una interfaz gráfica de usuario (GUI)
interactiva que permite a los usuarios procesar de manera frecuencias se amplifiquen más que otras. También para
flexible e interactiva su EEG de alta densidad y otros datos eliminar los sonidos que aparecen alrededor de una señal
conocida. Fuera de la electrónica y del procesamiento de
cerebrales dinámicos utilizando el análisis de componentes
señales, se utilizan en el campo de las ciencias atmosféricas
independientes (ICA) y / o el análisis de tiempo / frecuencia
para manejar los datos dentro de un rango de unos 3 a 10 días.
(TFA), así como el promedio estándar métodos EEGLAB
también incorpora un amplio tutorial y ventanas de ayuda, Filtro Chebyshev tipo 1
además de una función de historial de comandos que facilita la Son filtros que únicamente tienen polos, presentan un rizado
transición de los usuarios de la exploración de datos basada en constante en la banda pasante y presentan una caída monótona
GUI a la creación y ejecución de secuencias de comandos de en la banda de rechazo.
análisis de datos personalizados o por lotes. EEGLAB ofrece
una gran cantidad de métodos para visualizar y modelar La respuesta en frecuencia es:
dinámicas cerebrales relacionadas con eventos, tanto a nivel
de "conjuntos de datos" individuales de EEGLAB como a
través de una colección de conjuntos de datos reunidos en un
"estudio" de EEGLAB.

Filtros electrónicos El polinomio de Chebyshev de orden N, que se define


Son circuitos que procesan señales en el dominio de la como:
frecuencia, pudiendo modificar su amplitud o fase. Los filtros
electrónicos pueden ser
· Activos o pasivos III. OBJETIVO
· Analógicos o digitales Escribir un algoritmo en Matlab en un archivo de tipo
· De paso alto, bajo, banda, elimina banda o pasa todo script en donde se carguen datos de señales EEG e
implementar funciones de la librería de eeglab para analizar y
· De tiempos discretos o continuos procesar las señales. Se aplican filtros pasa banda Chebyshev
· Respuesta infinita al impulso (IIR) o respuesta finita 1 y Elíptico, así como también se calcula la varianza de uno de
al impulso (FIR) los 14 canales de la base de datos que se va a utilizar.

De la teoría se obtiene que los filtros se caracterizan por su IV. DESARROLLO


función de transferencia, por lo que cualquier configuración de Para realizar el script en Matlab para analizar las señales es
elementos activos o pasivos que consigan una cierta función necesario descargar el toolbox de EEGLAB desde este enlace :
de transferencia, serán considerados filtros de un cierto tipo. https://sccn.ucsd.edu/eeglab/download.php
Los inductores bloquean las señales de alta frecuencia y
Una vez descargado el archivo, se debe descomprimir la
conducen las señales de baja frecuencia, mientras los
carpeta .rar en una ubicación deseada.
condensadores trabajan, al contrario. Un filtro en el que la
señal pasa a través de un inductor o en el cual el condensador
Posteriormente se debe añadir el archivo “specL” a la carpeta
desvía una corriente a tierra, presenta menos atenuación ante
“eeglab current” con el fin de tener todas las herramientas
las señales de baja frecuencia que ante las de alta frecuencia,
disponibles.
por lo que es un paso de baja frecuencia. Si la señal pasa a
través de un condensador o tiene una toma de tierra a través
Se crea un nuevo script en Matlab y este debe ser guardado en
del inductor, entonces el filtro presentará menos atenuación
la carpeta de “eeglab current”. Para este proyecto se analizan
ante las señales de alta frecuencia que ante las de baja
los datos del archivo “data.mat” cuya ubicación debe estar en
frecuencia, por lo que es un filtro de paso alto. Las resistencias
la misma carpeta. Los nombres de los 2 scripts que componen
por sí mismas no tienen propiedades de selección de
este proyecto son:
frecuencias, pero se unen a los condensadores e inductores con
1. Proyecto_Varianza_AS_JA_OM.m
2. Proyecto_Filtros_AS_JA_OM.m Ahora se crean unas variables que se usan para el cálculo de la
varianza, el offset se guarda en una variable “l” la cual cambia
dentro del ciclo que va calculando la varianza con el
En la Figura 3 se muestran los archivos necesarios que deben incremento de una variable “k”.
estar contenidos en la carpeta de “eeglab current” resaltados.
l=offset;
secPerSegment = 1;
chan2Analize = 1;
nLags=5000;

for k = 1:(round((TT/fs)/secPerSegment));

varianza(k) =
var(data2Use(chann2use,1:offset+secPerSegment*k*fs))
;
l=secPerSegment*k*fs+offset;
end

Por último se grafican la señal original y la varianza y de esta


manera se puede analizar, se hacen las 2 gráficas en una
misma figura mediante la función subplot.

timebase2 =
(offset/fs)+1:secPerSegment:round((TT+offset-1)/fs);
figure; subplot(2,1,1); plot(timebase,
Figura 3. Contenido de “eeglab current”. data2Use(chann2use, interval))
title(['Señal Original,
Canal:' num2str(chann2use)])
1. Varianza xlabel('Tiempo (s)')
Lo primero que se debe escribir en el código es la ejecución de subplot(2,1,2); stem(timebase2,
eeglab y cargar los datos a utilizar, sin olvidar limpiar todo al varianza(1:length(timebase2)))
principio, esto aplica para ambos scripts y se realiza con las title('Varianza')
xlabel('Tiempo (s)')
siguientes líneas de código.
close all;
clear all; 2. Filtros.
cd eeglab14_1_2b Este proyecto contempla realizar Filtros Pasa-Banda de tipo
eeglab Chebyshev 1 y Elíptico para comparar y concluir cuál de estos
cd ..
load('data.mat') 2 es más conveniente.

El inicio del programa es igual que en el script de la Varianza,


A continuación se declaran las variables con sus valores tal como se ha mencionado. Para las variables iniciales existen
iniciales, las cuales son parte de los argumentos de las algunos cambios al respecto y estas son:
funciones del programa, en las siguientes líneas de código se
muestran algunas como la frecuencia de muestreo, el canal y [N, T] = size(data2Use); %Matriz de los datos.
el intervalo de tiempo a analizar, etc. fs = 256; %Frecuencia de
muestreo (256 Hz).
fci = 8; %Frecuencia de corte
[N, T] = size(recordings); inferior.
data2Use = recordings; fcs = 30; %Frecuencia de corte
fs = 256; %Frecuencia de muestreo (256 superior.
Hz) order = 4;
offset = 1; % Punto Inicial. offset = 1; % Punto inicial.
channels = 1:14; %Canales de señales len = 20;
len = 20; %Tiempo de análisis. interval = offset:offset+len*fs-1;
interval = offset:offset+len*fs-1; channels = 1:14;
[NN, TT] = size(data2Use(channels, interval)); L = fs; %Número de puntos a
timebase = (offset/fs):(1/fs):(TT+offset-1)/fs; calcular para el espectro.
chann2use = 2; %Canal a analizar. data2Use = data2Use(channels,interval);
[NN, TT] = size(data2Use);
Más adelante, se grafican los datos y se normalizan con estas timebase = (offset/fs):(1/fs):(TT+offset-1)/fs;
instrucciones. chann2Filt = 10; %Canal a filtrar.

eegplot(data2Use,'srate',fs,'winlength',20) También se grafican los datos y se normalizan como en el


data2Use = (data2Use - mean(data2Use,2) * programa anterior, en el Zero-mean se utiliza la variable TT en
ones(1,T))./(std(data2Use,0,2) * ones(1,T));
lugar de T.
data2Use = (data2Use - mean(data2Use,2) *
ones(1,TT))./(std(data2Use,0,2) * ones(1,TT));
eegplot(data2Use,'srate',fs,'winlength',20) V. RESULTADOS
También se definen las variables ao y bo para obtener el En la Figura 4 se muestran las 2 gráficas que incluyen la señal
espectro de potencia del canal original. original y la gráfica de la varianza, ambas con respecto al
tiempo.
[ao, bo] =
specL(data2Use(chann2Filt,:)',fs,1,fs/2,L,0,'Power
Spectrum Original Channel');

En las siguientes líneas del programa ya se obtiene la señal


filtrada, en este caso con un filtro Chebyshev 1, sus variables
son abc1 y bbc1, el argumento de la función cheby1 se
compone del orden del filtro, la constante R y la frecuencia(s)
de corte, si hay 2 valores para las frecuencias de corte, Matlab
en automático reconoce que se trata de un Filtro Pasa-Banda,
la constante R se recomienda tenga un valor de 0.5.

[bbc1, abc1] = cheby1(order, 0.5, [fci/(fs/2) Figura 4. Gráfica de varianza.


fcs/(fs/2)]);
fvtool(bbc1,abc1)
bpf_signal_c1 = Por otra parte, el programa que aplica los filtros Pasa-Banda
filtfilt(bbc1,abc1,data2Use(chann2Filt,:)); arrojaron los siguientes resultados. En la Figura 5 se graficó la
figure; plot(timebase,data2Use(chann2Filt,:)); hold magnitud en decibeles de la señal filtrada por el Filtro
on; plot(timebase,bpf_signal_c1,'r')
legend('Original','Filtered BPass-Cheby 1')
Chebyshev 1 respecto a la frecuencia dada en rad/s.
xlabel('Time (s)')
title('Band-Pass Chebyshev 1')
[af, bf] =
specL(bpf_signal_c1',fs,1,fs/2,L,0,'Power Spectrum
Filtered Channel');
figure(301); plot(af,[10*log10(bo) 10*log10(bf)]);
hold on;
legend('Original','Filtered BPass-
Cheby 1')
xlabel('Frequency (Hz)'); ylabel('PSD
(dB)')
title('Espectro BPass-Chebyshev 1')

De la misma manera, el filtro elíptico reconoce en automático


que es un filtro Pasa-Banda, su argumento también incluye el
orden, una constante Rp que se recomienda con un valor de Figura 5. Respuesta Frecuencia vs dB Filtro Chebyshev 1.
0.5, una variable Rs con valor recomendable de 20.
La respuesta de magnitud del filtro Chebyshev 1 también se
[bbe, abe] = ellip(order, 0.5, 20, [fci/(fs/2)
muestra en su forma original dada una función de
fcs/(fs/2)]); transferencia (Figura 6), en esta gráfica se pueden observar los
fvtool(bbe,abe) 4 rizos en la banda pasante característicos de este filtro.
bpf_signal_be =
filtfilt(bbe,abe,data2Use(chann2Filt,:));
figure; plot(timebase,data2Use(chann2Filt,:)); hold
on; plot(timebase,bpf_signal_be,'r')
legend('Original','Filtered BPass-Elíptico')
xlabel('Time (s)')
title('Band-Pass Elíptico')
[af, bf] =
specL(bpf_signal_be',fs,1,fs/2,L,0,'Power Spectrum
Filtered Channel');
figure(302); plot(af,[10*log10(bo) 10*log10(bf)]);
hold on;
legend('Original','Filtered BPass-
Elíptico')
xlabel('Frequency (Hz)'); ylabel('PSD
(dB)') Figura 6. Respuesta Frecuencia vs Magnitud de Filtro Chebyshev 1.
title('Espectro BPass-Elíptico')
En la Figura 7 se comparan la señal original del canal
seleccionado con la señal filtrada por el filtro Chebyshev 1 a
través del tiempo por un lapso de 20s.
Figura 10. Respuesta Frecuencia vs Magnitud de Filtro Elíptico.
Figura 7. Señal original (Azul) y Señal filtrada (Rojo) de Filtro Chebyshev 1.
La Figura 11 es muy similar a la Figura 7 correspondiente al
El espectro de potencia de la señal original respecto a la filtro Chebyshev 1, no es posible apreciar un cambio a simple
imagen filtrada se compara en la Figura 8 a través de la vista.
frecuencia, aquí se observa que sólo entre las frecuencias de 8
Hz. y 30 Hz. la potencia es significativa.

Figura 11. Señal original (Azul) y Señal filtrada (Rojo) de Filtro Elíptico.

Figura 8. Espectro de la Señal original (Azul) y de la Señal filtrada (Rojo) de En el espectro de potencia si es posible notar un cambio
Filtro Chebyshev 1.
mínimo con una observación minuciosa, de igual manera hay
Para el filtro Elíptico se obtuvieron el mismo tipo de gráficas potencia en la banda pasante (Figura 12).
que el filtro Chebyshev 1, en la Figura 9 se muestra la gráfica
de Magnitud en dB respecto a la frecuencia en rad/s, nótese la
diferencia respecto a la Figura 5.

Figura 12. Señal original (Azul) y Señal filtrada (Rojo) de Filtro Elíptico.

VI. Conclusiones
Figura 9. Respuesta Frecuencia vs dB Filtro Elíptico.
Observando los resultados obtenidos de las gráficas generadas
En la Figura 10 de igual manera se puede observar la por el programa en Matlab se dice que las figuras 7 y 11 que
diferencia con la Figura 6, así como también los rizos muestran la señal original y filtrada de los filtros Chebyshev 1
característicos del filtro, es apreciable que la atenuación es y Elíptico respectivamente no es posible ver algún cambio,
más acelerada, pero se presentan rizos en la banda eliminada. ambos filtros respondieron igual de esa manera. Por otra parte
en el espectro de potencia la diferencia es apenas perceptible,
así que puede considerarse que también es la misma. Sin
embargo, en las Figuras 6 y 10 el cambio es muy notable y es
que estas gráficas describen el comportamiento característico
de los filtros, el filtro elíptico tiene una atenuación más rápida, atenuación no es tan rápida, es lo suficientemente efectivo
pero presenta grandes rizos en la banda pasante, que pudieran para cumplir el objetivo deseado.
generar cierta interferencia de señal en frecuencias no
deseadas, por su parte, el Chebyshev 1 es más estable. Basado REFERENCIAS
en la semejanza entre las señales filtradas observada en las [1] TRALLERO, A. (2009). “Teoría de Filtros”.
Figuras 7 y 11 y a las características de los filtros apreciables Departament de Teoria del Senyal i Comunicacions.
en las Figuras 6 y 10, el equipo concluye que es más
conveniente aplicar un filtro Chebyshev 1 para no tener
[2] ASC. (2004). “Conceptos fundamentales en el diseño de
frecuencias no deseadas en la señal, a pesar de que la
filtros”. Área de Electrónica, Dpto. de Electrónica y
Electromagnetismo, ESI