A Smartphone-Based System for Automated Bedside a
A Smartphone-Based System for Automated Bedside a
Article
A Smartphone-Based System for Automated Bedside
Detection of Crackle Sounds in Diffuse Interstitial
Pneumonia Patients
Bersain A. Reyes 1, *, Nemecio Olvera-Montes 2 , Sonia Charleston-Villalobos 2 ,
Ramón González-Camarena 3 , Mayra Mejía-Ávila 4 and Tomas Aljama-Corrales 2
1 Faculty of Sciences, Universidad Autónoma de San Luis Potosí, San Luis Potosi 78290, Mexico
2 Electrical Engineering Department, Universidad Autónoma Metropolitana Iztapalapa,
Mexico City 09340, Mexico; [email protected] (N.O.-M.); [email protected] (S.C.-V.);
[email protected] (T.A.-C.)
3 Health Science Department, Universidad Autónoma Metropolitana Iztapalapa, Mexico City 09340, Mexico;
[email protected]
4 National Institute of Respiratory Diseases, Mexico City 14080, Mexico; [email protected]
* Correspondence: [email protected]; Tel.: +52-(444)-826-2300
Received: 28 September 2018; Accepted: 3 November 2018; Published: 7 November 2018
Abstract: In this work, we present a mobile health system for the automated detection of crackle
sounds comprised by an acoustical sensor, a smartphone device, and a mobile application (app)
implemented in Android. Although pulmonary auscultation with traditional stethoscopes had
been used for decades, it has limitations for detecting discontinuous adventitious respiratory
sounds (crackles) that commonly occur in respiratory diseases. The proposed app allows the
physician to record, store, reproduce, and analyze respiratory sounds directly on the smartphone.
Furthermore, the algorithm for crackle detection was based on a time-varying autoregressive
modeling. The performance of the automated detector was analyzed using: (1) synthetic fine and
coarse crackle sounds randomly inserted to the basal respiratory sounds acquired from healthy
subjects with different signal to noise ratios, and (2) real bedside acquired respiratory sounds from
patients with interstitial diffuse pneumonia. In simulated scenarios, for fine crackles, an accuracy
ranging from 84.86% to 89.16%, a sensitivity ranging from 93.45% to 97.65%, and a specificity
ranging from 99.82% to 99.84% were found. The detection of coarse crackles was found to be a more
challenging task in the simulated scenarios. In the case of real data, the results show the feasibility of
using the developed mobile health system in clinical no controlled environment to help the expert in
evaluating the pulmonary state of a subject.
1. Introduction
Chronic respiratory diseases (CRDs) are among the principal causes of mortality and morbidity
around the world, according to the World Health Organization [1]. The first approach employed in the
diagnosis of pulmonary diseases is the clinical examination of the pulmonary function that includes
clinical history and auscultation of the lungs with the stethoscope. During the auscultation procedure,
adventitious lung sounds added on the breath or base lung sounds are a common finding. Although
the stethoscope remains the most widely used instrument in clinical medicine and still guides diagnosis
when other pulmonary function tests are not available, the auscultation by the stethoscope has several
limitations, e.g., it is a subjective process that depends on the ability and expertise of the physician [2],
it is limited by human audition [3], the stethoscope may be more adequate for cardiac auscultation [4],
and the lung sounds are not permanently recorded for further analysis.
Nowadays, it is recognized that respiratory sounds (RS) make it possible to obtain information
about the respiratory health of a subject in a non-invasive fashion, e.g., the characteristics of RS
differ between different pulmonary disorders, reflecting different pathophysiologies and severity
levels [5]. To overcome the limitations of the auscultation, the use of Computerized Respiratory
Sound Analysis (CORSA) systems has been proposed [6]. The use of CORSA systems also helped
to arrive at a classification of RS, and nowadays they are understood as those sounds produced
while breathing and classified according to their characteristics as breath sounds (basal sounds) or
adventitious sounds (added or superimposed sounds) [7]. In turn, adventitious sounds are classified
according to their duration as continuous, e.g., wheezes, and discontinuous or crackle sounds.
In particular, crackle sounds are traditionally classified according to their temporal characteristics
as fine (short duration) or coarse (long duration) crackles [3]. Among the adventitious sounds
heard during auscultation, crackle sounds are a usual finding in patients with hypersensitive
pneumonia (HP), chronic obstructive pulmonary disease, bronchiectasis, and other diffuse interstitial
pneumonia diseases [8]. For audiovisual detection of crackles, the use of CORSA systems, via the
method of time-expanded waveform analysis (TEWA), is an improvement when compared to the
auscultation [9]. However, the detection of crackle sounds by TEWA is a challenging task due
to crackle’s temporal and spectral characteristics, i.e., their transient and short lasting behavior
(<20 ms), broad frequency content with their main power ranging from 100 Hz to more than 1 kHz,
time-varying spectra that decreases over time [10], temporal overlapping of crackle waveforms
and low signal-to-noise ratios along the respiratory phases. Accordingly, several methods have
been proposed to automatically detect crackle sounds including, non-linear digital filtering [11],
fuzzy logic-based filters [12], wavelet-based filters [13], fractal dimension analysis [14], empirical mode
decomposition [15], independent component analysis [16], time-varying autoregressive modeling [17],
and time-frequency analysis [18,19]. Unfortunately, these algorithms were designed and implemented
in traditional CORSA systems which have been mainly conceived to specialized research and clinical
settings. Furthermore, these systems may not be easily translated to the primary point-of-care settings
because their limited mobility, high costs and low integration between acquisition and analysis stages,
i.e., processing of the information is usually performed offline by means of commercial and general
purposes numerical computer software.
As an alternative to traditional CORSA systems, mobile health CORSA (mHealth CORSA, mCORSA)
systems have been proposed in the field of respiratory sounds. According to the WHO, mHealth is
understood as the use of mobile and wireless technologies to support the achievement of health objectives
and it has the potential to transform the ways of health delivery around the world [20]. Nowadays,
mobile devices like smartphones and tablets have characteristics like being ubiquitous, equipped with
multiple cost-effective sensors, continuously updated in software and upgraded in hardware, embedded
multimedia capabilities, and tactile interaction with the user, that give them advantages over other
architectures in terms of implementation an integration with other health monitoring systems [21].
Around one fifth of the world population owns a smartphone and their market penetration continues to
rise. In addition, both patients and healthcare professionals have reported multiple reasons for adopting
mHealth systems, e.g., ability to obtain information not easily granted or impossible to get without these
applications, to take a greater control of their healthcare, and to reduce healthcare costs [22]. In the field
of respiratory sounds, several efforts have been done to develop mCORSA systems including mobile
applications (apps). For example, smartphone-based systems have been employed to develop an asthma
monitoring system using wireless communications [23], to record respiratory sounds for snoring and sleep
apnea severity [24], to record respiratory sounds for snoring detection [24], to study the characteristics
of RS and to extract respiration-related information from them like respiratory frequency [25] and
tidal volume [26], to detect respiratory symptoms like sneeze and cough [27], to record wheezes in
pediatric populations [28], to record respiratory sounds with snores for classification purposes [29], and to
Sensors 2018, 18, 3813 3 of 21
record respiratory sounds for analysis of obstruction sites in patients with obstructive sleep apnea [30].
Hence, smartphone-based systems have been particularly used to record respiratory sounds and analyze
continuous adventitious sounds, i.e., wheezes and snores, that result helpful in the study of asthma and
sleep apnea. An extensive review of mobile apps developed particularly for snoring can be found in [31].
Efforts regarding crackle analysis and detection have been more limited. A smartphone-based system
with an app using a time-frequency analysis for detection of wheezes have been reported, and although
there was mention to crackle sounds, just their time-frequency representation was presented, leaving
the user the task to manually detect them and count them [32]. A similar scenario was reported where
a smartphone system was developed for automatic classification of adventitious sounds. Results were
presented in terms of wheezes and although there was mention about the presence of crackle sounds in
the recordings, details about their detection or the algorithm employed was not provided [33]. To the
best of our knowledge, a smartphone-based system designed with capabilities for automated detection of
respiratory crackle sounds directly in the mobile device is still missing.
The presence of crackle sounds is considered to reflect a pathological process in pulmonary
airways and tissue [3]. In addition, the timing of crackle sounds during the respiratory cycle has
been found to reflect different pulmonary disorders, e.g., presence of crackles during the initial/final
portion of the inspiration have been associated with restrictive pulmonary diseases/severe airway
obstruction [34] while expiratory coarse crackles are found to be less frequent than inspiratory crackles
but they specially occur in chronic airway obstructions [35]. However, crackles could be missed by
traditional auscultation due to their very short duration and often low intensity for which the human
audition has limitations. To overcome the former limitations, in this study a smartphone-based system
for recording and processing of respiratory sounds including an algorithm for the automated detection
of crackles is introduced. The detection algorithm was implemented in an Android app and is based
on modeling the respiratory sounds as output of a time-varying autoregressive (TVAR) equation where
the TVAR coefficients are estimated via the recursive least squares (RLS) algorithm. In addition to the
counting of crackles, their timing is also provided by the algorithm and the results summarized in
terms of their occurrence in the breathing cycle. The performance of the algorithm was tested using
both simulated scenarios inserting synthetic crackles in acquired basal sounds from healthy subjects
and data acquired from patients with respiratory diseases.
50–3000 Hz. In addition to the respiratory sounds, airflow was acquired with a previously calibrated
pneumotachometer (Fleisch, KS, USA) and located in front of the volunteers for visual feedback
purposes. During acquisition, volunteers were standing still and were asked to breath at a maximum
airflow of 1.5 L/s for at least five respiratory cycles. Sounds and airflow data were simultaneously
acquired at a sampling frequency fs = 10 kHz and digitized with a 12-bit A/D card. Data was stored in
a binary file for their further analysis using Matlab (The Mathworks Inc., Natick, MA, USA) and using
the developed smartphone app.
2.2.1. Hardware
The proposed mHealth system, shown in Figure 1, consists basically of two hardware
components: (1) an electret subminiature microphone (BT-2159000, Knowles Electronics, Itasca, IL,
USA) encapsulated in a plastic bell designed for adequate acquisition of respiratory sounds and
connected to the 3.5 mm audio input of the smartphone [17], and (2) a smartphone device containing
the developed mobile app governing sounds acquisition, display and processing. The developed app
was mainly tested in two Android smartphone devices of low and medium performance classes, the
Galaxy S4 (Samsung Group, Seoul, Korea), with 1.6 GHz quad-core processor, 2 GB RAM and running
Android v5.0.1—Lollipop, and the Moto G Turbo Edition (Motorola, Chicago, IL, USA), with 1.5 GHz
octa-core processor, 2 GB RAM and running Android v6.0—Marshmallow. It is worth mentioning that
both smartphone devices provide reliable digitalization requirements as recommended in guidelines
for respiratory sound acquisition [36]. Respiratory sound recording using the developed system is
illustrated in Figure 1 for a DIP patient.
Sensors 2018, 18,2018,
Sensors 381318, x FOR PEER REVIEW 5 of 21 5 of 21
(a) (b)
Figure
Figure 1. 1. (a) Smartphone-based
(a) Smartphone-based system
system developed for
developed forthe
theautomatic
automaticdetection of respiratory
detection crackle crackle
of respiratory
sounds for displaying, processing, and provide crackle detection results, (b) Acquisition at bedside of
sounds for displaying, processing, and provide crackle detection results, (b) Acquisition at bedside of
a patient diagnosed with diffuse interstitial pneumonia.
a patient diagnosed with diffuse interstitial pneumonia.
2.2.2. Mobile Application (App)
2.2.2. Mobile Application (App)
In addition of being the world’s most popular mobile operating system (OS) and given the
In experience
addition of of being the world’s
our research most
group in popular
developing mobile operating
smartphone apps, the appsystem (OS)work
for this andwas
given the
experience of our research group in developing smartphone apps, the app for this
developed for the Android mobile OS (Google Inc., Mountain View, CA, USA). The mobile app was work was developed
developedmobile
for the Android with theOS
official Integrated
(Google Inc.,Development
Mountain View,Environment (IDE) Android
CA, USA). Studioapp
The mobile (Google
wasInc.)
developed
with the official Integrated Development Environment (IDE) Android Studio (Google Inc.)USA)
using XML (W3C, Cambridge, MA, USA) and Java (Oracle Corp., Redwood Shores, CA, using XML
programming languages on a personal computer running Windows 10 OS with Intel i7-6500U
(W3C, Cambridge, MA, USA) and Java (Oracle Corp., Redwood Shores, CA, USA) programming
processor (Intel Corp., Santa Clara, CA, USA) with 4 MB Cache and up to 3.10 GHz processing
languages on a personal
frequency, 16 GB ofcomputer
RAM, andrunning
NVIDIA Windows 10 OS with
GTX 950 graphics Intel i7-6500U
card (NVIDIA processor
Corp., Santa Clara,(Intel
CA, Corp.,
Santa Clara, CA, USA) with 4 MB Cache and up to 3.10 GHz processing frequency,
USA). Android Studio allowed testing the developed app using emulated devices in addition to 16 GB of RAM,
and NVIDIA
finally GTX 950
test the graphics
app on both card (NVIDIA
the Galaxy Corp.,
S4 and Moto Santa Clara,
G physical CA, USA).The
smartphones. Android
mobile Studio
app wasallowed
testing designed to satisfy
the developed appfunctionality requirements
using emulated devices stated by the pneumologist
in addition to finally testcollaborators.
the app onTo both the
Galaxy complement
S4 and Moto theGautomatic
physicalcrackle detection algorithm,
smartphones. The mobile theapp
mobile
was app allows the
designed toacquisition and
satisfy functionality
storage of respiratory sounds from new or existing patients as well as audiovisual display of the sounds.
requirements stated by the pneumologist collaborators. To complement the automatic crackle detection
algorithm,
2.2.3.the
Appmobile app
Activities andallows
GraphicaltheUser
acquisition
Interface and storage of respiratory sounds from new or
existing patients as well as audiovisual display of the sounds.
To achieve the abovementioned functionalities, a set of app activities were designed and
implemented in the Graphical User Interface of the app and organized as shown in Figure 2. It is
2.2.3. App Activities and Graphical User Interface
worth mentioning that the main libraries employed in the development of the mobile app were Audio
To Record
achieve to record sound signals, Media
the abovementioned Player to reproduce
functionalities, a set the
of recorded sound signals
app activities were [37] and
designed and
MPAndroid Chart to display the recorded sound signals [38]. A diversity of classes and methods
implemented in the Graphical User Interface of the app and organized as shown in Figure 2. It is
were implemented in Java to perform all the signal processing stages like digital filtering employing
worth mentioning that the main libraries employed in the development of the mobile app were
finite impulse response filter designed with the windows method and the Fast Fourier Transform
Audio Record to record soundofsignals,
algorithm. A description the task Media Player
performed to reproduce
for each activity is asthe recorded sound signals [37] and
follows:
MPAndroid Chart to display the recorded sound signals [38]. A diversity of classes and methods were
1. Welcome activity (WA). Two seconds splash-screen that contains the application name and
implemented in Javalogos
affiliation to perform all the signal
of the developers. processing
In addition, stages
WA asks the like
user digital filteringfor
for permissions employing
memory finite
impulse response
reading/writing, recording, and playing of audio files. Otherwise, the app does not allowalgorithm.
filter designed with the windows method and the Fast Fourier Transform to
A description of the The
continue. taskfirst
performed foriseach
time the app activity
opened, and theispermissions
as follows:conceded, a folder called Crackles
is created to store the patient’s information and their recordings obtained with the app.
1. Welcome activity (WA).
Additionally, a folderTwo seconds
called splash-screen
AnotherSignals thatsignals
allows to store contains the with
obtained application name and
other systems
and transferred to the smartphone for audiovisual display and analysis by the
affiliation logos of the developers. In addition, WA asks the user for permissions for memory app. Finally, a
validation of the sampling frequency, equal to 10 kHz, is performed. If not
reading/writing, recording, and playing of audio files. Otherwise, the app does not allowsupported, the app
does not allow to continue.
to continue. The first time the app is opened, and the permissions conceded, a folder called
Crackles is created to store the patient’s information and their recordings obtained with the app.
Additionally, a folder called AnotherSignals allows to store signals obtained with other systems
and transferred to the smartphone for audiovisual display and analysis by the app. Finally,
a validation of the sampling frequency, equal to 10 kHz, is performed. If not supported, the app
does not allow to continue.
Sensors 2018, 18, 3813 6 of 21
2. Selection activity (SA). SA allows the user to choose between two data visualization options: (1) list
ofSensors
registered
2018, 18, patients,
x FOR PEER and (2) list with all existing recordings. SA also contains menu
REVIEW 6 ofbuttons
21 to
visualize the app developing credits.
2. Selection activity (SA). SA allows the user to choose between two data visualization options: (1)
3. Patients list activity (PLA). PLA displays a list with all the registered patients in the app so that
list of registered patients, and (2) list with all existing recordings. SA also contains menu buttons
the user has the the
to visualize option to choosecredits.
app developing an existing patient from the list or to add a new patient via
a floating
3. Patients action button(PLA).
list activity (FAB). PLA displays a list with all the registered patients in the app so that
4. App add thepatient
user hasactivity
the option to choose
(APA). This an existing
activity patientto
allows from
addthe list orpatient
a new to add aby new patient via a his/her
introducing
floating action button (FAB).
surname, given name, gender and age. Alphabetic or numeric keyboards are displayed depending
4. App add patient activity (APA). This activity allows to add a new patient by introducing his/her
the case. The app does not allow to add a new patient until all required fields have been filled
surname, given name, gender and age. Alphabetic or numeric keyboards are displayed
and validates
depending thetheprovided information
case. The app preventing
does not allow to add aduplicates.
new patient until all required fields have
5. Patientbeenactivity
filled(PA). The PA app
and validates displaysinformation
the provided patient information
preventingand a list with his/her existing sound
duplicates.
recordings so that one can be selected to analyze it, or the user canaopt
5. Patient activity (PA). The PA app displays patient information and list to
with his/hera existing
acquire new recording.
sound recordings so that one can be selected to analyze it, or the user can opt to acquire a new
6. Acquire recording activity (ARA). ARA allows the acquisition of a new respiratory sound recording
recording.
at 6.a specific auscultation point by following a respiratory maneuver designed for this study.
Acquire recording activity (ARA). ARA allows the acquisition of a new respiratory sound recording
7. Analyze at a specificrecording
patient activity
auscultation (APRA).
point by This
following activity allows
a respiratory maneuver to designed
analyzefor respiratory
this study. sounds to
automatically
7. Analyze patient detect crackles.
recording After
activity the analysis,
(APRA). the allows
This activity time locations
to analyzeof the detected
respiratory sounds crackles
to are
storedautomatically
in a text filedetect crackles.
and APRA After thethe
displays analysis, the time
obtained locations
results of theof:
in terms detected crackles are
stored in a text file and APRA displays the obtained results in terms of:
o oA figure displaying
A figure displaying the acquisition
the acquisition location
location (auscultation
(auscultation point)point)
o A tablewith
oA table with aa summary
summary of the crackles counting,asas
of the crackles counting, as well thewell
total amount
as the of crackles
total amount of
detected
crackles detected
o A graph with the whole respiratory sound recording and location of the detected
o o
A graph with the whole respiratory sound recording and location of the detected
crackles. This graph cannot be manipulated
o ocrackles.
A graphThis
withgraph cannot
a segment of theberespiratory
manipulated
sound with tactile manipulation capabilities for
o temporal
A graph withzoom and scroll.
a segment ofInthe
addition, the user
respiratory can play
sound withthetactile
audio.manipulation capabilities for
8. temporal
Recording listzoom
activityand scroll.
(RLA). RLA In addition,
performs as a the user candisplaying
file explorer play theaaudio.
list of folders and files
contained in the folder OtherSignals so that the user can analyze it.
8. Recording list activity (RLA). RLA performs as a file explorer displaying a list of folders and files
9. Analyze signal activity (ASA). It allows to detect crackle sounds in the selected recording manually
contained
addedinby
thethefolder OtherSignals
user, i.e., so signals
in respiratory that the user can
acquired analyze
with it.
other systems. The app allows the
9. Analyze signal
user activitypre-processing
to perform (ASA). It allows to detect
(filtering crackle sounds
and normalization). in the
After selected
the signal recording
analysis manually
finishes,
detection results are presented in terms of the number of detected crackles in
added by the user, i.e., in respiratory signals acquired with other systems. The app allows the conjunction with
user tothe two graphs
perform of respiratory sounds
pre-processing explained
(filtering above.
and normalization). After the signal analysis finishes,
A block
detection diagram
results summarizing
are presented the acquisition
in terms and processing
of the number of detected of the respiratory
crackles sounds
in conjunction with
performed in the app is shown in Figure 3. In the next
the two graphs of respiratory sounds explained above. subsections, details about the acquisition and
preprocessing of respiratory sounds as well as the crackle detection stage are provided.
A block diagram summarizing the acquisition and processing of the respiratory sounds performed
in the app is shown in Figure 3. In the next subsections, details about the acquisition and preprocessing
of respiratory sounds as well as the crackle detection stage are provided.
Sensors 2018, 18, 3813 7 of 21
Sensors 2018, 18, x FOR PEER REVIEW 7 of 21
Figure diagram
Figure 3. Block 3. Block diagram
of theofacquisition,
the acquisition, processing and
processing anddisplay of results
display from respiratory
of results sounds sounds
from respiratory
with the developed mobile app.
with the developed mobile app.
2.2.4. Acquisition and Pre-Processing of Respiratory Sounds
2.2.4. Acquisition and Pre-Processing of Respiratory Sounds
Respiratory sound signals 𝑠(𝑡) were digitized using the internal A/D converter of the
Respiratory sound
smartphone devices at fs =s (10
signals t)kHz
were digitized
using using the The
16 bits-per-sample. internal A/D converter
app temporary stores an of thefile
audio smartphone
devices atinfs.wav
= 10format
kHztousing
be played
16 by the physician beforeThe
bits-per-sample. choosing
app totemporary
store or discarded
storesit and acquiredfile
an audio a in .wav
format to new one. The smartphone-acquired sounds are digital filtered in the mobile app using a 500th order
be played by the physician before choosing to store or discarded it and acquired a new
finite impulse response (FIR) bandpass filter between 75 and 1000 Hz to reduce the possible presence
one. The smartphone-acquired sounds noises.
of heart sounds and other muscular are digital filtered
Filtered in theare
sound signals mobile app in
normalized using a 500th
amplitude order finite
in the
impulse response
range [−1,(FIR)
1] to bandpass
account for filter between
different amplitude75 and 1000 between
variations Hz to reduce the possible
recordings. presence of heart
Both raw acquired
sounds and signal
other𝑠[𝑛]muscular
and its filtered
noises.and Filtered
normalized sound 𝑠 [𝑛] can
versionsignals arebe discarded byin
normalized theamplitude
user after their
in the range
audiovisual display so that another acquisition can be performed. If decided, both 𝑠[𝑛] and 𝑠 [𝑛]
[−1, 1] to account for different amplitude variations between recordings. Both raw acquired signal
time series can be stored in the mobile app in text and audio files for further visualization and analysis
s[n] and itsinfiltered
terms of and normalized
crackle version
detection directly s FN
in the [n] can be
smartphone discarded by the user after their audiovisual
device.
display so that another acquisition can be performed. If decided, both s[n] and s FN [n] time series can
be stored in2.2.5.
theSelection
mobileofappAuscultation
in text Points and Respiratory
and audio files for Maneuver
further visualization and analysis in terms of
crackle detection directly
Before startingin
thethe smartphone
acquisition device.
of respiratory sounds, the Acquire recording activity allows the user
to graphically select an auscultation point from a schematic array of locations proposed by our
research
2.2.5. Selection of group to cover the
Auscultation thoracic
Points areaRespiratory
and as shown in Figure 4. The nomenclature for the 3 × 2 array
Maneuver
consists of:
Before• starting the acquisition of respiratory sounds, the Acquire recording activity allows the user
Lateral side of the thorax. L: left, R: right
to graphically
• select
Thoracicanrow
auscultation point
level. A: apical, from aB:schematic
M: medial, basal array of locations proposed by our research
•
group to cover the thoracic
Hemithorax linearea
level.as
e: shown
exterior, in Figure 4. The nomenclature for the 3 × 2 array consists of:
i: interior
Accordingly, a sound recorded over the basal region of the right hemithorax at the exterior line
• Lateral side of the thorax. L: left, R: right
would be denoted as LBe by the app. Because our research group and collaborators are interested in
• Thoracic row level.
analyzing A: apical,
also tracheal M:anmedial,
sounds, B: basal
auscultation point on the trachea (T) is also available for tactile
• selection line
Hemithorax in thelevel.
array.e:
Similar auscultation
exterior, points have been proposed by other research groups to
i: interior
facilitate the registration of recording locations [33]. In the case of the array proposed in this work, it
Sensors 2018, 18, x FOR PEER REVIEW 8 of 21
corresponds to a simpler version of the previously introduced by our research group for multichannel
acquisition and processing of respiratory sounds [39].
Accordingly, a sound recorded over the basal region of the right hemithorax at the exterior line
would be denoted as LBe by the app. Because our research group and collaborators are interested in
analyzing also tracheal sounds, an auscultation point on the trachea (T) is also available for tactile
selection in the array. Similar auscultation points have been proposed by other research groups to
facilitate the registration of recording locations [33]. In the case of the array proposed in this work,
it corresponds to a simpler version of the previously introduced by our research group for multichannel
acquisition and processing of respiratory sounds [39].
After selecting an auscultation point, the Acquire recording activity allows the user to control the
sound recording. Because the low availability of a spirometer, or another respiration activity recording
system, in primary care settings or it is commonly underutilized [40,41], a respiratory maneuver
was designed in order to provide a temporal reference from which information about the respiratory
phases, i.e., inspiration (I) and expiration (E), can be obtained, see Figure 4 right side. Accordingly,
a respiratory maneuver consisting of 2 s of initial apnea, four respiratory cycles with a duration of 4 s
each with I:E ratio of 2:3, and 2 s of final apnea, was designed. A visual feedback was implemented
in the app activity so that the area under the maneuver curve is filled to aware the physician and
the patient about when to inspire and expire. At the end of the recording, the physician can replay
the sound and decide between discard or stored it to analyze it with the crackle detection algorithm
implemented in the app.
M
s FN [n] = − ∑ ak [n]sFN [n − k] + v[n] (1)
k =1
where the set of { ak [n]}k=1,··· ,M are the TVAR coefficients at time n, s FN [n − k] are past samples of
s FN [n] and, and v[n] is a white noise process [42]. The developed mobile app estimates the TVAR
coefficients at each time instant using the recursive least squares algorithm (RLS) with constant
forgetting factor, λ, to controls the influence of prior information while minimizing a cost function ξ [n]
defined by
n
ξ [n] = ∑ λn−i |e[i]|2 (2)
i =1
where e[n] refers to the error of the adaptive filter. Details about RLS algorithm can be found
elsewhere [42].
The RLS algorithm implemented in the Analyze Patient Recording activity employs a 4th order
TVAR model (M = 4), and a forgetting factor close to the unity, λ = 0.97. This selection was previously
found to be adequate for crackle detection in a previous effort by our research group, which in turn
was based on Akaike’s criterion [17]. Once the TVAR coefficients of the signal s FN [n] are computed,
their abrupt changes are detected via the local maxima in the slopes of the sum of the absolute value of
the TVAR derivatives by employing a threshold value equal to thr = 0.024 and a 4 ms moving window.
The threshold parameter was set using a grid search approach as described in the results section.
The overall implemented algorithm for automatic detection of respiratory crackle sounds is schematic
illustrated in Figure 5 and consists of the steps described in Table 1.
was based on Akaike’s criterion [17]. Once the TVAR coefficients of the signal 𝑠 [𝑛] are computed,
their abrupt changes are detected via the local maxima in the slopes of the sum of the absolute value
of the TVAR derivatives by employing a threshold value equal to 𝑡ℎ𝑟 = 0.024 and a 4 ms moving
window. The threshold parameter was set using a grid search approach as described in the results
Sensors 2018, 18,
section. The3813
overall implemented algorithm for automatic detection of respiratory crackle sounds is 9 of 21
schematic illustrated in Figure 5 and consists of the steps described in Table 1.
Figure 5. Schematic
Figure 5. Schematicillustration
illustration of
of the processing
processingstepsstepsimplemented
implemented in the
in the mobile
mobile appthe
app for for the
automated detection of respiratory crackles. (a) The sound signal s [n] is modeled
automated detection of respiratory crackles. (a) The sound signal sFN [n] is modeled using a 4th
FN using a 4th order
orderTVAR
TVAR model.
model.(b) RLS-TVAR
(b) RLS-TVAR coefficients and their
coefficients abrupt
and theirchanges
abruptby the presence
changes of presence
by the crackles around
of crackles
5.05 s, 5.1 s, etc., (c) Derivates of the coefficients time series in (b) where the
around 5.05 s, 5.1 s, etc., (c) Derivates of the coefficients time series in (b) where the abruptabrupt changes are are
changes
emphasized. (d) Segmenting of each coefficients time series derivates (TSD) by sliding 4 ms window
emphasized. (d) Segmenting of each coefficients time series derivates (TSD) by sliding 4 ms window
where a threshold value is employed to determine presence of crackles. (e) If presence of crackles is
where a threshold value is employed to determine presence of crackles. (e) If presence of crackles
detected inside a window for all the derivates then add the absolute values of the TSD and the
is detected inside a window for all the derivates then add the absolute values of the TSD and the
maximum is found. The time location of the maximum is regarded as the starting point of the detected
maximum
crackleis found. The time location of the maximum is regarded as the starting point of the detected
sound.
crackle sound.
Sensors 2018, 18, 3813 10 of 21
Synthetic crackles were generated by amplitude modulating an oscillatory signal whose frequency
content decreases over time according to the following equation with normalized duration:
√ log (0.25)
2
x (t) = sin π t sin 4πt log ( T0 )
, 0≤t≤1 (3)
where T0 refers to the initial deflection width (IDW) and the two cycles duration (2 CD) corresponds to
the crackle duration. The IDW parameter was set to 0.5 and 1.2 ms, and the 2 CD parameter was set
5 and 9 ms, for the generated fine and coarse crackles, respectively. For each scenario, the synthetic
crackles were randomly added to base respiratory sounds with three different gain factors equal
to 1.5, 2.5 and 3.5 times the variance of the basal sound in the corresponding insertion window to
simulate different signal-to-noise-ratios (SNR). Figure 6 shows the generated fine and coarse crackles
and illustrates the insertion procedure for a fine crackle at the end of an inspiration.
Sensors 2018, 18, 3813 11 of 21
Sensors 2018, 18, x FOR PEER REVIEW 11 of 21
Figure 6. Simulated
Figure scenarios
6. Simulated with
scenarios synthetic
with synthetic crackle sounds.
crackle sounds. Left:
Left: Waveform
Waveform of simulated
of simulated fine andfine and
coarse crackles. Right: Insertion of a synthetic fine crackle at a random location using factor
coarse crackles. Right: Insertion of a synthetic fine crackle at a random location using a gain a gain factor
equal toequal to 3.5 times the variance of the basal sound in the insertion window.
3.5 times the variance of the basal sound in the insertion window.
2.3.2. Performance
2.3.2. Performance Indices
Indices
The simulated scenarios in Table 2 allow to know the exact amount and location of inserted
The simulated scenarios in Table 2 allow to know the exact amount and location of inserted
crackles. Accordingly, the indices of accuracy (𝐴𝑐𝑐), sensitivity (𝑆𝑒𝑛), and specificity (𝑆𝑝𝑒) were
crackles. Accordingly,
employed thetheindices
to quantify of accuracy
performance (Acc), sensitivity
of the implemented (Sen),according
crackle detector and specificity
to: (Spe) were
employed to quantify the performance of the implemented crackle detector according to:
𝑇𝑃
𝐴𝑐𝑐 =
Acc = + TP
𝑇𝑃 + 𝐹𝑁 𝐹𝑃
TP+ FN + FP
𝑇𝑃 TP (4)
𝑆𝑒𝑛 =Sen = TP+ FN
𝑇𝑃 + 𝐹𝑁 (4)
TN
Spe = TN + FP
𝑇𝑁
𝑆𝑝𝑒 =
𝑇𝑁 + 𝐹𝑃FN are the false negatives (missing detections),
where TP are the true positives (correct detection),
FP are the false
where TP positives
are the true(extra detections),
positives and TN
(correct detection), FN(correct no-detection).
are the false A detection
negatives (missing was
detections), FPcounted
as correct if the detection point was at a distance less or equal than 3 samples from the
are the false positives (extra detections), and TN (correct no-detection). A detection was counted asreal insertion
point. In addition,
correct if the the absolute
detection pointtime at a distance|∆t
was difference less | between
loc or equal thanthe3 samples
true location of the
from the real inserted
insertion crackle
and thepoint. In addition,
detected locationthe absolute
with time differenceapp
the implemented |∆𝑡 was
| between the true location of the inserted
quantified.
crackle and the detected location with the implemented app was quantified.
2.3.3. Respiratory Sounds from DIP Patients
Regarding the acquired respiratory sounds from patients, their labeling, i.e., manual location
and counting of crackle sounds across the recordings, was performed by pneumologists using
an audiovisual GUI developed in Matlab with capabilities to perform TEWA analysis, i.e.,
time expansion of the signals. It is worth mentioning that labeling of respiratory sounds using
TEWA criteria is a cumbersome and time demanding procedure considering that recordings have a
much longer duration (around 20 s) compared to the events of interest (around 10 ms). As a mean to aid
the manual labeling, audio reproduction and time-frequency analysis of the respiratory sounds were
also provided to the GUI. To this end, physicians were asked to analyze one respiratory cycle of each
acquired recording. In contrast to the simulated scenarios, the exact beginning location and amount
of crackles is not known or cannot be obtained without subjectivity. Accordingly, a double-blind
Sensors 2018, 18, 3813 12 of 21
approach was employed to test the performance of the algorithm by comparing the amount of crackles
obtained with the mobile app with the amount and location of crackles provided by the physician.
3. Results
ininthe
therespiratory
respiratorysound
soundby
bylooking
lookingatatthe
thetransients
transientsininthe
theTVAR
TVARcoefficients
coefficientstime
timeseries.
series.The
The
Sensors 2018, 18, 3813
implementation estimation 14 of 21
implementation ofofthe
theRLS
RLSalgorithm
algorithmwas
wastested
testedby
bycomparing
comparingthe
theTVAR
TVARcoefficients
coefficientsestimation
resultswith
results withthose
thoseprovided
providedby byaaMatlab
Matlabimplementation
implementationusing usingoneonerecording.
recording.The Theestimated
estimated
coefficients used to test the statistical significance were obtained completely in each
coefficients used to test the statistical significance were obtained completely in each system; i.e., system; i.e.,after
after
statisticalperforming
significance were
digital obtained
filtering; completely
normalization inapplying
each system;
andapplying theRLS i.e., after performing
RLSalgorithm
algorithm digital filtering;
performing digital filtering; normalization and the ininaapersonal
personalcomputer
computer
normalization and
andininthe
and theappapplying
appusing
usingthe the RLS
thedeveloped algorithm
developedsystem in
systemtotothe a personal
thesame computer
samerecording.
recording.No and in
Nostatistically the app
statisticallysignificantusing
significant the
developed differences
systemwere
differences were found
to the same
found between the
recording.
between two
the twoNo sets of estimates
setsstatistically as analyzed
of estimates assignificant by a Wilcoxon
analyzed bydifferences signed-rank
were found
a Wilcoxon signed-rank test
between
test
the two forforany
sets any ofthe
of of theTVAR
TVAR
estimates coefficients;
ascoefficients;
analyzed pby p>>a0.99 for𝑎𝑎(𝑡)
Wilcoxon
0.99 for (𝑡)toto𝑎𝑎(𝑡).
(𝑡).Figure
signed-rank Figure
test99for
shows
anythe
shows the distribution
ofdistribution
the TVAR for foraa
coefficients;
TVAR coefficientusingusingaabox boxplot
plotasaswell
wellasasthe theamplitude
amplitudedifference
differenceversus
versustime time betweenits its
p > 0.99 TVAR
for a1 (coefficient
t) to a4 (t). Figure 9 shows the distribution for a TVAR coefficient usingbetween
a box plot as well
estimation using Matlab and the implemented
estimation using Matlab and the implemented app. app.
as the amplitude difference versus time between its estimation using Matlab and the implemented app.
Lungsound
Lung soundwith
withfine
finecrackles
cracklesinserted
inserted
TVARmodel
TVAR modelestimated
estimatedvia
viaRLS
RLSalgorithm
algorithm
Time(s)
Time (s)
Figure 8. Figure
Figure 8.8.Example
Example Example ofofRLS-TVAR
of RLS-TVARRLS-TVAR coefficients
coefficients
coefficients estimatesusing
estimates
estimates usingthe
using the
the implemented
implemented
implemented mobile app.Top:
mobile
mobile app. Top:Time
app. Time
Top: Time
waveform
waveform of an inspiratory
of an inspiratory sound
sound with
with inserted
insertedfine fine crackles
fine crackles at the end portion. Bottom: Time course
waveform of an inspiratory sound with inserted cracklesatatthe endend
the portion. Bottom:
portion. Time course
Bottom: Time course
ofofthe
theRLS-TVAR
of the RLS-TVAR
RLS-TVARcoefficients
coefficientsestimated
coefficients estimated
estimatedininthe
theapp.
in the app.
app.
Estimationofofthe
Estimation thefirst
firstTVAR
TVARcoefficient
coefficient
a1[n] (a. u)
a1[n] (a. u)
Estimates difference (a.
Estimates difference (a.
Figure 9. Comparison of TVAR coefficients estimated using the implemented RLS algorithms in the
Figure9.9.Comparison
ComparisonofofTVAR
TVARcoefficients
coefficientsestimated
estimatedusing
usingthe
theimplemented
implementedRLS
RLSalgorithms
algorithmsininthe
the
mobile Figure
app andapp
mobile
Matlab.
and
Example
Left:Left:
Matlab. Example
of of
estimates
estimates
and
and
difference
difference
between
between the
the estimates
estimates in both
in both
mobile app and Matlab. Left: Example of estimates and difference between the estimates in both
systems. systems.
Right: Distribution of the TVAR coefficient estimated in both systems.
Right: Distribution of the TVAR coefficient estimated in both systems.
systems. Right: Distribution of the TVAR coefficient estimated in both systems.
3.3. Performance of the App for the Detection of Crackle Sounds
A relevant parameter for the mobile app is the selection of the threshold value. This selection was
performed by varying its value from 0.010 to 0.060 and obtaining the performance indices introduced
in previous section for all the simulated scenarios in Table 2 considering the respiratory information of
10 healthy subjects. Figure 10 shows the performance indices versus the threshold value employed
in the developed automated crackle detector. Figure 10 top side shows the accuracy, sensitivity and
specificity indices, while Figure 10 bottom side shows the receiver operating characteristic (ROC) curve.
Selection of the threshold value employed in this study was based on these two results as follows.
The optimum value for the pair sensibility-specificity was obtained from the ROC curve inflection and
A relevant parameter for the mobile app is the selection of the threshold value. This selection
was performed by varying its value from 0.010 to 0.060 and obtaining the performance indices
introduced in previous section for all the simulated scenarios in Table 2 considering the respiratory
information of 10 healthy subjects. Figure 10 shows the performance indices versus the threshold
value
Sensors 2018, 18, employed
3813 in the developed automated crackle detector. Figure 10 top side shows the accuracy, 15 of 21
sensitivity and specificity indices, while Figure 10 bottom side shows the receiver operating
characteristic (ROC) curve. Selection of the threshold value employed in this study was based on
regardedthese twolower
as the resultslimit
as follows.
(thr =The optimum
0.019). The value
upper forlimit
the pair
forsensibility-specificity
the threshold valuewas wasobtained from as the
established
maximum the point
ROC curve inflectioncurve
for accuracy and regarded as thewhere
(thr = 0.029) lower above
limit (𝑡ℎ𝑟
this=threshold
0.019). Thetheupper limit forachieves
specificity the its
threshold value was established as the maximum point for accuracy curve (𝑡ℎ𝑟 = 0.029) where above
maximum value and reaches a plateau while the sensitivity value reduced below 90%. Accordingly,
this threshold the specificity achieves its maximum value and reaches a plateau while the sensitivity
the threshold value was
value reduced belowset to Accordingly,
90%. the middle thepoint between
threshold value the lower
was set toand upperpoint
the middle limits, i.e., thr
between the= 0.024.
Table 3 lower
shows the results regarding the performance indices obtained with the selected
and upper limits, i.e., 𝑡ℎ𝑟 = 0.024. Table 3 shows the results regarding the performance indices threshold
value (thr = 0.024)
obtained withfor
theallselected
analyzes recordings
threshold with= synthetic
value (𝑡ℎ𝑟 crackles
0.024) for all analyzesinserted forwith
recordings eachsynthetic
scenario with
differentcrackles inserted for each scenario with different signal-to-noise-ratios.
signal-to-noise-ratios.
Figure
Figure 10. 10. Performance
Performance indices
indices of the
of the developed automated
developed automated crackle
crackledetector versus
detector threshold
versus value. value.
threshold
Top: accuracy, sensibility and specificity indices. Bottom: Receiver operating characteristic (ROC)
Top: accuracy, sensibility and specificity indices. Bottom: Receiver operating characteristic (ROC)
curve of the developed automated crackle detector. Results are for all simulated scenarios in Table 2.
curve of the developed automated crackle detector. Results are for all simulated scenarios in Table 2.
Regarding the crackle detection from recordings of nine patients diagnosed with DIP, the
Regarding the crackle
authors used detection
the threshold valuefrom recordings
obtained during theof nine patients
simulated stagediagnosed
by the ROCwith DIP,
curve, i.e.,the
theauthors
used thethreshold
threshold wasvalue
0.019.obtained
The resultsduring the simulated
are summarized stage
in Table 4 inby the of
terms ROC the curve,
numberi.e., the threshold
of crackles
was 0.019. The results
detected in each are summarized
of the in Tableby
available recordings 4 in
theterms
mobileofapp
the(via
number of crackles
the automated detected
crackle detectionin each of
algorithm)
the available and by the
recordings bypneumologists
the mobile app (via(via
the visual detection using
the automated TEWA
crackle criteria and
detection audio playing
algorithm) and by the
of the signals). Due to the cumbersome manual detection of crackles by the pneumologists, just one
pneumologists (via the visual detection using TEWA criteria and audio playing of the signals). Due to
the cumbersome manual detection of crackles by the pneumologists, just one respiratory cycle was
analyzed from each recording. It is worth mentioning that in the case of the mobile app the complete
acquisition and processing was performed in the developed mCORSA system. An example of the
detection results from a DIP patient using the developed app is shown in Figure 6f, where it can be
seen that the detected crackle sound resembles the morphology reported in the classical literature [3,9].
Regarding the performance indexes obtained for these real data, an average of 51% and 63% were
found for the accuracy and specificity, respectively. Interestingly, a specificity of 100% was found in two
cases where neither the pneumologist or the mobile app detected the presence of crackle sounds. It is
worth mentioning that the detection of crackles that relies only on an auditory approach is difficult even
for experts, as reported in the literature [2,43]. The task appears to be also challenging when using the
TEWA criteria as illustrated by the examples shown in Figure 11, where the detected location marked
by pneumologists and the app are represented by blue and red dots, respectively. Two examples of real
crackles correctly detected by both pneumologists and the app are shown in Figure 11a where TEWA
Sensors 2018, 18, 3813 16 of 21
criteria correctly holds. Figure 11b shows an example where both the pneumologists and the app
match the detection of a crackle sound (around 4.82 s) but the physician also indicates the presence of
another crackle (around 4.81 s) which does not appear to resemble the classical morphology expected,
while the smartphone does not detect it. Figure 11c shows an example when the app detects a crackle
sound while the physician does not (around 4.91 s) although it follows the expected morphology.
The additional crackle indicated by the physician (around 4.89 s) is another example of a case where
doubts arise regarding the presence of a real crackle.
Table 3. Performance indices of the automated crackle detector implemented in the app for all simulated
scenarios with inserted crackles to basal respiratory sounds from healthy subjects (N = 10).
Factor Inserted Crackles Acc (Unitless) Sen (Unitless) Spec (Unitless) ||∆tloc || (Ms)
Scenario 1: Inspiratory fine crackles
1.5 620 89.16 ± 4.46 97.65 ± 1.82 99.84 ± 0.12 0.19 ± 0.03
2.5 620 88.60 ± 4.29 97.45 ± 2.11 99.83 ± 0.12 0.18 ± 0.04
3.5 620 88.01 ± 3.60 97.11 ± 2.07 99.82 ± 0.11 0.18 ± 0.05
Scenario 2: Late inspiratory fine crackles
1.5 620 86.77 ± 3.96 95.05 ± 2.31 99.84 ± 0.11 0.19 ± 0.03
2.5 620 85.73 ± 4.01 94.46 ± 1.87 99.82 ± 0.11 0.18 ± 0.04
3.5 620 84.86 ± 2.61 93.45 ± 2.37 99.83 ± 0.09 0.18 ± 0.05
Scenario 3: Late inspiratory coarse crackles
1.5 620 74.76 ± 13.08 81.46 ± 12.72 99.84 ± 0.10 0.19 ± 0.03
2.5 620 82.49 ± 7.05 89.87 ± 4.22 99.84 ± 0.10 0.18 ± 0.04
3.5 620 83.75 ± 6.50 91.00 ± 3.96 99.85 ± 0.10 0.18 ± 0.04
Scenario 4: Inspiratory fine and coarse crackles
1.5 620 79.70 ± 8.28 86.94 ± 6.64 99.84 ± 0.10 0.19 ± 0.03
2.5 620 83.03 ± 6.09 90.37 ± 3.78 99.85 ± 0.10 0.19 ± 0.04
3.5 620 83.10 ± 6.19 90.46 ± 4.07 99.85 ± 0.10 0.18 ± 0.04
Scenario 5: Expiratory coarse crackles
1.5 530 57.95 ± 19.46 64.02 ± 19.55 99.83 ± 0.12 0.19 ± 0.03
2.5 530 81.50 ± 10.34 90.48 ± 7.68 99.83 ± 0.11 0.19 ± 0.04
3.5 530 85.18 ± 7.41 94.68 ± 4.00 99.83 ± 0.12 0.18 ± 0.04
Scenario 6: Inspiratory fine crackles plus expiratory coarse crackles
1.5 1150 91.66 ± 3.14 96.16 ± 1.91 99.84 ± 0.09 0.18 ± 0.04
2.5 1150 91.37 ± 2.89 95.70 ± 1.73 99.85 ± 0.09 0.18 ± 0.04
3.5 1150 90.99 ± 3.95 95.54 ± 2.54 99.84 ± 0.09 0.18 ± 0.04
Data presented as mean ± standard deviation for all sound recordings
Table 4. Crackle detection results in recordings from DIP patients (N = 9) using the automated detector
implemented in the app and by a pneumologist.
(a)
(b)
(c)
of the recorded sounds. Implementation of these stages in the mobile device was compared to their
counterpart in Matlab running in a personal computer, and no statistically significant differences
were found (p > 0.99). The computation time and energy performance tests of the developed mobile
app seems to show the feasibility of being used to record and analyze respiratory sound in an
online scheme during several consecutive recordings performed directly in point-of-care settings. It is
worth mentioning that the algorithms implemented in the smartphone device are subject to further
improvement to reduce the computational time employed during the pre-processing stage, mainly the
digital filtering scheme.
After testing a reliable estimation of the TVAR coefficients of the smartphone-recorded sounds,
the performance of the automated crackle detector was tested using simulated scenarios found in
clinical practice. Six different scenarios were created by randomly inserting synthetic crackles in basal
respiratory sounds from healthy subjects with a variety of insertion timing along the respiratory cycles,
signal-to-noise ratios, and crackle types. The threshold value employed in the crackle detection was
selected using information from the ROC and accuracy curve. Regarding the detection of inserted fine
crackles, it was performed, on average, with an accuracy ranging from 84.86% to 89.16%, a sensitivity
ranging from 93.45% to 97.65%, and a specificity ranging from 99.82% to 99.84% for the studied
scenarios. For the scenarios involving coarse crackles the average values were found to range from
57.95% to 85.18% for the accuracy, from 64.02% to 94.68% for the sensitivity, and from 99.83% to
99.85% for the specificity, respectively. For scenarios with combined fine and coarse crackles during the
inspiration, the performance of the algorithm shows an average behavior between those previous two,
with an average accuracy, sensitivity and specificity around 81%, 89%, and 99%, respectively. As can be
noticed, the automated detection of crackle sounds is a more challenging task for coarse crackles than
for fine crackles, perhaps due to their lower frequency content, compared to the one of fine crackles,
which in turn becomes more masked by the frequency components of respiratory sounds with more
power located at lower frequencies where it is also recognized that inspiration has a broader frequency
band than the expiration. Consequently, the TVAR coefficients produced by the RLS does not change
as much in comparison with the background as those associated with fine crackles, see Figure 5b.
Other studies have also reported an increase in the failed detection of coarse crackles in comparison
to fine crackles [43]. Accordingly, in the simulated scenario where fine crackles (higher frequency)
were only inserted in the inspiration and coarse crackles (lower frequency) were only inserted in the
expiration, the performance indexes increased with an accuracy, sensitivity and specificity around
91%, 95%, and 99%, respectively. Results from estimated locations of inserted crackles was found to be
consistent for the different simulated scenarios and an average error distance ranging from 0.18 to 0.19
ms was found. The median value of the error distance for correctly detected crackles was found to be
equal to 2 samples from the actual inserted location.
Regarding the crackle detection results from DIP patients, the obtained results show that the
mobile app tends to underestimate the number of crackles present in the recordings in comparison
with the pneumologist. Interestingly, in the recordings where the expert did not detect the presence
of crackles using audiovisual labeling the proposed algorithm also reflects this absence or detect
a minimum amount. Although the detection results obtained in real data seems to greatly diverge from
the ones from simulated scenarios as accuracy reduced to around 52%, it is worth mentioning that the
audiovisual detection is a time-demanding and cumbersome procedure while the mobile app performs
this task faster and with repeatability from one analysis time to another. In addition, the detection of
crackle sounds performed by expert physicians is not exempt of errors and it depends on their training
and auscultation abilities. As illustrated in the Results section, pneumologists could provide extra
detections and miss crackles based on their experience and limitations. Variability among physicians
has been reported in the literature regarding detection of crackle sounds [43]. We consider that the
detected locations obtained automatically by this and similar systems could help to validate the initial
detection provided by the experts.
Sensors 2018, 18, 3813 19 of 21
Although the results look promising, this study presents several limitations. First, the number of
patients employed for validation is still limited and more real data is required to further evaluate the
proposed system. Although the developed mCORSA system allows to record and analyze recordings
easily and fast, its labeling by the pneumologist is not. Second, the performance of the developed
system relies on the selection of the threshold detection value which was based on simulated scenarios.
Although crackles were simulated accordingly to mathematical functions emulating real crackles
found in clinical practice and with different signal-to-noise ratios and timing locations, the results from
real data reflects that these functions would not capture all the dynamics of the underlying crackle
generation. We consider that the development of a big database with real acquire respiratory sounds
with adventitious sounds from patients will result beneficial to the improvement of this and similar
detection algorithms, and that this data collection task would be greatly aided with this and similar
mCORSA systems.
Current work involves the implementation of signal processing techniques that complement the
information obtained from the waveform analysis by the physician. Future work will involve: (a) the
development of a wireless version of the acoustical sensor that will enable data acquisition during
a diversity of maneuvers involving conditions not restricted to stationary subjects, (b) improvement in
the detection of coarse crackles by evaluating other techniques as independent component analysis
and high-resolution time-frequency analysis, and (c) to add more microphones to count with spatial
information. In addition, given the mobility characteristics of the system, it is being used to record
a greater number of recordings in the clinical setting, directly at the bedside of the patients, which will
be useful to develop more robust detection algorithms as well as to analyze them.
Finally, the authors emphasize that the developed mCORSA system was intended to provide
an accessible tool to quantitatively analyze respiratory sounds while maintaining the desired properties
of the auscultation like being non-invasive, ubiquitous, low-cost, and easy-to-use. In particular,
the mobility characteristic of the system allows one to record respiratory sounds at the bedside of the
patients without the need to move them, for example, to a specialized laboratory with an anechoic
chamber. We consider that this and similar efforts will enable the acquisition of large samples of data
with the benefits of a better understanding of pulmonary pathologies at early stages of the disease
which in turn can help to deal with the underestimation of respiratory diseases among the general
population that without the availability of mobile solutions found difficult to access, or access to late,
to the specialized levels of the healthcare system.
Author Contributions: Conceptualization, B.A.R., S.C.-V. and T.A.-C.; Data curation, R.G.-C., M.M.-A. and
T.A.-C.; Formal analysis, B.A.R. and N.O.-M.; Investigation, B.A.R., N.O.-M., S.C.-V., R.G.-C. and T.A.-C.;
Methodology, B.A.R., S.C.-V., R.G.-C. and T.A.-C.; Project administration, B.A.R. and T.A.-C.; Software, N.O.-M.;
Supervision, B.A.R., S.C.-V., R.G.-C. and T.A.-C.; Validation, B.A.R., N.O.-M., S.C.-V., R.G.-C., M.M.-A. and T.A.-C.;
Writing—original draft, B.A.R.; Writing—review & editing, N.O.-M., S.C.-V., R.G.-C., M.M.-A. and T.A.-C.
Funding: This research was funded by the Program for Professional Professor Development from Secretary of
Public Education (PRODEP-SEP) and by a graduate scholarship from National Council of Science and Technology
(CONACyT) in Mexico.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. WHO. WHO|Chronic Respiratory Diseases (CRDs). 2018. Available online: http://www.who.int/
respiratory/en/ (accessed on 24 May 2018).
2. Brooks, D.; Thomas, J. Interrater reliability of auscultation of breath sounds among physical therapists.
Phys. Ther. 1995, 75, 1082–1088. [CrossRef] [PubMed]
3. Piirila, P.; Sovijarvi, A.R. Crackles: Recording, analysis and clinical significance. Eur. Respir. J. 1995, 8, 2139–2148.
[CrossRef] [PubMed]
4. Pasterkamp, H.; Kraman, S.S.; Wodicka, G.R. Respiratory sounds: Advances beyond the stethoscope.
Am. J. Respir. Crit. Care Med. 1997, 156, 974–987. [CrossRef] [PubMed]
Sensors 2018, 18, 3813 20 of 21
5. Reichert, S.; Gass, R.; Brandt, C.; Andres, E. Analysis of respiratory sounds: State of the art. Clin. Med. Circ.
Respir. Pulm. Med. 2008, 2, 45–58. [CrossRef]
6. Earis, J.E.; Cheetham, B.M.G. Current methods used for computerized respiratory sound analysis. Eur. Respir. Rev.
2000, 10, 586–590.
7. Sovijarvi, A.R.A.; Dalmasso, F.; Vanderschoot, J.; Malmberg, L.P.; Righini, G.; Stoneman, S.A.T. Definition of
terms for applications of respiratory sounds. Eur. Respir. Rev. 2000, 10, 597–610.
8. Piirilä, P.; Sovijärvi, A.R.; Kaisla, T.; Rajala, H.M.; Katila, T. Crackles in patients with fibrosing alveolitis,
bronchiectasis, COPD, and heart failure. Chest 1991, 99, 1076–1083. [CrossRef] [PubMed]
9. Murphy, R.L.H.; Holford, S.K.; Knowler, W.C. Visual lung-sound characterization by time-expanded
wave-form analysis. N. Engl. J. Med. 1977, 296, 968–971. [CrossRef] [PubMed]
10. Reyes, B.A.; Charleston-Villalobos, S.; González-Camarena, R.; Aljama-Corrales, T. Assessment of
time—Frequency representation techniques for thoracic sounds analysis. Comput. Methods Programs Biomed.
2014, 114, 276–290. [CrossRef] [PubMed]
11. Ono, M.; Arakawa, K.; Mori, M.; Sugimoto, T.; Harashima, H. Separation of fine crackles from vesicular
sounds by a nonlinear digital filter. IEEE Trans. Biomed. Eng. 1989, 36, 286–291. [CrossRef] [PubMed]
12. Tolias, Y.A.; Hadjileontiadis, L.J.; Panas, S.M. Real-time separation of discontinuous adventitious sounds
from vesicular sounds using a fuzzy rule-based filter. IEEE Trans. Inf. Technol. Biomed. 1998, 2, 204–215.
[CrossRef] [PubMed]
13. Hadjileontiadis, L.J.; Panas, S.M. Separation of discontinuous adventitious sounds from vesicular sounds
using a wavelet-based filter. IEEE Trans. Biomed. Eng. 1997, 44, 1269–1281. [CrossRef] [PubMed]
14. Hadjileontiadis, L.J.; Rekanos, I.T. Detection of explosive lung and bowel sounds by means of fractal
dimension. IEEE Signal Process. Lett. 2003, 10, 311–314. [CrossRef]
15. Charleston-Villalobos, S.; Gonzalez-Camarena, R.; Chi-Lem, G.; Aljama-Corrales, T. Crackle sounds analysis
by empirical mode decomposition. IEEE Eng. Med. Biol. Mag. 2007, 26, 40–47. [CrossRef] [PubMed]
16. Castañeda-Villa, N.; Charleston-Villalobos, S.; González-Camarena, R.; Aljama-Corrales, T. Assessment
of ICA algorithms for the analysis of crackles sounds. In Proceedings of the 2012 Annual International
Conference of the IEEE Engineering in Medicine and Biology Society, San Diego, CA, USA,
28 August–1 September 2012; pp. 605–608.
17. Charleston-Villalobos, S.; Dorantes-Méndez, G.; González-Camarena, R.; Chi-Lem, G.; Carrillo, J.G.;
Aljama-Corrales, T. Acoustic thoracic image of crackle sounds using linear and nonlinear processing
techniques. Med. Biol. Eng. Comput. 2011, 49, 15–24. [CrossRef] [PubMed]
18. Chen, X.; Shao, J.; Long, Y.; Que, C.; Zhang, J.; Fang, J. Identification of Velcro rales based on Hilbert–Huang
transform. Phys. Stat. Mech. Its Appl. 2014, 401, 34–44. [CrossRef]
19. Li, J.; Hong, Y. Crackles detection method based on time-frequency features analysis and SVM.
In Proceedings of the 2016 IEEE 13th International Conference on Signal Processing (ICSP), Chengdu,
China, 6–10 November 2016; pp. 1412–1416.
20. WHO Global Observatory for eHealth, G.O. For eHealth WHO|Global Observatory for eHealth
Series—Volume 3. Available online: http://www.who.int/goe/publications/ehealth_series_vol3/en/
(accessed on 7 June 2011).
21. Agu, E.; Pedersen, P.; Strong, D.; Tulu, B.; He, Q.; Wang, L.; Li, Y. The smartphone as a medical device:
Assessing enablers, benefits and challenges. In Proceedings of the 2013 IEEE International Workshop of
Internet-of-Things Networking and Control (IoT-NC), New Orleans, LA, USA, 24 June 2013; pp. 48–52.
22. Statista, Inc. Top Drivers for Adoption of mHealth Applications and Services by Patients as of 2012.
Available online: https://www.statista.com/statistics/328661/reasons-for-patient-use-of-mhealth-apps-
and-services/ (accessed on 2 June 2012).
23. Oletic, D.; Arsenali, B.; Bilas, V. Towards continuous wheeze detection body sensor node as a core
of asthma monitoring system. In Proceedings of the Wireless Mobile Communication and Healthcare,
Kos Island, Greece, 5–7 October 2011; pp. 165–172.
24. Nakano, H.; Hirayama, K.; Sadamitsu, Y.; Toshimitsu, A.; Fujita, H.; Shin, S.; Tanigawa, T. Monitoring sound
to quantify snoring and sleep apnea severity using a smartphone: Proof of concept. J. Clin. Sleep Med.
2014, 10, 73–78. [CrossRef] [PubMed]
25. Reyes, B.A.; Reljin, N.; Chon, K.H. Tracheal sounds acquisition using smartphones. Sensors 2014, 14, 13830–13850.
[CrossRef] [PubMed]
Sensors 2018, 18, 3813 21 of 21
26. Reljin, N.; Reyes, B.A.; Chon, K.H. Tidal volume estimation using the blanket fractal dimension of the
tracheal sounds acquired by smartphone. Sensors 2015, 15, 9773–9790. [CrossRef] [PubMed]
27. Sun, X.; Lu, Z.; Hu, W.; Cao, G. SymDetector: Detecting sound-related respiratory symptoms using
smartphones. In Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous
Computing, (ACM), Osaka, Japan, 7–11 September 2015; pp. 97–108.
28. Bokov, P.; Mahut, B.; Flaud, P.; Delclaux, C. Wheezing recognition algorithm using recordings of respiratory
sounds at the mouth in a pediatric population. Comput. Biol. Med. 2016, 70, 40–50. [CrossRef] [PubMed]
29. Fischer, T.; Schneider, J.; Stork, W. Classification of breath and snore sounds using audio data recorded
with smartphones in the home environment. In Proceedings of the 2016 IEEE International Conference on
Acoustics, Speech and Signal Processing (ICASSP), Shanghai, China, 20–25 March 2016; pp. 226–230.
30. Koo, S.K.; Kwon, S.B.; Kim, Y.J.; Moon, J.S.; Kim, Y.J.; Jung, S.H. Acoustic analysis of snoring sounds recorded with
a smartphone according to obstruction site in OSAS patients. Eur. Arch. Otorhinolaryngol. 2017, 274, 1735–1740.
[CrossRef] [PubMed]
31. Camacho, M.; Robertson, M.; Abdullatif, J.; Certal, V.; Kram, Y.A.; Ruoff, C.M.; Brietzke, S.E.; Capasso, R.
Smartphone apps for snoring. J. Laryngol. Otol. 2015, 129, 974–979. [CrossRef] [PubMed]
32. Uwaoma, C.; Mansingh, G. Detection and classification of abnormal respiratory sounds on a resource-
constraint mobile device. Int. J. Appl. Inf. Syst. 2014, 7, 35–40. [CrossRef]
33. Chamberlain, D.; Mofor, J.; Fletcher, R.; Kodgule, R. Mobile stethoscope and signal processing algorithms for
pulmonary screening and diagnostics. In Proceedings of the 2015 IEEE Global Humanitarian Technology
Conference (GHTC), Seattle, WA, USA, 8–11 October 2015; pp. 385–392.
34. Nath, A.R.; Capel, L.H. Inspiratory crackles—Early and late. Thorax 1974, 29, 223–227. [CrossRef]
35. Vyshedskiy, A.; Alhashem, R.M.; Paciej, R.; Ebril, M.; Rudman, I.; Fredberg, J.J.; Murphy, R. Mechanism of
inspiratory and expiratory crackles. Chest 2009, 135, 156–164. [CrossRef] [PubMed]
36. Cheetham, B.M.G.; Charbonneau, G.; Giordano, A.; Helisto, P.; Vanderschoot, J. Digitization of data for
respiratory sound recordings. Eur. Respir. Rev. 2000, 10, 621–624.
37. Android Developers Application Fundamentals|Android Developers. Available online: https://developer.
android.com/guide (accessed on 23 September 2016).
38. Jahoda, P. A Powerful Android Chart View/Graph View Library, Supporting Line-Bar-Pie-Radar-Bubble-
and Candlestick Charts as Well as Scaling, Dragging and Animations: PhilJay/MPAndroidChart. Available
online: https://github.com/PhilJay/MPAndroidChart (accessed on 11 July 2018).
39. Charleston-Villalobos, S.; Martinez-Hernandez, G.; Gonzalez-Camarena, R.; Chi-Lem, G.; Carrillo, J.G.;
Aljama-Corrales, T. Assessment of multichannel lung sounds parameterization for two-class classification in
interstitial lung disease patients. Comput. Biol. Med. 2011, 41, 473–482. [CrossRef] [PubMed]
40. Kaminsky, D.A.; Marcy, T.W.; Bachand, M.; Irvin, C.G. Knowledge and use of office spirometry for the detection of
chronic obstructive pulmonary disease by primary care physicians. Respir. Care 2005, 50, 1639–1648. [CrossRef]
[PubMed]
41. O’Dowd, L.C.; Fife, D.; Tenhave, T.; Panettieri, R.A. Attitudes of physicians toward objective measures of
airway function in asthma. Am. J. Med. 2003, 114, 391–396. [CrossRef]
42. Haykin, S.O. Adaptive Filter Theory; Prentice Hall: Upper Saddle River, NJ, USA, 2001.
43. Kiyokawa, H.; Greenberg, M.; Shirota, K.; Pasterkamp, H. Auditory detection of simulated crackles in breath
sounds. Chest J. 2001, 119, 1886–1892. [CrossRef]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).