METHOD FOR ESTIMATING THE BIAS OF A SENSOR
20180266825 ยท 2018-09-20
Assignee
Inventors
Cpc classification
G01P21/00
PHYSICS
G01P15/16
PHYSICS
G01C21/16
PHYSICS
G01C19/5776
PHYSICS
International classification
G01C19/5776
PHYSICS
G01C21/16
PHYSICS
G01P15/16
PHYSICS
Abstract
The invention is a method for estimating and updating the bias of a sensor. After an initialization phase, the method includes the following steps: acquiring a signal (s.sub.k) at a measurement time (t.sub.k), there corresponding to each measurement time a bias (m.sub.k) determined in a preceding iteration or during the initialization and a dispersion threshold (v.sub.th,k) determined in a preceding iteration or during the initialization; associating an analysis time period (t.sub.k) with the measurement time (t.sub.k), and calculating a dispersion indicator (v.sub.k) representing a dispersion of the signals acquired over the analysis time period; comparing the dispersion indicator thus calculated with the dispersion threshold (v.sub.th,k) used in the first step; depending on the comparison, either keeping the bias at an unchanged value or updating the bias; subtracting the bias (m.sub.k) resulting from the preceding step from the signal (s.sub.k) acquired at the measurement time; and incrementing the measurement time (t.sub.k) and reiterating the steps listed above.
When the bias is updated, the dispersion threshold is also updated depending on the dispersion indicator (v.sub.k) calculated at the measurement time.
Claims
1. A method for processing signals generated by a sensor, each signal being associated with a measurement time, the method comprising: a) during an initialization phase, defining an initial dispersion threshold and an initial bias, the latter possibly being zero; b) acquiring a signal at a measurement time, there being associated with this measurement time: a bias determined in a preceding iteration or during the initialization; a dispersion threshold determined in a preceding iteration or during the initialization; c) associating an analysis time period with the measurement time, and calculating a dispersion indicator representing a dispersion of the signals acquired over the analysis time period; d) comparing the dispersion indicator calculated in c) with the dispersion threshold associated with the measurement time; e) depending on the comparison of d), either keeping the bias associated with the measurement time at an unchanged value or updating the bias, the update of the bias also including updating the dispersion threshold depending on the dispersion indicator calculated in c); f) subtracting the bias resulting from e) from the signal acquired in b); and g) incrementing the measurement time and reiterating b) to f); wherein in step e), when the bias is kept at an unchanged value, the dispersion threshold is updated, between two successive iterations of b) to f), according to a variation function.
2. The method of claim 1, wherein, in e), the bias is updated when the dispersion indicator crosses the dispersion threshold.
3. The method of claim 1, wherein, in e), in the update of the dispersion threshold, the latter is replaced by the dispersion indicator calculated, at the measurement time, in c).
4. The method of claim 1, wherein the dispersion indicator calculated in c) increases as the dispersion of the signals acquired over the analysis time period increases, in which case, in step e), the bias is updated when the dispersion indicator is lower than the dispersion threshold.
5. The method of claim 1, wherein the dispersion indicator calculated in c) decreases as the dispersion of the signals acquired over the analysis time period increases, in which case in e), the bias is updated when the dispersion indicator is higher than the dispersion threshold.
6. The method of claim 1, wherein, in d), the dispersion indicator is calculated depending on: a moment of order higher than 1 of a distribution of the signals acquired over the analysis time period, the moment possibly being a central moment or a standardized moment; or a deviation between a maximum value and a minimum value of the signals acquired over the analysis time period.
7. The method of claim 1, wherein, in e), the update of the bias comprises associating an estimation time period with the measurement time, the bias being updated depending on a value representative of the signals measured over the estimation time period.
8. The method of claim 7, wherein e) includes estimating the mean value or the median value of the signals generated by the sensor over the estimation time period.
9. The method of claim 7, wherein the analysis time period and the estimation time period are the same.
10. The method of claim 1, wherein the sensor is a movement sensor, the signal generated by the sensor at each measurement time being representative of a movement of the sensor at the measurement time.
11. The method of claim 10, wherein the sensor is a gyrometer.
12. The method of claim 1, wherein two successive iterations are carried out every n measurement times, n being an integer strictly higher than 1.
13. A sensor configured to deliver a signal at various measurement times, the sensor being connected to a processor configured to implement, at various measurement times, steps b) to g) of the method as claimed in claim 1, after an initialization phase corresponding to step a) of the method.
14. The sensor of claim 13, the sensor being a movement sensor able to generate, at each measurement time, a signal representative of a movement of the sensor at the measurement time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0035]
[0036]
[0037]
[0038]
[0039]
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
[0040]
[0041] In the following examples, an angular velocity about one axis of rotation is considered even though the method may be applied to a plurality of axes of rotation. In the latter case, the method may be applied to each axis of rotation independently.
[0042] The device includes a processor 20 configured to acquire the signals s.sub.k delivered by the gyrometer 10 and to implement the steps described below. The processor 20 is connected to a memory 21 containing instructions for implementing said steps.
[0043]
[0044] Beyond an initialization phase t.sub.0 corresponding to the first acquired signals, it is possible to assign an analysis time period t.sub.k to each measured signal s.sub.k, and to calculate, for said period, an indicator, called the dispersion indicator v.sub.k. The dispersion indicator v.sub.k is representative of the dispersion of the signals measured over the analysis time period t.sub.k associated with the measurement time t.sub.k. The objective of the dispersion indicator is to detect times of immobility at which the sensor may be considered to be immobile. Just as in the prior art, it is at such times of immobility that the bias of the sensor may be estimated.
[0045] The analysis time period t.sub.k contains measurement times preceding a measurement time t.sub.k. For example, each analysis time period t.sub.k contains the times t.sub.k . . . t.sub.kK where k corresponds to the increment of the measurement time at which the signal s.sub.k is measured and K is a positive integer corresponding to the number of measurement times forming the analysis time period t.sub.k. K is preferably high enough to make it possible to estimate a dispersion indicator v.sub.k that is sufficiently representative of the dispersion of the measurement signals over the analysis time period t.sub.k. K naturally depends on the sampling frequency. When the latter is comprised between 10 and 200 Hz, K is preferably comprised between 5 and 50, and for example equal to 30. The analysis time period t.sub.k is typically between 100 ms and 5 s long, and preferably between 100 ms and 1 s long. This allows the dispersion of the measurement signals during the analysis time period to be estimated with sufficient precision, while also allowing sufficiently brief phases of immobility to be detected.
[0046] The dispersion indicator v.sub.k associated with a measurement time t.sub.k may be established on the basis of the variance .sub.k.sup.2 or the standard deviation .sub.k of the signals s.sub.k measured during the analysis time period t.sub.k. More generally, the dispersion indicator v.sub.k corresponding to an analysis time period t.sub.k is established on the basis of a statistical indicator of a distribution formed by the signals s.sub.k measured during said analysis time period. The statistical indicator may be a moment of the distribution, in particular a moment m.sub.r of order r strictly higher than 1 of the distribution. The dispersion indicator may for example be obtained from the second moment (standard deviation) or from the third moment (skewness) or from the fourth moment (kurtosis). The term moment encompasses a central moment or a standardized central moment.
[0047] The dispersion indicator v.sub.k may also be determined via a comparison between a maximum value max.sub.k and a minimum value min.sub.k of the signals s.sub.k measured during an analysis time period t.sub.k. The comparison may take the form of a subtraction or a ratio.
[0048] In the following examples, the dispersion indicator v.sub.k associated with each measurement time t.sub.k (and with each measured signal s.sub.k) is the standard deviation of the signals measured during the analysis period t.sub.k associated with the measurement time t.sub.k.
[0049] The main steps of a first embodiment of the invention will now be described with reference to
[0050] Step 100: Initialization.
[0051] In an initialization phase, for example corresponding to the first moments of use of the sensor 10, the bias of the sensor is initialized to an initial value of the bias m.sub.0. The initial value of the bias may be zero or may be defined beforehand arbitrarily, for example on the basis of a bias stored in memory during a previous use of the sensor 10, or on the basis of tests carried out on the sensor in the factory.
[0052] The initialization also includes assigning an initial value to a dispersion threshold v.sub.th,0. This value may be set, or result from a previous use of the sensor 10.
[0053] Following the initialization step, steps 110 to 150 are implemented iteratively, each iteration being assigned an iteration rank k. In the first iteration, k=1.
[0054] Step 110: acquisition of a signal s.sub.k generated by the gyrometer 10. The signal s.sub.k is acquired at a measurement time t.sub.k. With this measurement time t.sub.k is associated an analysis time period t.sub.k such as defined above. Provided that k<K, the analysis time period is defined between t.sub.k,k=1 and the measurement time t.sub.k.
[0055] Step 120: calculation of a dispersion indicator. An indicator v.sub.k of the dispersion of the signals s.sub.kK . . . s.sub.k measured in the analysis time period t.sub.k is calculated. This dispersion indicator corresponds to the measurement time t.sub.k. Provided that k<K, the dispersion indicator is either considered to be equal to an arbitrary value, or established in the analysis period defined in step 110. The signals s.sub.kK . . . s.sub.k are stored in a memory, until the dispersion indicator v.sub.k is calculated.
[0056] Step 130: comparison. The dispersion indicator v.sub.k corresponding to the measurement time t.sub.k is compared with the dispersion threshold v.sub.th,k, called the current dispersion threshold, associated with the measurement time t.sub.k. In the first iteration (k=1), the dispersion threshold v.sub.th,k=1 corresponds to the initial dispersion threshold v.sub.th,0 defined in the initialization phase.
[0057] Depending on the comparison, either a step 140 of updating the bias and the dispersion threshold is triggered, or the step 150 of correcting the measured signal is passed to.
[0058] When the dispersion indicator v.sub.k increases as the dispersion of the signals in the analysis time period t.sub.k increases, this corresponding to the case shown in
[0059] Step 140: Update of the bias and of the dispersion threshold.
[0060] With each iteration is associated a bias m.sub.k, called the current bias, that is intended to be subtracted from the measured signal s.sub.k. In the first iteration (k=1), the bias m.sub.k1 is the initial bias m.sub.0 resulting from the initialization. Step 140 corresponds to an update of the bias to be considered. This step is implemented when the sensor is considered, on the basis of the comparison carried out in step 130, to be sufficiently immobile. The term sufficiently immobile describes the fact that the update is triggered when the sensor is considered to be more immobile than in the preceding update. It includes the following substeps: [0061] Substep 141: update of the dispersion threshold: the current dispersion threshold v.sub.th,k is replaced by the value of the dispersion indicator v.sub.k that was calculated in step 120. [0062] Substep 142: definition of an estimation time period t.sub.k, so as to estimate the bias of the sensor. The estimation time period t.sub.k includes measurement times preceding the time t.sub.k at which the signal s.sub.k is obtained. For example, each estimation time period contains the times t.sub.k . . . t.sub.kK, where t.sub.k is the measurement time of the signal s.sub.k and K is a positive integer corresponding to the number of measurement times forming the estimation time period t.sub.k. K is preferably comprised between 5 and 50, and is for example equal to 30. The estimation time period is defined in order to estimate a value of the bias depending on the signals s.sub.k . . . s.sub.kK, measured during said period. The signals s.sub.k . . . s.sub.kK are stored in memory until the dispersion threshold is updated. The estimation time period t.sub.k may be the same as the analysis time period t.sub.k. [0063] Substep 143: update of the bias. It is a question of updating the current bias m.sub.k to be taken into account to correct the measured signal s.sub.k. The bias is updated depending on an indicator that is either the mean or median of the signals s.sub.kK . . . s.sub.k measured in the estimation time period t.sub.k. In this example, the bias is updated to reflect the mean .sub.k of the signals measured during the estimation time period t.sub.k.
[0064] Step 150: Correction of the measured signal
[0065] In this step, the measured signal s.sub.k is corrected depending on the current bias m.sub.k, in particular via a subtraction s.sub.km.sub.k. Depending on the comparison carried out in step 130, the current bias m.sub.k results either from a preceding iteration or from the initialization phase, or from the update carried out in step 140. When, in the initialization, the value of the initial bias is zero, or when no initial bias value is defined, no correction of the bias is carried out in step 150, until a first update of the bias.
[0066] The iteration rank k is incremented and steps 110 to 150 are reiterated. The iteration may take place at each measurement time, in which case the iteration rank is incremented by 1 such that, in the following iteration, m.sub.k+1=m.sub.k and v.sub.th,k+1=v.sub.th,k. The iteration may also occur every n measurement times, n being an integer strictly higher than 1, such that, between two successive iterations, the sensor measures n1 measurement signals. In this case, in m.sub.k+n=m.sub.k and v.sub.th,k+n=v.sub.th,k. All or some of the signals measured between two successive iterations may be stored in memory, in particular the signals measured during the estimation and analysis time periods taken into account in each iteration.
[0067]
[0068] At a time t.sub.k2, the dispersion indicator v.sub.k2 crosses the dispersion threshold v.sub.th,k2=v.sub.k1. A second estimation m.sub.k2 of the bias is carried out considering an estimation time period t.sub.k2. From this time, i.e. at the time t.sub.k2, the dispersion threshold v.sub.th,k is replaced by the dispersion indicator v.sub.k2. At a time t.sub.k3, the dispersion indicator v.sub.k3 crosses the dispersion threshold v.sub.th,k3=v.sub.k2. A third estimation m.sub.k3 of the bias is carried out considering an estimation time period t.sub.k3. From this time, i.e. at the time t.sub.k3, the dispersion threshold v.sub.th,k is replaced by the dispersion indicator v.sub.k3. According to the same principles, a new update m.sub.k4 of the bias and of the dispersion threshold v.sub.th,k4=v.sub.3 is carried out at the time t.sub.k4. From this time, i.e. at the time t.sub.k4, the dispersion threshold v.sub.th,k is replaced by the dispersion indicator v.sub.k4.
[0069] An important aspect of the method is the replacement of the dispersion threshold v.sub.th,k by the dispersion indicator v.sub.k associated with the update time t.sub.k. In the example considered, in which the update is carried out when the dispersion indicator is below the dispersion threshold, this leads to a gradual decrease in the value of the dispersion threshold, such that the dispersion threshold after an update is necessarily lower than the dispersion threshold before the update. This is shown in
v.sub.th,k0>v.sub.k1>v.sub.k2>v.sub.k3>v.sub.k4.
[0070] When the dispersion indicator increases as the dispersion decreases (for example if the dispersion indicator considered is equal to the inverse of the standard deviation), step 140 is carried out when the dispersion indicator exceeds the dispersion threshold. In this case, the method tends to gradually increase the value of the dispersion threshold.
[0071] Generally, the method tends to attribute, to each bias update, a relevance indicator, the latter corresponding to the simultaneously updated dispersion threshold. A bias is updated only if conditions more propitious to bias renewal present themselves, such conditions being expressed by a dispersion indicator representative of a dispersion of the measurement signals that is lower than in the preceding update.
[0072] In the example shown in
[0073] Steps referenced with the same numbers are identical to those described above. The method includes a step 145 in which the dispersion threshold varies in a way dependent on the variation function . Thus, following step 140: [0074] either the bias is updated, and likewise the dispersion threshold (steps 141 to 143); [0075] or the bias is not updated, in which case step 145 allows the value of the dispersion threshold to be adjusted.
[0076]
[0077] Although described with reference to a gyrometer, the invention will also possibly be applied to other sensors requiring a regular update of a bias, whether they be movement sensors or other types of sensor. In the field of movement sensors, the invention will possibly be applied to a gyrometer, as described in the above example, but also to magnetometers, in particular when they are configured to deliver a reference measurement when they are immobile, the reference measurement being known. In the examples described above, the reference measurement is equal to zero when the gyrometer is immobile. The method may be applied to a vertical axis of an accelerometer, the reference value being gravity. In this case, in a period of immobility of the sensor, corresponding to the estimation period described above, the mean of the measurements corresponds to the sum of gravity and of the bias. The bias is therefore obtained by subtracting gravity from the mean of the measurements during the estimation period.
[0078] The invention will possibly be applied to movement sensors with which portable devices (for example smartphones, watches or connected objects) are equipped.