processbluetooth-lowenergynoisekalman-filter

How to define process noise in BLE measurement for Kalman Filter implementation?


What am I doing?

I am playing around with BLE for distance calculation and asset tracking. To standardize the sensitivity of each sensor, I have devised a 1D jig. The jig has scale model train track measuring ~180cm, and the train carrying a TOF sensor connected to ESP32 beacon. The train runs towards a wall, which contains the sensor (another ESP32). At regular time intervals, the beacon transmits signals with the measured distance to the wall. The sensor will receive the measured distance as well as RSSI. The train is moving at a constant speed (except for start and stop). All this is set. The code for collecting data works.

Before this, I have collected RSSI for the beacon, in the sensor(s) at 1m and 2m respectively from a beacon.

Based on the measured distance from ToF and the RSSI, I am trying to build a Kalman Filter that can be extended / extrapolated to slightly longer distances (about 3 - 4 metres).

I have a good measure of the error in distance calculation from RSSI (based on the 1m and 2m readings). The jig will give me a fine grain distance / error measurement for RSSI as well.

Where am I stuck?

However, I don't know what my process noise is?

Is it the noise in ToF measurement?


PS: I know this is not a programming question. But, I didn't find any clear cut answers for this question. I am hoping that StackOverflow would help here. Thanks in advance.


Solution

  • The process noise is the uncertainty in the dynamics, not in the measurement. For a linear dynamics model, you can describe the state update as x_k+1 = F * x_k + w_k. The process noise is w_k, and it is usually assumed to have a multivariate gaussian distribution with zero mean and covariance matrix Q_k. Determining Q_k is difficult, and will probably require some tuning. Assuming you know the measurement model well, if you run your filter and it is overconfident, you probably need to increase Q_k. Conversely, if the filter is underconfident, you can decrease Q_k.

    The noise in the ToF measurement is the measurement noise, which is used in the update step.