An Adaptive Method for Classification of Noisy Respiratory Sounds An Adaptive Method for Classification of Noisy Respiratory Sounds Khanh Nguyen Trong Naver AI Lab, Posts and Telecommunications Instit[.]
Trang 1An Adaptive Method for Classification of Noisy
Respiratory Sounds
Khanh Nguyen-Trong Naver AI Lab, Posts and Telecommunications Institute of Technology, Ha Noi, Viet Nam Sorbonne University, IRD, UMMISCO, JEAI WARM, F-93143, Bondy, France Email: khanhnt@ptit.edu.vn
Abstract—Respiratory sounds (RSs) contain essential
informa-tion about the physiology and pathology of lungs and airways
obstruction Therefore, RS understanding has a critical role
in diagnosing respiratory patients However, the external noise
in the respiratory sound signal is a large restriction for this
study In this paper, we propose a method to classify noisy
respiratory signals Firstly, four adaptive filtering algorithms
(RLS, LMS, NLMS, and Kalman) are applied and evaluated
for noise reduction Then, we extract features of filtered sounds,
using Mel Frequency Cepstral Coefficient Finally, the SVM
method is used to classify respiratory sounds We also conducted
experiments on a dataset consisting of 1980 breath events,
collected from 16 healthy volunteers The obtained results show
that, the investigated methods, SVM and Kalman achieves the
highest accuracy of 95.5%
Index Terms—Respiratory, breath denoising, classification,
SVM, MFCC, Kalman, RLS, LMS, NLMS
I INTRODUCTION
Classification between normal and abnormal respiratory
sounds (such as cough, crackles, wheezes ) is critical for
an accurate medical diagnosis, especially in the context of
COVID-19 pandemics Respiratory sounds (RS) contains key
information related to the physiologies and pathologies of
lungs and airways obstruction Therefore, RS understanding
has an important role in diagnosing respiratory patients
Auscultation is the most widely used method to determine
the health condition of the respiratory organs However, due
to its non-stationary character, RS is still difficult to analyze
and also hard to distinguish by such traditional methods
Espe-cially, if not done by a well-trained physician, this may lead
to wrong diagnosis [1] Moreover, the doctor’s subjectivity
is also a significant concern, which can lead to inaccurate
diagnosis In this context, RS analysis by pattern recognition
methods will help to overcome the limitations of traditional
auscultation
Such methods typically acquire RSs by different
electronic-based devices and transmit/store them then to/at facilities, such
as mobile phones or dedicated devices The collected data is
either pre-processed and classified directly on these devices,
such as SoundSen [2], or partly pre-processed and sent to a
powerful computer for more in-depth analysis, such as the
work of [3]
Recently, many works have been proposed to analyze
RSs, especially deep learning-based methods They have been
widely adopted in the classification of such sounds [4]
Accordingly, for which many models have been proposed,
which outperform the traditional machine learning ones The neural networks, such as Convolutional Neural Networks (CNN) [5], Recurrent Neural Networks (RNN) [6], or its combinations and variants like CNN-RNN [7], Long Short-term Memory (LSTM) [8], and Bidirectional-Long Short-Short-term Memory (BiLSTM) [9], have proven their efficiency in RS analysis They have shown high performance in computer vision, especially CNN Thus, the visual representation of RSs
is the most used feature in recent studies Numerous useful features have been proposed in the literature, such as MFCC, GFCC, LPC, and so on
In this context, with the same feature and method, the performance of final models depends on the way that RS was pre-processed, such as noise suppression or augmentation techniques We are interested in proposing suitable denoising techniques for RS analysis Several denoising algorithms have been proposed to pre-process RSs in the literature For in-stance, Jacome et al [10] presented a study for breath sound discrimination of acute exacerbation COPD (AECOPD) and stable COPD A Butterworth band-pass filter of order 8 was used to clean the recorded lung sound signal Haider et al [11] also presented an algorithm to suppress noise in RSs using empirical mode decomposition (EMD), Hurst analysis, and spectral subtraction However, there are no systematic eval-uations about the combination between the RS classification method and denoising algorithms The existing works usually chosen the denoising algorithm based on the noise characters Therefore, in this paper, we propose a method that allows the classification of noisy RSs First, we evaluate four pop-ular adaptive denoising algorithms (RLS, LMS, NLMS, and Kalman) on a breath sound dataset Then we apply the selected denoising method to classify cough sound
The remainder of this paper is structured as follows Section
2 discusses relevant previous studies Section 3 presents our method The experimental evaluation is presented in Section
4, and finally, some concluding remarks and a brief discussion are provided in Section 5
II RELATED WORK
Among the machine learning technologies developed until now for audio signals, three steps were identified to analyze RSs [12]: pre-processing, feature extraction, and model train-ing First, depending on the quality of input data, it can be pre-processed by tasks such as data cleaning, segmentation, and transformation
Trang 2Due to environmental conditions, RSs are usually recorded
with noise They need to be clean by related techniques at
the data cleaning step, for example, reducing noise, detecting
N/A values, detecting gaps, outlier analysis, normalization [13]
and so on In the literature, many researchers applied different
filters to improve the data quality The least mean square
(LMS), normalized least mean square (NLMS), Kalman, and
Wavelet filtering are widely used techniques in the field For
example, Wu et al [14] presented a technique to improve
the quality of tracheal sounds using adaptive filtering (AF)
The normalized least mean square (NLMS) AF algorithm was
applied to the tracheal sounds mixed with noises The authors
thus examined the accuracy of the apnea detection algorithm
with this data The experiment results have shown that the
performance of tracheal sound detection with AF input data
was improved
After cleaning, data is usually segmented into windows
with a fixed number of size [13] Sliding windows is the
most popular technique using for segmentation For instance,
Emmanouilidou et al.[15] applied a segmentation technique
on lung sounds with 500ms-windows with 50% overlap
Amrulloh et al [16] employed a rectangular sliding window
to segment the cough sound into 20ms-windows The authors
then trained an artificial neural network to detect coughs
segment, which achieved high accuracy
The segmented data can be then transformed to other
corresponding forms at the data transformation step The
second step usually transforms the raw sound data to
time-domain (such as amplitude envelope, root-mean-square
en-ergy), frequency-domain (such as band energy ratio, spectral
centroid, and spectral flux) or joint time-frequency domain
(such as spectrogram, Mel-spectrogram, and constant-Q)
fea-tures [17] Mel-frequency Cepstral Coefficients (MFCCs) are
widely used in audio analysis It provides a compact
repre-sentation of the upper airway acoustical properties and allows
one to separate contributions from the airway cavity geometry
and the source vibration sounds [16]
Data are then passed to the next steps for feature extraction
and model training For these steps, there are two main
techniques in the literature: (i) traditional machine learning
and (ii) deep learning The traditional techniques usually
directly used transformed data from the previous step to train
models This data is considered to be handcrafted features For
example, Khamlich et al [18] presented a method for speech
recognition, in which the authors convert the audio data to
MFCCs The extracted features were then used to train SVM
and ANN classifiers
The deep learning-based methods automatically extract
ap-propriate features from the data For example, Loo et al
[19] presented a method based on MFCC and CNN for
breath detection In this work, the authors extracted MFCC
features from 5500 asynchronous breathing (AB) and 5500
normal breathing (NB) cycles The extracted features were
then put to a CNN network to automatically learn embedded
vectors for normal and asynchronous breath classification
Yang et al [20] proposed an automatic Sleep Apnea-Hypopnea
Syndrome (SAHS) event detection method using MFCCs with LSTM The used features were nasal airway pressures and temperature signals, extracted from clinical polysomnography (PSG) dataset [20] The trained LSTM model achieved an accuracy of 81.6% MFCCs were also used to train BiLSTM,
as in the work of Balamurali et al [21] The authors proposed
a method that allows distinguishing healthy children from the ones with pathological coughs The method achieves an accuracy of 91% for all three respiratory pathologies Regardless of applied methods, traditional machine learning,
or deep learning, the performance of the two last steps (feature extraction and model training) is affected by the first one, especially noise suppression However, there are no systematic evaluations about the combination between the RS classifi-cation method and denoising algorithms The existing works usually chosen the denoising algorithm based on the noise characters
III MATERIAL AND METHODS
We are interested in the classification of respiratory sounds recorded in natural environments that have a significant noise background The proposed method is illustrated in Fig 2, in which we classify three types of noisy breath sounds: normal, heavy, and deep breath It contains 5 steps as follows:
Fig 1 Classification of noisy breath sounds
• Annotation: the noisy breath sounds are annotated by respiratory physicians It allows us to have a labeled data with high confidence for the training and validation tasks
• Noise filtering: this step contains two main tasks: nor-malization and denoising First, the input data will be normalized into a fixed format The labeled and noisy data are then denoised at this step In this study, besides the classification of breath sounds, we also evaluated the suitable denoising techniques for such data Four adaptive filtering techniques including RLS, LMS, NLMS, and Kalman were applied to filter unexpected signals Thus, after this step, we obtained 4 filtered datasets
• Segmentation: the continuous breath sounds are seg-mented into 25-ms windows, with 10 ms overlap between successive windows
• Feature extraction: we base on MFCC features to train models Therefore, at this step, the filtered breath sounds are converted to the corresponding features
• Model training: the Support Vector Machine (SVM) algorithm is used for the classification Thus, we employ
Trang 3the MFCC features to train 4 classifiers that are
corre-sponding with four denoising algorithms
• Evaluation: we evaluate four classifiers on our data test
set to choose the best model and also denoising algorithm
for breath sound classification
The details of each step will be described in the next
sections
A Noise filtering
Adaptive filtering, which is suitable with many kinds of
data in the unknown statistical environment or non-stationary
environment, is an efficient technique for noise cancellation
Therefore, in this study, we applied four popular adaptive
filtering methods on the breath dataset: RLS, LMS, NLSM,
and Kalman In general, these filters are based on noise signals
and hidden parameters to minimize the mean square error
function between the filters output signal and the desired
signal The advantage of these filters is the ability to
self-study and manually adjust parameters to achieve the desired
results
1) LMS and NLMS filter: LMS algorithm tries to minimize
the Mean Square Error (MSE) cost function When an error is
considered to be minimized, it focuses only on the current
error value, filter weights are constantly updated until the
smallest point is reached (derivative equals 0), as follows:
w(m + 1) = w(m) + µ((∂e(∂w(m))2(m)))
where the error signal e(m) is the difference between the
output of the adaptive filter and the desired signal x(m), given
by the formula: e(m) = x(m) − wT(m)y(m)
The autocorrelation matrix of input signals and the adaptive
step size µ influences the stability of the algorithm: if µ is too
large, it will result in high convergence rates but instability;
and if µ is too small, the convergence speed will be longer
Supposing that λmax is the largest specific value of the
autocorrelation matrix of y(m), then the limit of µ for a stable
adaptation is: 0 < µ < λ1
max One of the disadvantages of the LMS algorithm is that
the constant adaptive step size, after each loop, is difficult to
achieve Because it requires an understanding of the statistics
of the input signal The NLMS algorithm solves the µ selection
problem by normalizing the energy (or power) of the input
signal Instead of minimizing the difference between the filter
output and the desired signal output, NLMS uses the Euclidean
distance minimization criterion of the increase in the filter
weights vector δw(m + 1) in subsequent updates Let P the
length of the filter, the NLMS algorithm is given by the
following formula:
a +PP −1 k=0 y2(m − k)y(m)e(m) (1) where a + PP −1
k=0 y2(m − k) is the input signal energy, µ
controls the adaptation step size and a is a small constant
em-ployed to avoid the denominator of the update term becoming
zero when the input signal y(m) is zero
2) RLS filter: The RLS algorithm bases on a recursive method to find filter weights while minimizing the average squared error Unlike the LMS algorithm that minimizes the current error value, the RLS algorithm focus on the total error from the beginning to the current data point In other words, RLS has infinite memory All error data is given the same consideration in the total error In the cases that the error value might come from a spurious input data point or points, the forgetting factor lets the RLS algorithm reduce the value of older error data by multiplying the old data with the forgetting factor The recursive method updates its status over time to calculate the weight of the filter, as the following formula:
w(m) = w(m − 1) + k(m)e(m), (2) where e(m) is the error signal that is calculated by the following formula:
e(m) = x(m) − wT(m − 1)y(m), (3) k(m) is the gain vector that is calculated as follows:
−1φ(m − 1)y(m)
1 + λ−1yT(m)φ(m − 1)y(m), (4) φ(m) is the correlation matrix inversion calculated as follows: φ(m) = λ−1φ(m − 1) − λ−1k(m)yT(m)φ(m − 1), (5) where, λ is called the adaptive coefficient (i.e forgetting factor) that its value range in 0 < λ < 1 When λ = 1, all previous error is considered to be equal weight in the total error, while λ closes to 0, the past errors play a smaller role
in the total value
3) Kalman filter: The Kalman filter is derived as the minimum mean square estimator It bases on the recursive method to estimate the average minimum square error of a signal (or a state vector) x(m) from an observed noisy signal y(m) Each recursive includes 2 stages:
• Prediction stage (update): The signal state xk is predicted from the previous observation process and a covariance matrix of prediction error, as shown in in Fig 2 where Ak,
Bk, Pk, Qk are the state transition matrix, control-input, error covariance and the covariance of process noise, respectively
• Estimation stage (measurement): The prediction result from step (1), and signal innovation (innovation is the difference between the predicted and the observed inter-ference) are used to estimate the signal and calculate the Kalman gain vector and covariance matrix of estimation error, as shown in in Fig 2 where Hk, Rk, Sk, Kkare the measurement model, covariance of measurement noise, pre-fit residual covariance, and Kalman gain
B Segmentation Breath sounds are continuously recorded and thus non-stationary over time Studying short segments (i.e 20-40ms) makes them more stable Therefore, we segmented the breath sounds dataset into fixed and short windows Because the
Trang 4Fig 2 Kalman filter [22]
frequency rate of a normal breath usually ranges from 12 to
20 times per minute, then we split the data into 25ms-sliding
windows, with 10ms overlap
The same person has the same type of sound, but depending
on practical situations, it can be varied in different ways
Therefore, splitting the frame into short segments allows
results in coefficients that are almost identical for different
circumstances We applied the sliding window technique on
each frame to increase the continuity between adjacent frames
This study uses Hamming window method:
w(n) = 0.54 − 0.46 ∗ cos( 2πn
N − 1), where0 ≤ n ≤ N − 1 (6)
C Feature extraction
The MFCC algorithm is used for extracting breathing sound
features The algorithm will warp nonlinear frequencies on
the Mel frequency scale to calculate the MFCC coefficients
Mel frequency scale has equal frequency bands, closer to the
response of the human ear than the regular linear frequency
bands Spectral analysis shows that the different timbres in
the respiratory signal, corresponding to the different energy
distribution by frequency Thus, Fast Fourier Transform is used
to convert from the time domain to the frequency domain, as
the following formula:
Dk =
N m −1
X
m=0
Dme−j2πkmNm , k = 0, 1, , Nm− 1 (7) The calculated spectra are mapped then on the Mel scale to
approximate the energy that exists at each point through the
triangle overlapping window (or triangle filter bank), where
the filters are located evenly on the Mel scale Finally, the
conversion of Mel spectral logarithm to the spatial domain is
performed through discrete Cosine transformations:
Cn=
k
X
k−1
(log Dk) cos [m(k −1
2)
π
k], m = 0, 1, 2, , k − 1 (8) Since the frequency of human respiratory sounds ranges from
2 kHz to 50 Hz, the first 13 factors are taken for the feature
vector and the following 27 factors are removed
However, since the MFCC coefficients only describe the
power spectral enveloping in a single frame, while human
respiratory sounds contain information about the dynamics, that is what the trajectories of MFCC coefficients over time Thus, calculating these factors might increase the performance
of the Automatic Breathing Sound Recognition system To calculate the delta coefficients (Differential), the following formula is used:
dt=
PN n=1n(ct+n− ct−n)
2P
where dtis the delta coefficient from the frame t computed
in terms of the static coefficients c(t+n) to c(t−n) A typical value for N is 2 Delta-Delta (Acceleration) coefficients are calculated in the same way, but they are calculated from the deltas, not the static coefficients
Finally, the variance and standard deviation of 13 MFCC coefficients, 13 differential factors, and 13 acceleration fac-tors are calculated to increase the recognition performance Therefore, a feature vector of each frame is the values of variance and standard deviation that are calculated for 13 MFCC coefficients, 13 differentials, and 13 acceleration ratios
It is called MFCC 78 So, if the feature vector calculated in the ith frame is xi, then it will be represented as a 78-dimensional vector
D Model training The objective of the Support Vector Machine algorithm
is to find a hyperplane in N-dimensional space (N the number of features) that distinctly classifies the data points Many possible hyperplanes could be chosen to separate two classes of data points The plane must have the maximum margin, i.e., the maximum distance between data points of both classes Maximizing the margin distance provides some reinforcement so that future data points can be classified with more confidence The loss function that helps maximize the margin is:
min
w λw2+
n
X
i=1
(1 − yi(xi, ))+ (10)
After building the loss function, the partial derivatives regarding the weights were taken to find the gradients; using gradients can update weights
δ
δwk
δ
δwk(1 − yi(xi, w))+=
n 0, y i (x i ,w)<0
−y i x ik , else
(12) When there is no wrong classification, i.e., the model correctly predicts the class of data point Therefore, it only has to update the gradient from regularization parameter:
w = w − α(2λw)
When there is a wrong classification, i.e., the model makes a mistake on the prediction of the class of data point Therefore, the loss must along with the regularization parameter to perform gradient update: w = w − α(yixi− 2λw)
Trang 5IV EXPERIMENTAL RESULTS
A Dataset
To build and evaluate the proposed method, we created a
dataset of breath sounds recordings from 16 healthy
volun-teers The breath sound was captured by Boya M1
omnidi-rectional connected to subject smartphones Each subject was
requested to attach the microphone during their daily activity
They produced an average of 124 breath sounds, yielding a
total of 1980 breath cycle examples in our dataset The sounds
were sampled at a 44.1 kHz rate and later down-sampled to
16 kHz
The dataset was recorded in noisy environments that contain
background noise, such as the speech of others, television
sound, and so on The collected data was then annotated by
respiratory experts using the Audacity tool with three labels:
normal, heavy, and deep breath
B Parameter initialization
The most important parameters for LMS and NLMS is µ:
if µ is too large, it will result in high convergence rates but
instability; and if µ is too small, the convergence speed will
be longer In this study, we based on the work of Nagal et al
[23] where µ is 0.05 and the filter order is 12 For RLS filter,
the parameters are λ is 0.99 and δ is 0.1 For Kalman filter, the
state transition matrix Ak, Hk are a unit matrix, the control
matrix Bk is zero, Pk is 0.00099, and Rk is 0.01 Regardinng
the parameters used for SVM, Kernel is RBF, epsilon is 0.001,
gamma is 1/k, and loss is 0.1
C Results analysis
TABLE I
E XPERIMENT RESULTS ON THE RAW DATASET
Precision Recall F1 scores Normal 0.934 0.992 0.962
Heavy 0.801 0.989 0.885
Deep 0.984 0.738 0.844
Mean 0.906 0.906 0.897
TABLE II
E XPERIMENT RESULTS ON THE DATASET FILTERED BY RLS
Precision Recall F1 scores Normal 0.958 0.998 0.979
Heavy 0.826 0.998 0.904
Deep 0.998 0.752 0.857
Mean 0.930 0.918 0.915
TABLE III
E XPERIMENT RESULTS ON THE DATASET FILTERED BY LMS
Precision Recall F1 scores Normal 0.987 0.998 0.994
Heavy 0.830 0.998 0.907
Deep 0.998 0.791 0.884
Mean 0.942 0.931 0.930
TABLE IV
E XPERIMENT RESULTS ON THE DATASET FILTERED BY NLMS
Precision Recall F1 scores Normal 0.972 0.998 0.986 Heavy 0.837 0.998 0.911 Deep 0.998 0.784 0.879 Mean 0.939 0.929 0.927
TABLE V
E XPERIMENT RESULTS ON THE DATASET FILTERED BY K ALMAN
Precision Recall F1 scores Normal 0.977 0.999 0.988 Heavy 0.899 0.998 0.946 Deep 0.998 0.867 0.928 Mean 0.952 0.956 0.955
We used the F1 score, precision, recall to evaluate the proposed method For the whole dataset, we split 16 subjects into 2 different data-set One set contains 13 subjects, used for training The other containing 3 subjects are used for validation
Table I, II, III, IV, V details the experiment results for breath sound classification on the raw dataset (without filter-ing), and the ones filtered by RLS, LMS, NLSM and Kalman The F1 score on the raw dataset is 89.7% on average, while
it is 91.5%, 93%, 92.7%, and 95.5% on the dataset applied RLS, LMS, NLMS, and Kalman filter, respectively
In detailed, the performance slightly increases when we applied RLS, LMS, NLMS and Kalman The F1 score increase from 89.7% to 95.5% Therefore, the proposed filtering tech-niques significantly increase the classification performance of the noisy breath sounds
The performance of the four filters is detailed in Table VI With the Kalman filter, the SVM classifier achieves the highest performance (95.5%) It can be explained by the fact that the filter can effectively reject uncorrelated disturbances because
it preserves the shape of noise-free registrations
V CONCLUSION
This paper has introduced a method for noisy breath sound classification, which is based on MFCC features and the SVM algorithm Furthermore, we evaluated 4 popular adaptive filtering techniques using in analyzing respiratory sounds: Re-cursive least squares, Least mean squares, Normalized Least-mean-squares, and Kalman A breath dataset was collected from 16 persons who worn the mobile devices for several hours and perform daily activities, composed of over 1,980 breath events The experimental results have shown that our proposed system is effective and reliable with the highest F1 score of 95.5% Furthermore, for noisy breath sounds, applying filtering techniques improved the performance of breath sound classification Among the used filters, the Kalman filter achieved the highest accuracy in terms of F1 score In the future, we will extensively combine the Kalman filter and deep learning methods to analyze different types of respiratory sounds
Trang 6TABLE VI
P ERFORMANCE COMPARISON AMONG FILTERS
Precision Recall F1 scores LMS 0.942 0.931 0.930
NLMS 0.939 0.929 0.927
RLS 0.930 0.918 0.915
Kalman 0.959 0.956 0.955
REFERENCES [1] D Bardou, K Zhang, and S M Ahmad, “Lung sounds classification
using convolutional neural networks,” Artificial Intelligence in Medicine,
vol 88, pp 58 – 69, 2018.
[2] H Lu, W Pan, N Lane, T Choudhury, and A Campbell,
“Sound-Sense: scalable sound sensing for people-centric applications on mobile
phones,” Proceedings of the 7th international conference on Mobile
systems, applications, and services, pp 165–178, 2009.
[3] S Li, B.-S Lin, C.-H Tsai, C.-T Yang, and B.-S Lin, “Design
of wearable breathing sound monitoring system for real-time wheeze
detection,” Sensors (Basel, Switzerland), vol 17, 2017.
[4] F Meng, Y Shi, N Wang, M Cai, and Z Luo, “Detection of respiratory
sounds based on wavelet coefficients and machine learning,” IEEE
Access, vol 8, pp 155710–155720, 2020.
[5] Y Kim, Y Hyon, S S Jung, S Lee, G Yoo, C Chung, and T Ha,
“Respiratory sound classification for crackles, wheezes, and rhonchi
in the clinical field using deep learning,” Scientific reports, vol 11,
p 17186, August 2021.
[6] K Kochetov, E Putin, M Balashov, A Filchenkov, and A
Sha-lyto, “Noise masking recurrent neural network for respiratory sound
classification,” in Artificial Neural Networks and Machine Learning –
ICANN 2018 (V K˚urkov´a, Y Manolopoulos, B Hammer, L Iliadis,
and I Maglogiannis, eds.), (Cham), pp 208–217, Springer International
Publishing, 2018.
[7] U Tiwari, S Bhosale, R Chakraborty, and S K Kopparapu, “Deep lung
auscultation using acoustic biomarkers for abnormal respiratory sound
event detection,” in ICASSP 2021 - 2021 IEEE International Conference
on Acoustics, Speech and Signal Processing (ICASSP), pp 1305–1309,
2021.
[8] A Semmad and M Bahoura, “Long short term memory based
recur-rent neural network for wheezing detection in pulmonary sounds,” in
2021 IEEE International Midwest Symposium on Circuits and Systems
(MWSCAS), pp 412–415, 2021.
[9] S Jayalakshmy and G F Sudha, “GTCC-based BiLSTM deep-learning
framework for respiratory sound classification using empirical mode
decomposition,” Neural Computing and Applications, jul 2021.
[10] C J´acome, A Oliveira, and A Marques, “Computerized respiratory
sounds: a comparison between patients with stable and exacerbated
copd,” The Clinical Respiratory Journal, vol 11, 2017.
[11] N S Haider, “Respiratory sound denoising using empirical mode
de-composition, hurst analysis and spectral subtraction,” Biomedical Signal
Processing and Control, vol 64, p 102313, 2021.
[12] R X A Pramono, S Bowyer, and E Rodriguez-Villegas, “Automatic
adventitious respiratory sound analysis: A systematic review,” PLOS
ONE, 2017.
[13] S Naduvil-Vadukootu, R A Angryk, and P Riley, “Evaluating
pre-processing strategies for time series prediction using deep learning
architectures,” in FLAIRS 2017 - Proceedings of the 30th International
Florida Artificial Intelligence Research Society Conference, pp 520–
525, 2017.
[14] Y Wu, J Liu, B He, X Zhang, and L Yu, “Adaptive filtering improved
apnea detection performance using tracheal sounds in noisy
environ-ment: A simulation study,” BioMed Research International, vol 2020,
pp 1–8, 05 2020.
[15] D Emmanouilidou and M Elhilal, “Characterization of noise
contami-nations in lung sound recordings,” 35th Annual International Conference
of the IEEE Engineering in Medicine and Biology Society (EMBC),
p 25512554, 2013.
[16] Y A Amrulloh, U R Abeyratne, V Swarnkar, R Triasih, and A
Sety-ati, “Automatic cough segmentation from non-contact sound recordings
in pediatric wards,” Biomedical Signal Processing and Control, vol 21,
pp 126–136, 2015.
[17] S Krishnan and Y Athavale, “Trends in biomedical signal feature extraction,” Biomedical Signal Processing and Control, vol 43, pp 41–
63, 2018.
[18] S Khamlich, F Khamlich, I Atouf, and M Benrabh, “Performance evaluation and implementations of MFCC, SVM and MLP algorithms
in the FPGA board,” International journal of electrical and computer engineering systems, vol 12, pp 139–153, aug 2021.
[19] N L Loo, Y S Chiew, C P Tan, G Arunachalam, A M Ralib, and M B Mat-Nor, “a Machine Learning Model for Real-Time Asyn-chronous Breathing Monitoring,” IFAC-PapersOnLine, vol 51, no 27,
pp 378–383, 2018.
[20] W Yang, J Fan, X Wang, and Q Liao, “Sleep Apnea and Hypopnea Events Detection Based on Airflow Signals Using LSTM Network,” Proceedings of the Annual International Conference of the IEEE Engi-neering in Medicine and Biology Society, EMBS, pp 2576–2579, 2019 [21] B B T, H I Hee, S Kapoor, O H Teoh, S S Teng, K P Lee, D Herremans, and J M Chen, “Deep Neural Network Based Respiratory Pathology Classification Using Cough Sounds,” pp 1–20, 2021.
[22] J F J Pakpahan, B R Dewangga, G N P Pratama, A I Cahyadi,
S Herdjunanto, and O Wahyunggoro, “State of charge estimation for lithium polymer battery using kalman filter under varying internal resistance,” in 2019 International Conference on Information and Com-munications Technology (ICOIACT), pp 839–844, 2019.
[23] R Nagal, P Kumar, and P Bansal, “Performance analysis of least mean square algorithm for different step size parameters with different filter order and iterations,” in 2015 International Conference on Recent De-velopments in Control, Automation and Power Engineering (RDCAPE),
pp 326–331, 2015.