室長:インパルスとは幅がゼロですべての周波数を含んだ信号のことじゃ。実際にはサンプリング周波数に応じた幅があるので高域に限界はある。この信号を再生して録音すればインパルスレスポンスが記録できる。インパルスの波形はほれ、こんな感じじゃ。
a=[zeros(4096,1)];
a(2047)=1;
plot(a);
助手:一瞬だけですね。っていうか値が1つだけ1であとはゼロなだけじゃないですか。これですべての周波数成分が含まれているのですか?
室長:その通りじゃ。これを波形として含まれる周波数成分をみるとこうなる。フィルタとしてみて周波数特性を見るのと意味は同じじゃ。「入力信号が何ヘルツであれ、そのまま通す=すべての周波数が含まれている」と言うわけじゃ。
filterplot(a,44100);
axis([0.1 22050 -10 5]);
ただしエネルギーとしてはとても小さいので測定結果のS/Nがとても悪い。そこで時間軸で引き伸ばして測定する。その結果を逆のフィルタで畳み込めばインパルスに戻るわけじゃ。
助手:わかったようなわからないような。
室長:まあ要はインパルスレスポンスを測定するにはタイムストレッチパルス(ログスイープ)信号のwavファイルを用意して再生し、それを録音して逆特性のフィルタで元に戻せばOKなのだ。信号をつくるのに今回は都合によりdrcに含まれているglsweepというソフトを使うぞ。
助手:drcってなんですか?
室長:Digital Room Correctionの略で、firフィルタによってリスニングルームの特性を補正しようというものじゃ。とても興味深いが残念ながらワシは使ったことが無い。
助手:このソフトもbrutefirと同様に日本語の情報があまりありませんね。
室長:このdrcのなかに含まれている測定用信号作成ソフト”glsweep”を使わせてもらう。いつも通りインストールするぞ。コマンドラインで
sudo apt-get install drc
これでglsweepもインストールされる。説明はdrcもwebページと’man drc’で見てくれ。 またglsweepと入力するだけでもhelpが表示されるぞ。
2012年12月22日