PERFILES
44
ANÁLISIS DE SEÑALES CARDIOVASCULARES
UTILIZANDO TÉCNICAS DE PROCESAMIENTO
DIGITAL DE SEÑALES
Ricardo Siza
1
, Dennis Cazar
1, 2
, Marcelo Cortez
1, 2
1
Escuela Superior Politécnica de Chimborazo, Facultad de Ciencias,
2
Grupo Ecuatoriano para el Estudio Experimental y Teórico de Nanosistemas GETNano
Autor para correspondencia: bioricardo@gmail.com
Fecha de recepción: 1 de abril de 2013 - Fecha de aprobación: 25 de julio de 2013
El presente trabajo analiza los algoritmos asociados para la visualización de una señal de electrocardiograma (ECG), la
detección de ondas y complejos que lo conforman, empleando el Análisis de Fourier se generan las ondas sinusoidales P,
T, U, como el complejo QRS que componen una señal ECG típica. Utilizando Scilab [6] se ha construido la señal ideal y se
han individuado los parámetros que la caracterizan para poder así realizar una comparación con señales ECG de pacientes y
reconocer posibles patologías cardíacas.
Palabras llaves: Algoritmos, Electrocardiograma, Análisis de Fourier, Análisis de señales
Keywords: Algorithms, Electrocardiogram, Fourier analysis, Analysis of signals
The aim of this work is to study algorithms used for visualization and analysis of ECG signals, in particular we have found
and characterize the waves and complex which form the ECG signal. Using Fourier Analysis sinusoidal waves P.T, U as well
as QRS complex has been generated in order to create a typical ECG signal. With the aid of Scilab [6] an ideal signal has
been assembled and all the principal parameters has been modeled to compare our ideal ECG signal with real ones took from
patients to help in the detection of cardiac diseases.
Imagen ilustrativa: SinusRhythmLabels (Anthony Atkielski) Fuente: http://commons.wikimedia.org
PERFILES
45
1. INTRODUCCIÓN
El Electrocardiograma (ECG) fue descripto por primera vez por Ein-
thoven en 1903. La observación fundamental fue que la actividad eléc-
trica del corazón podía ser registrada mediante electrodos colocados en
la supercie del cuerpo, y que dicha actividad poseía un ritmo que coin-
cidía con el pulso cardíaco. Los componentes individuales de la señal
eléctrica que se registra coinciden con eventos que se producen en las
diferentes regiones del corazón. De esta forma, los intervalos entre los
componentes especícos de la señal de ECG representan el retardo de
tiempo entre la activación de las diferentes regiones del corazón. Por
ejemplo, el llamado intervalo PR representa el intervalo de tiempo que
hay entre la activación de la aurícula y la de los ventrículos, por lo que
reeja el retardo de conducción que se produce en el nódulo AV. Las
anomalías del ECG representan por lo tanto anomalías en iniciación y
propagación de la actividad eléctrica del corazón. Esto ha permitido que
el ECG se transforme en una herramienta diagnóstica primaria de en-
fermedades cardíacas, tales como la hipertroa o el infarto de miocardio,
o de enfermedades de otro tipo que indirectamente afectan al corazón.
Ya que la propagación eléctrica en el corazón es unidireccional, puede
representarse mediante un vector. La conguración del ECG depende
de la localización de los electrodos de registro, los que pueden ubicar-
se sobre la piel del paciente, en los miembros y/o en el tórax, (ECG
de supercie), a través de la cavidad nasofaríngea (ECG intracavitario)
o directamente sobre el corazón cuando se está realizando una inter-
vención mediante toracotomía. Cada ubicación especíca permite una
visualización diferente de las componentes del vector cardíaco. Como
se mencionó anteriormente la despolarización espontánea de las células
marcapaso inicia el ciclo cardíaco. La propagación célula a célula está
sincronizada y produce una activación ordenada de todas las regiones
del corazón. La activación comprende fases de despolarización y repo-
larización, cada una de las cuales produce una señal detectable en el
ECG. La señal de ECG está compuesta por diferentes fases, las cuales
se identican mediante las letras P, Q, R, S y T como puede observarse.
También puede observarse el correlato temporal de la señal de ECG
con los potenciales de acción de las diferentes estructuras cardíacas (ver
gura 1).
Para analizar la señal ECG y poder individuar
anomalías en la misma se utiliza el Holter, este
aparato monitorea constantemente (al menos por
24 horas) la actividad cardíaca y tiene integrado
un software que analiza la señal para luego pre-
sentar al cardiólogo los eventos anómalos facili-
tando así el diagnóstico del paciente.
En el presente trabajo se ha simulado una señal
de ECG ideal con la ayuda de Scilab y se han es-
tudiado los parámetros que se deben seleccionar
para poder reconocer anomalías y defectos tanto
en el ritmo cardíaco como en la duración y la con-
formación de las componentes del ECG.
2. MATERIALES Y MÉTODOS
La señal ECG fue modelada usando el software
Scilab, se optó por este software debido a su ver-
satilidad, facilidad de uso y porque se trata de una
herramienta de Software Libre que a diferencia
del software comercial (e.g. Matlab) pone a dis-
posición todas las librerías y componentes nece-
sarios para su uso sin costo alguno.
Para modelar la señal de ECG se usa el Teorema
de Fourier que permite representar ondas com-
plejas como una serie innita de senos y cosenos,
la elección oportuna de los coecientes permite
modelar la señal así obtenida para adaptarla a una
señal ECG ideal.
2.1 Simulación de la señal ECG
Adaptando las fórmulas de la serie de Fourier
para generar las señales ECG se obtiene:
Sea f(x) función base para generar ondas de ECG
mediante el cálculo de sus coecientes.
Figura 1. Representación gráca en función del tiempo y ampli-
tud de ECG donde pueden apreciarse las ondas P, el complejo
QRS y la onda T en casos especiales la onda U.
Figura 2. Ejemplo del software de análisis de seña-
les ECG usado en los aparatos Holter comerciales.
f(x)=
a
+a
n
l
x+ b
n
l
x
n
n=
n
n=
0
11
2
cossin (1)
ππ
∞∞
∑∑
PERFILES
46
2.2 Generación de la función (complejo QRS)
Para poder generar esta forma de onda, hay que
encontrar el sumatorio de señales sinusoidales
que genera esta forma de onda. Se trata de cons-
truir una función de pulso triangular.
Esta función se utiliza para simular el complejo
QRS de la señal. La modicación de la Tabla 1
permite modelar tanto su amplitud como su du-
ración. El último parámetro a modicar, el des-
plazamiento respecto el pico R, es simplemente
una traslación en el eje del tiempo.
Para la generación de señales ECG, hay que tener
presente el concepto de frecuencia de muestreo,
esto se establece mediante la tasa de muestreo ne-
cesaria que permite la reconstrucción de la señal
original, hay que basarse en el Teorema de mues-
treo de Nyquist-Shannon [2]
ONDA SINUSOIDAL P
Para generar la onda P ingresamos el código:
x=0.01:0.01:2;
l=1;
a=0.25
x=x+(1/1.8);
b=3;
n=100;
p1=1/l
p2=0
for i = 1:n
harm1=(((sin((%pi/(2*b))*(b-(2*i))))/(b-(2*i))+(sin((%pi/(2*b))*(-
b+(2*i))))/(b+(2*i)))*(2/%pi))*cos((i*%pi*x)/l);
p2=p2+harm1;
end
onda1p=p1+p2;
ondap=a*onda1p;
plot(x, ondap)
xgrid(21)
xtitle(“ONDA SINUSOIDAL P”)
ONDA SINUSOIDAL Q
Para generar la onda Q ingresamos el código:
x=0.01:0.01:2;
l=1;
x=x+l/6
a=0.025;
b=15;
n=100;
q1=(a/(2*b))*(2-b);
q2=0
for i = 1:n
harm5=(((2*b*a)/(i*i*%pi*%pi))*(1-cos((i*%pi)/b)))*-
cos((i*%pi*x)/l);
q2=q2+harm5;
end
ondaq=-1*(q1+q2);
plot(x, ondaq)
xgrid(21)
xtitle(“ONDA SINUSOIDAL Q”)
Para cada onda se denen tres valores básicos
que servirán para generar cada una de la señal de
ECG hasta completarla.
2.3 Generación de ondas sinusoidales
P, T y U
Las ondas P, T y U de una señal de ECG se pue-
den representar como ondas sinusoidales. Para
poder generar esta forma encontramos el suma-
torio de señales sinusoidales.
Esta función se utiliza para generar las ondas si-
nusoidales de un ECG, como lo son las ondas P,
T y U. La variación de los parámetros a y d permi-
te modelar tanto su amplitud como su duración.
2.4 Implementación en Scilab [4]
Para poder generar las características que modela
un ECG, se procesa una estructura de datos (Ta-
bla 1) que describen la morfología completa de la
señal. Esto quiere decir que detalla la forma de
cada onda del ECG (P, Q, R, S, T y U).
Tabla 1. Datos de ondas, intervalos y
segmentos del ECG [3]
Figura 3. Representación de onda sinusoidal P
Figura 4. Representación de onda sinusoidal Q
fx=a
L
+
senb
b
+
senb+
b
n=
()
()
()
12
2b
2n
2n
2b
2n
1
π
ππ
++
n
L
x()
2n
cos 2
π
fx=a+
bn
nbx
L
()
()
4a
cos (1)
2
π
π
FECG Hz
FF
ECG
FH
z
simple
n
max
simple
max
=
=≥
==
150
2
2 512
9
PERFILES
47
COMPLEJO QRS
Para generar el complejo QRS ingresamos el código:
x=0.01:0.01:2;
l=1;
a=1;
b=5;
n=100;
qrs1=(a/(2*b))*(2-b);
qrs2=0
for i = 1:n
harm=(((2*b*a)/(i*i*%pi*%pi))*(1-cos((i*%pi)/b)))*cos((i*%pi*x)/l);
qrs2=qrs2+harm;
end
ondaqrs=qrs1+qrs2;
plot(x, ondaqrs)
xgrid(21)
xtitle(“ONDA SINUSOIDAL QRS”)
ONDA SINUSOIDAL T
Para generar la onda S ingresamos el código:
x=0.01:0.01:2;
l=1;
a=0.35
x=x-(1/1.8);
b=7;
n=20;
t1=1/l
t2=0
for i = 1:n
harm2=(((sin((%pi/(2*b))*(b-(2*i))))/
(b-(2*i))+(sin((%pi/(2*b))*(b+(2*i))))/
(b+(2*i)))*(2/%pi))*cos((i*%pi*x)/l);
t2=t2+harm2;
end
ondat1=t1+t2;
ondat=a*ondat1;
plot(x, ondat)
xgrid(21)
xtitle(“ONDA SINUSOIDAL T”)
ONDA SINUSOIDAL U
Para generar la onda S ingresamos el código:
x=0.01:0.01:2;
l=1;
a=0.03;
x=x-(1/1.1);
b=21;
n=100;
u1=1/l;
u2=0;
for i = 1:n
harm4=(((sin((%pi/(2*b))*(b-(2*i))))/
(b-(2*i))+(sin((%pi/(2*b))*(b+(2*i))))/
(b+(2*i)))*(2/%pi))*cos((i*%pi*x)/l);
u2=u2+harm4;
end
ondau1=u1+u2;
ondau=a*ondau1;
plot(x, ondau)
xgrid(21)
xtitle(“ONDA SINUSOIDAL U”)
ONDA SINUSOIDAL S
Para generar la onda S ingresamos el código:
x=0.01:0.01:2;
l=1;
x=x-l/6
a=0.25;
b=15;
n=100;
s1=(a/(2*b))*(2-b);
s2=0
for i = 1:n
harm3=(((2*b*a)/(i*i*%pi*%pi))*(1-cos((i*%pi)/b)))*-
cos((i*%pi*x)/l);
s2=s2+harm3;
end
ondas=-1*(s1+s2);
plot(x, ondas)
xgrid(21)
xtitle(“ONDA SINUSOIDAL S”)
Figura 5. Representación de complejo QRS
Figura 7. Representación de onda sinusoidal T
Figura 6. Representación de onda sinusoidal S
Figura 8. Representación de onda sinusoidal U
PERFILES
48
3. RESULTADOS Y DISCUSIÓN
La Figura 8 muestra el resultado total o suma de
las señales desarrolladas en el parágrafo anterior
Esta onda ideal permitirá comparar señales
ECG de pacientes para poder reconocer las dife-
rentes patologías cardiovasculares que se pueden
presentar [5] .
Esta señal es la base para el diseño e implementación de un algoritmo
de detección de anomalías que podría servir como una alternativa a
los aparatos Holter, que por ser de índole comercial son escasos en las
instalaciones médicas nacionales.
El desarrollo de un software de análisis combinado con la construcción
de un sistema electrónico para la adquisición de señales ECG podría
ser un proyecto de investigación válido no solo desde el punto de vista
cientíco sino también desde el punto de vista de aplicaciones médicas
en centros de salud y hospitales de nuestra región, ya que generaría
un gran porte a aquellos especialistas (cardiólogos) en el momento de
emitir un diagnóstico ya que gracias a la clara visualización y a las he-
rramientas que pueda ofrecer el sistema (como clasicación de señales,
frecuencias y tiempos) se puede emitir algún tipo de recomendación al
paciente.
[1] Navarro, v. M. (2009). Desarrollo y evaluación de diferentes métodos de. Projecte  de carrera, 15-16.
[2] Valentí Montoya Aguilar, L. R. (2007). Simulación de electrocardiogramas. Método de Musicalización de ECG, 42-
45.
[3] Duque, M. C. (2011). Algoritmo de señal usando Transformada Wavelet. Análisis de señal del impulso cardíaco para
el mejoramiento del diagnóstico de patologías del corazón, 8-13.
[4] Escobar, H. M. (2002). Introducción a Scilab. Departamento de Matemáticas, 22-44.
[5] Rojas V. W. Et al (2007) Sistema para visualización de señales cardíacas Revista de Investigaciones Revista-de Inves-
tigaciones No. 17 - pp. 175- 187 del Quindío
No. 17 Universidad del Quindío Universidad Armenia, Año 2007 ISSN 1794-631 X
[6] www.scilab.org
Figura 9. Trazado típico que representa el periodo
del ECG perteneciente a un individuo sano, es decir
consiste en una onda P, el complejo QRS, la onda T
y la onda U.