| Signal Processing Toolbox | ![]() |
表示
Txy=tfe(x,y) Txy=tfe(x,y,nfft) [Txy,f]=tfe(x,y,nfft,fs) Txy=tfe(x,y,nfft,fs,window) Txy=tfe(x,y,nfft,fs,window,numoverlap) Txy=tfe(x,y,...,'dflag') tfe(x,y)
詳細
は、入力信号ベクトルTxy = tfe(x,y)
xと出力信号ベクトルyを与え、伝達関数推定値Txyを求めます。伝達関数は、xとyのクロススペクトルとxのパワースペクトルの比であり、つぎのように表されます。
入力xと出力yの関係は、線形の時不変伝達関数Txyによってモデリングされます。
ベクトルxとベクトルyは、同じ長さでなければなりません。Txy = tfe(x,y)は、つぎのデフォルト値を使用します。
nfft = min(256,(length(x)) fs = 2 window は、長さnfftの周期的なHann(Hanning)ウインドウnumoverlap = 0 nfftでは、tfeが使用するFFTの長さを設定します。この値により、パワースペクトルを計算する周波数の刻みを決定します。fsは、サンプリング周波数を設定するスカラです。windowは、tfeが分割したxおよびyベクトルに使用するウィンドウとサンプル数を設定します。noverlapは、分割したデータ列をオーバラップさせるサンプル数です。入力引数のいずれかを省略すると、それより右側に位置する引数には、上記のデフォルト値が使用されます。
xが実数の場合、tfeは正の周波数の伝達関数のみを推定します。この場合、出力Txyは、nfftが偶数の場合、長さnfft/2+1の列ベクトル、n が奇数の場合、長さ(nfft+1)/2の列ベクトルとなります。xまたはyが複素数の場合、tfe は正と負の周波数の伝達関数を共に推定し、Txy の長さはnfftとなります。
Txy は、伝達関数の推定にFFTの長さ = tfe(x,y,nfft)
nfftを使用します。実行速度を最も速くするには、nfftを2のベキ乗数として設定します。
は、この関数が伝達関数を推定する周波数のベクトル[Txy,f] = tfe(x,y,nfft,fs)
fを出力します。fsはサンプリング周波数です。fはTxyと同じ大きさであるため、plot(f,Txy)は適切にスケーリングされた周波数に対する伝達関数をプロットします。fsは周波数を求めるだけのもので、出力Txyには影響しません。
Txy は、ベクトル = tfe(x,y,nfft,fs,window)
xに適用するウィンドウおよびサンプル数を設定します。windowにスカラを与えた場合、tfeは、その長さのHannウィンドウを使用します。ウィンドウの長さはnfft以下でなければなりません。ウィンドウの長さがnfftを越える場合には、tfeはゼロを付加します。
Txy は、 = tfe(x,y,nfft,fs,window,numoverlap)
numoverlap数のサンプルでxの分割をオーバラップさせます。
xまたはy以外のどの入力引数にも、空行列[]を使用して、デフォルト値を設定することができます。たとえば、
Txy = tfe(x,y,[],[],kaiser(128,5))
は、nfftの値として256を、fsの値として2を使用します。
Txy は、トレンド除去オプションを設定します。ここで、 = tfe(x,y,...,'dflag')
dflagには、つぎの文字列が設定できます。
linear:xおよびyにウィンドウを適用する前に最適な直線近似を除去します。 mean:xおよびyにウィンドウを適用する前に、平均を除去します。 none:トレンド除去を行ないません(デフォルト)。 dflagパラメータは、入力引数のリストの最後に設定しなければなりません。tfeは、中間の引数の数に関係なく、dflag文字列を認識します。
tfe(...)
は、出力引数を設定せずに使用すると、カレントのfigureウィンドウに周波数に対する伝達関数推定のゲインを dB 単位でプロットします。
例題
2つの有色雑音列xとyの間の伝達関数の推定値を計算してプロットします。
h=fir1(30,0.2,boxcar(31)); x=randn(16384,1); y=filter(h,1,x); tfe(x,y,1024,[],[],512) title('Transfer Function Estimate')
アルゴリズム
windowを適用します。
nfftのFFTを計算します。
xのスペクトルの二乗を平均してPxxを作成し、分割したxとyのスペクトルの積を平均してPxyを作成します。
Txyを計算します。
Txy = Pxy./Pxx
診断
誤った引数を使用すると、つぎのような警告メッセージが表示されます。
Requires window's length to be no greater than the FFT length. Requires NOVERLAP to be strictly less than the window length. Requires positive integer values for NFFT and NOVERLAP. Requires vector (either row or column) input. Requires inputs X and Y to have the same length.
参考
etfe |
経験的伝達関数推定値とピリオドグラムの計算(System Identification Toolbox User's Guideを参照) |
|
2つの信号間の二乗コヒーレンス関数の推定 |
|
2つの信号のクロススペクトル密度(CSD)の推定 |
|
信号のパワースペクトル密度(PSD)の推定 |
spa |
入力-出力データのスペクトル解析の実行(System Identification Toolbox User's Guideを参照) |
| tf2zp | triang | ![]() |