ANALYTIC STETHOSCOPE
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an electronic stethoscope capable of analyzing heart and respiratory sounds in real-time and displaying the results in an improved format . The invention also relates to a method of processing electronic signals relating to heart and respiratory sounds in real-time, analyzing the electronic signals, and displaying results of the analysis.
2. Description of Related Art
It has previously been proposed to provide stethoscopes capable of electronically analyzing heart sounds in order to offer, in certain situations, a more accurate and consistent analysis of heart sounds than can
be provided by interpretation of sounds picked up by a conventional stethoscope. An example of this type of stethoscope is disclosed in U.S. Patent No. 5,012,815 (the Bennett patent) .
The stethoscope disclosed in the Bennett patent includes a pair of microphones connected to circuitry which performs a digital Fourier conversion of the sounds picked up by the microphones and displays the results on a video monitor as a three-dimensional graph of sound pressure plotted as a function of frequency and time. In such a graph, features of the overall heart sound such as the "first" through "fourth" heart sounds and their components can easily be detected as peaks on the graph whose frequencies and location along the time axis identifies the sounds, and whose amplitudes indicate intensity. Obviously, a graph of this type offers a more precise analysis of certain types of heart conditions than can be provided by simply listening to heart sounds through a conventional acoustic or electronic stethoscope with no graphical display capabilities.
While the information provided by an electronic stethoscope with graphical display capabilities of the type disclosed in the Bennett patent is extremely useful to the specialist, however, a graphical display of this type still
requires considerable skill to interpret, and in general is not suitable for use by a non-specialist, or under conditions where the attending medical personnel are not afforded the luxury of being able to take the time to interpret the graphical display information which, despite the improved precision, is extremely complex, as evidenced by the paper by M.S. Obaidat entitled " Phonocardiogram Signal Analysis : Techniques And Performance Comparison, " Journal of Medical Engineering & Technology, vol. 17, no. 6, pp. 221-227 (Nov. /Dec. 1993). However accurate and useful such an analysis might be, it clearly is not within the capabilities of non-specialists or lay persons who might benefit from a real-time, accurate diagnosis of a heart condition, or at least an assessment of the need for consultation with a specialist or emergency medical attention.
Because of the difficulties in interpreting a three dimensional display such as the one disclosed in the Bennett patent, and also current limitations on electronic signal processing speeds, it has also been proposed to provide electronic stethoscopes with displays that sacrifice useful information in favor of simplicity. For example, U.S. Patent No. 4,720,866 (the Elias patent), discloses a computerized stethoscopic analysis system in which time variations in the frequency spectrum picked up
by a single microphone are displayed in the form of a two- dimensional plot of frequency as a function of time. In addition, proposals have also been made to improve the quality of acoustic signals picked up by an electronic stethoscope using digital signal processing techniques in order to enable a trained physician to better distinguish the various heart sounds while listening to them in the manner of a conventional non-electronic stethoscope. An example of this type of electronic stethoscope is disclosed in U.S. Patent No. 5,539,831 (the Harley patent).
While offering advantages of simplicity or ease-of- use, however, the electronic stethoscopes described in the Elias and Harley patents still require considerable skill to use. Digital processing and displays provided by these devices may reduce errors due to background noise and limitations on human hearing, eliminating one source of diagnostic error, but they do not eliminate errors in interpretation.
Used by highly skilled personnel in situations which permit a proper analysis to be carried out, electronic stethoscopes of the type disclosed by Elias and Harley might provide a useful addition to the medical toolkit, but there are many situations where a display would be useful that was not only is easier to interpret than a three-
dimensional graphical display of the type disclosed by Bennett and discussed in the Obaidat article, but which nevertheless offered in real time all of the information contained in the three-dimensional graphical display.
Such a display could be used by medical technicians, paramedics, or nurses who lack the training or time to analyze a three-dimensional frequency spectrum graph of heart sounds, or emergency room doctors or residents who often must make instantaneous diagnoses under extremely difficult conditions. Such a display could also be utilized by lay persons such as patients with known heart conditions, family members of patients, and nursing home staff, in order to provide at least limited diagnoses and assist in determining whether hospitalization or emergency resuscitation procedures are necessary. Currently, the only available heart monitoring devices that can be used by lay persons are simple devices that display pulse rate and/or blood pressure, and which are incapable of performing any sort of analysis of heart sounds.
It is believed that numerous deaths or serious injuries occur as a result of heart conditions that could be prevented if the digital processing technology represented by the Bennett device were available to a wider range of users, with results displayed in a form more
easily interpreted by personnel with less training and/or under more difficult conditions.
SUMMARY OF THE INVENTION
It is accordingly a first objective of the invention to provide an electronic stethoscope that combines sophisticated digital processing technology with interpretation of the resulting spectra and an improved display of the resulting interpretations.
It is a second objective of the invention to provide an electronic stethoscope that includes a two dimensional graphical display of heart or respiratory sounds as well as a message display that offers interpretations of the data depicted in the two dimensional display in a more easily understood format in order to aid both medical professionals and lay persons in diagnosing heart or respiratory conditions.
It is a third objective of the invention to provide an electronic stethoscope that includes a message display arranged to provide interpretations of heart and respiratory sounds, including an assessment of overall condition, for use by a layman in assessing the need for further medical treatment or consultation.
It is a fourth objective of the invention to provide an electronic stethoscope that includes a handheld graphical and display unit with sufficient signal processing capabilities to enable real-time display of interpretive text messages concerning heart or respiratory conditions, and yet which can be powered by a portable power supply such as batteries, for use away from medical clinics or hospitals.
It is a fifth objective of the invention to provide a method of processing, organizing, analyzing, and displaying inputs from an acoustic sensor capable of picking up heart and respiratory sounds for use in generating interpretive messages concerning the heart and respiratory sounds that can be displayed in text form on a handheld electronic stethoscope display unit.
In one preferred embodiment of the invention, an electronic stethoscope is provided for use by medical professionals that provides both verbal descriptions of heart sounds and a graphical display of signal components showing amplitudes and timings. Like the prior electronic stethoscopes with digital processing, the electronic stethoscope of this embodiment of the invention provides a more sensitive and reliable detection of subtle, but critical features in the heart sounds than is possible by
mere human auscultation, but with a display that is more easily and quickly interpreted than is possible with prior such devices, including verbal characterization of the significant heart sounds detected by the device, which characterizations are important to medical professionals because they have been reported in the literature, but which cannot be determined accurately by auscultation alone .
In a second preferred embodiment of the invention, intended for the general public, the graphical display of signal components is eliminated and detailed characterizations of the data are eliminated in favor of summary messages that can be understood by the user, with the option of providing supporting details for communication to medical personnel over, for example, a telephone or via a modem.
In both preferred embodiments of the invention, the message display unit preferably includes a signal processor and at least a message display table located in random access memory during processing. During processing, data is associated with text strings stored in the table for display as appropriate. Successive frames of sampled signals are transformed into the frequency domain and pertinent features are stored in data structures for long-
term analysis. Decisions based on stored long-term data are mapped to text strings in the table and presented on the display.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a schematic illustration of an analytic stethoscope constructed in accordance with the principles of the invention.
Fig. 2 is a functional block diagram of the principle circuit elements used in the analytic stethoscope illustrated in Fig. 1.
Fig. 3 is a representation of a display for the analytic stethoscope of Fig. 1, arranged according to the principles of a first preferred embodiment of the invention.
Fig. 4 is a flowchart of a control program for the analytic stethoscope of the first preferred embodiment of the invention.
Fig. 5 is a flowchart of an interrupt service routine for the control program illustrated in Fig. 4.
Fig. 6 is a flowchart of an adjustments routine for the control program illustrated in Fig. 4.
Fig. 7 illustrates a frame buffer suitable for use in connection with the control program of Fig. 4.
Fig. 8 illustrates a graphic display table suitable for use in connection with the control program of Fig. 4.
Fig. 9 illustrates a message display table suitable for use in connection with the control program of Fig. 4.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Fig. 1 illustrates the principal hardware components of an analytic stethoscope constructed in accordance with the principles of the invention, including a sensor 1, handheld processor/display device 2 , and headset 3.
Although only a single sensor is illustrated, sensor 1 can be made up of one or more integral or separately positionable sensors capable of picking-up heart or respiratory sounds and converting the acoustic vibrations into electrical signals, including commercially available microphones and other piezoelectric sensors, or combinations of different types of sensors.
Headset 3 may also be a headset of known type, including commercially available headsets, with or without some form of active or passive noise reduction or signal processing capabilities, for converting electrical signals from the sensor into acoustic signals corresponding to those that would be produced by a conventional nonelectronic stethoscope, so that the user can correlate the display with actual heart sounds. It will be appreciated that the headset is not essential to operation of the invention, and that the headset may be omitted, particularly in the case of embodiments intended to be used by the general public or non-medical personnel.
The processor/display device 2 includes a display panel 4 capable of displaying text and images, such as a graphical liquid crystal diode display screen, and a keypad 5 to allow the user to enter data and display control commands. For example, the keypad 5 may include power and backlight on/off key 6, left, right, up, and down cursor control keys 7-10 to facilitate data entry, an enter or "o.k." key 11, a "NEXT" or scroll key 12, and volume up and down keys 12 and 13 for the audio output to the headset 3. Optionally, the processor/display device may also include a removable storage option, such as a disk or solid state memory module (not shown) , and/or a printer or printer port (also not shown) .
As illustrated in Fig. 2, the processor/display device includes, in addition to display panel 4 and keypad 5, at least one sensor input 14, appropriate amplifier and filter circuitry 15,16, which may be separate or combined, an analog-to-digital converter 17, digital signal processor 18, digital-to-analog converter 19, output low pass filter 20, output filter and/or amplifier circuitry 21, read only memory 22, which may be programmable, random access memory 23, and headset output 24.
It will be appreciated by those skilled in the art that each of the elements illustrated in Fig. 2 are known and commercially available, including digital signal processors that can be programmed by those skilled in the art to carry out the functions described below, and integrated circuits that combine the digital signal processor with amplification, filtering, data conversion, and/or memory elements. Suitable digital signal processors are described, for example, in the U.S. patents cited above, each of which is incorporated herein by reference.
The digital signal processor accepts keypad inputs, controls system functions, performs the analysis functions, controls display 4, and outputs an audible signal to the headset 3. The analog signal from the sensor is first amplified by pre-amplifier 15 and then, as is well-known,
low pass filtered by filter 16 to prevent aliasing when the signal is digitized by analog-to-digital converter 17, i.e., sampled at regular intervals and converted into digital values that are passed on to the digital signal processor 18 through its serial port.
The instructions that constitute the digital signal processors program permanently reside in read only memory 22, which retains its contents even when the unit is turned off. When the unit is turned on, the digital signal processor retrieves its initial instructions from read only memory 22, with the random access memory being used for temporary storage of the instructions retrieved from the read only memory, and also for storage of data when carrying out processing and display operations.
Results of the processing are displayed on the display panel 4, and a copy of the original digitized signal input from the sensor is converted back to an analog signal by the digital-to-analog converter 19, low pass filtered by filter 20 to smooth out the digital steps, and amplified and impedance matched by amplifier 21 to provide a signal that can be output to headset 3. By driving the headset using the initially digitalized signal, rather than a signal obtained directly from the sensor, it is possible to control the headset volume through the keypad 5 instead of
using a potentiometer, to signal the user with tones to verify key strokes or to prompt the user, and, optionally, to issue verbal information and instructions to the user using speech synthesis techniques. Also, the digital signal processor may vary the frequency response of the headset signal to optimize auscultation of various specific conditions .
Although not shown, those skilled in the art will appreciated that a circuit of the type illustrated can be powered by a conventional voltage regulated battery power source or AC inverter circuit.
For purposes of auscultation, it is generally believed that a bandwidth for the signal processing circuitry of from 30 Hz to 1 kHz is adequate. A sample rate of 8 kHz gives 4 times over-sampling at the highest frequency, which yields very good definition of acoustic features at and beyond the cutoff frequency of 1 kHz for the input low pass
(antialiasing) filter 16. An input frame of 256 samples may be used for either fast Fourier transform (FFT) or wavelet analysis inputs. Each input frame represents 32 ms of elapsed time, which corresponds to a frequency of 31.25 Hz, which is the lowest frequency for which a full cycle can be seen in the frame, and therefore roughly the lowest detection frequency. For continuity of analysis and
increased precision of time measurement, the input frames preferably should overlap by 248 samples or 96.875%, yielding a time resolution of 1 ms per frame, but even conventional digital signal processors that can easily handle a resolution of 2 or 3 ms will still provide useful information.
Either a Fourier transform or a wavelet transform can be used to describe signal features in the frequency domain, but in the embodiments described below, an FFT algorithm is used, in which case the above parameters imply that the highest frequency detected will be 4 kHz and the frequency resolution will be 15.6 Hz. If the analysis algorithm tracks the most recent 30 frames in a continuous, cyclical buffer structure, it will be able to resolve features spanning one entire heart cycle at a minimum heart rate of 33.3 beats per minute, which is sufficiently low to ensure that any real heart beat interval can be fully analyzed.
As will be described in detail below, since digital samples of the signal must enter and leave the digital signal processor at a regular rate without interruption, and since the transform that yields frequency information operates on a frame of samples at a time, it is necessary to use the digital signal processor's interrupt system to
handle the flow of samples into and out of the digital signal processor 18. Based on the parameters mentioned above, an input buffer of 256 positions is sufficient for holding the input data for the transform into frequency space, the input buffer preferably being arranged as a circular buffer with 32 imaginary boundaries, one every eight samples, corresponding to intervals of 1 ms each.
As explained in detail in connection with Figs. 4-6, the main control loop polls the input pointer, which is updated by the interrupt service routine, to determine when it hits one of the boundaries. When it does, a new frame is ready for analysis. The new frame is transformed into the frequency domain, and essential parameters are determined and sorted for analysis, after which the recent set of frame parameters is examined to determine the time trends in the data, features unique to each possible finding are identified, and messages are tagged for display. Finally, adjustments to the graphical and message displays are effected, and the control program then returns to the point where the input pointer is polled for the next frame and the process repeats. The overall program is completed by certain initialization or setup steps when the unit is first turned on and steps for servicing keystrokes to start and stop the process, scroll the messages, and adjust the volume at the headset.
Fig. 3 illustrates the display of a professional level electronic stethoscope arranged according to the principles of a first preferred embodiment of the invention. The display 4 of Fig. 1 includes a graphical display section 25 and a verbal message section 26. The word "continued" at the bottom of the screen indicates that additional messages follow, but will not fit on the screen. When the user presses a NEXT key 12 or otherwise causes the display to scroll, the continuation messages will replace the previous ones. After the last message, the display cycles back to the first messages again.
The graphical display section 25 shows the principal heart sound components as vertical bars 27 representing both intensity and timing relationships. Intensity, which is used here and below in the sense found in medical literature, i . e . , as referring generally to loudness, rather than in the strictly technical sense of power per unit area, is represented by the height of the bars, and timing is represented by their spacing. Murmur sounds are represented in a similar manner by vertical dashed lines 28 in the areas where they are detected. The intensity profile of the murmur lines reveals the murmur intensity versus time, i.e., the murmur envelope. The vertical axis has tick marks at five points representing the mid-points of five intensity categories: very soft, soft, moderate,
loud, and booming. The display is updated on a real-time basis so that the diagnostician can view changes as he or she hears them with the headset.
It will be appreciated by those skilled in the art that the heart sounds which will also be described below are heart sounds that are well-known to those with appropriate medical training, and that the invention lies not in the discovery of any new types of heart sounds or any relationships between features present in the graphical display and particular heart conditions, but rather in the manner in which useful parameters of the heart sounds are displayed. The terminology used to describe the heart sounds, such as the terms "first," "second," "third," and "fourth" heart sounds are standard terms of art with specific meanings in the context of the invention which are well-known to those skilled in the art of auscultation.
As illustrated in Fig. 3, the verbal message display
26 can display any messages concerning a feature or parameter identifiable in the frequency-transformed data displayed in the graphical display section 25, including displays (described in more detail below) of the following: a. the heart rate, systole interval, and diastole interval; b. the minimum and maximum rates in the case of an irregular heart rate; c. the number of skipped beats in a
If
group of beats; and d. the first heart sound (SI), the second heart sound (S2) , the third heart sound (S3) , and the fourth heart sound (S4) as well as components of the various heart sounds .
The first heart sound (SI) has four sequential components, including small usually inaudible low frequency vibrations, audible low frequency vibrations, large high frequency mitral closure sounds (Ml) , and large high frequency tricuspid closure sounds (TI) , with the high frequency tricuspid closure sounds (TI) usually following the high frequency mitral closure sounds (Ml) by 20 or 30 milliseconds. The verbal message display 26 provides a read out of the intensities of the overall first heart sound if the mitral and tricuspid closure sounds cannot be separated, or read outs of the mitral valve closing sound and the tricuspid valve closing sound, according to one of the five sound intensity categories (example: "1st heart sound (SI) intensity = moderate; mitral valve closing sound
(Ml) intensity = moderate; tricuspid valve closing sound (TI) = loud) . Furthermore, the intensity variation is noted as the difference between the maximum and minimum measured intensities expressed as a percentage of the minimum measured intensity (example: varies 25% over minimum) . In addition, the display indicates whether after-vibrations exist (example: "1st heart sound (SI)
after-vibrations exist") , and whether the first heart sound is widely split (example: "1st heart sound (SI) is widely split by 50 ms") .
The second heart sound (S2) has two components, the aortic valve closing sound (A2 ) and the pulmonary valve closing sound (P2) . Again, the verbal message display provides messages indicating the intensity of the second heart sound if its aortic and pulmonary components cannot be separated, or messages indicating the intensity of the individual aortic and pulmonary components if the components can be separated, according to one of the five sound intensity categories, whether the components of S2 are widely split (defined as a separation of more than 30 ms) , the corresponding time difference of the split, if applicable, whether the components are reversed split with any detectible amount of separation, and the corresponding time difference of the reverse split, if applicable. In addition, the verbal message display indicates whether the second heart sound (S2) is narrowly split, defined as the occurrence of a loud high frequency heart sound (P2) and a detectable separation between the aortic and pulmonary sounds of between 10 and 30 ms, the magnitude of the narrow split, and whether the second heart sound (S2) is a single heart sound characterized by a 10 ms or less separation, as
well as the intensities, according to the five intensity categories .
The verbal message display may also include a number of messages concerning murmurs, which are abnormal relatively prolonged sounds resulting from obstructions or regurgitation at the valves that have varying intensity, frequency, quality, configuration, and duration. Murmur intensities are categorized as either level 1 murmurs, which require a special effort to hear, level 2 murmurs, which are faint, but easily heard, level 3 murmurs, which are moderately loud, and level 4 murmurs, which are very loud, level 5 murmurs, which are extremely loud and can be heard if the stethoscope is just touching skin, and level 6 murmurs, which are exceptionally loud and can be heard with the stethoscope just above the skin. Timing of the murmurs is categorized as early, mid, or late systolic murmurs, and as early, mid, or late diastolic murmurs, with further categories for systolic murmurs that overlap the second heart sound (S2) , diastolic murmurs that overlap the first heart sound (SI) , and continuous murmurs, which usually peak around the second heart sound.
In addition to displaying categories of murmurs, the verbal message display may indicate whether the murmur is an ejection murmur, which begins after the first heart
sound (SI) or a regurgitation murmur, whether the intensity of the murmur changes from beat-to-beat, the category of the intensity variation envelope, e . g. , rounded, diamond, kite (early or late) , crescendo, etc. , whether the murmur is an innocent murmur, defined as a murmur that is totally systolic and less than grade 3, or a significant murmur, defined as a murmur with at least a grade 3 intensity or diastolic timing, or a "bruit," which is a supraclavicular arterial murmur. An exemplary display might read, for example: late systolic murmur overlaps S2 grade level = 3 envelope = early-peaked kite In addition to displaying messages concerning murmurs, the verbal message display of the invention may display the intensity, according to the scale described above, of ejection sounds or clicks, and whether the ejection sounds are aortic valvular or pulmonary valvular ejection sounds, and the intensity of pericardial knocks.
The verbal message display also may indicate the intensity of the third heart sound (S3) , whether the third heart sound is intermittent, and the intensity of the left and right ventricular components of the third heart sound, as well as the timing and intensity of the fourth heart sound (S4) , its timing in relation to the first heart sound (SI), i.e., whether the fourth heart sound (S4) is,
relative to the first heart sound (SI) , overlapping, an isolated diastolic event, or has random timing, and whether the fourth heart sound (S4) is loudest during expiration (left fourth heart sound) or inspiration (right fourth heart sound) . Finally, the verbal message display may indicate whether the third and fourth heart sounds are fused, which is also known as a summation gallop, the intensity of any pericardial friction rub, and whether the pericardial friction rub occurs during atrial systole, ventricular contraction, or rapid early diastolic filling.
The main control program for processing the signal from sensor 1 to provide the above-described display functions is illustrated in Fig. 4.
Initially, when the device is turned on, a reset signal is applied to the digital signal processor 18 so as to start the processor in a known state and enable it to perform a boot sequence (step 100) , after which the digital signal processor memory interface is optimally configured to ensure that the minimum number of required wait states will be used for future memory references, and to ensure that proper account is taken of the physical memory width and the logical data width (step 110) . Next (step 120) , and each time the o.k. key on keypad 5 is pressed (step 200) to initiate a new processing sequence, all analysis
variables are reset to appropriate initial values and the display initialized, so that the display starts from a known state (step 120) , and the digital signal processor serial port input and output sides, which are connected respectively to analog-to-digital converter 17 and digital- to-analog converter 19, is configured to the mode of operation (asynchronous or synchronous) , the proper word size is then set to match the data converters and a programmable timer is set up and started (step 130) . The programmable timer generates a bit-clock signal used by the data converters for shifting the data into and out of the digital signal processor 18.
In addition, the general purpose timer of the digital signal processor 18 is configured for the desired sample rate and type of output signal (pulse or clock) and started (step 140) , the input pointer used by the interrupt service routine to indicate where in the input buffer the last input sample was placed is initialized to some address within the buffer (step 150) , and the interrupt system, described in more detail below in connection with Fig. 5, is started (step 160) . The interrupt service routine 300 stores incoming data and supplies corresponding signals to the analog-to-digital converter for playback.
Following initialization, the main control program is copied from the read only memory 22 to the random access
memory 23 for further execution (step 170) , and an adjustment subroutine described in detail below in connection with Fig. 6 is called (step 180) to enable operator input of the volume, which increases or decreases the processor gain variable, and scrolling of the display if there are any continuation messages. Next, the main control program checks whether an o.k. command has been entered via the o.k. key 11 (step 190) . If the o.k. command has not been detected, the adjustment subroutine is re-entered. Once the o.k. command is detected, the main control program resets program variables and initializes the display (step 200) , and polls the input pointer to determine if new input data has reached a buffer boundary, i.e., whether the next complete frame of data has been sampled (step 210) , at which point a frame pointer to the next entry in a circular frame buffer (not shown) is advanced (step 220) . The frame pointer establishes the location in the frame buffer that will characterize the frame consisting of the most recently input samples.
Once a complete frame has been sampled, the digital signal processor 18 transforms the frame into the frequency domain (step 230) by, for example, applying a Hanning or other type of window to the frame and performing a fast Fourier transform (FFT) or discrete wavelet transform (DWT) . The needed parameters are then extracted from the
frequency data by calculating the total power and power spectral density (PSD) of each of a predetermined number of frequency bands corresponding to predominant frequencies of major heart sound features (step 240) , and the extracted parameters are then stored in a frame buffer 30, illustrated in Fig. 7, at locations corresponding to the frequency bands for analysis (step 250) , with each row in the table illustrated in Fig. 7 corresponding to a successive time interval indicated by an input pointer 31.
During analysis (step 250) , the frame buffer 30 is scanned using a separate scan pointer to identify the onset and demise of signal peaks and to update parameters describing existing conditions, and the information is stored in two display tables 32 and 33 in memory in order to update the display (step 260) . After calling the adjustments subroutine depicted in Fig. 6 (step 270) , the main control program checks whether the o.k. key 11 has been pushed and either returns to the operator input loop represented by steps 180 and 190 or returns to step 210 to wait for another frame of data. This permits the operator to freeze the analysis at any point and start another analysis later.
As suggested above, the random access memory thus temporarily stores the control program during execution,
includes the frame buffer 30 for receiving data and storage for parameters extracted from the frames for analysis, as well as two display tables 32 and 33 used to update the display. One of the two display tables is a graphics display table 32, depicted in Fig. 8, which contains as many entries as the frame buffer, one for each time interval. Each entry corresponds to a position on the horizontal axis of the graphical display 4, with data describing what is to be displayed at each position being placed into the table for the display routine to use in presenting the display. As illustrated in Fig. 8, the entries include "type line, " which refers to the type of heart sound depicted, and an intensity level code corresponding to the intensities described above.
The other of the two tables is a message display table
33, depicted in Fig. 9. The message display table contains enough entries to describe all of the messages that might possibly be selected for display at one time. Each entry consists of a list of indexes and numbers. The first field is an index to identify the message by pointing to a text string in memory. Imbedded in the text string are replacement symbols that are to be replaced by words or phrases identified by corresponding indexes in the table entry. Also imbedded in the text string are symbols to be
replaced by numbers found in corresponding entries of the table .
The following is an example of the manner in which the processor carries out the analysis and display update steps 250 and 260 for a specific condition. Other examples will be readily implemented based on the above description.
Basically, the analysis step simply involves correlating heart sounds with the parameters of peaks, and in particular the location of the peaks, which indicates frequency and timing, and their amplitude, and storing the parameters in locations in the display tables corresponding to the heart sounds. Since each sound has a specific range of frequencies and timings, location of the peaks identifies the sounds and relationships between the sounds. Once the sounds and their intensities and timings are identified, the intensities and/or timings can then be associated with appropriate text strings stored in memory and corresponding to the identified sounds, intensities, and/or timings for display in the text message portion 26 of the display, and also used to locate the bars on the graphics display 25.
By way of a more specific example, which those skilled in the art will appreciate may be freely varied by those
skilled in the art without departing from the scope of the invention, after adding one to the frame count, the processor 18 begins the analysis step 250 by looking back through the frame buffer for a combination of sounds that represent a sequence of the first and second heart sounds
(S1,S2) that has not been identified already. In particular, the processor searches for a cluster of peaks in the SI frequency band (<400 Hz) , an appropriate time interval without significant peaks but perhaps with murmur noise (approximately 5-25 ms depending on heart rate) , and a cluster of peaks in the S2 frequency band (>200Hz) .
If the time since the last S1/S2 combination is excessive, a skipped beat is counted, the number of beats since the last skipped beat is reset in order to properly count the heart rate, the display table is updated to indicate the missed beat graphically, and a message table entry indicating the skipped beat in relation to the number of beats between skipped beats is added or updated in the message table. If the average of total noise levels is high or if a nonsensical pattern is recognized, the message table entry for "excessive noise" is added/updated, or if the average of total noise levels is low, a message table entry for "place sensor on chest" is added/updated.
If a new S1/S2 combination is found, the frame counts
(i.e., times) for the first major peak in SI and S2 is registered, the total beat count is incremented by one, the number of beats from the last skipped beat is also incremented, the graphics display table 2 is updated with the location and intensity level of SI and S2 , and the location and intensity level of the maximum SI and S2 peaks is noted. The message table entry for the first heart sound intensity and variation relative to a minimum, and the second heart sound intensity and variation relative to a minimum are then added or updated. If the SI and S2 sounds can be decomposed, the display specifications can of course be varied accordingly.
In order to determine the heart rate, the time or frame count since the last SI is noted and the average, maximum and minimum heart rate variables are updated based on the number of beats since the last skipped beat. In addition, the systole (SI to S2) and diastole (previous S2 to current SI) intervals are determined and the message table entries for heart rate, systole interval, and diastole interval are added or updated, as are message table entries for irregular heart rate minima and maxima is the deviation in heart rates is excessive, and the skipped beat message table entry.
Other message table updates or additions that are carried out at this time, if appropriate, include the number of peaks in SI and S2 , displayed as "x frequencies in SI" and "x frequencies is S2 , " the existence of a frequency overlap if any SI frequencies extend into S2 frequencies .
If two or more peaks exist in SI, the earliest is taken as the mitral valve closing sound Ml and the second earliest as the tricuspid valve closing sound TI, SI data is removed from the graphics display table, the intensity levels of Ml and TI are noted, the minimum and maximum Ml and TI intensities are tracked, the graphics display table updated with the location and intensity of Ml and TI, and the message display table updated with the Ml and TI are updated to indicate intensities, and variations if significant .
Similarly, if two or more peaks exist in S2 , of the two largest amplitude peaks in the S2 sound, the higher frequency peak is taken as the aortic valve closing sound A2 and the second as the pulmonary valve closing sound P2 , the intensity levels of A2 and P2 are noted, the minimum and maximum intensities are tracked, the graphics display table is updated with the location and intensities of A2 and P2 , and entries in the message table are updated or
added corresponding to the intensities and, if significant, the intensity variations. Furthermore, if A2 occurs before P2 , indications of the reversal and split time are added to the message table, if A2 precedes P2 by less than 30 ms, a message table entry for a narrowly split S2 is added or updated, and if A2 precedes P2 by more than 30 ms, a message table entry for a widely split S2 is added/updated.
If sound levels during systole or diastole are excessive, the graphics display table is updated with locations and intensity level of murmur lines, the grade level of the murmurs are noted according to maximum intensity, the maximum and minimum grade levels are tracked, the murmur timing is noted, the envelope shapes are noted and tracked, and corresponding entries are made to the message display table.
The analysis step is completed when all appropriate display table entries have been added and updated, at which time the display is updated according to the display table entries (step 260) .
The interrupt service routine 300, illustrated in detail in Fig. 5, handles the regular flow of digital signal samples into and out of the digital signal processor. Since control enters this routine from random
points in the main program, it is necessary for this routine to save the contents of registers that it will be using and restore them to prevent the main program from being affected by the interruption before control is returned to it. The save step is indicated in Fig. 5 by reference numeral 310 and the restore step by reference numeral 360, after which the interrupt service routine returns to the point in the main control loop at which it exited (step 370) . Data sample processing occurs in steps 320-350, which begin by advancing the input pointer to the position where the new input sample is to be placed, or to the beginning of the buffer if the pointer would advance beyond the buffer (step 320) , followed by reading the sample from the serial port and storing the sample in the input buffer at the location indicated by the input pointer (step 330) , multiplying the sample by a gain factor (step 340) , and sending the sample to the digital-to-analog converter via the serial port output for playback over the headset 3.
The adjustments subroutine 400 illustrated in Fig. 6 polls, in steps 410-430, the volume adjustment and scrolling buttons, and adjusts the level of the audio output and the message display accordingly in steps 440- 460, with a corresponding adjustment of the graphical
display (step 470) as necessary, before returning to the main control loop (step 480) .
In cases where the electronic stethoscope is intended to be used by patients rather than health care professionals, message table entries and corresponding calculations may be added, by way of example, to indicate overall heart condition. This can be accomplished by weighting each reported finding as either normal (0) , marginal (1), abnormal (3), and emergency (10) to obtain a heart condition value, and summing the total values, with age and sex being taken into account in assigning weights as appropriate.
In this embodiment of the invention, the graphical display may be eliminated, although the message capabilities included in the first embodiment of the invention would be retained. Standard messages would be simplified and the overall heart condition would be added. Detailed technical messages would be available as an option so that the user could communicate them to professional medical personnel for further analysis.
Having thus described preferred embodiments of the invention in sufficient detail to enable those skilled in the art to make and use the invention, it will nevertheless
be appreciated that numerous variations and modifications of the illustrated embodiment may be made without departing from the spirit of the invention. For example, although the specific examples of the invention described above all involve analysis of heart sounds, the principles of the invention could also be applied to analysis of pulmonary or respiratory sounds. Because of the possibility of such variations and modifications of the preferred embodiment of the invention, as well as numerous others which may occur to those skilled in the art, it is intended that the invention not be limited by the above description or accompanying drawings, but that it be defined solely in accordance with the appended claims.