*2.3. Proposed Feature Vector Extraction Scheme*

As explained above, because the maximum Doppler frequency of human vital signs is less 1 Hz, in our design, the update time of vital sign detection is 1 sec. In a previous study [13], vital signs were analyzed every one second. Thus, in this paper, we generate a micro-Doppler image for human motion detection every second to synchronize the update time with the vital sign extraction point.

Figure 8 shows the timing diagram used to synchronize the micro-Doppler image for motion detection and the Doppler spectrum for vital sign detection. In this case, the data collection time is initially set to 8 s to generate the first frame's Doppler spectrum for vital sign detection.

using NI's LabVIEW tool For a detailed explanation of the motion feature extraction process, we define the data stored in FIFO as *Xm*(*i*, *j*), *i* = 1 ∼ *Km*, *j* = 1 ∼ *L* , where *K<sup>m</sup>* is the Doppler-bin size and *L* is the number of sub-frames. In this paper, because we set *K<sup>m</sup>* to 2048 and *L* to 10, the size of the micro-Doppler image in one frame is 2048 by 10.

To extract the first and second feature vectors, we first count the number of scattering points stored in FIFO memory every sub-frame, which is expressed as Equation (1). From *Y*(*j*), we can obtain the corresponding count value in the *j*th sub-frame.

$$Y(j) = \text{Count}[X\_m(i, j) > 0] \text{ for } i = 1 \sim K\_m \tag{1}$$

While the vital sign signals of a non-moving passenger or the Doppler signal of another moving object have a narrow distribution of the frequency spectrum, a wide Doppler spectrum can appear when a human moves on the seat of the vehicle. In this paper, to express these characteristics, we define the 'extended degree of scattering points' as the first feature, *x*1,. This is expressed by Equation (2), which indicates the average number of scattering points of all sub-frames.

*Sensors* **2020**, *20*, 6202

In addition, while the Doppler signals from the breathing of a still human are mostly maintained over time, the passenger's movements may not be continuous. Thus, the distribution of the Doppler scattering points can vary over the sub-frames. Thus, in this paper, we define these characteristics as the 'different degree of scattering points', i.e., as the second feature *x*2. Equation (3) is used to solve *x*2, which is obtained by averaging the differences between the numbers of scattering points of two consecutive sub-frames.

These two feature vectors make it possible to determine whether or not a moving object on a seat in a vehicle is human.

$$\mathbf{x}\_1 = \left\{ \sum\_{j=1}^{L} \mathbf{y}(j) \right\} / L \tag{2}$$

$$\mathbf{x}\_2 = \left\{ \sum\_{j=1}^{L-1} \left| Y(j+1) - Y(j) \right| \right\} / (L-1) \tag{3}$$

Next, we define the Doppler frequency spectrum as *Xv*(*i*), *i* = 1 ∼ *K<sup>v</sup>* to process the results of the Doppler frequency-based vital sign feature extraction, where *K<sup>v</sup>* is the Doppler-bin size. That is, we count the number of scattering points with values greater than reference value for noise thresholding. The reference value can be obtained as the measured noise signal in blank space.

$$Z = \text{Count}[X\_{\overline{v}}(i) > \text{reference value}] \text{ for } i = 1 \sim K\_{\overline{v}} \tag{4}$$

Using the results of Equation (4), we define *x*<sup>3</sup> as the 'presence of vital signs', and the third feature is expressed in Equation (5). When using the feature vector *x*3, we can determine whether or not a non-moving or slightly moving object is a human.

$$\text{tr}\_3 = \begin{cases} \text{if } Z > 0, \text{ then } \text{logic}'1' \\ \text{else } \text{logic}'0' \end{cases} \tag{5}$$

The three extracted feature vectors are fed into the machine learning engine for learning and testing. In this paper, we employ a BDT (Binary Decision Tree) as the machine learning method.

The BDT is a popular and simple machine learning algorithm based on a sequential decision process because a feature is evaluated as one of two branches, which is selected starting from the root of the tree. Thus, we can easily implement the BDT in an embedded system for machine learning based on the three features proposed in this paper, using only the "if–else" syntax in real time [15].

#### **3. Measurement Results**
