Signal Processing Toolbox | ![]() ![]() |
周波数変換
アナログプロトタイプ設計手法の第2段階は、ローパスプロトタイプの周波数変換です。ツールボックスは、アナログローパスプロトタイプ(1ラジアン/秒のカットオフ周波数をもつ)を、希望するカットオフ周波数のバンドパスフィルタ、ハイパスフィルタ、バンドストップフィルタ、およびローパスフィルタに変換する関数を用意しています。
表からわかるように、すべての周波数変換関数は2つの線形システムモデル、すなわち伝達関数および状態空間(State space)型を使うことができます。バンドパスおよびバンドストップの場合は、
となります。ここで、1は下側の帯域エッジ、
2 は上側の帯域エッジです。
周波数変換関数は、周波数変数代入を行います。lp2bp
およびlp2bs
では、これは、2次の代入であり、そのため、出力されるフィルタは入力のフィルタの次数の2倍になります。lp2lp
およびlp2hp
の場合には、出力されるフィルタは入力と同じ次数になります。
通過帯域リップルに3 dBの値をもつ10次のChebyshev I型帯域フィルタの設計を開始するには、つぎのようにします。
[z,p,k] = cheb1ap(5,3);
z
、p
、k
には、1ラジアン/秒に等しいカットオフ周波数cをもつローパスアナログフィルタの極、零点、および利得が出力されます。関数
lp2bp
を用いて、このローパスプロトタイプを帯域エッジW1 =
/5およびW2 =
をもつアナログバンドパスフィルタに変換します。まず、関数
lp2bp
が、このフィルタを受け取ることができるように状態空間(State space)型に変換します。
[A,B,C,D] = zp2ss(z,p,k); % 状態空間(State space)型への変換
つぎに、帯域幅および中心周波数を求め、lp2bp
を使います。
u1 = 0.1*
2*
pi; u2 = 0.5*
2*
pi; % ラジアン/秒単位 Bw = u2-u1; Wo = sqrt(u1*
u2); [At,Bt,Ct,Dt] = lp2bp(A,B,C,D,Wo,Bw);
[b,a] = ss2tf(At,Bt,Ct,Dt);% TF型への変換 w = linspace(.01,1,500)*
2*
pi;% 周波数ベクトルの生成 h = freqs(b,a,w);% 周波数応答の計算 semilogy(w/2/pi,abs(h)), grid% 周波数に対するゲインの対数をプロット
![]() | アナログプロトタイプ設計 | フィルタの離散化 | ![]() |