Main Content

群遅延と位相遅延

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

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

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

fs = 2000;
b = fir1(20,200/(fs/2));

islinphase(b)
ans = logical
   1

grpdelay(b,1,[],fs)

Figure contains an axes object. The axes object with title Group Delay, xlabel Frequency (Hz), ylabel Group delay (samples) contains an object of type line.

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

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

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

phasedelay(b,1,[],fs)

Figure contains an axes object. The axes object with title Phase Delay, xlabel Frequency (Hz), ylabel Phase delay (rad/Hz) contains an object of type line.

5 次のバタワース ローパス フィルターの群遅延と位相遅延をプロットします。

[b,a] = butter(5,200/(fs/2));

grpdelay(b,a,[],fs)

Figure contains an axes object. The axes object with title Group Delay, xlabel Frequency (Hz), ylabel Group delay (samples) contains an object of type line.

phasedelay(b,a,[],fs)

Figure contains an axes object. The axes object with title Phase Delay, xlabel Frequency (Hz), ylabel Phase delay (rad/Hz) contains an object of type line.

参考

| |