
1.0 Introduction
Computer analysis of ECG signals is common today. Devices on the market that analyze ECGs,
such as patient monitors, stress test systems, and Holter analysis systems, do a good job of
detecting beats and classifying arrhythmias. However, new companies are constantly emerging
and applying new technologies, such as PDAs, in an effort to make smaller and cheaper ECG
analysis systems. Other companies are using ECG gating to improve imaging of the heart. Each
new company that produces a product that requires ECG analysis must implement their own ECG
analysis software, duplicating the efforts of every other company. Similarly, researchers who need
ECG analysis to explore new diagnostic methods, such as the analysis of heart rate variability,
must also implement their own versions of basic ECG analysis functions. Thirty years of research
on computer analysis of ECG signals has produced a great many methods for detecting beats and
classifying ECG signals, but there is still a significant effort required to go from theory to
implementation.
In an effort to reduce this industry and research wide duplication of effort, E.P. Limited, with
support from the National Heart Lung and Blood Institute (NHLBI) of the National Institutes of
Health (NIH), has been developing and is now releasing open source software for ECG analysis.
We have developed C functions that implement the most basic ECG analysis operations, detection
and classification of individual beats. By building on this open source software we hope that new
companies will be able to bring reliable systems to market more quickly, and researchers will be
able to spend more time exploring new diagnostic techniques rather than implementing beat
detectors.
This is our fifth software release and includes C implementations of three variations of our
beat detector and a C implementation of a beat classifier. The beat classifier and two of the beat
detector implementations can easily be adapted for different sample rates. One beat detector has
been written for implementation on processors with limited available memory. Finally, we have
included some programs to facilitate the testing of beat detection and beat classification software.
In releasing this software as open source code, we hope that others will make improvements
on it and make those improvements available. To be realistic, we do not expect that companies
will make an effort to release modifications that they make to this software. On the other hand, we
believe that this software presents significant opportunities for students and others in an academic
environment to build on our work and make the results of their work available as open source
code. With this in mind, we would like to suggest areas where our algorithms might be improved
or extended. These areas represent opportunities for course projects, undergraduate theses, or
Masters theses.
Some possible improvements or extensions of the beat detection algorithm are:
• The QRS detector only uses a single channel of information (on the MIT/BIH database
the second channel is often too noisy to be of much help), can it be made more robust if it
uses two or more ECG channels as input?
• The QRS detector has not been tested in noisier environments. Can performance be
improved with noisier signals (as might occur during exercise or stress testing) by
making stronger assumptions about rhythm?
• As is, the QRS detector has a variable, sometimes long, delay. How well can a QRS
detector perform if the delay is restricted to be 0.25 s or less?
• The QRS detector filters were designed to be efficient, requiring only shift and add
operations rather than multiplications of any precision. If processing power is not a
significant problem, are there better filters that use less restricted filter coefficients?
1
评论2