repfreq
周波数応答
呼び出し手順
[ [frq,] repf]=repfreq(sys,fmin,fmax [,step]) [ [frq,] repf]=repfreq(sys [,frq]) [ frq,repf,splitf]=repfreq(sys,fmin,fmax [,step]) [ frq,repf,splitf]=repfreq(sys [,frq])
パラメータ
- sys
syslin
リスト: SIMO 線形システム- fmin,fmax
実数(周波数範囲の下限と上限)
- frq
周波数の実数ベクトル (Hz)
- step
対数離散刻み増分
- splitf
臨界周波数の添え字ベクトル.
- repf
複素周波数応用のベクトルv
説明
sys(s)
が Sys
の伝達関数の場合,
repf(k)
は,
連続時間システムの場合にs= %i*frq(k)*2*%pi
,
離散時間システム(サンプリング時間:dt
)の場合にexp(2*%i*%pi*dt*frq(k))
で評価された sys(s)
に等しくなります.
db(k)
はrepf(k)
の振幅(単位: dB),すなわち,
db(k)=20*log10(abs(repf(k)))
です.
また, phi(k)
はrepf(k)
の位相(単位:度)です.
fmin,fmax,step
が入力パラメータの場合,
frq=[10.^((log10(fmin)):step:(log10(fmax))) fmax];
で指定された
周波数ベクトルfrq
に関して応答が計算されます.
step
が指定されない場合, 出力パラメータ frq
が frq=calfrq(sys,fmin,fmax)
により計算されます.
ベクトル frq
は,splitf
ベクトルにより
複数の通常の周波数範囲に分割されます.
frq(splitf(k):splitf(k+1)-1)
は臨界周波数を有しません.
sys
は, [frq(splitf(k)),frq(splitf(k)+1)]
の
範囲に極を一つ有し, その外側には極がありません.
例
A=diag([-1,-2]);B=[1;1];C=[1,1]; Sys=syslin('c',A,B,C); frq=0:0.02:5;w=frq*2*%pi; //frq=frequencies in Hz ;w=frequencies in rad/sec; [frq1,rep] =repfreq(Sys,frq); [db,phi]=dbphi(rep); Systf=ss2tf(Sys) //Transfer function of Sys x=horner(Systf,w(2)*sqrt(-1)) // x is Systf(s) evaluated at s = i w(2) rep=20*log(abs(x))/log(10) //magnitude of x in dB db(2) // same as rep ang=atan(imag(x),real(x)); //in rad. ang=ang*180/%pi //in degrees phi(2) repf=repfreq(Sys,frq); repf(2)-x
参照
Report an issue | ||
<< phaseplot | Frequency Domain | svplot >> |