android sensors 总结(五)

5 sensor校准

Sensor校准是为了消除sensor底噪,更准确地反映外部物理现象变化,在proximity sensordriver (三)中介绍了proximity sensor校准原理&方法。

从物理数学理论分析,sensor 校准就是获取静态时sensor的噪声值,动态工作时,采用负反馈(见负反馈增强软件系统的稳定性),将噪声影响消除。

下面介绍一下gsensor 校准方法:

1 获取sensor 方位,设置accReference.nsX、accReference.nsY、accReference.nsZ

2 HW cali:

获取初始的offset (stOffset.usX、stOffset.usY、stOffset.usZ)、gain值,sensor稳定后,获取sensor data 10次取平均值,计算accAverage 和accReference的差值,判断差值是否在容忍的范围内,如果在范围内,则将初始的offset 、gain值写入EEPROM offset 、gain寄存器,超过范围,则根据差值计算出新的offset值,并将新的offset 、gain值写入EEPROM offset 、gain寄存器。

3 SW cali:

sensor稳定后,获取sensor data 10次取平均值,计算accAverage值,并将accAverage保存作为校准参考值,gsensor工作时,采集数据上报前,须将采集到的数据和accAverage做补偿后再上报。

 

至于陀螺仪(gyroscope)、磁力传感器(magnetometer)校准,原理大致和gsensor差不多,就是实现的算法各有差异

你可能感兴趣的:(android sensors 总结(五))