ヘルプ センターヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
平均フィルター遅延 (群遅延)
[gd,w] = grpdelay(b,a,n)
[gd,w] = grpdelay(sos,n)
[gd,w] = grpdelay(d,n)
[gd,w] = grpdelay(___,"whole")
[gd,f] = grpdelay(___,n,fs)
[gd,f] = grpdelay(___,n,"whole",fs)
gd = grpdelay(___,win)
gd = grpdelay(___,fin,fs)
grpdelay(___)
[gd,w] = grpdelay(b,a,n) では、b と a に格納されている伝達関数の係数をもつデジタル フィルターに対し、n 点の群遅延の応答ベクトル gd と、それに対応する角周波数ベクトル w が返されます。
gd
w
b
a
n
[gd,w] = grpdelay(sos,n) では、2 次セクション行列 sos に対応する n 点の群遅延応答が返されます。
sos
例
[gd,w] = grpdelay(d,n) では、デジタル フィルター d の n 点の群遅延応答が返されます。
d
[gd,w] = grpdelay(___,"whole") では、単位円全体で n 個のサンプル点の群遅延が返されます。
[gd,f] = grpdelay(___,n,fs) では、レート fs でサンプリングされたフィルター信号に設計されたデジタル フィルターに対し、群遅延応答ベクトル gd とそれに対応する物理周波数ベクトル f が返されます。
f
fs
[gd,f] = grpdelay(___,n,"whole",fs) では、0 から fs の範囲の n 個の点における周波数ベクトルが返されます。
gd = grpdelay(___,win) では、win で提供される正規化周波数で評価された群遅延応答ベクトル gd が返されます。
win
gd = grpdelay(___,fin,fs) では、fin で提供される物理周波数で評価された群遅延応答ベクトル gd が返されます。
fin
出力引数なしで grpdelay(___) を使用すると、フィルターの群遅延応答がプロットされます。
すべて折りたたむ
正規化された 3 dB の周波数 0.2π ラジアン/サンプルをもつ次数 6 のバタワース フィルターを設計します。grpdelay を使用して群遅延を表示します。
grpdelay
[z,p,k] = butter(6,0.2); sos = zp2sos(z,p,k); grpdelay(sos,128)
同じ Figure 内で、システムの群遅延と位相遅延をプロットします。
gd = grpdelay(sos,512); [h,w] = freqz(sos,512); pd = -unwrap(angle(h))./w; plot(w/pi,gd,w/pi,pd) grid xlabel 'Normalized Frequency (\times\pi rad/sample)' ylabel 'Group and phase delays' legend('Group delay','Phase delay')
designfilt を使用して、正規化された 3 dB の周波数 0.2π ラジアン/サンプルをもつ 6 次のバタワース フィルターを設計します。その群遅延応答を表示します。
designfilt
d = designfilt('lowpassiir','FilterOrder',6, ... 'HalfPowerFrequency',0.2,'DesignMethod','butter'); grpdelay(d)
任意振幅応答の 88 次 FIR フィルターを設計します。フィルターには、2 つの通過帯域と 2 つの阻止帯域があります。低域周波数の通過帯域は、高周波数の通過帯域のゲインの 2 倍です。サンプル レート 200 Hz を指定します。10 Hz から 78 Hz までのフィルターの振幅応答と位相応答を可視化します。
fs = 200; d = designfilt('arbmagfir', ... 'FilterOrder',88, ... 'NumBands',4, ... 'BandFrequencies1',[0 20], ... 'BandFrequencies2',[25 40], ... 'BandFrequencies3',[45 65], ... 'BandFrequencies4',[70 100], ... 'BandAmplitudes1',[2 2], ... 'BandAmplitudes2',[0 0], ... 'BandAmplitudes3',[1 1], ... 'BandAmplitudes4',[0 0], ... 'SampleRate',fs); freqz(d,10:1/fs:78,fs)
同じ周波数範囲上のフィルターの群遅延応答を計算して表示します。フィルター次数の 1/2 であることを確認します。
filtord(d)
ans = 88
grpdelay(d,10:1/fs:78,fs)
伝達関数の係数。ベクトルで指定します。b と a によるこの伝達関数式は次になります。
H(z)=B(z)A(z)=b1+b2z−1⋯+bnz−(n−1)+bn+1z−na1+a2z−1⋯+amz−(m−1)+am+1z−m
例: b = [1 3 3 1]/6 と a = [3 0 1 0]/3 は、正規化された 3 dB の周波数 0.5π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。
b = [1 3 3 1]/6
a = [3 0 1 0]/3
データ型: double | single 複素数のサポート: あり
double
single
評価点の数。2 以上の正の整数スカラーとして指定します。n がない場合の既定値は 512 です。最適な結果を得るため、n をフィルター次数よりも大きい値に設定します。
2 次セクションの係数。行列として指定します。sos は K 行 6 列の行列で、セクション数 K が 2 以上でなければなりません。セクション数が 2 未満の場合、関数は入力を分子ベクトルとして扱います。sos の各行は 2 次 (双二次) フィルターの係数に対応しています。sos の i 行目は [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)] に対応しています。
[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]
例: s = [2 4 2 6 0 2;3 3 0 6 0 0] は、正規化された 3 dB の周波数 0.5π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。
s = [2 4 2 6 0 2;3 3 0 6 0 0]
digitalFilter
デジタル フィルター。digitalFilter オブジェクトで指定します。デジタル フィルターを周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。
例: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) は、正規化された 3 dB の周波数 0.5π ラジアン/サンプルをもつ 3 次のバタワース フィルターを指定します。
d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5)
サンプル レート。正のスカラーで指定します。時間の単位が秒の場合、fs は Hz で表されます。
データ型: double
角周波数。ラジアン/サンプル単位のベクトルとして指定します。win は少なくとも 2 つの要素をもたなければなりません。そうでない場合は関数が n として解釈するためです。win = π はナイキスト周波数に相当します。
周波数。ベクトルとして指定します。fin は少なくとも 2 つの要素をもたなければなりません。そうでない場合は、関数が n として解釈するためです。時間の単位が秒の場合、fin は Hz で表されます。
群遅延応答。ベクトルとして返されます。n を指定している場合は、gd の長さは n になります。n を指定していないか、n を空ベクトルとして指定している場合には、gd の長さは 512 になります。
grpdelay への入力が単精度の場合、関数によって、群遅延が単精度演算で計算されます。出力 h は単精度です。
h
ベクトルとして返される角周波数。w は 0 ~π の値を取ります。入力に "whole" を指定すると、w の値の範囲は 0 ~ 2π になります。n を指定している場合は、w の長さは n になります。n を指定していないか、n を空ベクトルとして指定している場合には、w の長さは 512 になります。
"whole"
Hz 表記のベクトルとして返される周波数。f は 0 ~ fs/2 Hz の値を取ります。入力に "whole" を指定している場合、f の値の範囲は 0 ~ fs Hz になります。n を指定している場合は、f の長さは n になります。n を指定していないか、n を空ベクトルとして指定している場合には、f の長さは 512 になります。
フィルターの "群遅延応答" とは、フィルターの平均の遅延を周波数の関数として表したものです。これは、フィルターの位相応答の 1 次導関数に負の符号を付けたものです。フィルターの周波数応答が H(ejω) の場合、群遅延は以下になります。
τg(ω)=−dθ(ω)dω,
ここで、θ(ω) は位相、つまり H(ejω) の引数です。
すべて展開する
[プロットの作成] ライブ エディター タスクを使用して、grpdelay の出力を対話的に可視化することができるようになりました。さまざまなグラフ タイプを選択し、オプションのパラメーターを設定できます。タスクは、ライブ スクリプトの一部となるコードも自動的に生成します。
cceps
fft
freqz
hilbert
icceps
phasedelay
rceps
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office