| Literature DB >> 24721769 |
Dinko Oletic1, Bruno Arsenali2, Vedran Bilas3.
Abstract
Building upon the findings from the field of automated recognition of respiratory sound patterns, we propose a wearable wireless sensor implementing on-board respiratory sound acquisition and classification, to enable continuous monitoring of symptoms, such as asthmatic wheezing. Low-power consumption of such a sensor is required in order to achieve long autonomy. Considering that the power consumption of its radio is kept minimal if transmitting only upon (rare) occurrences of wheezing, we focus on optimizing the power consumption of the digital signal processor (DSP). Based on a comprehensive review of asthmatic wheeze detection algorithms, we analyze the computational complexity of common features drawn from short-time Fourier transform (STFT) and decision tree classification. Four algorithms were implemented on a low-power TMS320C5505 DSP. Their classification accuracies were evaluated on a dataset of prerecorded respiratory sounds in two operating scenarios of different detection fidelities. The execution times of all algorithms were measured. The best classification accuracy of over 92%, while occupying only 2.6% of the DSP's processing time, is obtained for the algorithm featuring the time-frequency tracking of shapes of crests originating from wheezing, with spectral features modeled using energy.Entities:
Mesh:
Year: 2014 PMID: 24721769 PMCID: PMC4029681 DOI: 10.3390/s140406535
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.The concept of the system for the long-term acoustic monitoring of asthmatic symptoms. Abbreviations: DSP, digital signal processor; RF, radio-frequency module.
Figure 2.Time-frequency decomposition of respiratory sounds by short-time Fourier transform (STFT). (a) Two respiratory cycles of normal breathing; (b) two respiratory cycles containing wheezing.
Summary of the review of wheeze detection algorithms based on STFT signal decomposition. NN, neural network; SVM, support vector machine; VQ, vector quantization; GMM, Gaussian mixture model.
| 1992, [ | cosine, 25.6/39.0 | power spectrum, detrend (mean), normalization (stdev) | crest modeling (mean and stdev) | decision tree | not reported | not reported |
| 1995, [ | rectangular, 100.0/9.8 | amplitude spectrum | amplitude spectrum | NN | 268 × | |
| 1998, [ | Hann, 42.7/23.5 | amplitude spectrogram | t-f continuity of spectral crests (2D gradient) | decision tree | 4× | |
| 2004, [ | Hann, 51.2/19.5 | power spectrum, detrend (band-wise mean), normalization (stdev) | t-f continuity of spectral crests (mean-based model) | decision tree | 16 × | |
| 2005, [ | Hann, 32/15.6 | power spectrum | t-f continuity of audible spectral crests (energy based model) | decision tree | 4 × | not reported |
| 2006, [ | Hann, 11.56/5.4 | amplitude spectrogram, detrend (mean) | centroid frequency, duration of closed shapes | decision tree | 15 × | |
| 2007, [ | cosine, 8.2/19.5 | detrend (mean), normalization (stdev), Wavelet denoising | t-f continuity of spectral crests (modeled by mean and stdev) | decision tree | ||
| 2007, [ | Hann, 23.2/2.7 | zero padding, detrend by moving average | t-f continuity of spectral crests (mean-based model) | decision tree | 13× | |
| 2008, [ | not reported | amplitude spectrum | cross-correlation index | empirical threshold | 6 × | |
| 2008, [ | Gaussian, 11.6/86.1 | power spectrum | mean distortion between histograms of sample entropy | empirical threshold | 7 × | |
| 2009, [ | Hann, 60/15.6 | normalized power spectrum, maxima | change of Shannon entropy (ratio, difference) | empirical threshold | 10 × | |
| 2009, [ | Hamming, 26/37.5 | amplitude spectrum | FDA, Neyman Paersons | 7× | ||
| 2009, [ | 45.5/8.8 | spectrogram, Laplacian 2D filtering, half-thresholding | spectrogram projection | NN | 40 × | |
| 2009, [ | 170.6/5.9 | power spectrum | 26 power spectrum sub-bands | NN, VQ, GMM | 12 × | |
| 2011, [ | Gaussian, not reported | spectrogram, spectral dominance | continuity, position, spread, sparseness | SVM | 14 × | |
| 2011, [ | cosine, 128/7.8 | feature-dependent | kurtosis, | SVM | 28 × |
Temporal resolution is reported in milliseconds. Frequency resolution is reported in Hertz/bin.
W denotes part of the dataset with sounds of “wheezing” (containing positives). N corresponds to “non-wheezing” (only negatives). Subscripts denote the method of reporting the dataset size: subj, number of subjects (patients); cycle, number of respiratory cycles; phase, number of respiratory phases; intv, number of signal intervals (e.g., uninterrupted intervals of wheezing); seg, signal segment of the fast Fourier transform's (FFT) window-length.
Accuracy is reported using standard statistical metrics, in (%): SE, sensitivity; SP, specificity; AC, accuracy. For definitions, see Section 5.4. Subscripts define the fidelity upon which the accuracy was calculated: dur, duration of wheezing was measured; event, occurrences of sequences of wheezing are counted; n.r., not reported.
Figure 3.Program blocks used for features extraction from the respiratory sounds.
The computational complexity of elementary mathematical functions.
| Newton–Raphson method, in | 3 | ||
|
| Newton's algorithm, in | 2 | 2 |
| Taylor series, in | |||
| Taylor series, in | (2 | ||
| Taylor series, in | (2 | ||
| Taylor series, in | (2 |
The computational complexity of the signal decomposition program blocks.
| Windowing and STFT, | calculated for the signal segment of length | 2 | 3 |
| Power spectrum, | calculated for | 2 | |
| Amplitude spectrum, | calculated on | 2 | 2 |
| Phase spectrum, | calculated on |
Figure 4.(Left) Low-order statistical model of the crest shape; (Right) Crest shape modelled by energy.
Figure 5.Tracking spectral crests in the temporal plane for continuity and duration.
The computational complexity of feature extraction program blocks, with variables defined in Table 2.
| Segment energy, | 3 | |
| Tonality, | ||
| Power spectrum peaks, | - |
|
| Entropy, | ||
| Spectral crests (moments), | ||
| Spectral crests (energy), | ||
| Crests continuity and duration, | - |
|
Figure 6.Decision trees of the implemented wheeze detection algorithms.
The total computational complexity of each implemented algorithm. For definitions of the variables, see Table 2.
| Algorithm 1 |
| |
| Algorithm 2 |
| |
| Algorithm 3 | 3 | |
| Algorithm 4 |
|
Figure 7.The organization of the processing task on the digital signal processor (DSP).
Database of respiratory signals. “Dur.” is the duration of the recording in seconds. “Seg.” refers to the number of 50%-overlapped 64-ms signal segments. “Resp. phases” is the total count of inspiratory and expiratory phases. “Seg.” and “Resp. phases” define the number of samples used in the statistical evaluation of results. “Wheeze intervals” are the count numbers of the intervals of wheezing within each recording. “Sample rate” is the frequency at which the recording was originally digitized. In the labels column, N stands for normal breathing, while W stands for wheezing.
|
|
| |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| N01 | 12.76 | 398 | 8 | 44.1 | W01 | 11.89 | 371 | 11 | 7 | 44.1 |
| N02 | 13.48 | 421 | 8 | 44.1 | W02 | 26.73 | 835 | 10 | 5 | 22.05 |
| N03 | 10.09 | 315 | 6 | 11.025 | W03 | 15.83 | 494 | 16 | 7 | 22.05 |
| N04 | 6.48 | 202 | 4 | 11.025 | W04 | 4.60 | 143 | 4 | 3 | 11.025 |
| N05 | 3.12 | 97 | 2 | 11.025 | W05 | 8.04 | 251 | 7 | 3 | 11.025 |
| N06 | 6.32 | 197 | 4 | 11.025 | W06 | 10.10 | 315 | 9 | 4 | 11.025 |
| N07 | 5.33 | 166 | 4 | 11.025 | W07 | 20.00 | 625 | 12 | 6 | 8 |
| N08 | 5.34 | 167 | 4 | 11.025 | W08 | 7.52 | 235 | 6 | 3 | 11.025 |
| N09 | 12.86 | 402 | 6 | 8 | W09 | 9.48 | 296 | 6 | 3 | 44.1 |
| N10 | 10.09 | 315 | 11 | 11.025 | W10 | 10.15 | 317 | 8 | 4 | 8 |
| N11 | 20.00 | 625 | 10 | 8 | W11 | 29.96 | 936 | 30 | 15 | 44.1 |
| N12 | 9.99 | 312 | 4 | 11.025 | W12 | 10.60 | 331 | 6 | 2 | 8 |
| N13 | 25.76 | 805 | 11 | 44.1 | W13 | 9.70 | 303 | 6 | 3 | 8 |
|
| ||||||||||
| Total | 141.62 | Total | 174.60 | 65 | ||||||
Figure 8.The test environment used for the automated assessment of the classification accuracy of the algorithms running on the DSP. ADC, analog to digital converter.
Figure 9.Receiver operating curves of the implemented algorithms. (a) Algorithm 1: tracking of crests (stat.moments); (b) Algorithm 2: tracking of crests (energy); (c) Algorithm 3: tonality tracking; (d) Algorithm 4: peak entropy change detection. AUC, area under the curve; TPR, true positive rate; SE, sensitivity; FPR, false positive rate; SP, specificity.
Figure 10.Examples of the classification results (black markings) overlaid onto spectrograms of the test signals and compared to the referent annotation (gray markings). (a) Signal W04 classified by Algorithm 1; (b) Signal W09 classified by Algorithm 2; (c) Signal W07 classified by Algorithm 3; (d) Signal W10 classified by Algorithm 4; (e) Signal W01 classified by Algorithm 3; (f) Signal N03 classified by Algorithm 4.
Comparison of wheeze duration tracking accuracy. Threshold values relate to the parameters from Table 8 and were trained according to the procedure described in Section 5.4.
|
|
|
| ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Algorithm 1 | 80, 1.5, 1.0 | 84.41 | - | 86.30 | 91.19 | 88.24 | 89.50 | 91.32 | 88.24 | 89.01 |
| Algorithm 2 | 0.9, 1.6 | 85.90 | - | 87.51 | 92.71 | 94.36 | 93.42 | 92.42 | 94.36 | 92.53 |
| Algorithm 3 | 27500 | 61.36 | - | 80.10 | 100 | 99.76 | 70.56 | 70.36 | 99.76 | 71.98 |
| Algorithm 4 | 12600 | 78.69 | - | 82.54 | 80.89 | 84.59 | 83.64 | 82.30 | 80.89 | 83.79 |
Definitions of the training parameters.
| Algorithm 1: crests (moments) | crest width, mean, standard deviation | ||
| Algorithm 2: crests (energy) | crest/band energy ratios: wide; narrow | ||
| Algorithm 3: tonality tracking | segment tonality threshold | ||
| Algorithm 4: entropy change | entropy ratio threshold |
Comparison of the overall event detection accuracy.
| Algorithm 1 | 100, 3.0, 1.5 | 98.46 | 81.08 | 86.39 |
| Algorithm 2 | 1.2, 1.5 | 96.92 | 91.21 | 92.96 |
| Algorithm 3 | 13,200 | 76.92 | 89.86 | 85.92 |
| Algorithm 4 | 10,000 | 87.69 | 73.28 | 76.52 |
Figure 11.Estimates of the execution durations based on the analysis of a priori computational complexities, measured in the number of operations. (a) Execution duration estimate of each program block; (b) total execution duration estimates.
Figure 12.Profiling of the experimentally obtained execution time. Numbers in bold indicate the average number of clock cycles required for each program block.
Average experimentally obtained execution durations and processing duty-cycle.
| Algorithm 1 | 77,287 | 2.42 |
| Algorithm 2 | 82,888 | 2.59 |
| Algorithm 3 | 98957 | 3.09 |
| Algorithm 4 | 59998 | 1.87 |
Execution efficiencies in wheeze duration tracking and event detection scenarios.
| Algorithm 1 | 35.66 | 36.98 | 36.78 | 40.68 | 33.50 | 35.70 |
| Algorithm 2 | 33.78 | 36.07 | 35.72 | 37.42 | 35.22 | 35.89 |
| Algorithm 3 | 25.92 | 22.83 | 23.29 | 24.89 | 29.08 | 27.81 |
| Algorithm 4 | 44.14 | 44.73 | 44.81 | 46.89 | 39.19 | 40.92 |