2008年09月19日 [ColdFire] ColdFire×P2P地震情報(10) よし,サーバに送りつけよう
_ [ColdFire] ColdFire×P2P地震情報(10) よし,サーバに送りつけよう
Interface 9月号付録基板を使い,P2P地震情報のサービスを作ってしまう勝手な企画です.過去の記事は,タイトルのColdFireカテゴリからどうぞ.
オーバーサンプリングで効果的にノイズ除去できるのか?
そういえば,オーバーサンプリングをすることでノイズ除去できるかどうか調べていませんでした.ということで調べました.
- 20 Hzサンプリング
- 20 Hzサンプリング,20サンプル移動平均をオフセットに,3サンプル移動平均をデータに用いた.
- 100 Hzサンプリング
- 100 Hzサンプリング,100サンプル移動平均をオフセットに,15サンプル移動平均をデータに用いた.
もとになるデータは気象庁の加速度データ.フィルタを通した時の最大加速度と計測震度との関係を近似式として算出して用います.
- 20 Hzサンプリング時
- 0.7968 * Ln(最大加速度) + 0.9717
- 100 Hzサンプリング時
- 0.8055 * Ln(最大加速度) + 0.9568
劇的な効果とは言えませんが,震度換算で0.6ほどノイズが減りました.うーん,もっと減ってくれてもいいんですが…
ノイズで悩んでばかりでは進まないので,これ以上は後回しにしてさっさと作りましょう.
よし,サーバに送りつけよう
ColdFire×P2P地震情報(8)で実装方法をあれこれ悩んでいましたが,結局『集計サーバに取得値をそのまま送りつけて,震度を計算してもらう』ことにしました.
- より小さな地震を検出できる
- ネットワーク化して情報を活用できる
- P2P地震情報の各情報もやり取りできる
こうしたメリットは大きいです.「ネットワークに依存する」というデメリットがありますが,切断時には単独動作するようなモードを設ければ良いでしょう.
通信仕様を決めよう
実装する前に,通信仕様を決めましょう.
- 加速度センサの値を送信して,震度換算値を取得する
- データ記録,集計,公表はサーバ側で行う
- 地震情報や津波予報の概要,緊急地震速報の発表情報を取得する
- 都道府県などによって送信条件を指定できるとよい
- ColdFire基板(SilentC)専用にならない程度に,実装が楽になるような何か
ということで,暫定仕様をでっち上げました.SilentCで実装する以上,仕様を隠す意味はどこにもありませんので,この辺に置いておきましょう.
EPSP ColdFire Gateway(EPSP-CFG) プロトコル仕様 Ver.0x01
- クライアント-サーバ型,サーバはP2P地震情報(EPSP)ネットワークとのゲートウェイも兼ねる
- データ量の小さいバイナリプロトコル
- 加速度センサの活用と諸情報の受信機能
次回以降,この仕様をもとに実装していきます.