Recently, I've been looking at the variations of some human clocks which
are millenia old: Galileo used his pulse as a timer for his famous "roll
balls down a ramp" experimenet". I thought that some time-nuts might be
interested in working with a clock that's a bit different than one
depending on atomic vibrations, or motion within a crystal lattice.
In particular, modeling the behavior of the heart beats, or more
properly, determining the model parameters given a (noisy) data set.
It is well known that one's heart rate goes up and down as you breath
(up when you breath in, down when you breath out). The magnitude of the
Respiratory Sinus Arrhythmia (RSA) is about 10-15 beats/minute, so it's
a pretty big factor. The attached picture is data from an optical
plethysmograph sensor for heart rate, the estimated beat/beat interval,
and the motion of the chest wall measured by a radar. The heart rate
varies between the low 70s and the high 80s in this example from which
I'm going to guess the subject was sitting quietly breathing fairly
deeply (for reasons explained below).
What's interesting is how this comes about: There's basically the
oscillator of the heart (the SinoAtrial Node) which has a 1/f
characteristic like most oscillators. But effectively, this oscillator
is a VCO, and is driven by two sources: one is related to the blood
pressure (if the pressure drops, the rate increases); the other is
driven by the master oscillator that drives respiration. It turns out
that even if you don't breath (hold your breath, or be unlucky enough to
be hit by a curare tipped dart in the jungle), your heart rate still
cycles up and down. (or if you're a lab animal that has had the nerves
cut or blocked by drugs) The respiration oscillator is driven mostly by
the CO2 content (high CO2 -> rapid breathing, low CO2 -> less rapid).
There's been research on this since the middle of the 19th century, at
least. There's a great paper out there by Hirsch and Bishop (1981) that
measured the RSA amplitude vs depth of breathing and also vs rate of
breathing, and not so surprising, there's a fairly simple low pass
filter function that relates the two. Below a certain respiratory corner
frequency, the RSA amplitude is basically constant, and above that
corner, the RSA amplitude falls off at about 20 dB/decade, although
different individuals have a different slope (which is interesting).
The corner frequency (and below corner RSA amplitude) seem to be related
to tidal volume (how much air goes in and out with each breath).
Hirsch and Bishop's paper is linked from pubmed:
http://www.ncbi.nlm.nih.gov/pubmed/7315987
So there's a whole lot of interesting work ahead on developing models
for these coupled oscillators. I'm interested in things like "how
stable are the filter parameters over time", and, of course, "are there
computationally efficient algorithms to do the model estimation".
And, relevant to our recent discussion, given model parameters, can I
build a simple simulator (e.g. fitting in an Arduino to drive a
mechanical target)
Jim,
Could you just replay real data instead of trying to generate simulated data? There's plenty of storage with Arduino or SD card shields.
Attached is frequency and ADEV of my heart beat for 10 hours. You could do the same. In this case the flicker floor is just under 1e-1 from 10s to 10ks.
/tvb
On 11/30/13 2:15 PM, Tom Van Baak wrote:
Jim,
Could you just replay real data instead of trying to generate
simulated data? There's plenty of storage with Arduino or SD card
shields.
Attached is frequency and ADEV of my heart beat for 10 hours. You
could do the same. In this case the flicker floor is just under 1e-1
from 10s to 10ks.
One could do that. Or in a limited sense, have a shorter table which you
play back repetitively. If you did some processing on your heartbeat
data to remove the sinusoidal modulation from respiration, you might
find the ADEV/phase noise is less. That's something I'm looking into.
In my case, I need to be able to generate multiple different realistic
targets. I could probably record a bunch of sequences and then play
back different pieces of them. or use one person and have them breathe
at different rates and depths.
But an algorithmic approach is interesting. And even more interesting
is being able to generate a particular pattern (using the model), and
see if you can retrieve the model parameters using the device.
Here's where I'm using it:
http://www.jpl.nasa.gov/news/news.php?release=2013-281
http://www.jpl.nasa.gov/news/news.php?release=2013-290
http://www.jpl.nasa.gov/video/?id=1252
We use the model parameters to distinguish targets from one another (and
targets from bystanders and the operator); and also to separate humans
from other targets (oddly enough, that slowly rotating fan, or swinging
grandfather clock pendulum have much lower 1/f noise than your heart).
One finds as you delve into the physiology literature that they have
exceedingly different ways to measure, describe, and model things than
engineers do. In some cases it's because they're working from the
biological structures that make it happen. In others, it's just because
historically it's been described differently: often with reference to
particular methods of recording the signal.
It's kind of like how the Richter scale is in terms of the height of the
trace in mm on a particular kind of seismograph. Someone goes out and
records ECG data and they write the paper and say "data was recorded
using a Grass model X with the filter set at position 3", and since
everyone in that field of research uses the same machines, they all know
how it was recorded, and can duplicate it if needed. The signal
processing details of the Grass Model X with filter set at Position 3
might be left as an exercise for the reader (or a letter to Al Grass at
the Grass Instrument Company). The same thing happens in the nuclear
instrumentation area, where everything is in terms of pulses and time
domain processing, and you refer to a particular model of Ortec pre-amp,
feeding some other model discriminator, finally feeding your
multichannel analyzer (which name confused me, since it has only one
input channel).
The other thing is that a until recently, computers weren't used to
analyze the data, so the analytical methods tend to favor those that are
paper, pencil, and slide rule tractable. There's a lot of log/log plots
with visually placed curve fits, with not a huge number of test subjects
(20 subjects would be a lot in most of these papers).
Finally, there might be a historical reason why decent math models
aren't popular: The grand man of physiology was Carl Ludwig in Leipzig:
he had hundreds of postgraduate students (Pavlov was one), but
apparently "he had little use for mathematical treatment of biological
problems". Ludwig wrote the 1847 paper everyone cites as the beginning:
"Beitraege zur Kenntniss des Einflusses der Respirations bewegungen auf
den Blutlauf im Aortensysteme". But hey, if your supervisor says math
models aren't important, you're sure not going to argue with him, and
someone of distinctly math modeling bent would likely find another place
to study or field of study. So Ludwig casts a long shadow on published
research, probably for 2 or 3 generations.
Thanks to the miracle of the internet and big efforts to scan stuff this
kind of thing is readily available. It's come a long ways since I had
to hunt down a copy of Paschen's paper/thesis on high voltage breakdown
as an actual printed copy and then photocopy it.
http://archive.org/stream/beitrgezurkenn00hein#page/n55/mode/2up has
some examples of data collected later in the 19th century from dogs and
cats.
On 11/30/13 2:15 PM, Tom Van Baak wrote:
Jim,
Could you just replay real data instead of trying to generate simulated data? There's plenty of storage with Arduino or SD card shields.
Attached is frequency and ADEV of my heart beat for 10 hours. You could do the same. In this case the flicker floor is just under 1e-1 from 10s to 10ks.
The flat zero slope adev shows the basic 1/f characteristic reported in
the literature. There's been quite a few people who have hooked up
monitors to people for 24 hours or more and found that the power
spectrum of heart rate follows 1/f from about 0.3 Hz down 4 decades at
least.
I'm not sure what the ADEV/Power spectrum of respiration rate would be,
since it's mostly determined by what the person is doing. Power
spectrum (averaged over a long time) would probably be more a histogram
of "level of physical activity".
On Sat, 30 Nov 2013 06:31:01 -0800
Jim Lux jimlux@earthlink.net wrote:
Recently, I've been looking at the variations of some human clocks which
are millenia old: Galileo used his pulse as a timer for his famous "roll
balls down a ramp" experimenet". I thought that some time-nuts might be
interested in working with a clock that's a bit different than one
depending on atomic vibrations, or motion within a crystal lattice.
I don't know whether this is of any help to you, but some time ago
i stumbled about some old lectures by Charles Peskin on the heart and
to its chaotic self-synchronization [1].
If you are interested in the synchronisation phenomena in biological
oscillators, i can recommend you [2].
Also a good read is [3] which gives a quite lengthy analysis on Kuramotos
model [4].
Also a nice review paper is [5], which starts from Kuramoto and explains
the current unsolved problems with coupled oscillators and their
mathematical description.
Attila Kinali
[1] "Mathematical aspects of heart physiology",
by Peskin, 1975
http://math.nyu.edu/faculty/peskin/heartnotes/index.html
[2] "Synchronization of Pulse-Coupled Biological Oscillators"
by Mirollo and Strogatz, 1990
http://math.bd.psu.edu/faculty/stevens/MATH497K/Papers/Syncrhonization.pdf
[3] "The Kuramoto model: A simple paradigm for synchronization phenomena",
by Acbron, Bonilla, Vincente, Ritort, Spigler, 2005
http://rmp.aps.org/abstract/RMP/v77/i1/p137_1
[4] "Self-entrainment of a population of coupled non-linear oscillators"
by Kuramoto, 1975
http://www.springerlink.com/content/71073361941277h8/
[5] "From Kuramoto to Crawford: exploring the onset of synchronization
in populations of coupled oscillators",
by Strogatz, 2000
http://www.sciencedirect.com/science/article/pii/S0167278900000944
--
1.) Write everything down.
2.) Reduce to the essential.
3.) Stop and question.
-- The Habits of Highly Boring People, Chris Sauve