-
1:tomi_delta
:
2023/07/11 (Tue) 14:10:33
-
こんなサイトを見つけた。
https://blog.ingen084.net/posts/20221202-calc-shindo
自作震度計のゼロ基準点のフィルタによる補正は、面倒だったので初めから自前で入れていたのだが、
PiDASPlus でも同じようなことをしている模様。
-
2:tomi_delta
:
2023/07/11 (Tue) 17:48:47
-
フィルタ部分のアルゴリズムについてもここで述べておきます。
フィルタ関連はネットから資料を集めて作成したものなので、
恐らく、防災科研の近似フィルタ処理などの特許技術には被っていないと思っています。
・フィルタ特性 (2次LPF + HPF)
自分で、手計算でこれに近い特性であることを調査済み。
http://tomixdelta.starfree.jp/images/etc/filter_fs_10ms.png
・HPF は、1秒間のデータ(過去100サンプル)の移動平均を減算
下記のサイトの HPF を参考に作成。
参考URL : https://www.p2pquake.net/develop/rpi_seismometer/
・2次LPF は、下記の方法で計算。(参考URLの方法に近似)
実際のプログラムでは、 a1,a2,b0,b1,b2 の値と、その下の4つの式しか使いません。
Fs = 100 Hz [サンプリング周波数]
Fo = 10 Hz [カットオフ周波数]
Q = 1/√2 [減衰係数]
ω0 = 0.324919696 [tan(π*Fo/Fs)]
a = 0.451463193 [sin(ω0)/Q]
A1 = 1.305822111 [(2*cos(ω0))/(a+1)]
A2 = -0.377919888 [(a-1)/(a+1)]
B0 = 0.018024444 [(1-cos(ω0))/(2*(a+1))]
B1 = 0.036048889 [B0*2]
B2 = 0.018024444 [B0]
reg = input + A1*pre1 + A2*pre2;
output = B0*reg + B1*pre1 + B2*pre2;
pre2 = pre1;
pre1 = reg;
参考URL : https://okbizcs.okwave.jp/mori.nc-net/qa/q9441087.html
-
3:tomi_delta
:
2023/07/11 (Tue) 17:56:02
-
0.3秒のgal値の処理は、qsort関数で10秒間のサンプルデータをソートし、
そのうちの上位から30番目の値を適用。
(考えて自作したが、下記のサイトと同じ方法であった)
参考URL : https://www.p2pquake.net/develop/rpi_seismometer/