震度の算出


簡易リアルタイム計測

スクリプト

GitHub: p2pquake-takuya/rpi-seismometer

震度の算出方法

  1. 3軸の合成加速度(ガル)を算出
    1. 3軸サンプリング
    2. フィルタ(後述)適用
    3. 加速度[gal]に変換
    4. 3軸の合成加速度[gal]を算出
  2. 震度を算出
    1. 5秒間のうち0.3秒間継続した合成加速度[gal]を算出 (※5秒分の合成加速度を降順ソートしたときの0.3秒目の値)
    2. 2 * log10(gal) + 0.94 で震度を算出(galは0.3秒間継続した合成加速度[gal])

フィルタ特性

  • 計算方法
    • 指数平滑値 = 前回の指数平滑値 * 0.94 + 今回のサンプル値 * 0.06
    • フィルタ後のサンプル値 = 指数平滑値 – 直近200サンプル(1秒)の平均値
  • フィルタ特性: 下図(JMA filterは気象庁の震度計算のためのフィルタ特性)

フィルタ特性による震度誤差

チューニング

  • 設置場所
    • 壁面への設置を推奨します。

電源共有タイプのみ (rev2除く)

  • 電圧変動の最小化
    • Raspberry PiのCPU使用率変化やUSBデバイス使用で電圧が変動します。
    • できるだけ電圧変動が小さくなるようにしてください。
    • cpulimitによるCPU使用率の制限や、一時的に震度計算を停止することも有効です。

別電源タイプのみ

  • 異常値の除外
    • 稀に 0, 1024, 2048 などの2の累乗数となる場合があります。これらを除外して読み取ることを推奨します。

参考資料