Utilizando el Software Lattice DiamondR , se
realiz´o el dise˜no de un simulador de paciente,
descrito en el lenguaje VHDL, el cu´al devuelve
una se˜nal de Electrocardiograma y Fotopletismograma lo suficientemente clara para apreciar los
principales componentes de cada una; usando como base el funcionamiento de un sintetizador de
se˜nales digitales.
Diálisis peritoneal en los pacientes delicados de salud
Diseño e implementación de un simulador de paciente con señales antropométricas: ECG y PPG
1. Dise˜no e implementaci´on de un simulador de paciente con se˜nales
antropom´etricas: ECG y PPG, descrito en VHDL
Elaboraci´on y Desarrollo de Proyectos Experimentales
Sa´ul M´endez Guti´errez
Resumen
Utilizando el Software Lattice Diamond R , se
realiz´o el dise˜no de un simulador de paciente,
descrito en el lenguaje VHDL, el cu´al devuelve
una se˜nal de Electrocardiograma y Fotopletismo-
grama lo suficientemente clara para apreciar los
principales componentes de cada una; usando co-
mo base el funcionamiento de un sintetizador de
se˜nales digitales.
13
1. Introducci´on
Un simulador de paciente es un dispositivo ca-
paz de representar par´ametros antropom´etricos
precisos, para ayudar a cumplir los requisitos de
calidad y seguridad en alg´un dispositivo de medi-
ci´on biom´edica sin la necesidad de un organismo
biol´ogico, debido a la complejidad y posibles pro-
blemas que pueden existir en ello.
Es indispensable en el estudio de los sistemas
biom´edicos actuales y entrenamiento de personal
m´edico 1
. Desde que se detectaron los alcances
1[Abrahamson et al., 1969]
futuros de las tecnolog´ıas digitales, a mediados
de la d´ecada de 1960, se intent´o construir un mo-
delo computarizado capaz de representar adecua-
damente problemas biol´ogicos y m´edicos con un
nivel de complejidad adecuado con el cual los es-
tudiantes ser´ıan capaces de practicar situaciones
reales desde una posici´on segura2
.
Los simuladores de paciente actuales, aprove-
chan los avances de la tecnolog´ıa digital y su in-
tegraci´on anal´ogica, para representar apropiada-
mente se˜nales antropom´etricas que de otra mane-
ra ser´ıan engorrosas de aislar, para obtener una
calibraci´on adecuada.3
.
Aquellos simuladores actuales tienen como sali-
da una se˜nal anal´ogica, producto de la conversi´on
D-A,
Ahora, para dar una explicaci´on general al ele-
mento principal de este proyecto:
Los componentes de un Sintetizador Digital Di-
recto, tambi´en conocido como DDS (Direct Digi-
tal Synthesizer) son principalmente tres:
Utilizando un reloj de referencia se debe de di-
se˜nar un acumulador de fase, una memoria ROM
programable y finalmente un Convertidor Digital
2[Denson and Abrahamson, 1969]
3[Levine et al., 2013]
1
2. anal´ogico 4
La parte del acumulador consiste de un bloque
que convierte los valores (digitales) ∆fase en las
amplitudes deseadas.
La teor´ıa b´asica detr´as de la necesidad de este
elemento es que debido a que el acumulador de
fase crece por cada ciclo de reloj, con esto, se
produce un cambio ∆fase, al cual le corresponde
un dato, almacenado en la memoria ROM5
.
Este dato representa la amplitud deseada de la
onda correspondiente para cada valor del acumu-
lador.
Finalmente el Convertidor Digital-Anal´ogico
convierte a cada c´odigo individual de ROM en
un voltaje, generando la onda esperada.
Las curvas a generar se describen a continua-
ci´on:
Electrocardiograma
Un electrocardiograma es un examen m´edico
rutinario que detecta la actividad el´ectrica del
coraz´on cuando ´este lleva a cabo su ciclo r´ıtmi-
co, esta actividad el´ectrica se muestra como una
gr´afica, con caracter´ısticas definidas y muy bien
estudiadas.
En la descripci´on de un ciclo del ECG se pue-
den distinguir los componentes caracter´ısticos de
la curva [Figura 1].
Como lo son la onda P, el segmento P-Q, el
complemento QRS, el segmento S-T y la onda T.
1. Onda P: Representa la despolarizaci´on de
las aur´ıculas; las aur´ıculas comienzan a con-
traerse alrededor de 25ms despu´es del inicio
de la onda.
4[Devices, 1999]
5LaMeres [2019]
2. Complejo QRS: Representa la despolariza-
ci´on de los ventr´ıculos; los ventr´ıculos co-
mienzan a contraerse cuando el QRS alcanza
el pico,en el punto R
3. Onda T: representa la repolarizaci´on de los
ventr´ıculos6
Figura 1: Elementos que componen la curva de un
Electrocardiograma. Obtenida de [Jun-an, 2011a]
Pletismograma:
Para la curva de presi´on sangu´ınea, conocida
como pletismograma, decid´ı utilizar la definici´on
de una t´ecnica espec´ıfica dentro de ella, conoci-
da como fotopletismograma, PPG por las siglas
en ingl´es, la cu´al es una t´ecnica de bajo costo
igualmente utilizada para medir los cambios vo-
lum´etricos que existen en el tejido microvascular.
Se basa en cambios luminosos captados por fo-
tosensores en la superficie de la piel, por lo que
es una t´ecnica no invasiva.7
,8
La curva PPG consta principalmente de dos
partes, la primera, llamada presi´on sist´olica, des-
cribe el pulso sincronizado del coraz´on y su rela-
ci´on directa con el cambio de volumen sangu´ıneo
6[Bronzino, 2000]
7[Tusman et al., 2019]
8[Allen, 2007]
2
3. circulante con cada latido. Despu´es de esta par-
te, sigue la curva de la presi´on diast´olica, la cual
se compone de componentes de baja frecuencia
atribuidos a la respiraci´on, el sistema nervioso
simpat´etico y la termorregulaci´on, aunque a´un no
existe una descripci´on exacta de su correcta [] re-
presentaci´on. 9
Figura 2: Comparaciones de diferentes curvas de fo-
topletismogramas en relaci´on a un diferente tono vas-
cular. Obtenida de [Tusman et al., 2019]
2. Objetivo:
Utilizando los conocimientos en electr´onica di-
gital obtenidos durante el curso, se deber´a dise˜nar
un simulador digital de paciente que genere las
se˜nales antropom´etricas de un electrocardiogra-
ma y un pletismograma, implement´andolo me-
diante VHDL.
3. Desarrollo
Acumulador de fase:
Un acumulador es un contador, o en t´erminos
9loc.cit.
m´as generales, un sumador con feedback 10
, que
tiene dos entradas principales:
La primera es una se˜nal digital con N bits, con
una Magnitud, tambi´en conocido como ∆fase,
que controlar´a la frecuencia de salida. La segunda
es una se˜nal de referencia interna, de reloj.
El acumulador de fase compara la frecuencia de
reloj con la frecuencia deseada para incrementar
la fase registrada, en donde esta ultima cambia
cada vez que se recibe un pulso de reloj.
Normalmente no se utilizan todos los N bits de
salidas, si no, s´olo los definidos como como m´as
significativos.
Comenzando la descripci´on y sustento para el
dise˜no del acumulador de fase:
Para decidir la frecuencia de reloj ´optima en
este proyecto, base los datos en en el proyecto
[Yseboodt et al., 2009], debido a las similitudes
compartidas en la optimizaci´on de su procesador
digital de se˜nales; calculada en la Figura 3:
Figura 3: Describe el comportamiento observado en
su experimento, al variar la frecuencia de reloj, En-
contrada en [Yseboodt, op. cit., pp. 112]
10[Gentile et al., 2003]
3
4. En donde el ´Area representa la ”energ´ıa consu-
mida” y la fuga, leakage, es la energ´ıa perdida.
El proyecto, utiliz´o un acumulador de 128 bits
con una fclk = 100MHz, lo que describen como
”sweet spot”.
En la figura se puede observar que para las fre-
cuencias mayores a los 100MHz ” existe un cre-
cimiento exponencial en la energ´ıa consumida y
la de fuga” 11
.
Partiendo con la observaci´on en la gr´afica, y
el comportamiento de esta en 50MHz, en la cual
casi no existe un cambio significativo entre ambas
variables, decid´ı utilizar la mitad de la frecuencia
de reloj original. Por lo que para este proyecto, y
sus alcances, la frecuencia de reloj ser´a de
fclk = 50MHz
Ahora, para el numero de bits y las especifica-
ciones del Acumulador de fase, tomando en cuen-
ta los pormenores que se desean en este proyecto,
se describe su c´alculo:
2n
=
fclk
∆fase
(1)
n = log2
fclk
∆fase
(2)
En este caso, con los par´ametros establecidos en
el problema, donde la resoluci´on en frecuencia del
sistema debe ser menor o igual a 1Hz.
n = log2
50MHz
1Hz
≈ 25,57 (3)
Por lo que se deben de usar 25.57 bits, o lo m´as
aproximado y conveniente posible.
Si se utilizan 32 bits, debido a la paqueter´ıa de
11loc. cit., pp. 112
bits de 4 octetos, o 4 bytes, la cual ha prevalecido
como est´andar desde las primeras fuentes 12
, que
fue utilizada para la familia de los primeros pro-
cesadores de IBM 650-7074, que ”proporcionaba
una mejor eficiencia para el dise˜no de software”13
.
Se cumple igualmente las especificidades del
problema, en donde:
40Hz ≤
∆fase
2n
fclk ≤ 160Hz (4)
Donde el cambio de fase (∆fase) se ver´a refle-
jado como:
∆fase =
2n
fase
fclk
=
232
50MHz
≈ 85,89Hz (5)
Lo que significa que cada cambio en 1 bit, di-
gital equivaldr´an a aproximadamente 85Hz de
cambio de frecuencia en la se˜nal an´aloga, que
cumple lo establecido como requisitos en el pro-
yecto.
40Hz < 86Hz < 160Hz
En donde equivale a un cambio, en n´umeros
decimales de:
∆fase =
232
(86)
50MHz
≈ 7388 (6)
Para las frecuencias m´ınima y m´axima:
Si ∆fase = 40 Hz
∆fase =
232
(40)
50MHz
≈ 3436 (7)
Y para la m´axima:
∆fase =
232
(160)
50MHz
≈ 13742 (8)
12[Hill et al., 2000]
13loc. cit., pp.6
4
5. Teniendo una cobertura de 120Hz, la cantidad de
bits necesaria para cubrirla, se calcular´a como:
log2(120) ≈ 7 (9)
Tratando de mantener el orden de los Bytes, con-
vendr´a utilizar 8 bits en el vector de direcci´on que
unir´a a la memoria ROM y al Sintetizador
Convertidor de fase-amplitud (Sinteti-
zador):
• ROM:
Los datos almacenados en el elemento ROM
utilizados fueron obtenidos de un proyecto de
open science, perteneciente a MIT-BIH Databa-
se Distribution, Harvard-MIT Division of Health
Sciences and Technology 14
.
Para el procesamiento de ambas listas de datos
se utiliz´o el programa Jupyter notebook, basado
en el lenguaje de programaci´on Python, siendo
un software de uso libre.
La descripci´on m´as detallada del procesamien-
to de datos se encuentra en el Anexo17 al proyec-
to.
En la curva del electrocardiograma se utiliza-
ron los datos del proyecto mencionado15
Aislan-
do s´olo un ciclo de aquella vasta base de datos se
muestra la figura 4:
Para la Onda de presi´on sangu´ınea, se utiliza-
ron los datos 16
,17
del mismo proyecto open scien-
ce, en la cu´al se describe la curva del fotopletis-
14https://ecg.mit.edu/
15https://physionet.org/content/ecgsyn/1.0.0/
sample-output/ecgsyn.dat
16[Elgendi, 2012]
17https://www.physionet.org/content/apnea-ecg/1.
0.0/
Figura 4: Gr´afica original del Electrocardiograma
con una resoluci´on de 256 datos por cada ciclo, V´ease
Anexo1
mograma en el monitoreo continuo del sue˜no, en
un paciente por 7 horas.
La gr´afica se puede ver en la figura 5
Figura 5: Gr´afica original de la onda PPG con una
resoluci´on de 375 datos por cada ciclo, V´ease Anexo17
Despu´es del procesamiento de datos18
:
18Ver Anexo17
5
6. Para la onda del ECG, la cuantificaci´on digital
o frecuencia de muestreo final fue de 1:2. Debido
a que en el ciclo utilizado exist´ıan 256 valores, por
lo que se almacenan 127 valores en ROM
En cuanto para el ciclo de la onda PPG, es-
ta tiene una cuantificaci´on digital de 1:3, debi-
do a la cantidad de datos recabados originales19
.
Finalmente utilizando 125 datos para los valores
almacenados en ROM
Por ultimo, utilizando el Software Latti-
ce Diamond R 20
, perteneciente a LATTICE
SEMICONDUCTORTM
, cuyo uso principal es el
dise˜no de FPGAs y con una licencia de software
libre para el sistema operativo Windows(x64); se
dise˜no el modelo del comportamiento te´orico del
circuito.
El proceso de desarrollo se explica con m´as
detalle en el archivo original, encontrado en el
Anexo27.
4. Resultados:
Utilizando las bases te´oricas expuestas en este
reporte, junto con las pr´acticas mostradas en sus
anexos correspondientes, se obtuvo la simulaci´on
digital de una onda de Electrocardiograma y una
onda de Fotopletismograma con una resoluci´on de
8 bits para la amplitud de cada una y de 7 bits
para cada periodo correspondiente.
En las figuras 6 y 7 puede observarse la curva
resultante en simulaci´on del programa finalizado,
Lattice Diamond, para un milisegundo completo
en ambos archivos. 21
19V´ease Anexo17
20http://www.latticesemi.com/latticediamond
21Ver Anexo27
Se puede distinguir claramente las secciones de-
finidas, que se mencionan al inicio 1, de cada una
onda biom´etrica.
Figura 6: Gr´afica obtenida para un ECG, simulando
el programa adjunto en Anexo2 7, con una resoluci´on
de 7 bits por cada ciclo temporal
Figura 7: Ciclos de la gr´afica obtenida para un PPG,
programa adjunto en Anexo27, con una resoluci´on de
7 bits por cada ciclo
5. An´alisis y discusi´on de re-
sultados:
Puede notarse con mayor detalle en la figura 8
que la resoluci´on puede no ser suficiente bajo cier-
tas condiciones deseadas; adem´as, considerando
que el acumulador utilizado en el programa fue
definido como un vector de 32 bits, de los cuales
s´olo se utilizaron 8, es m´as que suficiente si s´olo
6
7. se est´a interesado en las caracter´ısticas y compo-
nentes generales de las ondas, debido al compor-
tamiento de los sistemas biol´ogicos.
Como se mencion´o al principio 1, para la cur-
va de PPG, a´un se desconocen bastantes sistemas
involucrados en el comportamiento y consecuen-
te cambio de la gr´afica para la presi´on diast´olica,
por lo que ser´ıa reduccionista asumir un compor-
tamiento general de esta22
y mucho m´as, alguno
que puede ser representado en una resoluci´on de
8 bits
Figura 8: Detalle de la simulaci´on obtenida para el
ECG y la PPG respectivamente; 5 ciclos con una re-
soluci´on individual de 8 bits en amplitud
6. Trabajo futuro:
Debido a la duraci´on y recursos humanos limi-
tados en este proyecto, adem´as de la incertidum-
bre por un futuro que en estos momentos ata˜ne
a m´as contempor´aneos de los imaginados, no fue
posible integrar el convertidor Digital-Anal´ogico,
el cual es un paso conveniente, nada arduo de
22[Allen, 2007]
agregar y bastante id´oneo en alguna aplicaci´on
f´ısica redituable para estudiantes.
Igualmente debido a las caracter´ısticas del soft-
ware Lattice, una vez obtenido el programa del
circuito deseado, no es dif´ıcil hacer una imple-
mentaci´on en FPGA, lo que reducir´ıa costos en la
eficiente ense˜nanza sobre ambas ondas biom´etri-
cas en alumnos universitarios.
7. Conclusiones y Anexos
Se logr´o dise˜nar el simulador de paciente en una
interfaz completamente digital, program´andolo
en el lenguaje VHDL para las ondas de ECG y
PPG, con la ´unica excepci´on de la parte final, el
Convertidor Digital-Anal´ogico.
Los anexos se pueden encontar en:
https://drive.google.com/drive/folders/
1E2wUHFbiVxL2NiOsuitPKozXjmGiy0yw?usp=
sharing
7
8. Referencias
Stephen Abrahamson, Judson S Denson, and Ri-
chard M Wolf. Effectiveness of a simulator
in training anesthesiology residents. Academic
Medicine, 44(6):515–9, 1969.
J. S. Denson and Stephen Abrahamson. A
Computer-Controlled Patient Simulator. JA-
MA, 208(3):504–508, 04 1969. ISSN 0098-
7484. doi: 10.1001/jama.1969.03160030078009.
URL https://doi.org/10.1001/jama.1969.
03160030078009.
A.I. Levine, S. DeMaria, A.D. Schwartz, and A.J.
Sim. The Comprehensive Textbook of Healthca-
re Simulation. Springer New York, 2013. ISBN
9781461459934.
Analog Devices. A technical tutorial on digital
signal synthesis. Application Note, pages 1–
122, 1999.
Brock J LaMeres. Quick Start Guide to VHDL.
Springer, 2019.
Joseph D Bronzino. Biomedical Engineering
Handbook 2, volume 2. Springer Science & Bu-
siness Media, 2000.
Zhang Jun-an. The design of ecg signal generator
using pic24f. Procedia Engineering, 24:523–527,
2011a.
Gerardo Tusman, Cecilia M Acosta, Sven Pu-
lletz, Stephan H B¨ohm, Adriana Scandurra,
Jorge Martinez Arca, Mat´ıas Madorno, and
Fernando Suarez Sipmann. Photoplethysmo-
graphic characterization of vascular tone me-
diated changes in arterial pressure: an obser-
vational study. Journal of clinical monitoring
and computing, 33(5):815–824, 2019.
John Allen. Photoplethysmography and its ap-
plication in clinical physiological measurement.
Physiological measurement, 28(3):R1, 2007.
Ken Gentile, David Brandon, and Ted Harris. Di-
rect digital synthesis primer. Analog Devices,
pages 1–50, 2003.
Lennart Yseboodt, Michael Nil, Jos Huisken,
Mladen Berekovic, Qin Zhao, Frank Bouwens,
Jos Hulzink, and Jef Meerbergen. Design of 100
µw wireless sensor nodes for biomedical moni-
toring. Signal Processing Systems, 57:107–119,
10 2009. doi: 10.1007/s11265-008-0255-x.
Mark D Hill, Norman P Jouppi, and Gurindar S
Sohi. Readings in computer architecture. Gulf
Professional Publishing, 2000.
Mohamed Elgendi. On the analysis of fingertip
photoplethysmogram signals. Current cardio-
logy reviews, 8(1):14–25, 2012.
Bruce S Alpert, David Quinn, and David Gallick.
Oscillometric blood pressure: a review for clini-
cians. Journal of the American Society of Hy-
pertension, 8(12):930–938, 2014.
Peter H Charlton, Timothy Bonnici, Lionel Ta-
rassenko, David A Clifton, Richard Beale, and
Peter J Watkinson. An assessment of algo-
rithms to estimate respiratory rate from the
electrocardiogram and photoplethysmogram.
Physiological measurement, 37(4):610, 2016.
Gari D Clifford and Patrick E McSharry. A rea-
listic coupled nonlinear artificial ecg, bp, and
8
9. respiratory signal generator for assessing noi-
se performance of biomedical signal processing
algorithms. In Fluctuations and Noise in Biolo-
gical, Biophysical, and Biomedical Systems II,
volume 5467, pages 290–301. International So-
ciety for Optics and Photonics, 2004.
Sergio Franco. Design with operational amplifiers
and analog integrated circuits, volume 1988.
McGraw-Hill New York, 2002.
Ainara Garde, Walter Karlen, Parastoo Dehkor-
di, John Mark Ansermino, and Guy A Du-
mont. Empirical mode decomposition for respi-
ratory and heart rate estimation from the pho-
toplethysmogram. In Computing in Cardiology
2013, pages 799–802. IEEE, 2013.
Jerry D Gibson. Principles of digital and analog
communications. Macmillan, 1993.
Zhang Jun-an. The design of ecg signal generator
using pic24f. Procedia Engineering, 24:523
– 527, 2011b. ISSN 1877-7058. doi: https:
//doi.org/10.1016/j.proeng.2011.11.2689.
URL http://www.sciencedirect.com/
science/article/pii/S187770581105541X.
International Conference on Advances in
Engineering 2011.
Santiram Kal. Basic Electronics: Devices, Cir-
cuits and IT Fundamentals. PHI Learning Pvt.
Ltd., 2009.
M Morris Mano and Michael Ciletti. Digital de-
sign: with an introduction to the Verilog HDL.
Pearson, 2013.
Robert B Northrop. Analysis and application of
analog electronic circuits to biomedical instru-
mentation. CRC press, 2012.
Thomas Penzel, George B Moody, Roger G Mark,
Ary L Goldberger, and J Hermann Peter. The
apnea-ecg database. In Computers in Cardio-
logy 2000. Vol. 27 (Cat. 00CH37163), pages
255–258. IEEE, 2000.
Patricia Ravert. Patient simulator sessions and
critical thinking. Journal of Nursing Educa-
tion, 47(12):557–562, 2008.
9