ECG Database Applications Guide Table of Contents


sqrs - single-channel QRS detector


sqrs -r record [ options ... ] ] sqrs125 -r record [ options ... ] ]


sqrs attempts to locate QRS complexes in an ECG signal in the specified record. The detector algorithm is based on example 10 in the ECG Database Programmer's Guide, which in turn is based on a Pascal program written by W.A.H. Engelse and C. Zeelenberg, ``A single scan algorithm for QRS-detection and feature extraction'', Computers in Cardiology 6:37-42 (1979). sqrs does not include the feature extraction capability of the Pascal program. The output of sqrs is an annotation file (with annotator name qrs) in which all detected beats are labelled normal; the annotation file may also contain `artifact' annotations at locations that sqrs believes are noise-corrupted.

sqrs can process records containing any number of signals, but it uses only one signal for QRS detection (signal 0 by default; this can be changed using the -s option, see below). For best results on adult human ECGs, use xform to resample the input signal at 250 Hz if a different sampling frequency was used originally (or use sqrs125, a variant of sqrs designed for signals sampled at 125 Hz). For other ECGs, it may be necessary to experiment with the input sampling frequency and the time constants indicated in the source file.

This program is provided as an example only, and is not intended for any clinical application. At the time the algorithm was originally published, its performance was typical of state-of-the-art QRS detectors. Recent designs, particularly those that can analyze two or more input signals, may exhibit significantly better performance.

Options include:

-f time
Begin at the specified time in record (default: the beginning of record).
-m threshold
Specify the detection threshold (default: 500 units); use higher values to reduce false detections, or lower values to reduce the number of missed beats.
-s signal
Specify the signal to be used for QRS detection (default: 0).
-t time
Process until the specified time in record (default: the end of the record).

The shell variable DB should be set and exported (see setdb(1) ).


To mark QRS complexes in record 100 beginning 5 minutes from the start, ending 10 minutes and 35 seconds from the start, and using signal 1, use the command:
sqrs -r 100 -f 5:0 -t 10:35 -s 1
The output annotations may be read using (for example):
rdann -a qrs -r 100

To evaluate the performance of this program, run it on the entire record, by:
sqrs -r 100
and then compare its output with the reference annotations by:
bxb -r 100 -a atruth qrs


bxb(1) , rdann(1) , setdb(1) , xform(1)

Table of Contents