チャネルファイル chfile が与えられた場合、その中から入力データの感度情報 (1LSBあたりのgalまたはm/s/s値)を得ます。 もしその方法で感度情報が得られない場合、raw_snd は入力データの3成分合成 オフセット値を重力値(980galまたは9.8m/s/s)とみなして、データから 感度情報を生成します。ただしこの場合はセンサーの固有オフセット分が 感度の誤差となることに注意が必要です。
キー outkey をもつ共有メモリ・セグメントが存在しない場合は、大きさ shmsize (KB) の共有メモリ・セグメントが作られます。すでに存在している場合は、 そのサイズが shmsize (KB) よりも小さいとエラーになります。 共有メモリ・キーは32ビットの整数値です。
ログファイル名 logfile を指定すると、ここに動作ログがとられ、指定しないとログ情報は標準出力に 送られます。ログファイルは書き込みのたび毎にオープン/クローズされます。
チャネルファイルの形式については win(1W) を参照してください。 感度情報は
[8]センサーの感度(V/入力振幅単位、入力振幅単位は[9]で示す) [9][8]における入力振幅単位、"m/s/s"または"gal" [12]センサー出力からA/D変換までの電圧増幅率(dB) [13]A/D変換の1量子化ステップ幅(V)
の4項目から算出されます。したがってチャネルファイルは、少なくとも 行頭から13項目めまでが埋まっている必要があります。3チャネルのうち一部の チャネルについての感度情報 しか得られない場合、他のチャネルについては得られたのと同じ値が代用されます。
入力データの共有メモリ inkey 上の形式は、時間順整列されたもの(order(1W)参照)でも されていないもの(recvt(1W)参照)でもかまいません。 出力側共有メモリ outkey の形式は inkey と同じになります。
raw_snd は、引数なしで起動すると簡単な使用法を表示します。
raw_snd 11 0300 12 100 0400 ch.tbl
このときウィンドウ環境があれば、簡単なwishスクリプト show_snd
fileevent stdin readable { set d [lrange [gets stdin] 0 5] set i [format "%.1f" [expr ([lrange [gets stdin] 2 2]-30)*0.1]] } label .w1 -bg black -fg red -font {Arial 16} -textvar d label .w2 -bg black -fg red -font {Arial 200} -textvar i pack .w1 .w2 -fill both
を使って、
shmdump -qt 12 | wish show_snd
raw_snd は現在のところサンプリングレート100Hz の入力波形データのみに 対応しており、サンプリングレートが約100Hzでないデータは読み捨てます。
raw_sndでは入力データに対して、気象庁が指定する周波数特性の補正を、 300次の最小位相特性FIRフィルタにより時間領域で施して震度を算出しています。 その際、入力される加速度波形データはDCから数十Hzまで平坦な周波数特性を 持っていると仮定しているので、もしそうでないセンサー特性の場合は 別途補正が必要かもしれません。