Ballistocardiography (BCG) is a non-invasive, contactless technique that enables continuous monitoring of vital signals that have great importance in the healthcare domain. The BCG data acquisition system is designed to be sensitive to micro-vibrations, like the heart's mechanical beat. This makes it susceptible to noise, thus turning heartbeats detection into a complex problem. In this paper, we propose algorithms to calculate heart rate using Wavelet Transforms, which are attuned to de-noise the BCG signals and pronounce heartbeats. With the Wavelet Transforms, we used an unsupervised machine-learning algorithm to detect heartbeats accurately. The error between the proposed method and the reference electrocardiogram(ECG) is estimated in beats per minute using the mean absolute error(MAE). The best MAE achieved was 2.07, and the best detection rate of heart rate was 94.13% on a clinically acquired data set of 36 subjects. Furthermore, we have extensively tested several wavelet families on signals with varying data quality.
A BCG signal captures the vibrations of the heart, the contraction and expansion of the diaphragm, and other micro- vibrations of the body, which allows for continuous monitoring of vitals.  . A BCG signal is composed of multiple peaks, including H, I, J, K, and L, which have their own corresponding physiological significance . The I-J-K com- plex of the BCG signal (Fig.2) is of interest in our research, as it corresponds to the ventricular contraction of the heart, which happens after depolarization and is synonymous with the QRS peak of the ECG signal. Even though ECG is non-invasive, it requires external electrodes connected to the chest region, making it less feasible for long-term monitoring. BCG is a better alternative because it is non-invasive and contactless. Piezoelectric sensors that acquire BCG signals are sensitive to mechanical vibrations and thus susceptible to noise. Therefore, with BCG data acquisition, there is a need for more robust, sophisticated filtering techniques and machine learning applications for heart rate detection. This paper proposes a novel approach to calculate the heart rate (HR) by using wavelet transforms in combination with an unsupervised machine learning algorithm. Additionally, we have extensively researched various mother wavelets to find the best way to calculate heart rate.
Wavelet Transform is a technique to analyze signals by decomposing the signal into scales by sliding wavelets over the signal. This reveals the local temporal and spectral information of the signal. In contrast, Fast Fourier transform (FFT) only shows global frequency information, which is a shortcoming for this use case, as the heartbeats are characteristic oscillations that occur periodically in a signal. Wavelets, by nature, are wave oscillations and is thus a powerful time-frequency analysis technique suitable for non stationary signals like the BCG signal.