K02 DCX2496を直線位相に変える2

リンクウィッツライリー(以下L-R)フィルタ48db/Octで2wayを計算してみる。

OctaveのsignalパッケージにはバターワースはあるがL-Rはない。しかしL-Rはバターワースの2段接続なので簡単に計算できる。低い周波数で次数が高い場合には[z,p,g]形式を使わないとうまくいかないので注意。IIRは面倒なのでインパルスレスポンスにして計算する。

fs=96000; #サンプリング周波数
[bl al]=butter(4,2500/fs*2); # 4次のバターワース 2500Hz ローパス
[bh ah]=butter(4,2500/fs*2,'high'); #4次のバターワース 2500Hz ハイパス
b24l=impz(bl,al); #インパルスレスポンスに変換
b24h=impz(bh,ah); #インパルスレスポンスに変換
lr48l=conv(b24l,b24l); #同じバターワースを畳み込んで8次のL-Rのローバスを作る
lr48h=conv(b24h,b24h); #8次のL-Rのハイパスを作る
lr48=lr48l+lr48h; #ローパスとハイパスの合成

グラフをプロットしてみる。

バターワース24dB/Oct -3dBクロスで合成特性は+3dB

k2_1
L-R48dB/Oct -6dBクロスで合成特性はフラット

k2_2

L-R48dB/Octのインパルスレルポンスはこんな感じ。

k2_3

結構ガタガタ。
これを直線位相になるように変換する。

2014年10月3日

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.