Scilabによる感覚補正レベル波形

音圧波形や加速度波形から騒音レベルとか振動レベルを描かせたい場合にハードルになるのは2つあって、1つは波形に感覚補正をかける事と、2つめは波形に時定数をかける事となる。
どちらも行っている事はフィルター処理みたいな事であって、特に感覚補正はフィルターをかける事だ。ただ探し方が悪いのかも知れないが、こういう情報はなかなか見当たらない。
振動レベルの方は小野測器に遮断周波数 0.4 Hz 、2 次バターワース型ハイパスフィルタと遮断周波数 100 Hz 、4 次バターワース型ローパスフィルタの組み合わせと書いてある。しかし、騒音レベルに関してはなかなか見当たらない。そもそも振動鉛直補正はいかにもバターワースフィルタで出来そうな形をしているから、仮に小野測器の情報が無くても、そんなに困らないが、A特性はそうはいかない。どう考えても、バターワースフィルタでは無理そうだ。しかし、やっとmatlabで書かれたA特性が出来るフィルタ係数を計算するソースを見つけた。このフィルタ係数を元波形に畳み込めば出てくる筈だ。scilabで動くようにしたが、まだ実際に畳み込みをかけて試してはいない。
やっている事は、オクターブ周波数毎の補正値をプロットして、それをスプラインした曲線を逆FFTしてインパルスレスポンスを得て、それをフィルタ係数としている。

時定数の方は、騒音制御学会だかどこかに有った資料から会社の人がVBAで作ったソースを基にScilab用に書き直した。