重力为测量结果中的不变成分。因此在获取到三轴的加速度分量后,可以采用低通滤波的方式分离出重力分量,然后在原始值中减去重力。最后得到不含重力的手机加速度。

手机的x、y、z轴定义如图:

以下为安卓开发者文档中提供的低通滤波算法:

 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];}

values数组分别存放手机x、y、z轴的原始加速度。

gravity为重力值。

linear_acceleration为最终结果。

重力加速计低通滤波算法——安卓开发文档相关推荐

  1. 高阶低通滤波算法_高/低算法

    高阶低通滤波算法 介绍 在我以前的文章中,我谈到了各种数据库标识符策略,在设计数据库模型时需要注意. 我们得出的结论是,数据库序列非常方便,因为它们在大多数用例中既灵活又高效. 但是,即使具有缓存的序 ...

  2. 一阶RC低通滤波算法原理与实现

    文章目录 1. 一阶低通滤波算法原理 2. 一阶滤波算法的特点 3. 基本算法的例程 4. 优化:减少乘.除的运算次数以提高运算速度 5. 改进:动态调整滤波系数 动态调整滤波例程 本文整理自网络,参 ...

  3. 利用FFT分析比较卡尔曼滤波算法、低通滤波算法、滑动平均滤波的频谱

    1 卡尔曼滤波 详见博客 https://blog.csdn.net/moge19/article/details/81750731 2 低通滤波 2.1 算法推导 一阶RC滤波器的硬件电路如图: 图 ...

  4. 低通滤波算法在加速度传感器应用中的作用

    在现代系统中,加速度传感器越来越多的应用到系统中,在很多应用中需要考虑加速度传感器是不稳定性,用数字低通滤波技术可以过滤掉一些杂波,将有特征的加速度变化趋势提现出来.有着十分广泛的应用.如在计步器,移 ...

  5. 数字低通滤波算法及截止频率计算,pt1Filter,lpf

    参考模电RC滤波计算公式来计算截止频率 #define M_PI_FLOAT 3.14159265358979323846ftypedef struct LpfFilter {float RC;//模 ...

  6. 安卓开发文档!花三分钟看完这篇文章你就懂了!帮你突破瓶颈

    导语 2020年是转折的一年,2021年算是收获的一年,趁着金三银四开始找工作.先分享一下offer的情况 阿里高德(offer) 爱奇艺(offer) 腾讯视频(offer) 小米(被拒) 今日头条 ...

  7. 中维世纪安卓开发文档

    中维世纪安卓开发记录 作为一个低级码农真的搞不懂中维世纪文档,只有windows和安卓的sdk,水平低或者应用场景广泛了最好直接购买海康威视的,网上教程比较多. 开发环境 Android Studio ...

  8. 安卓开发文档_鸿蒙2.0,HarmonyOS开发体验!

    "没有人能够熄灭漫天星光".在9月10日的华为2020开发者大会上,余承东掷地有声地说道. 从去年开放的鸿蒙1.0,到今年的2.0.仅仅一年时间,华为就把基础设施全部搭建好.从之前 ...

  9. opencv 高通滤波和低通滤波_一阶低通滤波原理详解

    在汽车标定中,使用最多的滤波算法即低通滤波,很多朋友可能知道怎么标定,但是不清楚具体的原理,因此本文将介绍一阶低通滤波的原理.算法建模仿真和优缺点: 一阶滤波算法的原理 一阶滤波,又叫一阶惯性滤波,或 ...

最新文章

  1. try catch对异常进行输出到日志、_java安全编码指南之:异常处理
  2. java 字节码分析_手把手带你分析Java中的Class字节码文件
  3. .Net 下高性能分表分库组件-连ShardingCore接模式原理
  4. Python twisted框架使用解析
  5. java list find方法_Java 8 Stream - Find Max and Min from List - 入门小站-rumenz.com
  6. wetask.cn领度任务全新试用体验
  7. java打包apk_APK打包流程
  8. fqa什么意思_FQA是什么意思
  9. 南京大学计算机专业复试面试,南大计算机面试问题汇总及部分答案.doc
  10. 无法定位序数1上的动态链接库
  11. w ndows10更改浏览器,Win10系统默认浏览器怎么修改
  12. ubuntu12.04双屏拼接
  13. Java 微信企业付款到零钱
  14. CleanMyMac X2022苹果电脑专业清理Mac加速器软件
  15. 编译原理 LL1文法的判断和句子识别
  16. Docker入门讲解
  17. HTTP 请求之PostMan 中文乱码分析
  18. 软件测试工程师自我介绍范文_软件测试面试自我介绍
  19. Blender基础:融球(Metaball)
  20. Git史上最详细教程(详细图解)

热门文章

  1. 视频下载神器you-get
  2. PLL(锁相环)电路原理
  3. Mac App Store下载总是发生错误如何解决?
  4. 微信小程序——运行他人的项目、寻找appid
  5. Appium基础篇16-appium截图方法
  6. Cache数据库之ECP改M卡死问题
  7. 数据库----数据更新
  8. 【OMNet++】OMNet++初学-进阶-精进历程分享
  9. 如何使用CAM350打开gerber文件
  10. 本地搭建部署gitlab服务并汉化