This application claims the benefit of German Patent Application No. 102015104726.8, filed Mar. 27, 2015, incorporated herein by reference.
It is sometimes desirable to make a human body physiological parameter estimation, in particular pulsation and breathing, e.g. for drivers and passengers of a vehicle. Such biological parameter monitoring has been described in the patent literature in French Patent Application Publications FR 2,943,233 A1, FR 2,943,234 A1 and FR 2,943,236 A1. For example, pulsation and breathing signals of a supported person can be acquired using piezoelectric sensors. As is known to those of skill in the art, piezoelectric sensors measure a variation of pressure, such that piezoelectric sensors embedded in a seat at home or in a car can measure a displacement created by blood flow pressure.
Embodiments of the present invention provide improved biological parameter monitoring. More particularly, embodiments described herein provide a robust biological parameter estimation for a subject on a support, e.g. a seat or bed, in which at least two sensors for measuring variation of pressure are embedded.
According to an example embodiment of the invention, a biological parameter of a subject who is present on a support is estimated, the support comprising at least two sensors each measuring a variation of pressure, wherein at least one accelerometer is connected to the support. A sensor-specific model is provided for each of the at least two sensors based on signals from the at least two sensors, the signals corresponding to the variation of pressure measured by the at least two sensors, respectively. In a selection process, at every time frame T, one sensor is selected out of the at least two sensors, to be used for estimating the biological parameter of the subject, based on signals from the at least one accelerometer. In an estimation process, the biological parameter of the subject is estimated using, at every time frame T, the sensor-specific model provided for the selected one sensor, thereby providing a robust pulsation estimation by changing the sensor on which the estimation should be done.
In the following the invention will be described by way of embodiments thereof with reference to the accompanying drawings.
According to the present invention, biological parameters such as heartbeat and/or respiratory rhythm of a subject on a support are estimated. By way of non-limiting example, the support may comprise a seat, e.g. at home or of a car, or a bed. The support preferably includes at least two sensors which measure a variation of pressure, e.g. piezoelectric sensors.
The support may further include at least one accelerometer. In case the support is implemented as a seat in a vehicle, accelerometers positioned on the seat act particularly as reference sensors for surrounding noise such as vibration noise or the like from the vehicle, and detect noise in three orthogonal directions.
While driving, body movements are frequent and can have large amplitude. As body movement is considered here the movement of all body parts, e.g. legs, hands, corpus, head, individually or simultaneously. The body movements can be classified into two categories: movements related to driving, and movements related to physiological or psychological condition.
Here it is assumed that at least two sensors, e.g. two piezoelectric sensors, are embedded in a support such as a seat and are not noisy or already de-noised.
A. Architecture
It is to be noted that signals and functions described in the embodiment are present in the digital domain.
The apparatus 1 shown in
Signals 61 e.g. from sensors of a support (not shown) such as a seat in a vehicle (e.g. top seat piezo sensors and bottom seat piezo sensors) are processed by the apparatus 1. The signals 61 are digitized sensor (e.g. piezoelectric sensor) outputs that are noise reduced. The apparatus 1 may also process signals 161 e.g. from accelerometers comprised by the support, e.g. the seat in the vehicle. The signals 161 are digitized outputs from the accelerometers.
In this example embodiment, in the IMM-EKF block 20 only one sensor at every time frame is used. Therefore, assuming that there are N sensors, the ASCE block 30 selects one of the N sensors for a given time frame T. T may be in the order of 500 ms, one second or 2 s, etc.
The apparatus 1 represents an embodiment of the invention, for estimating a biological parameter 40 of a subject on a support, the support comprising N (N>=2) sensors each measuring a variation of pressure. M (M>=1) accelerometers are connected to the support. The apparatus 1 comprises linear/nonlinear state-space models (sensor-specific model) 21, 22 for each of the N sensors based on signals 61 from the N sensors, which will be described in more detail later on. The signals 61 corresponding to the variation of pressure measured by the N sensors, respectively. In a selection process, the ASCE block 30 selects, at every time frame T, one sensor out of the N sensors, to be used for estimating the biological parameter 40 of the subject in the IMM-EKF block 20, based on the signals 161 from the M accelerometers or the signals 161 and the signals 61, which will be described in more detail later on. In an estimation process, the IMM-EKE block 20 estimates the biological parameter 40 of the subject using in the biological parameter estimation & tracking block 24, at every time frame T, the sensor-specific model 21, 22 provided for the selected one sensor and switched by the models switching block 23, which will be described in more detail later on.
A block H0 in the ASCE block 30 comprises a test if a noise distribution is a Normal distribution (Gaussian distribution). A block PDF in the ASCE block 30 comprises a probability density function which is a function that represents the relative likelihood for a random variable, here noise. A block KL in the ASCE block 30 comprises the Kullback-Leibler divergence, and a block q-Hurst in the ASCE block 30 comprises qth order Hurst parameters according to the Random Multifractal theory.
1. The Automatic Sensor Change
A principle of automatic sensor change according to an embodiment of the invention is shown in
At every time frame T, feature parameters are computed for every accelerometer signal 161 or accelerometer signals 161 and sensor signals 61. The accelerometers measure vibration noise and are also influenced by some body movements.
The feature vector enters into a model of automatic sensor change models 31 of the ASCE block 30, and finally a decision is made about a sensor number (sensor#) to be used in the estimation process in the IMM-EKF block 20.
1.1 The Feature Vector
The feature vector is a set of parameters extracted from the accelerometers and sensors. The type of parameters is not limited. For example, the following parameters can be used:
a) q-Hurst Parameters
These parameters are based on the Random Multi-Fractal theory. The idea behind is to find a particular structure that is invariant of noise and sensor signal. The q-order Hurst exponents are used to parameterize the multifractal structure of the accelerometer signals 161 and sensor signal 61. The q-Hurst parameters are computed using multifractal de-trended fluctuation analysis.
A first operation is to integrate the signal. This is done by a cumulative sum
where xint is the integrated accelerometer or sensor signal and x is the accelerometer or sensor signal.
The average amplitude variation, i.e. Root Mean Square (RMS), is computed using
where F is the RMS value for scale s and segment index v. And is the quadratic de-trending of xint given by
where a comprises the fitting coefficients.
Generalizing, with q parameters, the multifractal amplitude variation is obtained as:
Then the q-Hurst parameter is obtained by estimating the slope of log2Fq(s). The “q” in Hurst parameter is an additional scale that when q is negative, segments with very small fluctuation are amplified, and when q is positive, segments with very large fluctuation are amplified.
Computation is therefore done for several scales s, for example s=4, 8, 16, 32, 64, 128, 256, 512. This is repeated for every desired q value, for example q=−5, −1, 5.
Since the q-Hurst parameter is the slope, and if there are 3 values for q, one possible feature vector will have a length of N*3, depending of the number of sensors. For example, if the sensors are subjected to the computation and there are 14 sensors in the seat, the feature vector input into model 31 is of length 42. By using the above feature vector it is possible to decide about the best sensor, i.e. the sensor to be used for the biological parameter estimation.
b) Statistical Parameters
One other possibility is to combine statistical descriptors to create the feature vector. Such computations are also done for each time frame T.
Null-Hypothesis (H0) Test that the Distribution comes from a Normal Distribution
This computation is done for all sensors or accelerometers and comprises the Lilliefors test for Normality. If the data distribution is Normal then H0=0 and H0=1 otherwise.
A first step is the computation of mean and standard deviation values of the sensor signals 61 and/or the accelerator signals 161, which are given by:
where xk is the kth data sample of the current time frame. The time frame has L samples. and σ are
A second step computes the normalized value, for all samples of the frame:
Then, the Lilliefors test LF is computed by
LF=sup|F(x)−S(x)|
where LF is the supremum of the absolute value of the difference between the zero-mean Normal distribution with variance 1 (F(x)) and the empirical distribution of the Zk values. The test is rejected if LF is greater than the critical value for the test (the critical values are given by a table).
Hence, a measure of the variability of the noise probability distribution compared to the Normal probability distribution is derived. This comparison is made at every time frame.
The Probability Density Function (PDF)
The previous descriptor shows that the noise distribution not often is Gaussian, and therefore it is interesting to add a descriptor which details the shape of the distribution for all accelerometers or sensors.
The PDF can be computed by taking the histogram of the data of the accelerometer or sensor signals, or preferably using a kernel density estimation approach which converges to the true PDF, and is given by:
where h is the bandwidth and K is the kernel. For example, the kernel can be Normal, Uniform, Epanechnikov, etc.
As can be seen from
The Kullback-Leibler (KL) Divergence Cross PDFs
The PDF estimates at every time instant have been obtained. It may be also important to have a measure of the variation of the distribution on a given sensor compared to other sensors. Therefore, at a given time the KL divergence is computed for all sensors, cross all sensors at time
The KL divergence is given by:
where f and h are the 2 PDF to compute the divergence.
Therefore, if there are fourteen (14) sensors, there are 14*14=196 values computed at a given time.
Additional Statistical Parameters
In addition, the 3rd and 4th statistical moments can be computed, i.e. skewness and kurtosis, respectively, and added to the feature vector. They are given by
where all these parameters comprise the feature vector.
1.2 The Target
The target is the sensor number. Thus, the best probable sensor has to be decided for every time frame, e.g. by first checking the pulsation estimation on every sensor.
1.3 The Model
A nonlinear model is used based on Neural Networks (NN), because NNs can model any type of nonlinearity. The structure of the Neural Network that is used to perform the classification (i.e. decision about the most probable best sensor) is shown in
As also depicted in
The sensor number decision is the element of the output which has the maximum value, i.e. highest probability. The structure is ready for other type of decision, since there is a probability given, at every second, for every sensor number. Most preferably, the structure is adapted to the type of input feature vector.
The structure shows a hidden layer and an output layer. The number of neurons in the hidden layer depends on the structure and the input parameters (feature vector), for example 250 neurons, but can be whatever value that achieves a reliable sensor number prediction. The hidden layer contains a weight (w), a bias (b) and a nonlinear function, a sigmoid in this case (for one neuron). The output layer contains a weight (w), a bias (b) and a nonlinear function, here a softmax function.
The sigmoid and softmax equations used are given below:
where the softmax function provides a measure of certainty (i.e. posterior probability).
At first, data has to be prepared for the computation of the parameters. This is described below.
The input matrix should have forty-two (42) lines corresponding to the number of q-Hurst parameters of the for all 14 sensors, and C columns which correspond to the number of seconds of data given per parameter. Each new column is a different time instant, as explained previously. The target matrix has the same number of columns as the input matrix, however there are only 14 lines, each one corresponding to a sensor. Therefore, only the corresponding selected best sensor has to be set to one and other values must be zero.
The parameters of the model 31 can then be computed. This process is also called training, because it is an iterative computation and the same target value can have different input values. This computation is done using the scaled conjugate gradient backpropagation approach. This same computation method can hold for a different feature vector, like the statistical descriptors feature vector.
Once the parameters of the nonlinear model 31 are computed, it can be used to decide the sensor to be used for pulsation estimation.
Then, at every time frame, the q-Hurst parameters are computed, or the statistical descriptors are computed, for the sensors or accelerometers, and the feature vector xfeature of parameters is created. This vector is used in the following computations. First the input should be mapped by using
y
map(k)=(xfeature(k)−xoffset(k))*G(k)−1
where xoffset is the offset to be removed from the feature vector and G is the gain. These offsets and gains were computed in the previous offline procedure.
Then, the output of the hidden layer is computed, which is
y
hidden
=y
sigmoid(Bhidden+Whiddenymap)
where Bhidden is the bias vector of the hidden layer which has a length equal to the number of neurons in the hidden layer, Q, Whidden is a matrix of coefficients of the hidden layer, that is of size [Q×P], P is the length of the feature vector, and ysigmoid is the nonlinear sigmoid function where the equation was given earlier. The output of the hidden layer is a vector of length Q.
The last step is the computation of the output of the output layer, which is given by the following equation:
y
out
=y
softmax(Bout+Woutyhidden)
where Bout is the bias vector of the output layer which has a length equal to the number of sensors N, Wout is a matrix of coefficients of the output layer, that is of size [N×Q], and ysoftmax is a the nonlinear softmax function for which the equation was given earlier. The output yout is a vector of length equal to the number of sensors, i.e. N. The best probable sensor is then the number of the element corresponding to the largest value in yout.
It should be noted that neural networks are not the only possibility, and can be replaced by Hidden Markov Models. The sensor number is communicated to the IMM-EKF block 20.
2. The Robust Pulsation Estimation with IMM-EKF
An Extended Kalman Filter (EKF) is known to those of skill in the art. For example, an EKF is described in French Patent Application Publications FR 2,943,233 A1, FR 2,943,234 A1 and FR 2,943,236 A1, incorporated herein by reference.
In this example embodiment, since only one sensor is kept at a time for pulsation estimation, and it is changed in time, when it is necessary using the previously described approach for Automatic Sensor Change, the Kalman Filter needs to be adapted to switch observation models and state-space models, when the condition requires it.
The role of the IMM-EKF block 20 is to estimate the pulsation in a robust way, regardless of vibration noise and body movements, e.g. if contact with sensor remains. The IMM-EKK block 20 is an extended version of the EKF that can switch between models. Basically, it consist of three main steps: mixing, filtering and combination.
The decision of changing the model is based mainly on mixing probabilities. An EKF estimation is executed on every model in this example embodiment. Since, in this example, information on a sensor number to be used for estimation is provided, the original IMM-EKF approach is modified to use such information. Since there is the possibility to switch between N sensors, there are provided N state-space models and N observation models (linear state-space models 21 and nonlinear observation models 22).
2.1 Preprocessing of Piezo Sensors
Prior to using the sensor signals 61 in the IMM-EKF block 20, which are noise reduced but still contain some noise, a preprocessing is carried out in order to maximize the estimation performance,
Pass-Band Filter
First, the sensor signals 61 are subjected to pass-band filtering. The pass-band filter used for this purpose is centered on frequencies of interest for the pulsation estimation. An Infinite Impulse Response (IIR) filter has been designed having the following characteristics:
Center frequency: f0=1.3 Hz
Pass-band: b=2.5 Hz
Order: 3
To design such a filter, the following computations are done:
w
0
=πb; w
1=2πf0
and the following vectors are defined:
Then, since the filter order is 3, these values are convolved twice in the following way:
B=B0; A=A0
B=B*B
0 (to be done twice)
A=A*A
0 (to be done twice)
where “*” is the symbol for convolution (and not multiplication).
Then, since an IIR filter has been designed, the bilinear transform is used to move the design to the Z-domain. For the bilinear transform we use the warp frequency as
The characteristics of the filter are shown in
b) Normalization
The pass-band filtered signal then is subjected to normalization. This first normalization divides the sensor signals by the standard deviation of the first frame (i.e. five seconds).
where Sn,i is the normalized signal of sensor i, Si is the sensor signal St|0<t
c) Nonlinear Transform
The vibrations and body movements cause large variations of amplitude in the sensor signal depending the situation. These large variations of amplitude may have an impact on the pulsation estimation. Therefore, a nonlinear transformation step aims to provide a signal that has constant amplitude but where oscillations are kept.
The hyperbolic tangent is used as the nonlinear transform function, and the signal after nonlinear transformation is computed to:
d) Pass-Band Filter
The same pass-band filter as previously explained in section a) is applied after the nonlinear transformation. This results into a more sinusoidal shape of the 5 signal.
e) Centering
Then, after applying the pass-band filtering again, the following operation of centering represents the removal of the sample mean value from the signal:
where Yc,i is the centered signal, Ybp,i is the band-passed signal as processed in d), and
1) Normalization
This last step is the final normalization of the preprocessed sensor signal. It is a normalization by the standard deviation value over the signal duration, or the current frame T:
2.2 Initialize State Parameters
State parameters of the IMM-EKF block 20 are set into a vector form for the ease of the estimation procedure. Since there are N sensors, there are N models 21, 22, and there are also N state vectors that will be used for estimation. As mentioned before, N may be equal to 14 for example, but is not limited thereto.
The parameters to be estimated are the frequency f, amplitude A and phase φ. The state vectors are then:
The N state vectors {circumflex over (x)}i have 3 parameters to be initialized in the IMM-EKF block 20. For example, these 3 parameters are estimated using the first 1.5 seconds of the sensor signals. Although these parameters can be filled randomly, the convergence time may be longer in case of no good choice.
The ESPRIT frequency estimator uses a deterministic relationship between subspaces. The first operation to be done is to build a data matrix X. This is done in the following way:
where x is data of the sensor signal, and D is a window size. For example, D=8 . “O” is the number of samples used.
Then, on the X matrix the Singular Value Decomposition is applied (SVD), and X can be rewritten as X=LSU, where L is a [O×O] matrix of left singular vectors and U is a [D×D] matrix of right singular vectors. S is a [O×D] matrix of singular values on the main diagonal ordered in descending magnitude.
U forms an orthonormal basis for the Multi-dimensional vector space. This subspace can be partitioned into signal (Us) and noise (Un subspaces. The threshold between subspaces is set to P=5. This means that Us is the matrix of right-hand singular values with the P largest magnitudes.
The next step is to stagger subspaces by separating them into U1 and U2. U1 contains the element from 1 to D-1, and U2 contains the elements from 2 to D. The rotational property is between staggered subspaces and this produces the frequency estimates.
Then, ψ is computed as:
Ψ=(U1TU1)−1U1TU2
The frequency estimates are then given in
As shown in
The amplitude and phase can be set to zero, without influencing the pulsation estimates. If a precise estimate is desired, this can be achieved by using the Least-Square parameter estimation. These values are set for all N=14 state vectors, in this example.
2.3 Initialize Process and Noise Covariance
The process noise is the noise related to the state parameters. There are two parameters where the process noise is needed to be defined. The frequency estimate noise df and the amplitude estimate noise dA.
Amplitude estimate noise dA is not of very high influence for the IMM-EKF pulsation estimation. It is simply set (e.g. found empirically) to dA=5.10−11. Frequency estimate noise df is of high influence in the IMM-EKF and will enable good tracking of the pulsation or very bad tracking if mistaken. The value of df is computed online based e.g. on the first 1.5 second of the signal from each sensor. This value might be different on each sensor.
A nonlinear model was found between sensor covariance values and optimum values for df based on the computation of the Cramer-Rao Lower Bound. These optimum values can be easily found empirically, by setting different values for df and checking the results achieved by the EKF when estimating the pulsation. The best pulsation estimation leads to the best df values. In other words, in this example a model is sought for fitting the input (observation covariance) and the known optimum df values.
If a polynomial fitting is used, the error will be relatively high. With neural networks complex nonlinearities can be modeled.
Once the model is computed then it can be used online e.g. during the first 1.5 seconds of the sensor signals. The computation is then very similar to the automatic sensor change, and is given below:
y
map=(R−xoffset)*G−1
where xoffset is the offset to be removed from the observation covariance R and G is the gain. These offsets and gains were computed in the previous offline procedure.
Then, the output of the hidden layer is computed, which is
y
hidden
=y
sigmoid(Bhidden+Whiddenymap)
where Bhidden is the bias vector of the hidden layer which has a length equal to the number of neurons in the hidden layer, Q.
Whidden is a vector of coefficients of the hidden layer, that is of size [Q×1]. ysigmoid is the nonlinear sigmoid function where the equation was given earlier. The output of the hidden layer yhidden is a vector of length M.
The last step is the computation of the output of the output layer, which is given by the following equation:
where Bout is the bias vector of the output layer which has a length equal to 1. Wout is a vector of coefficients of the output layer, that is of size [1×Q]. The output df is to be directly used in the IMM-EKF block 20. The remaining noise covariance estimate is the variance of the sensor signal in the current time period.
2.4 IMM-EKF Estimation
There are N state vectors named {circumflex over (x)}1 to {circumflex over (x)}N and the 3 parameters, frequency, amplitude and phase, that are different for all models 21, 22. The IMM-EKF general equations for all sensors are given by:
x
k
i
=F
k-1
x
k-1
1+vki
y
k
i
=h
k-1(xki)+wki
where is the linear state space equation at the sample k, and yk is the nonlinear observation equation. vk and wk are respectively the process and observation noises. The index i is the sensor number. Fk-1 is the linear state-space model at sample time k-1, and hk-1 i is the nonlinear observation model at sample time k-1.
F is the linear state-space transition matrix and in our case is equal to:
The state-space matrix may be changed during the model switching by the models switching block 23 shown in
For example, the observation equation can be rewritten as:
y
k
i
=A
k
i sin φki+wki
The observation equation may be a sum of sinewaves as described in French Patent Application Publications FR 2,943,233 A1, FR 2,943,234 A1 and FR 2,943,236 A1, incorporated herein by reference. The IMM-EKF has three steps, and their equations are given below:
Prediction:
{circumflex over (x)}
k|k-1
i
=F{circumflex over (x)}
k-1|k-1
i
P
k|k-1
i
=Q
i
+FP
k-1|k-1
i
F
T
where {circumflex over (x)}k|k-1 is a prediction of a current state parameters knowing the previous parameters, {circumflex over (x)}k-1|k-1 are the previous state parameters, Pk|k-1 is the prediction of the covariance knowing the previous covariance, and Q is the process noise covariance.
Update:
{circumflex over (x)}
k|k
i
={circumflex over (x)}
k|k-1
i
+K
k
i(yki−hk(xk|k-1i))
P
k|k
i
=P
k|k-1
i
−K
k
i
S
k
i
K
k
T
where
S
k
i
={tilde over (H)}
k
i
P
k|k-1
i
{tilde over (H)}
k
T
+R
i
K
k
i
=P
k|k-1
i
{tilde over (H)}
k
T
S
k
−1
Since h is a nonlinear function, it needs to be linearized. Therefore, {tilde over (H)}ki is the local linearization of the nonlinear function h for sensor i. It is defined as the Jacobian evaluated at {circumflex over (x)}k, k-1i and in the case mentioned above, it results to:
Model Switching:
The state vector estimates for all sensors have been derived, and therefore depending on the decision of the automatic sensor change block 30, the final state parameters estimates are given as:
{circumflex over (x)}k|k={circumflex over (x)}k|kp
P
k|k=Pk|kp
where p is the sensor number predicted by the automatic sensor change block 30.
When the Automatic Sensor Change and the IMM-EKF are combined a robust pulsation estimation can be achieved even under strong body movement and in general for all body movements.
In the present example, an automatic sensor change decision is provided that predicts, at every time frame T, one sensor (preferably the best sensor) to be used for the pulsation estimation depending on the noise and body movements. In addition, pulsation estimation using sensor change information is provided within an IMM-EKF that switches models, when it is judged necessary.
The functions of the apparatus 1 shown in
The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The processor may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as non-limiting examples.
Further in this regard it should be noted that the various logical step descriptions above may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions.
It is to be understood that the above description is illustrative of the invention and is not to be construed as limiting the invention. Various modifications and applications may occur to those skilled in the art without departing from the scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
102015104726.8 | Mar 2015 | DE | national |