Software Open Access

Estimating Activity from Instantaneous Heart Rate

George Moody

Published: April 18, 2002. Version: 1.0.0

Please include the standard citation for PhysioNet: (show more options)
Goldberger, A., Amaral, L., Glass, L., Hausdorff, J., Ivanov, P. C., Mark, R., ... & Stanley, H. E. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation [Online]. 101 (23), pp. e215–e220.

Software Description

A common problem in many studies is to match levels of physical activity between subjects. In prospective studies, the solution to this problem is usually accomplished by developing and following a protocol that specifies activities. In retrospective studies, such as those that can be performed using PhysioBank data, however, reliable data on activity is often unavailable, so that indirect methods for assessing activity may become useful.

Using only a heart rate time series, it is possible to measure a number of features that reflect the level of physical activity. Here we provide software for deriving an "activity index" based on measurements of mean heart rate, total power of the instantaneous heart rate time series over a given interval, and stationarity. The algorithm was tested using a set of 35 ECG recordings for which an independent activity indicator was available. It consistently selected periods of minimum activity that were in agreement with the independent activity indicator (see the reference below for details).

The input to activity is a time series of instantaneous heart rate measurements, such as can be produced by tach. For example:

    tach -r record -a annotator | activity [-m] [len]

Each value of the activity index is derived from len values in the input heart rate time series; if len is omitted, 600 samples (5 minutes, at tach's default sampling rate) of input data are used to produce each output value. The input windows overlap by 50%, so that the interval between output values is half of that specified by len, or 2.5 minutes by default.

Use activity's -m option to find and output only the interval for which the activity index is minimum.

Here are:

  • the portable C source for activity (activity.c), and
  • the paper that introduced the technique (also available in PostScript or PDF formats).


Access Policy:
Anyone can access the files, as long as they conform to the terms of the specified license.

License (for files):
Open Data Commons Attribution License v1.0

Corresponding Author
You must be logged in to view the contact information.


Total uncompressed size: 302.2 KB.

Access the files
Folder Navigation: <base>
Name Size Modified
activity.c (download) 4.5 KB 2019-04-12
activity.pdf (download) 89.3 KB 2019-04-12 (download) 121.9 KB 2019-04-12