iPhone ぐるぐるがあんまし安定しないやつ、コメントもらったのでつっこんで調べてみたわけよ。移動平均 (Moving Average) にもいろいろあるみたいで。
んでもともと実装してたやつはどうやら指数加重移動平均 (EMA: Exponetial Moving Average) っぽい。あれですよ、Flash でよくやる動きをスムーズにするやつ、
posX = (currentX - posX) * 0.1 + posX;
みたいなの。自然と移動平均つかってたんやんっていう。
んでまあいろいろある移動平均がどーちがうねんっていうのを見るのにちょっとコードを書いてみた(ソースコード)わけですね。白いのが理想的なライン。そのまわりにちらばってる白いのがノイズが入ったセンサーからの値っぽいやつ。結果は見ればわかるですが、加重移動平均と指数加重移動平均ってあーんまし変わらんのね、まー、パラメータの取り方にもよるとおもうけど。どっちかつーと加重移動平均のほうが安定?みたいな。
とりあえず加重移動平均を組み込んでみるかなあ。
ローパスフィルタ系も調べてみたのだけどちーと難しくって放置。またの機会に調べるとしよう。