ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

phasez

デジタル フィルターの位相応答

構文

[phi,w] = phasez(b,a,n)
[phi,w] = phasez(sos,n)
[phi,w] = phasez(d,n)
[phi,w] = phasez(...,n,'whole')
phi = phasez(...,w)
[phi,f] = phasez(...,n,fs)
phi = phasez(...f,fs)
[phi,w,s] = phasez(...)
phasez(...)

説明

[phi,w] = phasez(b,a,n) では、b および a で指定されるフィルター係数に対し、n 点からなるアンラップされた位相応答ベクトル phi をラジアン単位で、周波数ベクトル w をラジアン/サンプル単位で返します。周波数ベクトル w の値は、0 ~ π までの範囲となります。n を省略した場合、位相応答ベクトルの長さは、既定値の 512 になります。最適な結果を得るため、n をフィルター次数よりも大きい値に設定します。

[phi,w] = phasez(sos,n) では、2 次セクション型の行列 sos のアンラップされた位相応答が返されます。sos は K 行 6 列の行列で、セクション数 K は 2 以上でなければなりません。セクション数が 2 未満の場合、phasez は入力を分子ベクトル b とみなします。sos の各行は 2 次 (双二次) フィルターの係数に対応しています。sos 行列の i 行目は [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)] に対応しています。

[phi,w] = phasez(d,n) では、デジタル フィルター d のアンラップされた位相応答が返されます。d を周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。

[phi,w] = phasez(...,n,'whole') では、単位円を 0 から 2π ラジアン/サンプルで等分する n 個の点で評価される周波数ベクトルとアンラップされた位相応答ベクトルが返されます。

phi = phasez(...,w) では、w (ラジアン/サンプル) で指定された周波数におけるアンラップされた位相応答がラジアン単位で返されます。周波数は通常 0 ~π になります。ベクトル w は少なくとも 2 つの要素をもたなければなりません。

[phi,f] = phasez(...,n,fs) では、アンラップされた位相ベクトル phi がラジアン単位で、周波数ベクトルが Hz で返されます。周波数ベクトルは、0 ~ ナイキスト周波数 fs/2 の範囲となります。'whole' オプションを使用する場合、周波数ベクトルは 0 ~サンプリング周波数の範囲となります。

phi = phasez(...f,fs) では、サンプリング周波数 fs (Hz) を使用してベクトル f (Hz) で指定された周波数における位相応答 (ラジアン単位) が返されます。ベクトル f は少なくとも 2 つの要素をもたなければなりません。

[phi,w,s] = phasez(...) では、プロット情報が返されます。ここで、s は、さまざまな周波数応答プロットを表示するために変更可能なフィールドを含む構造体配列です。

出力引数なしで phasez(...) を使用すると、フィルターの位相応答がプロットされます。フィルター係数または2 次セクション型行列を入力した場合、現在の Figure ウィンドウが使用されます。digitalFilter を入力している場合、ステップ応答は fvtool で表示できます。

メモ

phasez への入力が単精度の場合、位相応答は単精度演算で計算されます。出力 phi は単精度です。

すべて折りたたむ

designfilt を使用して、次数 54、正規化されたカットオフ周波数 0.3π ラジアン/サンプル、通過帯域リップル 0.7 dB および阻止帯域の減衰量 42 dB の FIR フィルターを設計します。制約付き最小二乗法を使用します。フィルターの位相応答を表示します。

Nf = 54;
Fc = 0.3;
Ap = 0.7;
As = 42;

d = designfilt('lowpassfir','CutoffFrequency',Fc,'FilterOrder',Nf, ...
               'PassbandRipple',Ap,'StopbandAttenuation',As, ...
               'DesignMethod','cls');
phasez(d)

fircls1 を使用して同じフィルターを設計します。fircls1 では、リップルと減衰量が線形単位で測定されることに注意してください。

pAp = 10^(Ap/40);
Apl = (pAp-1)/(pAp+1);

pAs = 10^(As/20);
Asl = 1/pAs;

b = fircls1(Nf,Fc,Apl,Asl);
phasez(b)

正規化された通過帯域周波数 0.45π ラジアン/サンプル、正規化された阻止帯域周波数 0.55π ラジアン/サンプル、通過帯域リップル 1 dB、阻止帯域の減衰量 60 dB をもつローパス等リップル フィルターを設計します。フィルターの位相応答を表示します。

d = designfilt('lowpassfir', ...
               'PassbandFrequency',0.45,'StopbandFrequency',0.55, ...
               'PassbandRipple',1,'StopbandAttenuation',60, ...
               'DesignMethod','equiripple');
phasez(d)

正規化された通過帯域周波数 0.4π ラジアン/サンプル、正規化された阻止帯域周波数 0.5π ラジアン/サンプル、通過帯域リップル 1 dB、阻止帯域の減衰量 60 dB をもつ楕円ローパス IIR フィルターを設計します。フィルターの位相応答を表示します。

d = designfilt('lowpassiir', ...
               'PassbandFrequency',0.4,'StopbandFrequency',0.5, ...
               'PassbandRipple',1,'StopbandAttenuation',60, ...
               'DesignMethod','ellip');
phasez(d)

R2006a より前に導入