Signal Processing Toolbox    
grpdelay

平均フィルタ遅れ(群遅延)

表示

詳細

フィルタの群遅延とは、フィルタの平均遅れを周波数の関数として測定したものです。これは、フィルタの位相応答の1次導関数に負の符号を付けたものです。フィルタの複素周波数応答がH(ej)の場合、群遅延は、つぎのように表されます。

ここで、は周波数、H(ej)の位相角です。

[gd,w] = grpdelay(b,a,n) は、ベクトルbおよびaに分子および分母の係数が与えられた場合、ディジタルフィルタのn点の群遅延を出力します。

は、群遅延gdとラジアン単位のn個の周波数点を含むベクトルwを出力します。grpdelayは、単位円の上半分の円周上の等間隔なn点での群遅延を計算するため、wは0との間のn点を含みます。nの値を厳密に2のベキ乗にすると、FFTアルゴリズムを使った高速計算が可能になります。

[gd,f] = grpdelay(b,a,n,fs) は、正のサンプリング周波数fsをヘルツ単位で設定します。これは、群遅延が計算される実際の周波数点を含む長さnのベクトルfをヘルツ単位で出力します。fは、0とfs/2の間のn点を含みます。

[gd,w] = grpdelay(b,a,n,'whole') および

[gd,f] = grpdelay(b,a,n,'whole',fs) は、単位円全体の円周上のn点を使用します(0〜2または0〜fsの間)。

gd = grpdelay(b,a,w) および

gd = grpdelay(b,a,f,fs) は、w(ラジアン単位)またはf(ヘルツ単位)の点で計算した群遅延をそれぞれ出力します。ここで、fsはヘルツ単位のサンプリング周波数です。

出力引数を設定せずにgrpdelay を使用すると、周波数に対する群遅延をカレントのFigureウィンドウにプロット表示します。

grpdelayは、実数入力システムと複素数入力システムのいずれに対しても機能します。

例題

Butterworthフィルタb(z)/a(z)の群遅延をプロットします。

つぎに、システムの群遅延と位相遅れを同じグラフ上にプロットします。

アルゴリズム

grpdelay は、フィルタ係数と単位ランプを乗算します。フーリエ変換後は、この処理は微分に対応します。

参考
cceps
複素ケプストラム解析
fft
1次元高速フーリエ変換
freqz
ディジタルフィルタの周波数応答
hilbert
Hilbert変換
icceps
逆複素ケプストラム
rceps
実数ケプストラムと最小位相復元


 gauspuls hamming