你可能会寻找寻找的公式为:
这个等式(公制)正确的使用单位将
例如,如果您从收集的数据加速度计的所有3个轴,您将执行以下操作以获得3D空间的加速度波形(原始值):
inputArray[i] = sqrt(X*X + Y*Y + Z*Z);
收集数据后,只使用波形中将采集的采样数量(如果数值之间的延迟为1ms,则只使用1000个值)。
将这些值相加并除以样本数量以获得平均值(如果加速度计数据具有负值,您可能需要使所有值都为正),则可以在找到平均值之前使用此算法执行此操作。
for(i = 0; i < 1000; i++){
if(inputArray[i] < 0){
inputArray[i] = inputArray[i] - (inputArray[i]*2);
}
}
一旦你有加速平均输出,你需要执行上面的公式。
static double PI = 3.1415926535897932384626433832795;
static double gravity = 9806.65;
double Accel2mms(double accel, double freq){
double result = 0;
result = (gravity*accel)/(2*PI*freq);
return result;
}
一个例子可以是,平均加速度是3 GS超过1秒在摆动:
注:此计算是基于正弦的波形,因此频率将是代表加速度计的物理移动的采样率
Accel2mms(3, 1);
3 GS在1秒与1(在一个方向上摆动1)=4682.330468毫米/秒或4.7米的频率的不频率。
希望这是你想要的东西。
请记住,此计算基于正弦波形,但正在根据单个移动(频率1)进行调整,因此可能不太准确。但理论上应该工作。