C# - 根据记录的加速度数据计算振幅[使用加速度计]

时间:2014-08-22 22:02:13

标签: c# accelerometer formula acceleration amplitude

我正在用C#开发一个小型Windows Phone应用程序。这个应用程序记录加速度数据,GPS位置和指南针数据。

这里是我获取加速数据的代码:

void accelerometer_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
    Deployment.Current.Dispatcher.BeginInvoke(() => MyReadingChanged(e));
}

void MyReadingChanged(AccelerometerReadingEventArgs e)
{
    if (accelerometer != null)
    {                        
        xdata = e.X.ToString("0.000");
        ydata = e.Y.ToString("0.000");           
        zdata = e.Z.ToString("0.000");
    }
}

之后,另一个代码会将数据保存到MySQL-Database ......

我的应用每秒需要8个值。所以我想用数据计算以厘米[cm]为单位的幅度(高度)。通常,使用加速度数据计算振幅的公式为:

  

s = 0,5 * a * t ^ 2(+ s0)

     

s:以米为单位的距离    - t:以秒为单位的时间    - a:加速度im m / s ^ 2

我试着用它计算振幅,但它不起作用。只有错误的价值观。

所以我的问题:

哪个单位或哪种格式具有加速度计的给定输出?真的是米/秒^ 2 [m / s ^ 2]吗?如果不是,我会很高兴你能给我一个正确的单位,最多是完整的公式/方式如何计算。保存的数据是完全正确的,所以我认为我的公式有一些错误......我使用诺基亚Lumia 1520。

由于我的英语技能,我希望你能理解我的问题。 ;)

提前谢谢!

0 个答案:

没有答案