ECG using a Soun
Medical signal processing on a PC
Is it possible to use a computer with an ordinary sound card to record an ECG (electrocardiogram) signal and measure someone’s pulse? This question has been researched in a university dissertation and answered convincingly in the positive. The heart monitor described here is the fruit of this work, and the software is available for free download from the Elektor Electronics website.
Elsewhere in this issue we describe how to record an ECG signal using a Gameboy games console fitted with a special insertion card. Here we show how it can be done in a more experimental way using an ordinary sound card or the audio input of a laptop computer. For this we need a
sensor (see Figure 1), which in the simplest case can be just a tube with contact surfaces at either end that can be gripped like the handlebars of a bicycle. The weak signal that is picked up is amplified by a factor of 1,000 and presented to the audio input of the computer.
Subsequent processing is carried out using a Java program. It conditions the signal using a digital filter, stores it and displays it on the screen. The program also monitors the pulse and automatically calculates the pulse rate with a digital display and audio output. The individual readings can be stored in a
elektor electronics - 10/2006
file for later analysis. Test data sets are also available on the Internet  from medical databases, and these can also be processed and displayed using the program.
Input impedance: Input dynamic range: Amplifier current consumption: Optocoupler current consumption: Common mode rejection ratio (CMRR): Gain: Bandwidth: Recording rate: > 1 MΩ 5 mVpp approximately 11 mA approx. 2.2 mA > 70 dB approx. 1,000 (60 dB) approx. 0.4 Hz to 35 Hz (depending on sound card) in practice unlimited, typically 60 kbyte per minute
As described in detail in the Gameboy ECG article elsewhere in this issue, the heart muscle is controlled by electric currents. This electrical activity can be measured on the surface of the body using electrodes. The resulting plot against time is called an electrocardiogram, or ECG. Figure 2 shows a typical ECG plot: the exact form of the curve is an important diagnostic aid. We will leave the job of diagnosis to the specialists, and concentrate here on making the measurements. ECGs are normally displayed with 25 millimetres on the horizontal axis representing one second, or 40 milliseconds per millimetre. The vertical axis is usually 10 millimetres per millivolt. This means that a 1 mm square on the plot represents 0.04 s in time and 0.1 mV in voltage. There are conventions for labelling certain characteristic points on the ECG curve with letters . The distance from one of the prominent ‘R’ peaks to the next represents exactly the time between two heartbeats: this lets us readily determine the pulse rate. This rate, expressed in beats per minute (or BPM) is displayed by the computer, and the pulse itself can optionally be output as an audio signal. An interesting project would be to compare the measured rate against a preset value and use this to control the braking on an exercise bicycle, in order to maintain a constant pulse rate while exercising.
Figure 1. This simple sensor for heart signals consists of a pipe with a contact surface at either end.
T P Q P Q
040479 - 12
Figure 2. The interval between two consecutive points marked ‘R’ in the ECG trace gives the time between heartbeats.
The circuit and software are not approved and/or licensed for medical use. They are for private use only, for example for experimental purposes. The circuit must only be used with a battery supply. This also applies to the connected computer whose sound card input is being used: the computer must not be connected to the mains supply. In practice this means that a...