## Materials and Methods
### Signal Preprocessing  
SBP is estimated in two steps. The initial step includes the calculation of systolic blood pressure values as an average value obtained from 15 pulse waves. Later medians of these values are averaged once more (see the \"Systolic blood pressure estimation algorithm\" subsection and Equation (6) for details) to get the final result. Averaging is common practice to reduce variability. In order to get  
Figure 3: (**a**) PPW and DPW trajectories; (**b**) normalized \(\text{PPW}_{n}=\text{PPW}/\text{max}(\text{PPW})\) and \(\text{DPW}_{n}=\text{DPW}/\text{max}(\text{DPW})\) trajectories coincide. a mean value, which reflects the real value with a probability higher than \(p\) = 0.5, more than 10 values should be taken for averaging. The time period of the PPG record, which contains at least 15 pulse waves, is called the blood pressure estimation window (BPEW) (see Figure 4). The time span for BPEW is based on the minimum possible heart rate of elderly patients with bradycardia, which can fall to 40 bpm. In such a case, one pulse wave fits in 60/40 = 1.5 s (the time interval between two heartbeats). Therefore, BPEW should not be less than \(15\times 1.5\approx 23\) s (we used a 25 s BPEW for better results). The BPEW duration remains constant during the whole PPG recording time. The signal being recorded is influenced by various noise sources: Breath, PPG sensor motion noise, high voltage lines' inducted noise, low amplitude PPG signal, and premature ventricular contraction, as reported in Reference [33]. This can lead to a situation where BPEW does not contain 15 pulse waves suitable for processing. In such a case, BPEW is dropped, and the next 25 s BPEW is taken for further calculations (non-overlapping moving window principle). This is completely acceptable for soft real-time self-measured blood pressure (SMBP) monitoring, since the final SBP value is estimated from several BPEW (in our case, one SBP value is obtained in a 5-min period, as explained later). Additionally, to reduce such cases, PPG sensor motion noise is eliminated using common signal processing methods. The width of the signal preprocessing window (SPW) is chosen according to the breath period, because it is the lowest-frequency noise in the signal. The inhalation phase in the PPG signal gives a rising/falling trend. Normally, in a calm state, a person performs around 10-20 breath cycles per minute, while inspiration takes approximately 5 s, as discussed in References [34; 35; 36; 37]. Therefore, SPW = 5 s is chosen for signal preprocessing in BPEW (see Figure 4). The following steps are performed for PPG signal preprocessing:  
(1) _Normalization_: The PPG signal in SPW is replaced by a signal with a zero mean and variability equal to one. (2) _Filtering_: Although the power of the high-frequency harmonics is small compared to the harmonics in low and mid-frequency bands (see Figure 5b), their influence on the form of the signal in the time domain is still obvious (see Figure 5a). Various algorithms are proposed for noise filtering: Empirical mode decomposition [38], discrete wavelet transform [39; 40; 41], infinite impulse response (IIR) [10] and fast Fourier transform [26]. The FFT technique is chosen in this work, the output of which is shown in Figure 6.  
The largest part of the energy of the PPG signal is accumulated in the frequency band up to 16 Hz. In this frequency band, the average frequencies describe the pulse wave structure, while the high frequencies define the details of the pulse waveform, as discussed in Reference [42]. The FFT filter is implemented by zeroing the frequency band above 16 Hz according to Reference [43]. The filtered signal (see Figure 7) is obtained by reverse FFT; then, the signal is normalized, making its average equal zero. (3) _Eliminating the rising/falling trend of the signal_: As mentioned before, the inspiration phase takes approximately 5 s, and therefore SPW contains PPG, which is influenced by breathing (see Figure 4), resulting in a rising/falling signal trend.