## 2 Materials and Methods
### Signal Processing Method
This Phase Unwrapping process is carried out in phases so that the resulting phases range between \(-\pi\) and \(+\pi\), i.e., phases that reflect the actual chest displacements [19]. The results of this Phase Unwrapping process are displayed in the image of the measurement result with the name Chest Displacement. Then the next process is the Phase Differences. Phase Differences are conducted by subtracting the results of sequential unwrapped phases. The goal is to obtain a strong heartbeat signal and to eliminate phase shift. Next is Impulse Noise Removal. The Phase Unwrapping process may cause this impulse-shaped noise. After this, filtering is conducted to obtain breathing and heartbeat data. Breathing data is obtained as the output of the Band Pass Filter with a passband of 0.1-0.5 Hz. At the same time, the heartbeat data is obtained as the output of the Band Pass Filter with a passband of 0.8-4.0 Hz. The output of these two BPFs is shown as Breathing Waveform and Heart Waveform in the measurement picture. Breathing BPF output is directly entered into the Rate Estimation stage, while the heartbeat BPF output is first passed through the Motion Corrupted Segment removal. This process aims to reduce the effect of amplitude movements that are too large in the heartbeat estimation. If the energy of the data segment is less than the specified energy limit (\(E<E_{Th}\)), the data segment is continued to the buffer to be processed at Rate Estimation. If the energy of the data segment is greater than the specified energy limit (\(E>E_{Th}\)), the data segment is discarded. In the Rate Estimation, three processes are carried out: FFT, autocorrelation, and estimation of vital signs based on the distance between peaks (Peak Interval) in the waveform in the time domain. FFT needs to be implemented to obtain spectral information \(x(t)\) from the breathing waveform and heartbeat waveform. This spectral information \(x(t)\) contains peak values [20] with positions that are at a certain distance from one another. This distance is referred to as Peak Interval. These peak values are the harmonics of the fundamental frequency. The fundamental frequency's period is the distance between peaks. Auto-correlation [21] is required to identify a fundamental frequency in this spectral information \(x(t)\). Furthermore, as the final stage, vital sign decisions are carried out based on confidence metrics [5] both for breathing and for heartbeat so that the resulting breathing rate and heartbeat rate are generated. The experiment used four types of programming software to conduct signal processing. The first is Cython [22] programming software. Here we write a source code file with extension pyx. We call it the pyx file, as shown in Figure 6.1 Then from the file, cython generates a C Extension File, which we call c file. This C programming is chosen because its running time is the fastest among other programming languages. This C file also contains source code in Python. The C compiler then compiles this c file to become a Python Extension Module [23] with extension pyd, which we call a pyd file. The.pyd file also includes library files. The library files are *.h files and *.c files. The.pyd file can be imported directly by the Python source code. Then along with PyQt [24], the Python source code is assembled to produce images and numbers of heartbeat rates and breathing rates in the form of a Graphical User Interface (GUI) on a computer screen [25].