Next: HRSTATS(1) Up: WFDB Applications Guide Previous: GQRS(1)On This Page


hrfft, hrlomb, hrmem - calculate and plot heart rate power spectra
hrplot - plot heart rate time series


hrfft [ options ... ]
hrlomb [ options ... ]
hrmem [ options ... ]
hrplot [ options ... ]


The first three of these UNIX shell scripts are intended to illustrate the use of fft(1) , lomb(1) , and memse(1) by producing heart rate power spectra using the fast Fourier transform, the Lomb periodogram, and the maximum entropy (all poles) method (also known as autoregressive, or AR, power spectral density estimation). All four programs derive heart rate time series from beat annotation files. hrfft and hrmem use tach(1) to obtain a uniformly resampled heart rate time series from the annotation file, which is then used as input to fft or memse, and the spectrum thereby obtained is then plotted. hrlomb and hrplot use ihr(1) to obtain an irregularly sampled heart rate time series. hrplot plots this time series directly, and hrlomb uses it as input to lomb, and then plots the spectrum.

All four programs accept the same options:

-a annotator
Read annotations from the specified annotator (default: the value of the environment variable ANNOTATOR, if set).
-f time
Begin at the specified time within the annotation file (default: the value of the environment variable START, if set, or the beginning of the file otherwise).
-l axes
Log-transform the specified axes (default: use linear axes). The axes can be specified as x, y, or xy.
-p plot-utility
Use the specified plot-utility to generate the output (default: the value of the environment variable PLOT, if set, or plt(1) , if it exists, or plot2d(1) otherwise).
-r record
Produce a heart rate power spectrum for the specified record (default: the value of the environment variable RECORD, if set).
-t time
Stop at the specified time within the annotation file (default: the value of the environment variable END, if set, or the end of the file otherwise).
-T device
Produce output on the specified device (default: the screen). The device must be among those supported by the plot-utility (see above).

If annotator or record are not specified using environment variables or command-line options, these programs obtain values from the user interactively.

Although hrfft, hrlomb, and hrmem all produce power spectra, the units of power differ among them. Absolute comparisons can be made only between spectra produced using the same method, from time series of the same length.

Note that these shell scripts can be run under MS-DOS using a suitable set of UNIX-like utilities, such as the MKS Toolkit or the GNUish MS-DOS utilities, and under MS-Windows using the free Cygwin package.


In addition to the variables ANNOTATOR, END, PLOT, RECORD, and START, it may be necessary to set WFDB (see setwfdb(1) ).

See Also

fft(1) , ihr(1) , lomb(1) , memse(1) , plot2d(1) , plt(1) , setwfdb(1) , tach(1)


George B. Moody (


Table of Contents

Up: WFDB Applications Guide

Please e-mail your comments and suggestions to, or post them to:

MIT Room E25-505A
77 Massachusetts Avenue
Cambridge, MA 02139 USA

Updated 8 March 2019