重力加速度测量

时间:2018-11-05 22:38:41

标签: matlab filter accelerometer

我从一个数据集中获取了由加速度计检测到的活动(例如步行,跑步)的x和z值。由于收集的数据还包含重力值,因此我在Matlab中使用以下过滤器将其删除:

public class Main {

public static void main(String[] args) {

    List<String> teams = new ArrayList<>();

    // Read file, then store each new line item in the ArrayList.
    try {
        Scanner s = new Scanner(new File("teams.txt"));

        while (s.hasNext()) {
            teams.add(s.nextLine());
        }
    } catch (FileNotFoundException ex) {
        System.out.println("File Not Found");
    }

    // Take user input from dialog box and store it in variables player1 and player2.
    String player1 = JOptionPane.showInputDialog("Player 1: Enter your name.");
    String player2 = JOptionPane.showInputDialog("Player 2: Enter your name.");
    //Print the values given in the Java console.
    System.out.println("Player 1: " + player1);
    System.out.println("Player 2: " + player2);

    // Random team generator within dialog box.
    Random r = new Random();
    String msg1 = player1 + ": " + teams.get(r.nextInt(teams.size()));
    String msg2 = player2 + ": " + teams.get(r.nextInt(teams.size()));
    Component frame = null;
    ImageIcon icon = new ImageIcon("icon2.png");
    JOptionPane.showMessageDialog(frame, msg1 + "\n" + msg2, "Fifa Team Picker", PLAIN_MESSAGE, icon);
}
}

然后我计算了幅度值,并将幅度值绘制在图形上。

但是,即使去除重力后,每个图形也以1g(9.8 m / s ^ 2)的大小开始,为什么?自从我移除重力后,它不应该从0开始吗?

1 个答案:

答案 0 :(得分:0)

您需要等待过滤器值增加。为此,请在文件的开头添加一些其他未绘制的数据。

您的计算需要多精确?通过行走和跑步,加速度计的角度可以改变,因此重力矢量的方向在整个步态周期中都可以改变。您期望看到的方向变化有多少取决于传感器的位置以及您要捕获的特定运动。