BME680: IAQ accuracy definition

Would be nice to get some better understanding about the internal definition of the IAQ accuracy.

Following will happen:

1) starting sensor - IAQ=0, accuracy=0
2)  some later - IAQ=50, accuracy=0  (as sample)
3)  some later - IAQ=55, accuracy=1  (as sample)
4)  some later - IAQ=87, accuracy=1  (as sample)
.....
1000)  some later - IAQ=76, accuracy=2  (as sample)
......
2000)  some later - IAQ=155, accuracy=2  (as sample)
......
3000) some later - IAQ=125, accuracy=3  (as sample)
THEN
3000) some later - IAQ=87, accuracy=2  (as sample)
3005) some later - IAQ=25, accuracy=2  (as sample)
3010) some later - IAQ=5, accuracy=2  (as sample)
3020) some later - IAQ=0, accuracy=2  (as sample)
3021) some later - IAQ=0, accuracy=2  (as sample)
3022) some later - IAQ=0, accuracy=2  (as sample)
.......for long time
xxxx) some later - IAQ=0, accuracy=2  (as sample)

--------------------------------

As far as I understand the sensor is collecting data and after was decided that enough data available the accuracy will be set to 1/2/3.

So the questions:

1) how long this process should be going on, and what kind of data needed?
(one senor here is already collecting data since >10 hours (every 3 seconds) and still have accuracy=1)
2) what is the condition for accuracy=2 and accuracy=3? Can somebody describe the internal workflow?
3) How can it be correct that accuracy=2 -> but IAQ=0 for a long time?
I think in such a case there could be an internal "reset" of collected data (or recalculation/shift) and accuracy should be set back to "0", right?

Current accuracy=2 means - not trust these values, they can be wrong at all, right?
But if this is right - after what time we can expect an accuracy=3 then???

Maybe somebody from development can tell us a bit more about this?

Thanks!
Michael

Best reply by Inactive Member

Your description of the IAQ accuracy is not totally correct.

The IAQ accuracy is actually reflecting the current state of the background calibration process, such as:

  • IAQ Accuracy=0 could either mean:
    • BSEC was just started, and the sensor is stabilizing (this lasts normally 5min in LP mode or 20min in ULP mode),
    • there was a timing violation (i.e. BSEC was called too early or too late), which should be indicated by a warning/error flag by BSEC,
  • IAQ Accuracy=1 means the background history of BSEC is uncertain. This typically means the gas sensor data was too stable for BSEC to clearly define its references,
  • IAQ Accuracy=2 means BSEC found a new calibration data and is currently calibrating,
  • IAQ Accuracy=3 means BSEC calibrated successfully.

Therefore to answer your questions:

  1. The effective duration of the calibration process depends on the stimuli observed by the sensors.
  2. See the definiton above. This also means that an IAQ accuracy going back and forth between 2 and 3 is expected, and that BSEC is successfully recalibrating itself.
  3. As defined above, an IAQ accuracy of 2 while the IAQ output is below 25 typically means BSEC is currently calibrating. If the current environment remains stable long enough, the IAQ output should go back to around 25.
View original
10 replies
Resolved