このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
fvtool
(削除予定) DSP フィルターの周波数応答の可視化
説明
fvtool(
は、フィルター System object™ の振幅応答を表示します。sysobj
)
fvtool(____,
は、指定の各プロパティが指定の値に設定されたフィルターの応答を可視化します。Name=Value
)
その他の入力オプションについては、Signal Processing Toolbox™ の FVTool を参照してください。
例
2 つのローパス ハーフバンド間引きフィルターを作成します。最初のフィルターの設計法が "Equiripple"
に設定され、2 番目のフィルターが "Kaiser"
に設定されます。
フィルター次数を 52 に設定します。遷移幅を正規化周波数単位で指定します。
filterspec = "Filter order and transition width"; Order = 52; TW = 0.1859; firhalfbanddecimEqui = dsp.FIRHalfbandDecimator(... NormalizedFrequency=true,... Specification=filterspec,... FilterOrder=Order,... TransitionWidth=TW,... DesignMethod="Equiripple"); firhalfbanddecimKaiser = dsp.FIRHalfbandDecimator(... NormalizedFrequency=true,...... Specification=filterspec,... FilterOrder=Order,... TransitionWidth=TW,... DesignMethod="Kaiser");
振幅応答をプロットします。フィルター仕様が厳しい場合 (フィルター次数が非常に高く、遷移幅が非常に狭い場合など)、"Kaiser"
法を使用して設計したフィルターはより効果的に収束します。
hfvtMag = fvtool(firhalfbanddecimEqui,firhalfbanddecimKaiser); legend(hfvtMag,["Equiripple","Kaiser"])
入力引数
入力フィルター。次のいずれかのフィルター System object として指定します。
dsp.DCBlocker
(R2024b 以降)
例: firFilt = dsp.FIRFilter(Numerator=designLowpassFIR(FilterOrder=130, CutoffFrequency=2000/(8000/2))); fvtool(firFilt)
フィルター解析オプション。次のいずれかとして指定します。
'magnitude'
–– 振幅応答'phase'
–– 位相応答'freq'
–– 周波数応答'grpdelay'
–– 群遅延'phasedelay'
–– 位相遅延'impulse'
–– インパルス応答'step'
–– ステップ応答'polezero'
–– 極/零点プロット'coefficients'
–– 係数ベクトル'info'
–– フィルター情報'magestimate'
–– 振幅応答推定'noisepower'
–– ノイズ パワー スペクトルの丸め誤差
例: fvtool(firFilt,'freq')
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: firFilt = dsp.FIRFilter(Numerator=designLowpassFIR(FilterOrder=130, CutoffFrequency=2000/(8000/2))); fvtool(firFilt,Arithmetic="single")
サンプル レート。スカラーとして指定します。この値により、fvtool
がチャネライザーのフィルターの周波数応答を表示するナイキスト区間 [-Fs/2 Fs/2] が決まります。
データ型: single
| double
解析で使用する演算を指定します。演算入力が指定されず、フィルター System object がロック解除状態の場合、解析ツールは倍精度フィルターであると仮定します。'Arithmetic'
プロパティを 'Fixed'
に設定した場合、固定小数点プロパティをもつフィルター System object のみに適用されます。
'Arithmetic'
プロパティを 'Fixed'
に設定すると、倍精度の参照フィルターと、フィルターの量子化されたバージョンが両方ともツールに表示されます。フィルターの量子化されたバージョンの作成には、次の 2 つを除くすべての解析オプションにおいて、それぞれのフィルター System object の CoefficientsDataType
プロパティが使用されます。
'magestimate'
–– 振幅応答推定'noisepower'
–– ノイズ パワー スペクトルの丸め誤差
この 2 つの解析オプションでは、フィルターの量子化されたバージョンを解析する際に、すべて固定小数点の設定が使用されます。
バージョン履歴
R2006a より前に導入fvtool
関数は将来のリリースで削除される予定です。代わりに filterAnalyzer
を使用してください。fvtool
関数と filterAnalyzer
関数の動作は異なるため、filterAnalyzer
を使用するにはコードを更新する必要があります。
次のフィルターを検討してください。
[b,a] = ellip(5,5,60,[0.2 0.45]); dFd = dsp.FIRFilter;
次の表は、既存のコードを更新する方法を示しています。
R2024a 以前の元のコード | R2024b で更新されたコード |
---|---|
fvtool(b,a,dFd) | filterAnalyzer(b,a,dFd) |
fvtool(b,a,dFd,Analysis="freq") | filterAnalyzer(b,a,dFd,... Analysis="magnitude",Overlay="phase") |
fvtool(b,a,Fs=1000) | filterAnalyzer(b,a,SampleRates=1000) |
fvtool(b,a,dFd,NumberofPoints=512, ... FrequencyRange="[0, 2pi)",FrequencyScale="Log") | filterAnalyzer(b,a,dFd,NFFT=512, ... FrequencyRange="twosided",FrequencyScale="log") |
hfvt = fvtool(dFd); addfilter(hfvt,dfilt.df1(b,a)) | fa = filterAnalyzer(dFd); addFilters(fa,b,a) |
hfvt = fvtool(dFd); setfilter(hfvt,dfilt.df1(b,a)) | fa = filterAnalyzer(dFd,FilterNames="df"); replaceFilters(fa,b,a,FilterNames="df") |
hfvt = fvtool(b,a,dFd); deletefilter(hfvt,2) | fa = filterAnalyzer(b,a,dFd,FilterNames=["ba" "dFd"]); deleteFilters(fa,FilterNames="dFd") |
hfvt = fvtool(b,a,dFd); legend(hfvt,"ba","dFd") | filterAnalyzer(b,a,dFd,FilterNames=["ba" "dFd"]) |
hfvt = fvtool(b,a,dFd); zoom(hfvt,[0.4 0.7 -30 0]) | fa = filterAnalyzer(b,a,dFd); zoom(fa,"xy",[0.4 0.7 -30 0]) |
fvtool(b,a,dFd,Analysis="noisepower") | filterAnalyzer(b,a,dFd,Analysis="noisepsd") |
フィルター アナライザーでは、2 次セクション (SOS) 形式はサポートされていません。代わりに CTF 形式を使用してください。フィルターが SOS 行列 sos
として指定されている場合は、コードを次のように更新しなければなりません。
R2024a 以前の元のコード | R2024b で更新されたコード |
---|---|
fvtool(sos) | filterAnalyzer(sos(:,1:3),sos(:,4:6)) または [ctfNum,ctfDen] = sos2ctf(sos); filterAnalyzer(ctfNum,ctfDen) |
hfvt = fvtool(sos); set(hfvt.SOSViewSettings,View="cumulative") | [ctfNum,ctfDen] = sos2ctf(sos); fa = filterAnalyzer(ctfNum,ctfDen,CTFAnalysisMode="cumulative"); |
hfvt = fvtool(sos); set(hfvt.SOSViewSettings,View="userdefined",UserDefined={3,1}) | [ctfNum,ctfDen] = sos2ctf(sos); fa = filterAnalyzer(ctfNum,ctfDen, ... CTFAnalysisMode="specify",CTFAnalysisSections={3,1}); |
dsp.BiquadFilter
オブジェクトは警告を発行します。また、将来のリリースでは削除される予定です。代わりに dsp.SOSFilter
オブジェクトを使用してください。既存のコードを置換する方法の詳細については、dsp.BiquadFilter
のリファレンス ページにある互換性の考慮事項のセクションを参照してください。
R2024b 以降、この関数は dsp.DCBlocker
オブジェクトをサポートします。
R2023b 以降、解析関数 fvtool
は dsp.ParallelFilter
オブジェクトおよび dsp.Delay
オブジェクトをサポートします。
dsp.BiquadFilter
オブジェクトは将来のリリースで削除される予定です。代わりに dsp.SOSFilter
オブジェクトを使用してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)