我目前正在尝试制作一个粗糙的计步器。 它已经到了我正在读取信号并将它们绘制在 Excel 上以进行分析的阶段...... 由于阶跃反弹和其他各种原因,数据非常嘈杂。我正在接受单个加速度 vector ,并尝试使用我通过 york cs 部门找到的以下 DSP 滤波器设计工具来设计 Butterworth 低通滤波器:
http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html
可能是我在必要的字段中输入了错误的值,但同时我在将 Ansi“C”代码转换为 Java 时遇到了问题!
谁能伸出援手?
最佳答案
感谢您的回复,我实际上已经实现了一个非常基本的运动检测版本,基于: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;
}
}
过滤器更多是为了显示对加速度计工作原理的一些分析,并找出我是否可以使它更准确。
关于java - 适用于 Android 的巴特沃斯低通滤波器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10278675/