Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

群遅延と位相遅延

フィルターの "群遅延" とは、フィルターの平均の時間遅延を周波数の関数として表したものです。群遅延は、フィルターの位相応答の負の 1 次導関数として定義されます。フィルターの複素周波数応答が H(ejω) の場合、群遅延は次のように表されます。

τg(ω)=-dθ(ω)dω,

ここで、θ(ω) は位相、つまり H(ejω) の引数です。関数grpdelayを使用して、フィルターの群遅延を計算します。たとえば、線形位相 FIR フィルターの場合、群遅延がフィルターの次数の 1/2 であることを確認します。

d = designfilt('lowpassfir','FilterOrder',20,'CutoffFrequency',200,'SampleRate',2000);
islinphase(d)
ans = logical
   1

grpdelay(d)

フィルターの "位相遅延" は、位相を周波数で除算し負の符号を付けたものとして定義されます。

τp(ω)=-θ(ω)ω.

関数phasedelayを使用して、フィルターの位相遅延を計算します。前の例の線形位相 FIR フィルターの場合、位相遅延は群遅延と等しくなります。

phasedelay(d)

FVToolを使用して、システムの群遅延と位相遅延の両方を同じグラフにプロットします。たとえば、5 次のバタワース ローパス フィルターの遅延をプロットします。

d = designfilt('lowpassiir','FilterOrder',5,'HalfPowerFrequency',200,'SampleRate',2000);

fvtool(d,'Analysis','grpdelay','OverlayedAnalysis','phasedelay','Legend','on')

参考

| |