Iphone 什么是Kaccelermeterminstep?

Iphone 什么是Kaccelermeterminstep?,iphone,objective-c,xcode4,accelerometer,core-motion,Iphone,Objective C,Xcode4,Accelerometer,Core Motion,我一直在看iOS开发者库中的,我有一个关于所用变量之一的问题 #define kAccelerometerMinStep 0.02 加速度计的最小步长是多少?它有什么作用 下面是如何在低通滤波器中使用它 -(void)addAcceleration:(UIAcceleration*)accel { double alpha = filterConstant; if(adaptive) { double d = Clamp(f

我一直在看iOS开发者库中的,我有一个关于所用变量之一的问题

#define kAccelerometerMinStep               0.02
加速度计的最小步长是多少?它有什么作用

下面是如何在低通滤波器中使用它

-(void)addAcceleration:(UIAcceleration*)accel
{
    double alpha = filterConstant;

    if(adaptive)
    {
        double d = Clamp(fabs(Norm(x, y, z) - Norm(accel.x, accel.y, accel.z)) / kAccelerometerMinStep - 1.0, 0.0, 1.0);
        alpha = (1.0 - d) * filterConstant / kAccelerometerNoiseAttenuation + d * filterConstant;
    }

    x = accel.x * alpha + x * (1.0 - alpha);
    y = accel.y * alpha + y * (1.0 - alpha);
    z = accel.z * alpha + z * (1.0 - alpha);
}
-(void)addAcceleration:(UIAcceleration*)accel
{
    double alpha = filterConstant;

    if(adaptive)
    {
        double d = Clamp(fabs(Norm(x, y, z) - Norm(accel.x, accel.y, accel.z)) / kAccelerometerMinStep - 1.0, 0.0, 1.0);
        alpha = d * filterConstant / kAccelerometerNoiseAttenuation + (1.0 - d) * filterConstant;
    }

    x = alpha * (x + accel.x - lastX);
    y = alpha * (y + accel.y - lastY);
    z = alpha * (z + accel.z - lastZ);

    lastX = accel.x;
    lastY = accel.y;
    lastZ = accel.z;
}
这是它在高通滤波器中的应用

-(void)addAcceleration:(UIAcceleration*)accel
{
    double alpha = filterConstant;

    if(adaptive)
    {
        double d = Clamp(fabs(Norm(x, y, z) - Norm(accel.x, accel.y, accel.z)) / kAccelerometerMinStep - 1.0, 0.0, 1.0);
        alpha = (1.0 - d) * filterConstant / kAccelerometerNoiseAttenuation + d * filterConstant;
    }

    x = accel.x * alpha + x * (1.0 - alpha);
    y = accel.y * alpha + y * (1.0 - alpha);
    z = accel.z * alpha + z * (1.0 - alpha);
}
-(void)addAcceleration:(UIAcceleration*)accel
{
    double alpha = filterConstant;

    if(adaptive)
    {
        double d = Clamp(fabs(Norm(x, y, z) - Norm(accel.x, accel.y, accel.z)) / kAccelerometerMinStep - 1.0, 0.0, 1.0);
        alpha = d * filterConstant / kAccelerometerNoiseAttenuation + (1.0 - d) * filterConstant;
    }

    x = alpha * (x + accel.x - lastX);
    y = alpha * (y + accel.y - lastY);
    z = alpha * (z + accel.z - lastZ);

    lastX = accel.x;
    lastY = accel.y;
    lastZ = accel.z;
}
如果有人能告诉我min step负责什么,我将非常感激

我想捕捉0.05到2.00 g力范围内的加速度,频率响应为0.25-2.50 Hz


谢谢

不是真正的答案,但可能对进一步调查有用: