FFT along the time-axis to get the spectrum of the path.We then measure the maximum energy in the FFT bins within the E220 210.0 breath frequency range of 0.1~0.5Hz as Emaz.The breath SNR is defined as 70. which is a weighted sum of the uniqueness of the peak Breath pattern from subject 2 060 60 12.0 180 24.0 within the breath frequency range and the strength of the peak Time (s) comparing to other movements.In this way,we can detect Figure 4.CIR map with two users in the environment. the candidate paths that corresponds to breath movements for further path combinations in the next section. 2(d)compares the reconstructed respiration waveform and the IV.PATH COMBINATION ground truth waveform captured by the respiration belt. In this section,we reconstruct the respiration signal through B.Path Clustering for Multiple Users two-round path combinations on the candidate paths detected In real-world scenarios,there might be more than one user in the previous section.We also illustrate how to separate the in the room.Therefore,we need to distinguish the paths respiration signal of multiple users and how to track users if belonging to each user before performing the combination. they move during the monitoring. Separation of Different Users:As our ZC sequence has a range resolution of around 10 cm,we can separate users A.Two-Round Combinations by their different distances to the receiver.Figure 4 shows Traditional delay-and-sum combinations for beamforming the CIR map when there are two users at distance of 1 does not work well for respiration signal reconstruction as meter and 1.5 meters.We can clearly observe two traces shown by our experimental results in Section V.Therefore,related to the respiration signal from these two users at we propose a two-round combinations scheme to enhance the corresponding distances.We treat the user separation problem respiration signal. as an unsupervised classification problem and use the K-means Local Path Combination:According to our signal model, algorithm to perform clustering of paths.As different users the CIR samples surrounding each peak share the same pattern may have similar breath rates and phases,we use the distance of the path at the peak so that we can combine them to enhance as the feature of the clustering algorithm.After the clustering, the common features caused by breathing.Specifically,we the paths of the same user are more likely to be placed in the calculate the cross-correlation between the candidate paths and same class since the effective multipath reflections are mostly Nocat path samples around them to get the weight parameter. around the direct reflection.We then perform the two-round We then delay the surrounding paths and use a weighted-sum combinations algorithm to reconstruct the respiration signal of to add them to the candidate path to reduce the noise of the each user. single sample at the candidate peaks. In the multiple users scenario,each user may have different Path Combination from Different Distances:In this breath SNR.So,we reduce the SNR threshold to cover more subsection,we first consider path combination for a single paths to include more paths for multipath clustering. user where all candidate paths are from the same respiration movements.After the local combination,we gather the can- C.Tracking didate paths from different distances and microphones together Users may move during the respiration monitoring period. to form a matrix X with a size of n x Tp,where n is the Therefore,we need to relocate the users and regain synchron- total number of candidate paths and Tp is the number of ization after each movement.To achieve this.we divide the frames in the observation slot.We only use the amplitude of continuous monitoring period into shorter observation slots the candidate paths to avoid the phase noises in paths.We and perform user tracking within each slot. then remove the static part of each row through the LEVD To balance between the accuracy of movement detection algorithm [17]and apply a moving average filter with a length and delay of respiration rate estimation,we choose to set the of nine samples to smooth the waveform. observation slot length to 20 seconds,which lasts 200 OFDM Although these data are all from single user and share the frames.Within each observation slot,we perform movement same breath pattern,they have different phases and signal detection on the path index change and combination result. details,see Figure 2(c),caused by the propagation delay and When a movement occurs,the peaks found for breath will environment reflections.A straightforward method is to use move largely and the periodic pattern of the result will be the breath SNR as an indicator and exhaustively search for devastated.This is because we sample the frames randomly all possible phase delay parameter to maximize the SNR of within the observation slot,and the possibility of the small generated signal,which is time-consuming.Instead of using portions of movements being sampled is quite small and this method,we use the PCA algorithm to extract the principal the selected paths'major component are still breath related. components which are strongly correlated to the respiration However,when there are movements across the whole slot. signal.The first principal component of the signal matrix gives we should entirely discard the given slot.In this case,the re- a low-noise reconstruction of the respiration signal.Figure constructed waveform has an abrupt shape with no periodicityFFT along the time-axis to get the spectrum of the path. We then measure the maximum energy in the FFT bins within the breath frequency range of 0.1∼0.5Hz as Emax. The breath SNR is defined as w1 Emax ( P f∈[0.1,0.5] Ef )−Emax +w2 P Emax f∈[0.5,5] Ef , which is a weighted sum of the uniqueness of the peak within the breath frequency range and the strength of the peak comparing to other movements. In this way, we can detect the candidate paths that corresponds to breath movements for further path combinations in the next section. IV. PATH COMBINATION In this section, we reconstruct the respiration signal through two-round path combinations on the candidate paths detected in the previous section. We also illustrate how to separate the respiration signal of multiple users and how to track users if they move during the monitoring. A. Two-Round Combinations Traditional delay-and-sum combinations for beamforming does not work well for respiration signal reconstruction as shown by our experimental results in Section V. Therefore, we propose a two-round combinations scheme to enhance the respiration signal. Local Path Combination: According to our signal model, the CIR samples surrounding each peak share the same pattern of the path at the peak so that we can combine them to enhance the common features caused by breathing. Specifically, we calculate the cross-correlation between the candidate paths and Nlocal path samples around them to get the weight parameter. We then delay the surrounding paths and use a weighted-sum to add them to the candidate path to reduce the noise of the single sample at the candidate peaks. Path Combination from Different Distances: In this subsection, we first consider path combination for a single user where all candidate paths are from the same respiration movements. After the local combination, we gather the candidate paths from different distances and microphones together to form a matrix X with a size of n × Tp, where n is the total number of candidate paths and Tp is the number of frames in the observation slot. We only use the amplitude of the candidate paths to avoid the phase noises in paths. We then remove the static part of each row through the LEVD algorithm [17] and apply a moving average filter with a length of nine samples to smooth the waveform. Although these data are all from single user and share the same breath pattern, they have different phases and signal details, see Figure 2(c), caused by the propagation delay and environment reflections. A straightforward method is to use the breath SNR as an indicator and exhaustively search for all possible phase delay parameter to maximize the SNR of generated signal, which is time-consuming. Instead of using this method, we use the PCA algorithm to extract the principal components which are strongly correlated to the respiration signal. The first principal component of the signal matrix gives a low-noise reconstruction of the respiration signal. Figure Figure 4. CIR map with two users in the environment. 2(d) compares the reconstructed respiration waveform and the ground truth waveform captured by the respiration belt. B. Path Clustering for Multiple Users In real-world scenarios, there might be more than one user in the room. Therefore, we need to distinguish the paths belonging to each user before performing the combination. Separation of Different Users: As our ZC sequence has a range resolution of around 10 cm, we can separate users by their different distances to the receiver. Figure 4 shows the CIR map when there are two users at distance of 1 meter and 1.5 meters. We can clearly observe two traces related to the respiration signal from these two users at corresponding distances. We treat the user separation problem as an unsupervised classification problem and use the K-means algorithm to perform clustering of paths. As different users may have similar breath rates and phases, we use the distance as the feature of the clustering algorithm. After the clustering, the paths of the same user are more likely to be placed in the same class since the effective multipath reflections are mostly around the direct reflection. We then perform the two-round combinations algorithm to reconstruct the respiration signal of each user. In the multiple users scenario, each user may have different breath SNR. So, we reduce the SNR threshold to cover more paths to include more paths for multipath clustering. C. Tracking Users may move during the respiration monitoring period. Therefore, we need to relocate the users and regain synchronization after each movement. To achieve this, we divide the continuous monitoring period into shorter observation slots and perform user tracking within each slot. To balance between the accuracy of movement detection and delay of respiration rate estimation, we choose to set the observation slot length to 20 seconds, which lasts 200 OFDM frames. Within each observation slot, we perform movement detection on the path index change and combination result. When a movement occurs, the peaks found for breath will move largely and the periodic pattern of the result will be devastated. This is because we sample the frames randomly within the observation slot, and the possibility of the small portions of movements being sampled is quite small and the selected paths’ major component are still breath related. However, when there are movements across the whole slot, we should entirely discard the given slot. In this case, the reconstructed waveform has an abrupt shape with no periodicity