A weigt 補正

 今までscilabでは、A特性レスポンスの周波数特性を逆FFTをかけてフィルタ係数にし、畳み込みを使用して波形データにA特性を適用するプログラムは作っていたのだが、もう少しスマートに出来ないものかと考えてみた。
 先ずはエクセル上でシミュレートしてみる。遮断周波数はJIS C 1509-1を参考にし、1次バターワースを組み合わせて、減衰量を足し合わしている。青船が目標値で三重線になっているのは、A特性レスポンスと許容範囲。赤線が1次バターワースの減衰線だが、遮断周波数の緑の線を越えた所で他の1次バターワースの減衰と足し合わしているのだけど、判りにくいかもしれない。

 基本的には、20.6Hz、107.7Hz、737.9Hzの遮断周波数の1次バターワースローパスフィルタを。但し、20.6Hzは2つローパスフィルタを置く。そして、12194.2Hzの遮断周波数の1次バターワースハイフィルタを2つ置く。
そうして複数の1次バターワースフィルタに、インパルスを放り込んだのがこれ。
 これも判りにくいんだけど、三重の線は真ん中がA特のレスポンスで、他が誤差許容範囲。大体は合っているんだけど、20kHzでは減衰が利きすぎてしまう。エクセルと合致する。でもまあ、誤差許容範囲内。