我在我的Android应用程序中使用了加速计传感器,并将SensorEventListener实现为我的活动
public void onSensorChanged(SensorEvent event) {
//acceleration.x,.y,.z is the input from the sensor
//result.x,.y,.z is the filtered result
//high pass filter to eliminate gravity
accel[0]= event.values[0]*kFilteringFactor+accel[0]*(1.0f-kFilteringFactor);
accel[1]= event.values[1]*kFilteringFactor+accel[1]*(1.0f-kFilteringFactor);
accel[2]= event.values[2]*kFilteringFactor+accel[2]*(1.0f-kFilteringFactor);
X=event.values[0]-accel[0];
Y=event.values[1]-accel[1];
Z=event.values[2]-accel[2];
accel[0]=X;
accel[1]=Y;
accel[2]=Z;
double result=X+Y+Z;
readingData.setText("Data :"+ result);
}
我以模拟波形获取数据,我想要数字形式的数据。如何将这些数据转换为如果存在振动并且我绘制数据,那么图形应该是方波形式。
谢谢。
答案 0 :(得分:0)
你想要的工作类似于计步器,它根据动作计算用户的步数,你可以使用那里使用的相同概念。
您需要设置加速度计幅度值(x,y,z值的笛卡尔和)以及幅度超过阈值时的阈值。您可以将值设置为' 1'即,在运动中,否则为零。在计步器中,我们仅使用z轴读数来跟踪沿z轴的运动。
我使用过它们的室内定位系统。请在此处找到室内跟踪应用程序:https://github.com/ramakanthd92/IndoorMagMap
可以在http://ieeexplore.ieee.org/document/7106948/
找到相同的出版物希望这有帮助