Android重力加速度传感器数据去噪方法

public void onSensorChanged(SensorEvent event)
     {
          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];
      }

由上述代码得系统的差分方程描述为:

该系统传递函数为:

效果如下图所示:

总结:

其实质就是构造一阶滤波器,在Android中通过不断迭代实现。如果你有数字信号处理的基础,可以很容易理解。

欢迎交流:Q316190672

时间: 2024-11-05 21:38:15

Android重力加速度传感器数据去噪方法的相关文章

Android重力加速度传感器数据去噪

public void onSensorChanged(SensorEvent event) { 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)

android中的数据存取-方式一:preference(配置)

这种方式应该是用起来最简单的Android读写外部数据的方法了.他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单. 透明的方式来保存一些用户个性化设置的字体.颜色.位置等参数信息.一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方.当然,如果你愿意保存其他的东西,也没有什么限制.只是在性能上不知道会有什么问题. 在A

多传感器数据融合算法综述

文章内容来源:https://blog.csdn.net/ZXQHBD/article/details/69389019 多传感器数据融合是一个新兴的研究领域,是针对一个系统使用多种传感器这一特定问题而展开的一种关于数据处理的研究.多传感器数据融合技术是近几年来发展起来的一门实践性较强的应用技术,是多学科交叉的新技术,涉及到信号处理.概率统计.信息论.模式识别.人工智能.模糊数学等理论. 近年来,多传感器数据融合技术无论在军事还是民事领域的应用都极为广泛.多传感器融合技术已成为军事.工业和高技术

android之保存偏好设置信息到shareSharedPreferences,轻量级的保存数据的方法

android之保存偏好设置信息到shareSharedPreferences,轻量级的保存数据的方法 09. 四 / android基础 / 没有评论 SharedPreferences保存数据到xml文件 有时候要保存activity的某些状态数据,就可以保存到SharedPreferences 很简单的保存和获取方法.但很实用. itcast是xml的文件名

android中的11中常见传感器的使用方法

在Android2.3gingerbread系统中,google提供了11种传感器供应用层使用. 01#defineSENSOR_TYPE_ACCELEROMETER 1 //加速度02#define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力03#defineSENSOR_TYPE_ORIENTATION 3 //方向04#define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪05#define SENSOR_TYPE_LIGHT 5//光线感应06#

android用存到缓存的方法来保存ListView里的数据

对于这样的数据: <?xml version="1.0" encoding="utf-8" ?> <rss><sid>77f265bb46de068e78f35afbadec62af</sid><count>3</count><control>0</control> <mblog><uid>1195224593</uid><fav

Android 使用剪贴板传递简单数据及复杂数据的方法

传递数据的场景在于不同页面之间跳转,需要携带数据:简单数据值指的是String, int等数据, 复杂数据指的是类 1.   使用剪贴板传递简单数据方法: 第一个页面里面放数据操作如下: 1 ClipboardManager clipboardManager = (ClipboardManager); 2 getSystemService(Context.CLIPBOARD_SERVICE); 3 String text = "简单数据"; 4 clipboardManager.set

Android中传感器Sensor的使用

Android中传感器Senso的使用 1.Sensor类型 Android中有多种传感器,目前Android SDK支持的传感器有:光线传感器,旋转向量传感器,压力传感器,陀螺仪传感器,加速度传感器,重力传感器,方向传感器,磁场传感器,近程传感器等.但并不是所有手机都具有全部传感器,一般高端手机具有大多数传感器,毕竟传感器都需要money的,价格自然不菲. 2.Sensor实际应用  那么在Android开发中,如何使用传感器,将传感器功能添加到Android应用中呢,例如微信的摇一摇,通过加

关于android方向传感器的使用

Android2.2以后 orientation sensors 就被deprecated了 官方建议用acceleration and magnetic sensor 来算 关于这个问题,CSDN上一篇博文讲的非常好 http://blog.csdn.net/flowingflying/article/details/43233315 stack overflow上: http://stackoverflow.com/questions/10291322/what-is-the-alterna