Anda di halaman 1dari 4

ESCUELA COLOMBIANA DE INGENIERA JULIO GARAVITO PROCESAMIENTO DE SEALES E IMGENES

MDICAS 2016-I

Laboratorio 1
(Febrero, 2016)
lvaro Jos Bocanegra 2099269, Andrs Felipe Garca 2101561.
ResumenEste laboratorio pretenda acercar al estudiante al
diseo de diversos filtros utilizando Matlab, comparar su
funcionamiento, acercar al estudiante al tratamiento de seales
con seales mdicas reales y promover su creatividad
proponiendo un problema de deteccin de enfermedades.
Palabras ClaveSeal, Ruido, Matlab, Filtro, FIR, Ventana
mvil, Frecuencia.

I.

INTRODUCCIN

En el anlisis de seales biomdicas entran en juego diversos


factores que pueden afectar el veredicto acerca de la seal en
cuestin. Existen elementos propios de la seal, y existen
elementos ajenos a la misma que alteran el juicio a la hora de
realizar un diagnstico, estos elementos por lo general
provienen de seales que no son de inters, es decir, ruido.
Mediante el anlisis en frecuencia de seales y el uso de
diversos mtodos de procesamiento es posible disminuir o
incluso eliminar el ruido de una seal, sin llegar a daar la
informacin til de la misma.
Entre los mtodos ms bsicos para realizar este tipo de
procesamiento sobresalen el filtro de ventana mvil, el filtro
de operador diferencial, los filtros FIR (Filtro de respuesta
finita al Impulso) y el uso de promedios para disminuir el
ruido de alta frecuencia.
Existen herramientas para desarrollar y aplicar estos filtros de
manera automtica, sin embargo, para un ingeniero es
importante conocer el funcionamiento y la teora detrs de
estas herramientas, ya que el entendimiento permite el
mejoramiento de las tcnicas y el avance en el campo.
Dentro de las seales biomdicas ms recurrentes para su
procesamiento se encuentran el electrocardiograma (ECG),
electroencefalograma (EEG) y el electromiograma (EMG). La
correcta interpretacin de estas seales permite la correccin,
revencin y prediccin de diversos problemas mdicos, as
como la posibilidad de crear aplicaciones mdicas basadas en
estas seales.
II.

Fig. 2. Seal filtrada con promedio de ensambles.

RESULTADOS

Fig. 3. Seal filtrada mediante ventana mvil.

Fig. 1. Interfaz diseada.

ESCUELA COLOMBIANA DE INGENIERA JULIO GARAVITO PROCESAMIENTO DE SEALES E IMGENES


MDICAS 2016-I

Fig. 4. Seal filtrada mediante operador diferencial.

Fig. 7. Espectrograma de la seal (2D).

Fig. 8. Transformada Wavelet de Morlet de la seal (3D).


Fig. 5. Seal filtrada mediante filtro FIR.

Fig. 9. Transformada Wavelet de Morlet de la seal (2D).


Fig. 6. Espectrograma de la seal (3D).

ESCUELA COLOMBIANA DE INGENIERA JULIO GARAVITO PROCESAMIENTO DE SEALES E IMGENES


MDICAS 2016-I

Fig. 10. Promedio de ensambles de persona con fibrilacin


Auricular.
III. ANLISIS
Para el primer punto se utiliz la herramienta de diseo de
interfaz grfica nativa de MATLAB, la interfaz permita cargar
archivos .mat y bit, mediante el comando load, para el caso del
archivo .mat, y el uso de una funcin entregada previamente
para abrir y procesar archivos bit. Adicionalmente se utiliz el
comando evalin, el cul recibo como entradas el nombre y la
direccin del archivo, para cargar los archivos al workspace,
se realiz la transformada de Fourier de la seal seleccionada
y se mostr, para ello se utilizaron los comandos fft, shiftfft y
plot, los cuales permiten hallar la transformada rpida de
Fourier y permiten graficar la parte de inters.
Seguidamente se realiz el procesamiento de una seal ECG
proveniente de la base de datos de Physionet, especficamente
la base de datos Fantasia, esta seal fue muestreada a 250 Hz,
informacin que se encuentra en la pgina y es fundamental
para su procesamiento. En principio se deseaba realizar un
promedio de ensambles, sin embargo fue necesario hallar en
primer lugar los picos de la funcin, con el fin de recortar la
mnima unidad de la seal, en este caso el ciclo cardiaco, con
el fin de promediar todos los ciclos cardiacos de la seal y
obtener al final una seal mucho ms limpia como la mostrada
en la figura 2. Para encontrar los picos de la seal, primero se
recort la onda QRS, con el fin de realizar una correlacin
cruzada de esta onda con la seal completa, el resultado
muestra con lneas prominentes los puntos en los que la seal
es ms parecida a la seal recortada, es decir, los complejos
QRS, esto se llev acabo con la funcin xcorr de MATLAB, la
cual permite realizar la correlacin cruzada entre 2 seales, de
no ser iguales las seales, MATLAB completa los espacios
faltantes con ceros, por ello es necesario recortar la seal al
tamao de la seal original. Seguidamente se hall el mximo
de la seal, mediante la funcin max, y se estableci un
umbral de 0.75 de la seal original, esto se determin
mediante ensayo y error, recortando una seal y observando
cuantos picos se alcanzaban a contar al aumentar o disminuir
el umbral, con 0.75 se alcanzaba a tomar todos los picos. Una
vez establecido el umbral, se utiliz la funcin findpeaks con

el umbral para determinar la ubicacin de cada complejo QRS,


se estableci un promedio entre las distancias QRS-QRS de
toda la seal, y se dio un margen, es decir, si el promedio daba
275, se estableca como intervalo QRS-QRS 270, esto con el
fin de que no hubiera enmascaramiento de la seal. Se
estableci como punto central cada ubicacin de cada pico de
la seal y se recort 135 espacios antes de cada punto y 134
espacios despus, lo cual, sumando el punto en cuestin, da
los 270 puntos que se consideraron en un principio.
Seguidamente se realiz un promedio de todas estas seales
para finalmente obtener la seal filtrada. Este mtodo es muy
efectivo, ya que la atenuacin del ruido es impresionante, sin
embargo, requiere de muchas repeticiones de la muestra que se
desea, para nuestro caso la seal era de casi 2 horas, y del total
de la seal tan slo se obtuvo 1 ciclo cardiaco.
Con el fin de obtener la seal completa filtrada, se procedi a
realizar un filtrado mediante el uso de las tcnicas de ventana
mvil, operadores diferenciales y filtros FIR. La idea era
conectarlos en cascada, pero dado que el filtro diferenciador
presentaba una alteracin considerable de la seal a su salida,
se opt por comparar el desempeo de cada filtro
individualmente, para empezar se utiliz una ventana mvil,
para ello se dise una ventana de hamimng, mediante el
comando el comando con el mismo nombre en MATLAB, este
comando recibe como entrada el orden de la ventana, se utiliz
una ventana de orden 5, esto se determin empricamente. Una
vez obtenida la ventana se procedi a realizar un promedio de
la seal en la ventana, desplazando esta ltima. Para el filtro
con operadores diferenciales, se utiliz la siguiente ecuacin:

[2]
En los casos en que la seal se indeterminaba se opt por
reemplazar por x[n], se opt por utilizar un filtro de orden 4.
Finalmente para el filtro FIR se utiliz la funcin fir1, para
disear el filtro, esta funcin recibe como entradas el orden del
filtro y la(s) frecuencia(s) de corte, para este caso se utiliz un
orden 420 y unas frecuencias de corte de 5 Hz y 120 Hz, para
formar un filtro pasabandas. Cabe resaltar que las frecuencias
deben encontrarse estandarizadas a la frecuencia de Nyquist,
por lo que deben estar en un rango de valores de 0 a 1.
De los filtros, el diferenciador presenta un cambio drstico de
la seal, debido a que remarca las pendientes del ciclo
cardiaco, alterando gravemente su visualizacin. En cuanto a
los filtros de ventana mvil y FIR, se encontr que
aumentando el orden del filtro de ventana mvil la seal
terminaba deformndose, mientras que al aumentar el orden
del filtro FIR la seal pareca mejorar, sin embargo requiere
ms procesamiento.
Finalmente se realiz un anlisis tiempo-frecuencia de la
seal, mediante el uso del espectrograma y la transformada
Wavelet de Morlet. Para la implementacin del espetrograma
se utiliz la funcin de Matlab spectrogram, la cual recibe
como entradas la seal, la ventana a utilizar, la cantidad de
puntos de la seal de inters, la cantidad de puntos en la que
esta podra presentar enmascaramiento y la frecuencia de
muestreo. Mientras que para la transformada Wavelet de
Morlet, se haba optado en un principio por utilizar el

ESCUELA COLOMBIANA DE INGENIERA JULIO GARAVITO PROCESAMIENTO DE SEALES E IMGENES


MDICAS 2016-I
comando morlet de Matlab, sin embargo debido a la
complejidad de la transformada se opt finalmente por utilizar
un cdigo previamente probado. El anlisis tiempo frecuencia
permite conocer la variacin de intensidad en la frecuencia a
travs del tiempo, se encontr que a medida que la escala de
tiempo aumenta esta intensidad disminuye. Adicionalmente se
pueden observar las componentes en frecuencia de la seal,
para efectos prcticos se recort a 5 ciclos cardiacos, esto es
fcil de identificar en la figura 9.
Finalmente se propuso escoger una seal de la base de datos
MIT-BIH Atrial Fibrilation Database (afdb) [1], la cual
corresponde a seales de pacientes con fibrilacin auricular,
esta arritmia est caracterizada por intervalos R-R irregulares
y baja o nula presencia de ondas P. Para su deteccin se
propone utilizar el algoritmo utilizado para realizar el
promedio de ensambles, ya que provee informacin valiosa
para este diagnstico. Se repasar detalladamente el algoritmo
con el fin de explicar que variables resultan importantes para
la deteccin de la arritmia. En primer lugar se debe recortar la
seal con el fin de poder realizar una correlacin cruzada entre
la seal y un complejo QRS de la seal, con esta correlacin
es posible determinar la ubicacin de los picos, estableciendo
previamente un umbral, con esta informacin es posible
determinar la media de la distancia entre los complejos QRS
de la seal, este es el primer dato relevante, ya que esta media
distar bastante de una media normal, una vez se tiene este
dato es posible recortar intervalos de la seal en los que se
presente un ciclo cardiaco y promediarlos para obtener una
seal promedio, sin embargo, este algoritmo debe realizarse
teniendo en cuenta que no todos los QRS tienen una longitud
igual, y el promedio hallado anteriormente no proporciona
informacin confiable acerca del ancho del QRS, por lo que se
tomara la distancia del ancho de un ciclo cardiaco normal, o
incluso un valor menor, y se realizara el promedio de esta
manera, al terminar se puede obtener una onda como la que se
presenta en la figura 10, que, al compararla con la onda de la
figura 2, claramente carece de una prominente onda P,
caracterstica de la fibrilacin auricular. Cabe resaltar que la
media de la distancia entre los complejos QRS podra
coincidir con una media normal por el azar, por lo que para
darle ms credibilidad al algoritmo se podra realizar el

clculo de la desviacin estndar de las diferencias entre las


ubicaciones de los complejos QRS y, estableciendo una norma
empricamente, determinar a partir de qu valor de desviacin
estndar se puede considerar que el intervalo R-R es irregular.
IV. CONCLUSIONES Y SUGERENCIAS

El promedio de ensambles tiene el mejor resultado,


sin embargo requiere de muchas repeticiones de la
seal de inters, y slo se obtiene un ciclo cardiaco,
sin embargo en algunos casos es suficiente para dar
un diagnstico.
Los filtros FIR, MA y de operadores diferenciales,
presentan diferencias en su diseo, pero resultados
similares que dependen del orden del filtro, aunque
no se evidencia en el informe, se realizaron pruebas
conectando el filtro MA y FIR en cascada, el filtro
mejor notablemente.
El anlisis Tiempo-Frecuencia es til para observar
fenmenos de frecuencia a travs del tiempo de una
manera mucho ms explcita que, por ejemplo, con
un anlisis de una seal en la frecuencia mediante la
transformada de Fourier.
La deteccin de enfermedades depende de las
caractersticas de la enfermedad, para disear un
algoritmo de deteccin es importante conocer
caractersticas diferenciales de su comportamiento en
frecuencia, amplitud y dems.
V. BIBLIOGRAFA

[1] Physionet. ATM bank. https://www.physionet.org/cgibin/atm/ATM (Acceso 25 febrero 2016).


[2] Rangayyan, Rangaraj M. Biomedical Signal Analysis: A
Case-Study Approach. IEEE press series in Biomedical
Engineering. [Piscataway, NJ]: New York, N.Y: IEEE press;
Wiley-InterScience, 2002.