加速度计的 android 中的模拟数据到数字数据的转换?

Analog data to digital data conversion in android for accelerometer?

我在我的 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);
    }

我正在获取模拟波形的数据,我想要数字形式的数据。如何将这些数据转换成某种东西,如果有振动并且我绘制数据,那么图表应该是方波形式。

谢谢。

您想要的功能类似于基于运动计算用户步数的计步器,您可以使用此处使用的相同概念。

您需要为加速度计幅度值(x、y、z 值的笛卡尔和)以及幅度超过阈值的时间设置阈值。您可以将该值设置为“1”,即在运动中,否则为零。在计步器中,我们仅使用 z 轴读数来跟踪沿 z 轴的运动。

我曾使用这些开发室内定位系统。请在此处找到室内跟踪应用程序:https://github.com/ramakanthd92/IndoorMagMap

可在此处找到相同的出版物 http://ieeexplore.ieee.org/document/7106948/

希望对您有所帮助