用于android的butterworth低通滤波器

时间:2012-04-23 10:18:18

标签: java android filtering accelerometer

我目前正在尝试制作粗略的计步器。 它已进入我正在读取信号并在Excel上绘制它们以分析的阶段...... 由于步骤反弹和各种其他原因,数据非常嘈杂。我正在接受单个加速度矢量,并试图使用我在york cs部门设计的以下DSP滤波器设计工具来设计Butterworth低通滤波器:

http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html

可能是我输入了必要字段的错误值,但同时我无法将Ansi“C”代码转换为Java!

有人能伸出援助之手吗?

1 个答案:

答案 0 :(得分:0)

感谢您的回复,我实际上已根据以下内容为移动检测实现了一个非常基本的版本:http://www.vogella.com/articles/AndroidSensor/article.htm

if (event.sensor.getType() == Sensor.TYPE_LINEAR_ACCELERATION) { // check sensor type
    float x = event.values[0];
    float y = event.values[1];
    float z = event.values[2];

    float accelationSquareRoot = (x * x + y * y + z * z) / (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);
    _SR.setText("accelationSquareRoot" + String.valueOf(accelationSquareRoot)); // display 3D acceleration vector
    long actualTime = System.currentTimeMillis();
    if (accelationSquareRoot >= progressDouble) {
        if (actualTime - lastUpdate < 15) { 
            return;
        }
        lastUpdate = actualTime;
        ++count;
    } 
}

过滤器更多的是展示加速度计如何工作的一些分析,并找出我是否可以使其更准确。