Filtrado Adaptable de Un ECG Usando Un DSP PDF
Filtrado Adaptable de Un ECG Usando Un DSP PDF
Filtrado Adaptable de Un ECG Usando Un DSP PDF
Este trabajo de tesis fue elaborado gracias al proyecto PROMEP con número
103.5/05//2038.
((Deseo expresar mi gratitud a mi gente, a mi
mamá y a mi hermana, por haberme dado
acceso a un mundo nuevo para mi y muy
especialmente a la fuerza espiritual que hay
dentro de mi, a Dios.))
Los resultados reflejan las ventajas que presentan los filtros adaptables
sobre los filtros digitales clásicos, para el procesamiento de dichas señales.
i
Índice general
Resumen I
1. Introducción 1
2. Herramientas Matemáticas 15
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2. Señales y Sistemas . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1. Definición de Señal . . . . . . . . . . . . . . . . . . . . 17
2.2.2. Tipos de Señales . . . . . . . . . . . . . . . . . . . . . 17
2.2.3. Definición de Sistema . . . . . . . . . . . . . . . . . . . 23
2.3. Muestreo de Señales Analógicas . . . . . . . . . . . . . . . . . 27
2.4. Convolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.1. Convolución en Tiempo Continuo . . . . . . . . . . . . 29
2.4.2. Convolución en Tiempo Discreto . . . . . . . . . . . . 31
2.5. Serie de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.1. Serie de Fourier en Tiempo Continuo . . . . . . . . . . 33
2.5.2. Serie de Fourier en Tiempo Discreto . . . . . . . . . . 38
2.6. La Transformada de Fourier . . . . . . . . . . . . . . . . . . . 39
2.6.1. Transformada de Fourier en Tiempo Continuo . . . . . 40
2.6.2. Transformada de Fourier en Tiempo Discreto . . . . . 42
2.7. Transformada Discreta de Fourier . . . . . . . . . . . . . . . . 45
iii
iv ÍNDICE GENERAL
3. Filtros Digitales 55
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2. Filtros Analógicos vs Digitales . . . . . . . . . . . . . . . . . . 56
3.3. Filtrado Digital en el Dominio de la Frecuencia . . . . . . . . 58
3.4. Caracterı́sticas de Filtros Causales Selectivos en Frecuencia . . 61
3.4.1. Ventajas de los Filtros Digitales . . . . . . . . . . . . . 63
3.5. Clasificación de los Filtros Digitales . . . . . . . . . . . . . . . 63
3.5.1. Filtros FIR (Respuesta Impulsional Finita) . . . . . . . 63
3.5.2. Filtros IIR (Respuesta Impulsional Infinita) . . . . . . 66
3.6. Análisis Comparativo entre Filtros FIR e IIR . . . . . . . . . . 68
3.7. Resumen y Referencias . . . . . . . . . . . . . . . . . . . . . . 69
4. Filtrado Adaptable 71
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2. Filtrado Lineal Óptimo . . . . . . . . . . . . . . . . . . . . . . 73
4.3. Predicción Lineal . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4. Filtros Adaptables . . . . . . . . . . . . . . . . . . . . . . . . 80
4.4.1. Esquema Prototipo del Filtrado Adaptable . . . . . . . 81
4.4.2. Algoritmos de Filtrado Adaptable . . . . . . . . . . . . 83
4.5. Resumen y Referencias . . . . . . . . . . . . . . . . . . . . . . 87
ÍNDICE GENERAL v
5. Resultados 89
5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2. Espectro Frecuencial del ECG . . . . . . . . . . . . . . . . . . 91
5.3. Resultados de Simulación . . . . . . . . . . . . . . . . . . . . . 93
5.3.1. Filtro FIR . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3.2. Filtro IIR . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.3.3. Filtro Adaptable . . . . . . . . . . . . . . . . . . . . . 100
5.3.4. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4. Emulación en el DSP 320c6711 de Texas Instruments . . . . . 105
5.4.1. Validación del Algoritmo Seleccionado . . . . . . . . . 106
5.5. Resumen y Referencias . . . . . . . . . . . . . . . . . . . . . . 107
A. Artı́culo 111
Referencias 141
Índice de figuras
vii
viii ÍNDICE DE FIGURAS
xi
Indice de Algoritmos
xiii
Notación y Simbologı́a
SÍMBOLO DESCRIPCIÓN
AR Autoregresivo
DFT Transformada discreta de Fourier
DSP Procesador digital de señales
ECG Electrocardiograma
EEG Electroencefalograma
EMG Electromiograma
FFT Transformada rápida de Fourier
FIR Respuesta impulsional finita
IIR Respuesta impulsional infinita
LMS Least Mean Square
LTI Lineal Invariante en el Tiempo
MA Media en movimiento
MAC Operación de multiplicación y acumulación
RLS Recursive Least Square
xv
Capı́tulo 1
Introducción
1
2
Justificación
Esta tesis nace de la necesidad de construir innovadoras herramientas
para atacar problemas tradicionales con nuevas expectativas y perspectivas,
y, realizar estudios de alta sensibilidad con origen en el filtrado adaptable y
la actual tecnologı́a digital.
Objetivo General
El objetivo de este trabajo de tesis es diseñar filtros adaptables para el
procesamiento digital de un ECG haciendo uso de un DSP para su emulación.
Objetivos Especı́ficos
Puesta en operación un DSP.
Antecedentes
A partir de los años 60, innumerables propuestas respecto al procesamien-
to de bioseñales empezaron a surgir, se desarrollaron un sin número de al-
goritmos y métodos aplicando diversos conceptos matemáticos y estadı́sti-
cos, ası́ como algoritmos computacionales enfocados a redes neuronales o re-
conocimiento de patrones, intentando abordar el problema desde diferentes
campos. Es ası́, pues que hoy en dı́a los programas encargados de interpretar
dichas señales utilizan una enorme variedad de técnicas para el análisis de
estas [13].
Por último cabe destacar que los parámetros obtenidos a partir de la señal
medida dependen de cada aplicación.
Sistemas Existentes
ECG
Electrodo
Electrocardiógrafo
Organización de la Tesis
Este trabajo de tesis se organiza en 6 capı́tulos, con el siguiente contenido:
14
Herramientas Matemáticas
15
16 2.1. Introducción
2.1. Introducción
Una señal es una cantidad fı́sica que varı́a con el tiempo, el espacio o
cualquier otra variable u otras variables independientes y contiene informa-
ción acerca de la naturaleza o comportamiento de algún fenómeno. Ejemplos
de señales son voltaje y corriente como funciones del tiempo en un circuito
eléctrico, otro ejemplo es la señal de ECG, que proporciona información sobre
el estado del corazón.
Es aquella señal que está definida para todos los valores del tiempo y
puede tomar cualquier valor en el intervalo continuo. Matemáticamente estas
señales se describen como funciones continuas de una variable continua, en
el desarrollo subsecuente de este trabajo la variable independiente aparece
encerrada entre paréntesis, por ejemplo; x(t) = est .
Adicionalmente, es necesario saber que hay señales, que sirven como ge-
neradores básicos y que a partir es posible construir muchas otras señales,
comunmente a estas señales se les denomina señales elementales. Tal es el
caso de la función impulso unitario dado por
(
1, t = 0
x(t) =
0, t 6= 0
cuya gráfica correspondiente se presenta en la Figura 2.1.
x1 = [ 2 0 0 0 ]
x2 = [ 0 4 0 0 ]
x3 = [ 0 0 3 0 ]
x4 = [ 0 0 0 1 ]
2. Herramientas Matemáticas 19
(a)
(b)
(c)
(d)
Basta con sumar uno a uno los valores verticalmente, la señal resultante queda
definida como
x=[ 2 4 3 1 ]
Una señal elemental más de este tipo es la función rampa unidad, para este
caso se muestra en tiempo discreto. La Figura 2.5 ejemplifica gráficamente
2. Herramientas Matemáticas 21
(
n, n ≥ 0
xr [n] =
0, n < 0
y(t) = y(t + T ) ∀t
En esta caso se dice que y(t) es periódica con periodo T . Esto se puede
ver gráficamente en la Figura 2.7.
Figura 2.7: Señales par e impar, coseno y seno respectivamente, con periodo fun-
damental T .
y(−t) = y(t)
e impar si
y(−t) = −y(t)
H
u(t) −
→ y(t)
24 2.2. Señales y Sistemas
u(t) H y(t)
H
x1 (t) + x2 (t) −
→ y1 (t) + y2 (t)
H
αx1 (t) −
→ αy1 (t)
H
x(t) −
→ y(t)
entonces
H
x(t ± p) −
→ y(t ± p)
n
t = nT =
Fs
28 2.4. Convolución
Fs > 2Fmáx
2.4. Convolución
Como se vió en la Sección 2.2, toda señal puede expresarse como una
combinación lineal de impulsos desplazados. Dicha representación de la señal
es útil al estuiar la convolución, esta se define como el producto de dos señales
en donde una de las señales es el reflejo y desplazamiento de la otra.
2. Herramientas Matemáticas 29
x(t ) y (t )
δ (t )
H h(t )
En este ejemplo es posible observar que x(t) es igual al escalón unitario y por
tanto tiene el valor de uno en cualquier instante de tiempo t. Entonces la integral de
convolución queda como sigue
Z t
y(t) = x(τ )h(t − τ )dτ
0
La variable independiente aquı́ ahora es τ , pero el valor de x(τ ) sigue siendo 1,
por tanto la expresión se reduce a
Z t
y(t) = h(t − τ )dτ
0
y(t) = 1 − e−t
∞
X
y[n] = x[k]h[n − k] (2.2)
−∞
Las señales de este ejemplo pueden ser expresadas como vectores de la siguiente
manera
h[n − k] = [ 1 {2} 1 −1 ]
x[n] = [ {1} 2 3 1 ]
Para simplificar cálculos y con ello tiempo es útil emplear Matlab, basta con declarar
en la linea de comandos los vectores que representan a las señales y convolucionarlos
32 2.4. Convolución
mediante la función conv (que devuelve los valores de y[n]), de esta forma conv(x, h).
La señal y[n] es
y[n] = [ 1 {4} 8 8 3 −2 −1 ]
est → H(s)est
x(t) = ejω0 t
φk = ejkω0 t
donde: k = 0, ±1, ±2, ..., y cada exponencial con su propia frecuencia funda-
mental (que son múltiplos de ω0 ) y su periodo T0 . Entonces es posible tener
una señal periódica como una combinación lineal de exponenciales complejas
(relacionadas armónicamente) de la siguiente manera:
∞
X
x(t) = ak ejkω0 t (2.3)
k=−∞
de obtenerlos.
∞
X
x(t) = a0 + 2 Ak cos(kω0 t + θk ) (2.4)
k=1
∞
X
x(t) = a0 + 2 [Bk cos(kω0 t) + Ck sen(kω0 t)] (2.5)
k=1
Ejemplo 2.5.1 Una señal de onda cuadrada x(t) como la mostrada en la Figura
2.14, muy comúnmente empleada, puede ser expresada por medio de una serie de
36 2.5. Serie de Fourier
De la gráfica se puede observar que dicha señal es impar y posee simetrı́a de 1/2
onda, por lo descrito anteriormente la serie de Fourier que la representa es una suma-
toria de senos y estas armónicas son impares.
(a)
(b)
(c)
Relación de Parseval
φk [n] = ejk(2π/N )n
N
X −1
x[n] = ak ejk(2π/N )n (2.8)
k=0
N −1
1 X
ak = x[n]e−jk(2π/N )n (2.9)
N n=0
La ecuación (2.8) es la ecuación de sı́ntesis, mientras que la ecuación (2.9)
es la de análisis.
πn
Ejemplo 2.5.2 Determinar el espectro de la señal x[n] = cos 3
Es posible observar que ω0 = π/3 y por tanto N = 6, sustituyendo en la ecuación
(2.9) se tiene
5
1
x[n]e−j2πkn/6 k = 0, 1, ..., 5
P
ak = 6
n=0
2πn 1 1
x[n] = cos = ej2πn/6 + e−j2πn/6
6 2 2
Comparando esta expresión con la ecuación de sı́ntesis es posible observar que
a1 = 1/2, además la segunda exponencial corresponde a a−1 = 1/2, pero como la
señal es periódica dichos valores se repiten en un periodo de N = 6 lo que significa
que a5 = 1/2, concluyendo se tiene
a0 = a2 = a3 = a4 = 0
1 1
a1 = 2 a5 = 2
Z∞
X(ω) = x(t)e−jωt dt (2.10)
−∞
Z∞
1
x(t) = X(ω)ejωt dω (2.11)
2π
−∞
Relación de Parseval
∞
X
X(ω) = 2πak δ(ω − kω0 ) (2.13)
k=−∞
∞
X
x(t) = ak ejkω0 t
k=−∞
∞
X
X(ω) = x[n]e−jωn (2.15)
n=−∞
Ejemplo 2.6.1 Sea X(ω) una señal de energı́a finita dada por
(
1, |ω| 6 ωc
X(ω) =
0, ωc < |ω| 6 π
La transformada inversa de Fourier de X(ω) resulta en la secuencia
Rπ jωn dω
x[n] = −π X(ω)e
R ωc jωn
= −ωc e dω = senω
πn
cn
n 6= 0
y para n = 0
Z ωc
1 ωc
x[0] = dω =
2π −ωc π
entonces la señal en el tiempo x(n) queda representada por
(
ωc
π , n=0
x[n] ωc sen(ω c n)
π πn , n 6= 0
La representación gráfica de estas transformadas de Fourier se muestra en la Figura
2.17
44 2.6. La Transformada de Fourier
∞
X 2πk
X(ω) = 2π ak δ ω − (2.16)
k=−∞
N
Es obvio que en este caso las armónicas son un tren de impulsos, y no
exponenciales, que ocurren en múltiplos de la frecuencia fundamental 2π/N .
Los coeficientes de Fourier para la ecuación (2.16) se calculan por
2π
N ak = X k (2.17)
N
2. Herramientas Matemáticas 45
−1
NP
X(k) = x[n]e−jk(2π/N )n , k = 0, 1, ..., N − 1 (2.18)
n=0
−1
NP
1
x[n] = N
X(k)ejk(2π/N )n , n = 0, 1, ...., N − 1 (2.19)
k=0
−1
NP
X(k) = x[n]WNkn k = 0, 1, ...., N − 1 (2.20)
n=0
−1
NP
x[n] = 1
N
X[k]WN−kn n = 0, 1, ...., N − 1 (2.21)
k=0
WN = e−j2π/N
k+N/2
Propiedad de Simetrı́a : WN = −WNk (2.22)
Propiedad de Periodicidad : WNk+N = WNk (2.23)
N −1
X 2πkn 2πkn
XR (k) = xR [n] cos + xI [n]sen (2.24)
n=0
N N
y
N −1
X 2πkn 2πkn
XI (k) = − xR [n]sen − xI [n] cos (2.25)
n=0
N N
2. 4N 2 multiplicaciones reales.
3. 4N (N − 1) sumas reales.
N = LM (2.26)
Por medio de esta notación la secuencia x[n], 0 ≤ n ≤ N − 1, ahora se
puede representar mediante una matriz unidimensional indexada por n, o
en una matriz bidimensional indexada por l y m, donde, 0 ≤ l ≤ L − 1 y
0 ≤ m ≤ M − 1, por lo que x[n] se puede almacenar en una matriz rectan-
gular de diferentes maneras, donde cada una depende de la correspondencia
entre el ı́ndice n y los ı́ndices l y m.
n = l + mL (2.27)
la disposición es que la primera columna contiene los primeros L elementos
de x[n] y la segunda contiene los siguientes L elementos de x[n], y ası́ suce-
sivamente.
Una disposición similar puede usarse para almacenar los valores calcula-
dos de la DFT. Si se tiene la correspondencia desde el ı́ndice k a la pareja de
ı́ndices (p, q), donde 0 ≤ p ≤ L − 1 y 0 ≤ q ≤ M − 1, de tal manera que para
k = Mp + q (2.28)
la DFT se almacena por filas, donde la primera fila contiene los primeros
M elementos de la DFT x[k], la segunda fila los siguientes M elementos, y
2. Herramientas Matemáticas 49
ası́ sucesivamente.
M
X −1 X
L−1
(M p+q)(mL+l)
X(p, q) = x(l, m)WN (2.29)
m=0 l=0
Pero
(M p+q)(mL+l)
WN = WNM Lmp WNmLq WNM pl WNlq (2.30)
L−1
( "M −1 #)
X lq
X mq
F (p, q) = WN f (l, m)WM WLlp (2.31)
l=0 m=0
M
X −1
mq
X(l, q) = x(l, m)WM , 0≤q ≤M −1 (2.32)
m=0
L−1
X
X(p, q) = G(l, q)WLlp (2.34)
l=0
Multiplicaciones complejas: N (M + L + 1)
Sumas complejas: N (M + L − 2)
y(t) = H(s)est
donde:
Z ∞
H(s) = h(t)e−st dt (2.35)
−∞
Z ∞
∆
X(s) = x(t)e−st dt (2.36)
−∞
La ecuación (2.37) establece que x(t) se puede representar como una in-
tegral ponderada de exponenciales complejas.
Z ∞ −t
e u(t) e−st dt
X(s) =
−∞
1
X(s) =
s+1
2.10. La Transformada z
Esta técnica de transformación es la contraparte de la transformada de
Laplace, esto es, tiene el mismo papel en el análisis de señales y sistemas
discretos LTI que la transformada de Laplace en el análisis de señales y sis-
temas continuos LTI.
∞
X
X(z) ≡ x[n]z −n (2.38)
n=−∞
2. Herramientas Matemáticas 53
∞
X
X(z) = x[n]z −n (2.39)
n=0
h i
x[n] = 1, 2, {5} 7 0 1
X[z] = z 2 + 2z + 5 + 7z −1 + z −3
Filtros Digitales
3.1. Introducción
El término filtro se utiliza comúnmente para describir un dispositivo que
discrimina, según algún atributo de los objetos que se aplican a su entrada,
aquello que pasa a través de él. Por ejemplo, un filtro de aire permite que el
aire pase a través, evitando que las partı́culas de polvo presentes en el aire
lo atraviesen. Un filtro de aceite realiza una función similar, con la excep-
ción de que es aceite la sustancia que se permite que pase a través del filtro,
55
56 3.2. Filtros Analógicos vs Digitales
además los filtros digitales pueden lograr miles de veces mejor atenuación
que los filtros analógicos. Esto hace una diferencia dramática en como se
aproximan los problemas de filtrado.
Dado que estos filtros son ideales no son causales, es decir, no son fı́sica-
mente realizables, ya que no se puede dar una transición abrupta entre las
zonas de paso y atenuación. Mas adelante se revisan las caracterı́sticas de
filtros digitales causales.
Los filtros digitales LTI, causales y estables pueden describirse por una
ecuación en diferencias finitas de coeficientes reales y constantes, es decir un
filtro digital es la implementación en hardware o software de una ecuación
diferencia.
3. Filtros Digitales 59
H (ω )
Pasa bajas
B
1
π −ωc 0 ωc π ω
H (ω )
Pasa altas
1
π −ωc ωc π
ω
0
H (ω )
1 Pasa bandas
π ω1 ω0 ω2 0 ω1 ω0 ω2 π ω
H (ω )
1 Rechaza bandas
π −ω0 0 ω0 π ω
N
X M
X
y[n] = − ak y[n − k] + bk x[n − k] (3.1)
k=1 k=0
PM
k=0 bk z −k
H(z) = P N
(3.2)
1+ k=1 ak z −k
Para que un sistema sea realizable debe ser causal y estable. En ningún
caso el filtro puede tener una respuesta frecuencial ideal, como las ilustradas
en la Figura 3.2, ya que a todas ellas corresponde una respuesta impulsional
no causal e inestable, es decir el filtro causal se aproxima al ideal. Esta
aproximación permite una tolerancia alrededor del valor teórico unidad del
módulo de la respuesta frecuencial en la banda de paso y sobre el valor nulo
en la banda atenuada. El proceso de diseño de un filtro digital requiere tres
pasos:
banda de transición es
BWsp = ωs − ωp (3.3)
M
X M
X
y[n] = h[k]x[n − k] = bk x[n − k] (3.4)
k=0 k=0
M
X
H(z) = h(k)z −k (3.5)
k=0
Los filtros FIR de fase lineal se clasifican en los siguientes 4 tipos [14]
de acuerdo con las paridades de simetrı́a y de la longitud de su respuesta
impulsional, ver Figura 3.4 .
(a) (b)
(c) (d)
Figura 3.4: Ejemplos de h[n] para (a) Tipo I, (b) Tipo II, (c) Tipo III, (d) Tipo
IV de filtros FIR.
El filtro IIR óptimo, es decir aquel que satisface una plantilla de especifi-
caciones con el menor orden posible, se obtiene a partir de la aproximación
de Caurer o elı́ptica, que ofrece una atenuación con rizado de amplitud cons-
tante en las bandas de paso y atenuada.
1. Filtros AR (Autoregresivo)
1
H(z) = (3.12)
1 + a1 z −1 + a2 z −2 + ... + aN z −N
Este filtro es recursivo ya que la salida depende no solo de la entrada
actual sino además de valores pasados de la salida (Filtros con retroali-
mentación), es decir, el término autoregresivo tiene un sentido estadı́sti-
co en que la salida y[n] tiene una regresión hacia sus valores pasados y
su respuesta al impulso es normalmente de duración infinita, de ahı́ su
nombre.
Y la función de transferencia
b0 + b1 z −1 + ... + bM z −M
H(z) = (3.14)
1 + a1 z −1 + ... + aN z −N
68 3.6. Análisis Comparativo entre Filtros FIR e IIR
Los filtros FIR representan dos ventajas fundamentales respecto a los fil-
tros IIR. La primera es que un filtro FIR es de fase lineal, por lo que no
representa distorsión de retardo de grupo. La segunda es que un filtro FIR
es inherentemente estable, su función de transferencia es sólo ceros, lo cual
asegura estabilidad, aunque se produzcan errores de presición numérica en la
representación de sus coeficientes. La principal desventaja de un filtro FIR
ante un IIR proviene del elevado orden que puede requerirse para cumplir
las especificaciones, ya que crece linealmente con la selectividad. Los órdenes
para los filtros FIR, utilizados en múltiples aplicaciones difı́cilmente requiere
al orden de un diseño IIR que sobrepase la decena. En consecuencia la rea-
lización de un sistema FIR se hace más costosa, ya que implica una mayor
carga computacional y una mayor necesidad de memoria disponible.
que evita la reiteración de cálculos. Por contra, el orden de un filtro FIR debe
reajustarse mediante diseños sucesivos, en un proceso de prueba y error que
puede llegar a ser laborioso. Entre las desventajas principales de un filtro IIR
se destaca la posible inestabilidad producida por errores de cuantificación de
los coeficientes del denominador de la función de transferencia, que pueden
situar un polo fuera del cı́rculo de radio unidad. La otra desventaja im-
portante es la imposibilidad de conseguir una respuesta frecuencial con fase
lineal.
Existe una enorme cantidad sobre literatura técnica sobre los temas de
filtrado e identificación de sistemas. Como referencia se citan los libros de
[6, 8, 17, 21].
Filtrado Adaptable
n base a las generalidades sobre los filtros digitales (IIR y FIR), presen-
E tadas en el capı́tulo anterior, es posible continuar con el estudio de los
filtros de interés en este trabajo de tesis, los filtros adaptables.
71
72 4.1. Introducción
4.1. Introducción
En un amplio margen de los escenarios, que pretende un tratamiento di-
gital de señales, el diseño de los filtros óptimos lleva a una degradación de
sus prestaciones cuando las condiciones del escenario cambian con el tiempo.
Los sofisticados sistemas presentes en la actualidad y su extremada depen-
dencia con el espectro o correlación de las señales involucradas (en que muy a
menudo cambian sus propiedades), obliga a la prevención de la degradación
en la calidad de los mismos. Aquel sistema que es capaz de adaptarse al en-
torno de las señales se le denomina adaptable. Para fines de este trabajo
este sistema se refiere como filtro adaptable.
Sistema de proceso
Salida
Habitulamente LTI
de repuesta imulsional
h[n]
Sistema de aprendizaje
Examina la entrada y la
salida y actualiza el sistema
de proceso en consecuencia
2. Diseño de Filtro Óptimo, por otra parte, esta basado en teorı́a de opti-
mización, donde el filtro es diseñado para ser “mejor”(de alguna forma).
Si la señal y el ruido son vistos como procesos estocásticos, basados en
sus parámetros estadı́sticos (asumido como disponibles), un filtro ópti-
mo es diseñado tal que, por ejemplo, minimize los efectos del ruido a la
salida del filtro acordando con algún criterio estadı́stico. Está basada
en la minimización del valor cuadrático medio de la diferencia entre la
salida actual del filtro y alguna salida deseada, como se ilustra en la
Figura 4.2. Puede parecer extraño que la teorı́a requiera de una señal
deseada, si tal cosa fuese válida ¿para qué complicar el diseño con un
74 4.2. Filtrado Lineal Óptimo
M
X
e[n] = d[n] − h[k]u[n − k] (4.1)
k=0
o en notación vectorial
∆
J[h] = E[e2 [n]]
76 4.2. Filtrado Lineal Óptimo
Ahora, con la finalidad de encontrar los coeficientes h[n] para los que el
error tiene la menor potencia se iguala el gradiente J[h] a cero
La relación anterior indica que para aquel filtro que minimiza la potencia
del error, este debe estar correlacionado con los datos de entrada. A lo que
se le conoce como Principio de Ortogonalidad, el cual require de una
interpretación geométrica [18].
d[n]
h[n]
u[n] y[n] e[n]
Ru h = rdu (4.3)
Ru [0] Ru [1] ··· Ru [M ]
Ru [1] Ru [0] · · · Ru [M − 1]
Ru =
···
(4.4)
··· ··· ···
Ru [M ] Ru [M − 1] · · · Ru [0]
Se puede trabajar con la función de coste J[h] de modo que quede explı́cita
su dependencia del vector h que contiene los coeficientes del filtro estimador
78 4.3. Predicción Lineal
[10]
u[n]
h[n]
u[n-1] ^
u[n] e[n]
-1
M
X
û = hk u[n − k] (4.8)
k=1
M
X
e[n] = u[n] − hk u[n − k] (4.9)
k=1
M
X M
X
−k
aM (z) = 1 − hk z = 1+ ak z −k (4.10)
k=1 k=1
µ
h[n + 1] = h[n] − ∇J(h[n]) (4.11)
2
donde µ es una constante real y positiva.
Algoritmo LMS
2
0<µ< (4.14)
λmáx
donde λmax es el mayor de los autovalores de la matriz de autocorrelación de
Ru .
86 4.4. Filtros Adaptables
Algoritmo RLS
Para tener una convergencia más rápida , debe ser usado un algoritmo
más complejo con parámetros adicionales. Una opción viable es el uso de un
algoritmo que realiza una estimación muestra a muestra llamado algoritmo
4. Filtrado Adaptable 87
RLS (Recursive Least Squares). Este algoritmo queda definido por [1]:
R−1
u
K= U[n] (4.17)
1 + u[n]R−1
u U[n]
una mayor eficiencia computacional. Hay sin embargo otras opciones como
la estructura directa, más sencilla de implementar, lo que conduce a algorit-
mos medianamente simples y cuyos resultados llegan a ser óptimos cuando
el sistema de estudio no es tan complejo.
Resultados
na vez descritos todos los elementos que forman parte del proceso de
U filtrado de señales, ahora se procede a estudiar el caso particular de una
señal de un ECG: descripción de la señal, transformación, filtrado digital, y
algoritmos de filtros adaptable. Se presentan una serie de experimentos con
el fin de realizar un estudio comparativo entre las diferentes estructuras de
filtros descritos en los capı́tulos anteriores. Una vez completado este estudio,
se aplica el método más viable a una señal del ECG para validar los resultados
mediante una emulación en un DSP.
5.1. Introducción
Tal como se ha comentado en el primer capı́tulo, uno de los objetivos del
presente trabajo es procesar una señal de ECG con un filtro adaptable, de tal
manera, que permita reducir la cantidad de ruido que se introduce cuando
la señal es adquirida, sin perder información relevante.
89
90 5.1. Introducción
d[n]
Nyquist=1/2;
(Hz)
(a)
(b)
Figura 5.5: (a) Señal de ECG alterada por ruido Gaussiano y (b) su espectro.
Una alternativa para procesar la señal que permita atenuar el ruido adi-
cionado a dicha señal es la aplicación de un filtro digital FIR. Para este
propósito se emplea MATLAB y Simulink.
Salida
ECG
filtrada
b0 + b1 z −1 + b2 z −2
H(z) =
1 + a1 z −1 + a2 z −2
La realización directa de la célula de orden 2 responde a la expresión
M
X =2 M
X =2
y[n] = bi x[n − i]− ai y[n − i]
i=0 i=1
Salida
ECG
filtrada
Algoritmo LMS
ECG
Los parámetros de diseño del filtro FIR son los mismos a los mostrados
anteriormente en la Subsección 5.3.1, para el algoritmo LMS se elige primero
un valor de µ = 0.1, este valor hace que la velocidad de convergencia sea rela-
102 5.3. Resultados de Simulación
(a)
(b)
(c)
(a)
(b)
Tiempo
Algoritmo RLS
ECG
(a)
(b)
(c)
5.3.4. Discusión
En este apartado se realiza la comparación de los algoritmos empleados
en el procesamiento del electrocardiograma en base al respuesta obtenida por
cada uno de ellos. Además de realizar la comparación en cuanto a velocidad
de convergencia y estabilidad, se hace también la comparación en cuanto a
recursos empleados para su implementación.
De manera natural se sustenta que los filtros digitales fijos (en este caso
filtro FIR e IIR) no resuelven el problema que se presenta al procesar señales
de parámetros aleatorios. Ello queda más que evidente al observar la Figura
5.19. Si bien es cierto que estos filtros eliminan, o almenos atenúan, gran
parte del ruido que altera al ECG, también es cierto que la señal a la salida
del filtro no puede ser interpretada como un ECG.
(a)
(b)
(c)
Figura 5.19: (a) Señal ECG original y respuesta de los filtros (b) FIR y (c) IIR.
(a)
(b)
(c)
Figura 5.20: (a) Señal ECG origial y respuesta del filtro FIR adaptable (b) LMS,
(c) RLS.
Tal parece que fuera el algoritmo RLS la mejor elección, sin embargo como
ya se ha visto este algoritmo exige velocidades de operaciones muy altas, ello
implica el empleo de sistemas más robustos y en consecuencia más costosos.
El algoritmo LMS es más sencillo lo que se refleja en un bajo consumo de
recursos en cuanto a software y hardware se refiere. Es en base a lo anterior
que se ha elegido como opción viable el empleo del filtro FIR adaptable LMS.
(a)
(b)
(c)
Figura 5.22: Resultados de emulación de un filtro FIR adaptable LMS, (a) Señal
oroginal ECG, (b) Señal con ruido y (c) Señal filtrada.
Las técnicas de diseño directo para filtros digitales has sido considerada
en varios artı́culos, incluyendo [2, 4, 5, 23].
Capı́tulo 6
Conclusiones y Proyección
Futura
En general. Los filtros digitales ofrecen mejores resultados que los analógi-
cos. El principal inconveniente de los métodos basados en programación
dinámica, es su elevado coste computacional que hace que el método
cuando se ha de aplicar a la totalidad de las muestras de una señal sea
recomendable en la práctica mediante el uso de un DSP, de arquitectura
y memoria suficientemente disponible para dicha aplicación.
109
110 6.1. Proyección Futura
Artı́culo
111
FILTRADO ADAPTABLE DE UN ECG USANDO UN DSP1
Licona Rios D.2 Lozano González G.2 Ramos Velasco Luis E.3
3
Centro de Investigación en Tecnologías de Información y Sistemas,
UAEH, Carretera Pachuca-Tulancingo, Km. 4.6, México
email: lramos@uaeh.reduaeh.mx
1. INTRODUCCIÓN
1
Siempre que se debe procesar señales con propiedades d[n]
estadísticas desconocidas, o variantes (situación muy u[n] Filtro y[n] e[n]
común en las aplicaciones), se plantea como solución Adaptable
Los procesadores digitales, las herramientas matemáti- Figura 1. Esquema del filtrado adaptable de un ECG.
cas y el desarrollo de diferentes tipos de algoritmos El esquema de la Figura 1 muestra un sistema adap-
adaptables para el procesamiento digital de señales table para el procesado de un ECG. Donde la señal
proporcionan un método alternativo para el proce- de entrada es el ruido, la señal deseada es la señal de
samiento de una señal analógica y así hacen posible la ECG interferida por ruido, la señal de error es la señal
realización de analizadores de señales (Haykin, 1996), de ECG filtrada y[n], menos la señal de salida d[n], es
(Marc, 1998). decir; e[n] = d[n] − y[n].
Los DSP´s tienen un gran número de aplicaciones en
el campo del procesado digital de señales, y en ellas
destaca la cancelación activa de ruido que se aplica
cuando no es posible usar los procedimientos clásicos 1.1 Generalidades del ECG
de eliminación de ruido (filtros selectivos en frecuen-
cia), tal es el caso de los electroencefalogramas, elec- Un ECG es la representación gráfica de la tensión
trocardiogramas y electromiogramas (Haykin, 1996). contra tiempo de la actividad cardiovascular de un
paciente, que ofrece información acerca del estado del
músculo cardíaco.
M
X
H(z) = h(k)z −k (2)
k=0
M
X (e)
y[n] = ht [n]u[n] = hk [n]u[n − k]
k=0
Donde t indica la transpuesta de h[n] Figura 3. Cuadro comparativo (a) Señal de ECG óptima, (b)
2. Calcular la muestra de error, e[n] = d[n] − y[n] Señal de ruido aleatorio, (c) Señal ECG + rudio (d) Resul-
3. Actualizar los coeficientes del filtro con la ecua- tado del filtro FIR LMS (e) Resultado del filtro FIR RLS.
ción 5.
Tal parece que fuera el algoritmo RLS la mejor elec-
ción, sin embargo este algoritmo exige velocidades de
2.3.2. Algoritmo RLS. El algoritmo RLS (Recur- operaciones muy altas, ello implica el empleo de sis-
sive Least Squares) es la versión exacta del anterior temas más robustos y en consecuencia más costosos.
algoritmo. Se utiliza el mismo criterio de optimización El algoritmo LMS es más sencillo lo que se refleja en
pero se calcula la solución exacta en cada iteración, un bajo consumo de recursos en cuanto a software y
siendo un algoritmo más complejo con parámetros hardware se refiere. Es en base a lo anterior que se ha
adicionales. elegido como opción viable el empleo del filtro FIR
adaptable LMS para su emulación.
3.1 Emulación 5. REFERENCIAS
Haykin, Simon (1996) Adaptive Filter Theory; Pren-
Gracias a que en la paquetería utilizada en este artícu- tice Hall.
lo, existe un interconexión hacia diferentes DSP´s, fue Marc Moonen (1989). Introduction to Adaptive Signal
posible lograr la emulación, la Figura 4 ilustra la Processing. Departament of Electrical Enginee-
forma de conexión entre dicho software y la tarjeta ring ESAT/SISTA
del DSP, así como el esquema básico del proceso de D. Kilpatrick y P.R. Johnston Origin of the Electro-
filtrado adaptable. cardiogram, IEEE, Engineering in Medicine and
Biology.
Proakis, John G. y Manolakis, Diminitis G. (1998)
Tratamiento Digital de Señales; Prentice Hall.
Matlab 7, Simulink 6, Signal Processing Blockset.
(a)
(b)
(c)
4. CONCLUSIONES
l uso del DSP en este trabajo de tesis se sustenta sobre las ventajas que
E presenta frente a otros sistemas en el procesado digital de señales, dado
que puede adaptarse fácilmente a cualquier cambio de las variables involu-
cradas en un sistema dado, presenta muy baja distorsión en las señales de
entrada y procesamiento de las mismas en tiempo real, tiene un alto ı́ndice de
precisión, control sobre el comportamiento del hardware, tarjeta DSK donde
se encuentran ya incluidos los convertidores sin necesidad de agregar hard-
ware adicional para las conversiones analógicas de entrada, un robusto código
de instrucciones que satisfacen cualquier aplicación de procesamiento digital
de señales y que además son programables y reprogramables (no requiere el
cambio del sistema de hardware), y permite un consumo de energı́a pequeño
ya que emplea tecnologı́a de estado sólido.
Este apéndice presenta una descripción general del kit de arranque del
DSP TMS320c6711 [24], ası́ como del microprocesador integrado en la tarjeta
TMS320C50. El DSK ’C6x es una tarjeta de bajo costo, simple e indepen-
diente que permite experimentar y usar el DSP ’c6x0 para procesamiento de
117
118 B.1. Generalidades de un DSP
B.2. Arquitectura
El DSP TMS320c6711 de Texas Instruments es un microprocesador es-
pecı́ficamente para el procesado digital de señal. Sus caracterı́sticas más
básicas como el formato aritmético, la velocidad, la organización de su memo-
ria y la arquitectura interna ası́ como su costo y la disponibilidad de una
amplia gama de herramientas de desarrollo, hacen que este dispositivo sea
ideoneo para la emulación los algoritmos que se obtivieron en los capı́tulos
3y4. La Figura B.2 muestra la fotografı́a de un kit de desarrollo.
2. Empaquetado de instrucción.
Temporizador de 32 bits
122 B.2. Arquitectura
B.2.2. Arquitectura
Emulador Temporizador
L1 S1 M1 D1 L2 S2 M2 D
Interrupciones
EXB
O Generador de
Puerto reloj PLC
Potencia de arranque Host
32 registros de 32 bits
Dos caminos de datos path, cada uno con cuatro unidades funcionales
Registros de control
Lógica de control
Esta tiene dos caminos de datos A y B, cada camino tiene cuatro unidades
funcionales y un archivo de registro que contiene 16 registros de 32 bits.
Las unidades funcionales ejecutan operaciones de lógica, corrimiento, mul-
tiplicación y direccionamiento de datos. Todas las instrucciones aceptan ope-
raciones de carga y almacenamiento sobre los registro. Las dos unidades de
direccionamiento de datos son exclusivamente responsables de toda la trans-
ferencia de datos entre los archivos de registros y la memoria.
Los caminos de datos del CPU consisten de: dos archivos de registros de
propósito general A y B, ocho unidades funcionales .L1, .L2, .S1, .S2 .M1,
124 B.2. Arquitectura
scr1
scr2
.L1 †
dst
Long dst
Long scr
LD1 32 MSB
ST1
Long scr
Archivo de
Datos A
Long dst
dst
Registro
src1
B
src2
(B0-B15)
dst
src1
.M1 †
src2
LD1 32 LSB
dst
src1
.D1
DA1 src2
DA2 Src2
.D2 Scr1
dst
LD2 32 LSB
Src2
.M2 † Src1
dst
LD1 32 MSB
ST1 Archivo de
src2
.S2 † scr1
registro
Datos B dst
Long dst
A
Long src
LD2 32 MSB (A0-A15)
ST2
Long src
Long dst
Dst
Scr2
.L2 †
src1
Control de
Archivo de
registro
.M2, .D1 y .D2, dos caminos de lectura de memoria LD1 y LD2, dos caminos
de almacenamiento en memoria ST1 y ST2, dos caminos cruzados entre los
archivos de registros 1X y 2X, y dos caminos de direccionamiento de datos
DA1 y DA2, como se muestran en la Figura B.4.
Unidades Funcionales
.S1 .S2
.L1 .L2
Registro Registro
A B
.M1 .M2
.D1 .D2
Memoria
Una unidad puede leer de y escribir hacia los registros de control con-
tenidos en el archivo de registros de control.
El DSP c6711 posee tres registros de configuración adicionales, para so-
portar operaciones de punto flotante. Los registros especifican los modos de
redondeo de punto flotante. También contiene campos de bit para advertir si
src1 y src2 son NaN (No es un número) o números desnormalizados.
Hay dos caminos de 32 bits, para leer los datos de memoria en los registros
de almacenamiento, además de tener un segundo camino de carga de 32 bits
para ambos archivos de registros A y B. Este segundo camino permite leer
simultáneamente dos registros de 32 bits en los lados A y B.
Interrupciones
Los pines INUM0 INUM3 indican el vector de interrupción que está sien-
do utilizado
B.2.6. Periféricos
Los periféricos que son accesibles al usuario se configuran con un conjunto
de registros de control mapeados en memoria. El controlador del bus de
periféricos realiza el arbitraje para el acceso a los periféricos. La lógica de
configuración de Boot está conectada por señales externas y la lógica de baja
energı́a es accesible directamente por el CPU.
La Figura B.6 muestra los periféricos disponibles en el DSP TMS320c6711.
Control de interrupción
Envió de Instrucción
EDMA L2 Emulación
4 bancos Decodificación de instrucción de circuitos
McBSP 1 16
canales De
64k Bytes
Archivo de registro A Archivo de registro B
Búfer multicanal
De puerto
Serial 0
L1 S1 M1 D1 D2 S2 M2 L2
McBSP 0
Interface de
Puerto paralelo
HPI LD1 cache
2 caminos de
Inicio asociados
Potencia lógica de bajada Temporizador 0 Temporizador 1 4 K bytes
Figura B.6: Diagrama de bloques con los periféricos del DSP c6711
3. EMIF. Este soporta una interfaz de baja adherencia para varios dis-
positivos externos, e incluye:
DRAM sı́ncrona.
Comunicación full-Duplex.
Registros de datos de doble buffer para flujo continuo de datos.
Tramado independiente y temporización para dispositivos y trans-
misión.
Interfase directa a codecs estándar, chips de interfase analógica
(AICs) y otros dispositivos A/D y D/A conectados serialmente.
a) Interfase directa a:
Tramas T1/E1
Dispositivos conforme a ST - BUS T M
Dispositivos conforme a IOM-2
Dispositivos conforme a AC97
Dispositivos conforme a IIS
Dispositivos SPI T M
B. DSP TMS320c6711 de Texas Instruments 131
7. TIMER. El DSP c6711 tiene dos timer de porpósito general que son
usados para:
Zb
< x, y >= x(t)y ∗ (t)dt
a
133
134 C.2. El Principio de Mı́nimos Cuadrados
Rb
6. < x, x >= |x(t)|2 dt = Ex
a
Se dice que dos funciones x(t) y y(t) son ortogonales en un intervalo (a, b)
si su producto interno en ese mismo intervalo es cero; es decir si
Zb
< x, y >= x(t)y ∗ (t)dt = 0
a
M
X −1
x̂(t) = ck φk
k=0
M
X −1
e(t) = x(t) − x̂(t) = x(t) − ck φk (t)
k=0
Zb Zb M
X −1
2
ξ= |e(t)|2 d(t) = x(t) − ck φk (t) dt
a a k=0
Zb " M −1
#
∂ξ X
= −2 x(t) − ck φk (t) φi (t)dt = 0; i = 0, 1, ..., M − 1
∂ci k=0
a
o equivalente
M
X −1 Zb Zb
ck φk (t)φi (t)dt = x(t)φi (t)dt; i = 0, 1, ..., M − 1
k=0 a a
o en forma matricial
136 C.2. El Principio de Mı́nimos Cuadrados
< φ0 , φ0 > < φ1 , φ0 > ... < φM −1 , φ0 > c0
< φ0 , φ1 > < φ1 , φ1 > ... < φM −1 , φ0 >
c1
. . .
• .
=
. . ... .
.
. . .
.
< φ0 , φM −1 > < φ1 , φM −1 > ... < φM −1 , φM −1 > cM −1
< x, φ0 >
< x, φ1 >
.
.
.
< x, φM −1 >
Cefálica Cada uno de los vasos o conductos por donde retorna la sangre al
corazón.
Membrana Tejido flexible, elástico, delgado que en los seres orgánicos cubre
vı́sceras, y absorbe o segrega humores.
139
140 C.2. El Principio de Mı́nimos Cuadrados
Ventrı́culo Cada una de las dos cavidades inferiores del corazón, de donde
salen las arterias aorta y pulmonar.
Bibliografı́a
141
142 BIBLIOGRAFÍA
[12] H. Harold,
DIAGNÓSTICO ELECTROCARDIOGRÁFICO Y VECTOCARDIO-
GRÁFICO,
Salvat,
1990.
[18] Oppenheim, Alan V., Schafer, Ronald W. con Buck, John R.,
DISCRETE-TIME SIGNAL PROCESSING,
Prentice Hall,
2a ed.,
1999.
[20] P. Laguna,
NUEVAS TÉCNICAS DE PROCESADO DE SEÑALES ELECTRO-
CARDIOGRÁFICAS:
Aplicación a Registros de Larga Duración,
Tesis Doctoral. Instituto de Cibernética de Cataluña.
Octubre 1990.
BIBLIOGRAFÍA 145
[23] Shanks,J.L.,
RECURSION FILTERS FOR DIGITAL PROCESSING,
Geophysics,
1967.
[26] www.mathworks.com
[27] www.physionet.org
[28] www.udlap.mx