Гравитация в акселерометрических измерениях - PullRequest
0 голосов
/ 06 ноября 2018

Я взял из набора данных значения x и z активности (например, ходьба, бег), обнаруженные акселерометром. Поскольку собранные данные также содержат значения силы тяжести, я удалил их с помощью следующего фильтра в Matlab:

fc = 0.3;
fs = 50;
x = ...;
y = ...;
z = ...;

[but,att] = butter(6,fc/(fs/2));

gx = filter(but,att,x);
gy = filter(but,att,y);
gz = filter(but,att,z);

new_x = x-gx;
new_y = y-gy;
new_z = z-gz;

A = magnitude(new_x,new_y,new_z);

plot(A)

Затем я вычислил значение величины и нанес на график значение величины.

Однако каждый график, даже после удаления гравитации, начинается с величины 1 г (9,8 м / с ^ 2), почему? Разве это не должно начинаться с 0, так как я убрал гравитацию?

1 Ответ

0 голосов
/ 07 ноября 2018

Вам нужно дождаться увеличения значения фильтра. Включите некоторые дополнительные данные, которые не отображаются в начале файла для этой цели.

Насколько точными должны быть ваши расчеты? При ходьбе и беге угол акселерометра может меняться, поэтому ориентация вектора силы тяжести может меняться на протяжении всего цикла походки. Какое изменение ориентации вы ожидаете увидеть, зависит от местоположения датчика и конкретного движения, которое вы пытаетесь зафиксировать.

...