  Heart rate (HR) detection from ballistocardiogram (BCG) signals is
challenging because the signal morphology can vary between and within-subjects.
Also, it differs from one sensor to another. Hence, it is essential to evaluate
HR detection algorithms across several datasets and under different
experimental setups. In this paper, we studied the potential of three HR
detection algorithms across four independent BCG datasets. The three algorithms
are as follows: the multiresolution analysis of the maximal overlap discrete
wavelet transform (MODWT-MRA), continuous wavelet transform (CWT), and template
matching (TM). The four datasets were obtained using a microbend fiber optic
sensor, a fiber Bragg grating sensor, electromechanical films, and load cells,
respectively. The datasets were gathered from: a) 10 patients during a
polysomnography study, b) 50 subjects in a sitting position, c) 10 subjects in
a sleeping position, and d) 40 subjects in a sleeping position. Overall, CWT
with derivative of Gaussian provided superior results compared with the
MODWT-MRA, CWT (frequency B-spline), and CWT (Shannon). That said, a BCG
template was constructed from DataSet1. Then, it was used for HR detection in
the other datasets. The TM method achieved satisfactory results for DataSet2
and DataSet3, but it did not detect the HR of two subjects in DataSet4. The
proposed methods were implemented on a Raspberry Pi. As a result, the average
time required to analyze a 30-second BCG signal was less than one second for
all methods. Yet, the MODWT-MRA had the highest performance with an average
time of 0.04 seconds.
