车载IMU/Sensor 数据转换

本文介绍了在Linux或Android系统中如何对车载传感器的原始数据进行转换,特别是针对SMI传感器的ACC加速度和角速度数据。转换过程中涉及到16bit数据的正负判断、量程Range选择以及Resolution计算,通过实例展示了如何将原始数据转换为实际的物理值。
摘要由CSDN通过智能技术生成

一、引言

在Linux或者Android系统下,我们往往通过sysfs节点读出来的是传感器的原始数据,那如何进行转换呢,本文进行简单介绍。

二、数据转换

2.1 ACC数据转换

以SMI的sensor为例,  ACC 加速度位数是 16bit,Gyro 角速度位数是 16bit。

 加速度原始数据有 16 位(包含MSB+LSB组成16bit有效数据), 其中最高位为正负位(负数需要取反),获取到的 16bit 数据,根据选定的量程 Range,确定Resolution 值后,来计算 Acc Value。
如Range 为±2g,对应的 Resolution 为 16384LSB/g,比如获取到的16bit 数值为 0x7FFF(0111 1111 1111 1111), 转化为十进制数为 32767, 则加速度值为:Acc Value= 32767/16384=2g

2.2 角速度数据转换

 角速度原始数据有 16 位(包含MSB+LSB组成16bit有效数据), 其中最高位为正负位(负数需要取反),获取到的 16bit 数据,根据选定的量程 Range,确定Resolution 值后,来计算 Gyro Value。

如 Range 为±125°/s,对应的 Resolution 为 262.14 LSB/°/s,比如获取到的 16bit 数值为 0x7FFF(01111111 11111111),转化为十进制数为 32767, 则角速度值为:
32767 / 262.14 = 124.99,约等于125°/s

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a2591748032-随心所记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值