# Flexible Wearable Heart Rate Monitoring System and Low-Power Design: A Review
## 4 Design of the Flexible Wearable Heart Rate Signal Preprocessing Module
### Low-Power Algorithm Design of Flexible Wearable Heart Rate Signal Preprocessing Module  
In terms of low-power algorithm design, this paper takes the preprocessing of ECG signals and PPG signals as examples for illustration. Preprocessing of ECG Signals:  
For the preprocessing of ECG signals, an adaptive filtering algorithm is usually employed to remove artifact noise. Take the Least Mean Square (LMS) [92] algorithm, which is currently the most widely used, as a typical example. [PERSON] et al. [93] proposed a Wiener filtering and adaptive LMS algorithm for ECG denoising in flexible wearable heart rate monitoring systems. Based on the steepest descent method, this algorithm performs excellently in dynamic signal environments. By iteratively adjusting the filter coefficients according to the error between the noisy ECG input and the desired output, using the current error and input signals combined with a step-size factor, it converges to the optimal filtering state, thereby reducing system power consumption. Meanwhile, this algorithm features low computational complexity, easy implementation, and high real-time performance. Based on the LMS algorithm, researchers have developed the Normalized Least Mean Square (NLMS) algorithm, which has a better filtering effect and lower power consumption. As demonstrated in the research by [PERSON] et al. [69], they optimized three critical parameters of the Normalized Least Mean Square (NLMS) algorithm--filter length, step size, and iteration count--to develop a power-efficient adaptive filtering method that significantly enhances the performance of ECG denoising in flexible wearable systems. By optimizing these parameters, the system achieves low-power operation without compromising signal integrity. Specifically, optimizing the filter length reduces the number of multiply-accumulate operations required during real-time processing, while adjusting the step size and iteration count minimizes computational load and energy consumption by decreasing redundant iterations under the same denoising requirements. Compared with the LMS algorithm, the NLMS algorithm has a faster convergence speed. This is because its normalized step size can dynamically adjust the amplitude of the weight update according to the power of the input signal. When dealing with complex signals such as ECG signals, in the face of noise interference and signal fluctuations, it can quickly approach the optimal solution and reduce the time consumption of convergence. Therefore, it can reduce the power consumption during operation. This is attributed to the fact that the NLMS algorithm effectively suppresses large-amplitude noise interference caused by motion through input signal power normalization (Equation (1)) [69]:  
\[\mu(n)=\frac{\mu_{0}}{\|x(n)\|^{2}+\delta}. \tag{1}\]  
Equation (1): normalized step-size adjustment of the NLMS algorithm, where \(\mu_{0}\) is the initial step size, \(x(n)\) is the input signal, and \(\delta\) is the regularization parameter to prevent division by zero. Meanwhile, this paper also evaluates the robustness of different algorithms under various motion states. As shown in Table 3, two typical scenarios--resting and running--are compared, with the Mean Square Error (MSE) and Signal-to-Noise Ratio (SNR) used as performance metrics to assess filtering effectiveness. A smaller MSE and larger SNR indicate better performance. According to Table 3, references [94; 95] present a comparison between the LMS adaptive filtering algorithm and the NLMS adaptive filtering algorithm, while references [96; 97] provide a comparison between wavelet filtering (WT) and Kalman filtering (KF), moreover, references [94; 96] focus on research related to wearable systems.WT exhibits superior anti-noise performance in the running state (MSE = 0.065, SNR = 22.3 dB) but with higher power consumption. KF performs similarly to LMS in the resting state (MSE = 0.023, SNR = 27.9 dB) but shows slightly poorer performance in high-dynamic running scenarios (MSE = 0.095, SNR = 19.5 dB) [96; 97].