Android端末では加速度センサーで加速度値(m/s^2)を取得できます。 ところが精度が良すぎるのか、ものすごい値がぶれます。また、重力の値までとれちゃいます。 例えば加速度をベクトル値にしたい場合、値は頻繁にぶれるんでこのままではとても使い物になりません。 そこで、ハイパスフィルタとローパスフィルタを使って、Android端末自体の加速度データを取得し、かつまろやかにするコードを書きました。 実装の仕組み センサーから取得した値を2つのフィルタに通します。 ハイパスフィルター: ある周波数以下の低周波数を除去するフィルタです。ここでは、重力加速度の影響を除去するために実装します。 ローパスフィルター: 時系列データの細かいギザギザを平滑化します。 ここでは端末の加速度データを平滑化するために実装します。 手法としては加重移動平均、指数移動平均などがありますが、Android Deve