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


ihr - calculate instantaneous heart rate


ihr -r record -a annotator [ options ... ]


ihr reads an annotation file (specified by the annotator and record arguments) and produces an instantaneous heart rate signal (from the reciprocals of the interbeat intervals.) Unlike tach(1) , however, ihr does not resample its output in order to obtain uniform time intervals between output samples. (If there is any variation whatsoever in heart rate, the intervals between output samples will be non-uniform.) This property makes the output of ihr unsuitable for conventional power spectral density estimation, but ideal for PSD estimation using the Lomb periodogram (see lomb(1) ).

Options include:

-d tolerance
Reject beat-to-beat heart rate changes exceeding tolerance (in beats per minute; default: 10). Any intervals for which the calculated heart rate would differ by more than the specified tolerance are simply excluded from the output series. To disable this behavior, use a large value for tolerance (e.g., 10000).
-f time
Begin at the specified time in record (default: the beginning of record).
Print a usage summary.
Include all intervals bounded by QRS annotations (default: include intervals bounded by consecutive supraventricular beats only).
-p type ...
Include intervals bounded by annotations of the specified types only. The type arguments should be annotation mnemonics (e.g., N) as normally printed by rdann(1) in the third column. More than one -p option may be used in a single command, and each -p option may have more than one type argument following it. If type begins with ‘‘-’’, however, it must immediately follow -p (standard annotation mnemonics do not begin with ‘‘-’’, but modification labels in an annotation file may define such mnemonics).
-t time
Process until the specified time in record (default: the end of the record).
Print the output sample number before each output sample value.
-v, -vs, -vm, -vh, -V, -Vs, -Vm, -Vh
Print the elapsed times from the beginning of the record to the annotations that begin each interval, as sample number (using -v), or in seconds (using -vs), minutes (using -vm), or hours (using -vh) before each heart rate value. The options -V, -Vs, -Vm, and -Vh work in the same way, but the printed times are those for the annotations that end the intervals. Only one of these options can be used at a time; if none is chosen, -vs mode is used by default.
Exclude the interval immediately following each rejected interval. (Rejected intervals are those bounded by excluded beats on at least one end, and those that do not satisfy the tolerance criterion). By default, intervals following rejected intervals are included (unless they are rejected by the tolerance criterion), and a third column is used to flag these intervals (a zero in the third column means the interval is normal, a one means it follows an excluded interval).

Reference (‘atr’) annotation files can be used as input to ihr, but files that contain manually-inserted annotations are less suitable, since annotation placement is likely to be less consistent than in annotation files generated by programs such as sqrs(1) .


It may be necessary to set and export the shell variable WFDB (see setwfdb(1) ).

See Also

lomb(1) , setwfdb(1) , sqrs(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