B.ZC Demodulation C.Path Selection After the signal is transmitted from the speaker,the micro- Before we reconstruct the respiration signals from multiple phone array at receiver side records the signals that comes paths,we need to first select correct paths to that contains from both the LOS path and the reflections of subjects and breath related signal patterns.As modeled in Eg.(2),we can denote breath related reflections as: the environment.On one pair of speaker/microphone,we can extract one set of CIR per OFDM frame by performing cR=Ae-(ern- dbody+d(t) (3) cross-correlation between the received signal and the known c×fa transmitted signal [15].Instead of using the time domain Where dody is the path length of user's body reflection,d(t)is down-conversion and correlation as in [15],we leverage the the chest movement during the exhaling and inhaling.which is frequency domain multiplication to perform the frequency- a periodic signal,and p is the phase shift cause by the software domain correlation which will greatly reduce the computa- delay and reflection phase inversion.Under this model,the tional complexity of correlation. corresponding CIR is: The received signal is modeled as: cirr因=Ae-(a+p)simC dbody+d(t) (4) P c x fs Aie-jo(t) n- Ti (2) As the OFDM signal is band-limited with a rectangular frequency gate function,the corresponding time-domain CIR Where zcRln]is received signal,P is the number of paths, is a convolution of the sinc function with the impulsive A;is attenuation coefficient of path i,o;is the phase shift response.For a breath movement with a period ofthe caused by the propagation/reflection of path i and Ti is the corresponding CIR peak will move back-and-forth with an time of flight (ToF)of path i.We first segment the received amplitude of dr around dbody.As the LOS and reflection from signal into frames with the same length of L.We then static environment or static body parts remain almost the same perform FFT on each frame and extract OFDM passband along with time,we can separate the static paths and the breath frequency components ZCRn]corresponding to the trans- related paths by their periodicity.After the system starts for mitted ZC.[n].We multiply ZCeln]by ZC In]to perform monitoring,we first determine the location of the LOS path by cross-correlation in the frequency domain.According to the voting for the maximum peak location of the first L,,frames ideal auto-correlation property of ZC sequence [16],the auto- which is set to 20 in experiments and is corresponding to correlation of ZCs [n]x ZC:[n]is all 1 in the frequency do- 2 seconds.The LOS localization is an one-time calibration main.Therefore,the cross-correlation gives an ideal CIR under because the distance between speaker and microphone is fixed the bandwidth limitation.We use zero-padding to expand the during the monitoring. frequency domain baseband length to L then perform an IFFT Static Signal Removal and Random Sampling:After loc- to get an interpolated time-domain CIR.The peaks in the alized the LOS path,we remove both the LOS path and static resulting CIR denote different delayed versions of transmitted reflection.As the LOS and static reflections corresponding to signal from different paths,as shown in Figure 2(a).Algorithm peaks with quasi-static amplitude and phase,we can remove 2 shows the detailed demodulation process. them by subtracting the average complex-valued CIR of each observation slot from each CIR frame.In this way,the remain- ing non-zero peaks corresponds to dynamical paths.We then Algorithm 2:Received signal demodulation randomly sample R frames in the observation slot to detect the Result:The interpolated time-domain cir[n] dynamical paths.The random sampling scheme is robust for 1 Perform FFT on zcRn]to get ZCRn. respiration detection as the paths corresponding to respiration 2 CIRbaseband[n]ZCR[n]x ZCs[n]. may periodically disappear due to chest movements. 3 Generate an all-zero sequence CIRIn] We use two extra constraints to remove the interference of 4 CIR[0:Ns-1]+CIRbaseband[0:s-] noisy paths.First,we remove peaks that have an amplitude s CIRL-s中:←CIRbasebandl:Nzd smaller than a threshold B of the maximum dynamical path 2 6 Perform IFFT on CIR[n]to the time-domain cir[n]. This effectively removes the fluctuation caused by the side- lobes of the sinc function and we set the threshold B=0.2. Second,we remove paths that are within To sample points to On each pair of speaker/microphone,we obtain one meas- avoid repetition. urement of cir[n]for an OFDM frame,which has a duration of Breath SNR Calculation:After detecting the dynamical 0.1 second.We assemble the measurement of CIR in multiple paths,we use the breath SNR to determine whether the path OFDM frames within an Observation Slot to form a 2D CIR contains respiration signal or other interfering movements.The map as shown in Figure 2(b).The time-domain resolution of breath SNR is based on the observation that the respiration 0.1s in the CIR map gives a sampling rate of 10Hz,which is signal will have a strong frequency component within the adequate for monitoring respiration signals that have typical breath frequency range of 0.1~0.5 Hz as indicated in Eq.(4). frequency of 0.1~0.5 Hz. Therefore,for a specific dynamical path,we first perform anB. ZC Demodulation After the signal is transmitted from the speaker, the microphone array at receiver side records the signals that comes from both the LOS path and the reflections of subjects and the environment. On one pair of speaker/microphone, we can extract one set of CIR per OFDM frame by performing cross-correlation between the received signal and the known transmitted signal [15]. Instead of using the time domain down-conversion and correlation as in [15], we leverage the frequency domain multiplication to perform the frequencydomain correlation which will greatly reduce the computational complexity of correlation. The received signal is modeled as: zcR[n] = X P i=1 Aie −jφi(t) zcT n − τi fs , (2) Where zcR[n] is received signal, P is the number of paths, Ai is attenuation coefficient of path i, φi is the phase shift caused by the propagation/reflection of path i and τi is the time of flight (ToF) of path i. We first segment the received signal into frames with the same length of L. We then perform FFT on each frame and extract OFDM passband frequency components ZCR[n] corresponding to the transmitted ZCs[n]. We multiply ZCR[n] by ZC∗ s [n] to perform cross-correlation in the frequency domain. According to the ideal auto-correlation property of ZC sequence [16], the autocorrelation of ZCs[n] × ZC∗ s [n] is all 1 in the frequency domain. Therefore, the cross-correlation gives an ideal CIR under the bandwidth limitation. We use zero-padding to expand the frequency domain baseband length to L then perform an IFFT to get an interpolated time-domain CIR. The peaks in the resulting CIR denote different delayed versions of transmitted signal from different paths, as shown in Figure 2(a). Algorithm 2 shows the detailed demodulation process. Algorithm 2: Received signal demodulation Result: The interpolated time-domain cir[n]. 1 Perform FFT on zcR[n] to get ZCR[n]. 2 CIRbaseband[n] ⇐ ZCR[n] × ZCs[n]. 3 Generate an all-zero sequence CIR[n]. 4 CIR[0 : Nzc−1 2 ] ⇐ CIRbaseband[0 : Nzc−1 2 ] 5 CIR[L − Nzc+1 2 : L] ⇐ CIRbaseband[ Nzc+1 2 : Nzc] 6 Perform IFFT on CIR[n] to the time-domain cir[n]. On each pair of speaker/microphone, we obtain one measurement of cir[n] for an OFDM frame, which has a duration of 0.1 second. We assemble the measurement of CIR in multiple OFDM frames within an Observation Slot to form a 2D CIR map as shown in Figure 2(b). The time-domain resolution of 0.1s in the CIR map gives a sampling rate of 10Hz, which is adequate for monitoring respiration signals that have typical frequency of 0.1∼0.5 Hz. C. Path Selection Before we reconstruct the respiration signals from multiple paths, we need to first select correct paths to that contains breath related signal patterns. As modeled in Eq. (2), we can denote breath related reflections as: zcRb [t] = Ae−j( 2πfd(t) c +p) zcT n − dbody + d(t) c × fs (3) Where dbody is the path length of user’s body reflection, d(t) is the chest movement during the exhaling and inhaling, which is a periodic signal, and p is the phase shift cause by the software delay and reflection phase inversion. Under this model, the corresponding CIR is: cirRb [t] = Ae−j( 2πfd(t) c +p) sinc n − dbody + d(t) c × fs (4) As the OFDM signal is band-limited with a rectangular frequency gate function, the corresponding time-domain CIR is a convolution of the sinc function with the impulsive response. For a breath movement with a period of 1 fb , the corresponding CIR peak will move back-and-forth with an amplitude of dr around dbody. As the LOS and reflection from static environment or static body parts remain almost the same along with time, we can separate the static paths and the breath related paths by their periodicity. After the system starts for monitoring, we first determine the location of the LOS path by voting for the maximum peak location of the first Lv frames which is set to 20 in experiments and is corresponding to 2 seconds. The LOS localization is an one-time calibration because the distance between speaker and microphone is fixed during the monitoring. Static Signal Removal and Random Sampling: After localized the LOS path, we remove both the LOS path and static reflection. As the LOS and static reflections corresponding to peaks with quasi-static amplitude and phase, we can remove them by subtracting the average complex-valued CIR of each observation slot from each CIR frame. In this way, the remaining non-zero peaks corresponds to dynamical paths. We then randomly sample R frames in the observation slot to detect the dynamical paths. The random sampling scheme is robust for respiration detection as the paths corresponding to respiration may periodically disappear due to chest movements. We use two extra constraints to remove the interference of noisy paths. First, we remove peaks that have an amplitude smaller than a threshold β of the maximum dynamical path. This effectively removes the fluctuation caused by the sidelobes of the sinc function and we set the threshold β = 0.2. Second, we remove paths that are within Tb sample points to avoid repetition. Breath SNR Calculation: After detecting the dynamical paths, we use the breath SNR to determine whether the path contains respiration signal or other interfering movements. The breath SNR is based on the observation that the respiration signal will have a strong frequency component within the breath frequency range of 0.1∼0.5 Hz as indicated in Eq. (4). Therefore, for a specific dynamical path, we first perform an