time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

simulation of interconnected clocks

JL
Jim Lux
Sat, Nov 30, 2013 2:31 PM

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)

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)
TV
Tom Van Baak
Sat, Nov 30, 2013 10:15 PM

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

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
JL
Jim Lux
Sat, Nov 30, 2013 11:41 PM

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. > > 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.
JL
Jim Lux
Sun, Dec 1, 2013 12:20 AM

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 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".
AK
Attila Kinali
Sun, Dec 8, 2013 11:29 AM

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

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