手机加速度传感器测得的重力加速度数值不正常

本人手机是小米5S plus,在玩加速度传感器时发现所测重力加速度不正常,数值不在9.8左右,
而是24左右!不知是单位的问题还是传感器的问题?
以下是手机水平朝上放置时的截图:
图片说明
本人没有C币,各位大爷行行好,谢谢!

你做的APP中画蛇添足了不需要的算法,驱动上报的数据已经是校准后的正确值了,你什么都不要做,拿来用就好了。以下内容可以参考:来自https://source.android.com/devices/sensors/sensor-types

加速度计

报告模式:连续模式

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER) 会返回一个非唤醒传感器

加速度计传感器可报告设备沿 3 个传感器坐标轴的加速度。测量的加速度包括物理加速度(速度变化)和重力加速度。测量结果在 sensor_event_t.acceleration 的 x、y 和 z 字段中报告。

所有值均采用国际单位制单位 (m/s^2),测量结果为设备加速度减去沿 3 个传感器坐标轴的重力加速度。

示例如下:

自由落体时,(x, y, z) 的范数应接近于 0。
当设备平放在桌子上并从其左侧向右推动时,x 轴加速度值为正。
当设备平放在桌子上时,z 轴上的加速度值为 +9.81,相当于设备的加速度 (0 m/s^2) 减去重力加速度 (-9.81 m/s^2)。
当设备平放在桌子上并向上抬起时,加速度值大于 +9.81,相当于设备的加速度 (+A m/s^2) 减去重力加速度 (-9.81 m/s^2)。

读数根据以下参数进行校准:

温度补偿
在线偏差校准
在线尺度校准

仅当传感器已禁用时,才可更新偏差校准和尺度校准,以避免流式传输时出现值激增。

加速度计还通过 sensors_event_t.acceleration.status 报告其预测的读数精度。要详细了解此字段的可能值,请参阅 SensorManager 的 SENSOR_STATUS_* 常量。

https://zhidao.baidu.com/question/583557554.html

我去掉抵消重力的逻辑(滤波器法,迭代计算,alpha=0.8)后,改回原来的逻辑——输出原始数据,但是:

图片说明

它居然自己变正常了!是不是加速度传感器它自己会校准?