加速度传感器测量设备的加速度,包括重力加速度。以下代码展示了如何获取缺省的加速度传感器的一个实例:

private SensorManager mSensorManager;

private Sensor mSensor;

...

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

从概念上说,加速度传感器通过测量施于传感器上的作用力,并按以下关系来检测设备的加速度(Ad)。

Ad = - ∑Fs / mass

然而,重力总是会按以下关系影响测量的精度。

Ad = -g - ∑F / mass

因此,如果设备是平放在桌子上的(没有加速度),加速度计会读到g = 9.81 m/s2。同理,设备在自由落体或以 9.81 m/s2的加速度坠向地面时,加速度计会读到 g = 0 m/s2。因此,要测出设备真实的加速度,必须排除加速计数据中的重力干扰。这可以通过高通滤波器来实现。反之,低通滤波器则可以用于分离出重力加速度值。以下例程展示了它们的用法:

public void onSensorChanged(SensorEvent event){  //在本例中,alpha由 t / (t + dT)计算得来,  //其中 t是低通滤波器的时间常数,dT是事件报送频率  final float alpha = 0.8;  //用低通滤波器分离出重力加速度  gravity[0]  = alpha * gravity[0] + (1 - alpha) * event.values[0];  gravity[1]  = alpha * gravity[1] + (1 - alpha) * event.values[1];

gravity[2]  = alpha * gravity[2] + (1 - alpha) * event.values[2];

//用高通滤波器剔除重力干扰  linear_acceleration[0] = event.values[0] - gravity[0];  linear_acceleration[1] = event.values[1] - gravity[1];  linear_acceleration[2] = event.values[2] - gravity[2];

}

注意:你可以使用很多技术来过滤传感器数据。以上例程只是使用了过滤器常量(alpha)来创建一个低通滤波器。这个过滤器常量是由时间常量(t)和传感器事件报送频率(dt)推导出来的,t大致等于过滤器触发传感器事件的间隔时间。为了演示,此例程使用0.8作为alpha的值。如果你要用这个过滤方法,你可能需选用其它的alpha值。

加速计使用了标准的传感器坐标系。这意味着,设备以原始方位平放在桌子上时,会发生以下状况:

如果你从左侧平推设备(它向右移),则x方向加速度为正值。

如果你从下侧平推设备(它向前移),则y方向加速度为正值。

如果以A m/s2的加速度向空中移动设备,则z方向加速度等于A +9.81,即设备加速度(+A m/s2)减去重力加速度(-9.81m/s2)。

静止设备的加速度值为+9.81,即设备加速度(0 m/s2)减去重力加速度(-9.81m/s2)。

一般情况下,加速度计已足够应付对设备移动情况的监测。几乎所有Android平台的手持和桌面终端都带有加速度计,它的能耗比其它运动传感器要少10倍。不过它有一个缺点,就是你不得不实现低通和高通滤波器,以消除重力影响并减少噪声数据。

Android SDK给出了一个应用示例,展示了加速度传感器的使用方法(Accelerometer Play)。

android 传感器 频率,Android加速度传感器数值的过滤相关推荐

  1. 机械传感器与半导体加速度传感器比对

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 机械传感器与半导体加速度传感器比对 前言 一.机械传感器与半导体传感器定义 二.机械传感器与半导体传感器对比 1.加速度传感器比机械传 ...

  2. android SENSOR_ACCELEROMETER 三轴加速度传感器

    先看效果图: package org.ninetripods.mq.asdasdasdasdasdas; import android.content.Context; import android. ...

  3. Android移动开发-利用加速度传感器开发仿微信摇一摇功能的实现

    加速度传感器是最常见的传感器,大部分Android手机都内置了加速度传感器,加速度传感器运用最广泛的功能就是微信的摇一摇功能,用户通过摇晃手机寻找周围的人,其它类似的应用还摇骰子.玩游戏等. 下面以摇 ...

  4. Android手机计步器中加速度传感器熄屏时的侦听

    基于开源https://github.com/296777513/pedometer/ 在mate2上弄一个计步器,发现熄屏后,计步器无法工作,查阅资料发现某些手机上的加速度传感器熄屏时无法工作,这个 ...

  5. 手机中的传感器:重力感应器、加速度传感器、陀螺仪、电子罗盘和光线距离感应器

    智能手机之所以受到大家的欢迎,与其具有的娱乐功能分不开,使得它不仅仅是个通话的工具.智能手机支持那么多的娱乐应用,归根结底在于它里面集成的各类传感器,主要有重力感应器.加速度传感器.陀螺仪.电子罗盘和 ...

  6. 8a 中断 传感器采集_加速度传感器的安装,你get了吗

    加速度传感器的安装方法不同,对频响曲线的影响也有差异.加速度传感器的固有频率是否发生变化,取决于使用的安装方法(手持.磁铁.胶水.螺栓等). 从表1可知,用螺栓安装在打磨良好的干净平面上时,频响最高, ...

  7. android加速度传感器应用,如何在Android智能手机中使用加速度传感器...

    您可能正在寻找的方程式是: Velocity = (Gravity*Acceleration)/(2*PI*freq) 正确使用此方程式(公制)的单位为 Gravity = mm/s squared ...

  8. Android中的传感器之---加速度传感器

    加速度传感器 加速度传感器又叫G-sensor,返回x.y.z三轴的加速度数值. 该数值包含地心引力的影响,单位是m/s^2. 将手机平放在桌面上,x轴默认为0,y轴默认0,z轴默认9.81(由于地球 ...

  9. android 三轴加速度传感器【转】

    一.手机中常用的传感器 在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用,具体如下:(Sensor类) #define SENSOR_TYPE_ACCE ...

  10. Android 手机获取加速度传感器加速度数据并自定义采样频率

    原文链接:http://blog.csdn.net/llp1992/article/details/41786865 因为项目需要利用到了Android手机中的加速度传感器来获取三个加速度轴的加速度大 ...

最新文章

  1. AI 与区块链:两大热门技术,会碰撞出什么样的火花?
  2. fftw库 vs2019_FFTW库在VS 2010中的使用方法
  3. JPA学习---第五节:日期和枚举等字段类型的JPA映射
  4. 非静态内部类中为什么不能拥有静态成员?
  5. windows平台下vlc编译之一:编译环境构建(2008.12.03更新)
  6. python爬虫requests实战_Python爬虫之requests库网络爬取简单实战
  7. 602B. Approximating a Constant Range
  8. hadoop环境准备-大数据Week5-DAY6-1-hadoop
  9. 矩阵范数的等价性(原创)
  10. 我的世界源代码java复制_《我的世界》你做主,微软逐步开放源代码
  11. 2021-10-26
  12. Excel生成随机数(函数RAND)
  13. 转:德鲁克:放弃昨天,是变革的第一原则
  14. Java编程笔记16:深入容器
  15. cassandra多个数据中心实现异地容灾
  16. BPFT1.7,全名BaiduPanFilesTransfers免费的百度网盘批量转存工具【精】
  17. 物理环路造成网络风暴,无法访问交换机故障处理过程
  18. 云课堂智慧职教答案python_2020智慧职教云课堂Python编程基础答案完整满分单元测试答案...
  19. python赋值语句
  20. mysql-日志分析

热门文章

  1. B树,B+树,树,二叉树,满二叉树,完全二叉树,二叉搜索树,平衡二叉树,
  2. 数据防泄漏加密保护方案笔记
  3. 隆重揭晓 | Google Play 2018 年度大赏,中国开发者再领风骚
  4. 逻辑思维训练题:切西瓜之一共切10刀,最多能将西瓜切成多少块?
  5. 非主流照片的PS教程!
  6. 数据分析模型有哪些?常见的这八种来了解一下!
  7. ICPC2019徐州区域赛 H.Yuuki and a problem
  8. ACwing 1018 最低通行费
  9. IOS回调机制——代理,通知中心以及Block
  10. 漫画算法:什么是跳跃表?