見出し

何もわからない人が震度の算出について解説する

   2022年12月01日     7分で読めます

この投稿は 防災アプリ Advent Calendar 2022 の2日目の記事です。

はじめに

この記事は数学的な知識を何も知らない人が震度の計算方法についてをそれとなく解説する記事です。
間違った点があればやんわりと指摘していただけると嬉しいです。

あとはまあ、実はすべて気象庁のサイトに丁寧な解説があるので、この記事を読んでなんとなくでも理解できたら正確な知識にするためにも読んでみてください。

震度とは何か

皆さんはよくご存知だと思いますが、震度というものは その場所において、どのぐらいの体感(+被害)が発生しうる揺れを観測したか というものです。
どのくらい、とはいってもシンプルに大きな加速度(≒衝撃)を観測しただけでは震度が大きくならないことあり、これには揺れの周期が関係しています。

揺れの周期について

揺れの周期は建物などに対する被害に関与します。
建物など、すべての物体には 固有周波数(固有周期) というものが存在しており、この周波数が与えられると物質自体と共振を起こし、その物体に対する与える影響が大きくなります。学校の授業で音叉を共鳴させましたね。それと同じノリです。
建物(固有周期)に対してどれぐらいの影響を与えるかを数値的に表したものを 応答スペクトル と呼びます。つまり、自分の住んでいる建物に合わせた周波数の強震モニタの速度応答の画像を確認することでどのくらい影響を及ぼしているかがわかるということです。
詳細な解説はこちら

従来は人の感覚や周りの被害により決定されていたり、災害対応の基準となっているという経緯もあり、震度の算出には一般家屋に被害を及ぼしやすい揺れの周期に重点が置かれているように見えます。(筆者の推測のため注意)

長周期地震動階級について

しかし、一般家屋等と固有周期が離れたものがあります。高層ビルです。
揺れの周期が長いため、通常の震度の計算では大きな震度にならない場合が多いです。
また高層ビル以外には影響が殆どないため既存の震度の計算に組み込む意味もあまりありません。

そこで、新たに 長周期地震動階級 というものが発表されることになりました。
様々な高さのビルが存在するため、様々な周期を使用して計算したものが発表されるようです。
詳細な解説はこちら

長周期地震動階級の計算方法については、去年のアドベントカレンダーにフランソワさんが算出する記事を投稿されていますので興味のある方はこちらもご覧ください。
リアルタイムの加速度記録から長周期地震動階級を計算する

周波数成分の取り出しについて

実際に震度の計算方法に入る前に、前提となる知識を雑に解説しておきます。

フーリエ変換と呼ばれるものです。
検索すると難しい記事がたくさん出てきますが、地震波においては、 地震波形に含まれる揺れの周期を抽出する ということです。
応答スペクトルとは異なり、あくまで周期と強さを分離するのみのため、これだけでの建物への影響を想定するのは困難です。混同しないように注意してください。

周波数成分がわかると、逆に周波数成分から大体の元の波形に戻すことも可能です。
同じ仕組みを利用した音声の圧縮技術として mp3 が有名ですね。

震度の計算方法

ここでは雑に解説していますが、(何度も書いている通り)正確な情報は気象庁HPに存在しますのでそちらもご確認ください。

1. 3軸の波形から周波数成分を取り出す

加速度センサーからは

  1. 南北(NS)
  2. 東西(EW)
  3. 上下(UD)

の3軸の波形が送られてきます。加速度計のことを考えると概ねXYZのだと思ってもらってよいです。

3axis

これらの3つの波形から個別に周波数成分を取り出します。 4 までは3軸とも分離した状態です。

フーリエ変換

2. フィルタを掛け、周波数成分に補正をかける

取り出した周波数成分を加工し、 特定の揺れの周期 が強調された状態になります。

filter

3. 補正された周波数成分から波形を復元する

特定の揺れの周期が強調された状態の波形を入手することができます。

逆フーリエ変換

4. 3軸分の波形を合成する

各軸の数値をいい感じに合成します(純粋な足し算ではありません)。

merge

5. 合成した波形の絶対値から合計時間が 0.3 秒になる加速度を探す

難しい表現ですが、算出するアルゴリズムを見るとわかりやすいです。
加速度の絶対値を大きい順からソートし、 0.3 秒にあたる部分の数値 になります。

zatsu

6. 5 の強さをいい感じの計算式にかけて四捨五入する

これも説明が難しいですが、弱い揺れと強い揺れの数値の差が非常に大きいためわかりやすく丸める計算式に通します。
これで 計測震度 と呼ばれるものが完成します。

7. 計測震度 を 気象庁震度階級 に当てはめる

変換表から計測震度を気象庁震度階級に割り当てることで普段目にする震度が算出できます。

強震モニタのリアルタイム震度について

気象庁の震度の算出方法では基本的に一連(1分間)の波形をまとめて計算することが想定されており、震度を確定させるまでに時間がかかります
安定して周波数成分の分離を行うためにはそれなりに長い時間の波形が必要であったり、計算コストも高いなど、リアルタイムで計算するにはいくつか問題がありました。

そこで、周波数成分の分離をしてからフィルタを掛け、戻していた部分と 同じような結果を得られる近似フィルタ処理が防災科研により開発されました。(特許)
これにより、分離などの作業はせずに、入力の信号+前回の出力をいい感じに混ぜることでほぼ同じフィルタ結果を得ることができるようになっています。

これを使用して算出された震度は リアルタイム震度 と呼ばれ、計測震度と少ない誤差の数値がリアルタイムに算出できるようになっています。

PiDAS のご紹介(未承諾宣伝)

このように、(精度はともかく)加速度がわかればその地点での震度を算出することができます。
そこで、強震モニタのアルゴリズムを使用し震度を算出できる物理的なデバイス PiDAS の紹介をさせてください。

image

(汚い画像ですみません)
このボードには Raspberry Pi Pico というマイコンボードと加速度計・それをマイコンが読み取れる信号に変換するパーツが搭載されています。
またLEDを使用して表示する部分も搭載されており、リアルタイムに観測している震度・過去10分以内に観測された最大震度を確認することができます。

書籍ではこの記事よりも詳しくわかりやすい震度の算出方法や歴史、回路の詳細などが記載されていますので興味のある方はぜひお買い求めください。

PiDASPlus

ついでに拙作の PiDASPlus についても紹介させてください。
PiDASPlus はPiDASのボード向けのカスタムファームウェアです。オリジナルの PiDAS と比べて以下のような改善があります。

  • 正確な震度の計算
    • C++に移植することで強震モニタと同じ100Hzで計算できるように
    • フランソワさんのご協力により、リアルタイム震度の計算におけるミスが修正されました
  • 定期的な Adjust ボタンによる補正が不要に
    • フィルタの効果により、設置位置や変更しても一定時間経過させることでほぼ0に落ち着きます
  • PCからの観測データの確認が可能に
    • USB接続したPCに観測データを出力します もちろん単独でも動作可能です

PiDASPlusGraph
(グラフ表示アプリはまだちゃんとリリースしてないので気になる方は自分でビルドするか、僕までお問い合わせください。)

リポジトリ: https://github.com/ingen084/PiDASPlus
ビルド済みのファイルはページ右側 Releases からダウンロードできます。

自分で震度を計算するときのポイント

やる気のある方は自分でマイコンと加速度センサーを用意し、自分でコードを書いてみてもよいかと思います。
その際の注意点としてはパッと思いつくだけでも主に2点ありますので雑にリストアップしてみます。

  • 加速度計の精度やノイズを確認する
    • データシートを確認しておきましょう
    • 精度や最大加速度が低いと正確な震度が計算できません(大抵は問題ないと思いますが)
    • ノイズが多いと一定以下の揺れとノイズの判別がつかなくなります
      • スマホに搭載されている加速度センサーでは問題がある場合があるので注意しましょう
  • 強震モニタで使用されるアルゴリズムは特許技術のため、許諾を得る必要がある

このあたりについてはPiDAS作者のけー氏が19日に関連する投稿をされるようなので楽しみですね!

さいごに

解説画像が適当すぎる。すみません。
本当はちゃんと清書したかったんですが、時間がなかったんです(言い訳)。

明日は あめうま 氏の最寄りの強震モニタ観測点を割り出す話だそうです。
アドベントカレンダーはまだ始まったばかりです。僕はもう既にボロボロですが、楽しみましょう~