FVTool
(削除予定) フィルターの可視化ツール
FVTool は将来のリリースで削除される予定です。代わりにフィルター アナライザーを使用してください。詳細については、バージョン履歴を参照してください。
説明
フィルターの可視化ツールは、フィルターの応答や係数などの情報を表示して解析することができる対話型アプリです。また、FVTool とフィルター デザイナーを同期すれば、フィルター設計に加えた変更を即時に可視化できます。
このアプリでは、以下を表示できます。
振幅応答
位相応答
群遅延
位相遅延
インパルス応答
ステップ応答
極-零点プロット
フィルター係数
フィルター情報
詳細については、解析タイプを参照してください。
DSP System Toolbox™ がインストールされている場合、FVTool はフィルター System object™ の周波数応答も可視化できます。ストリーミング データをリアルタイムにフィルター処理する必要がある場合は、System object を使用することをお勧めします。詳細については、fvtool (DSP System Toolbox)を参照してください。

FVTool を開く
FVTool は、プログラムでの使用で説明されているいずれかの方法を使用して、プログラムによって開くことができます。
例
通過帯域リップル 3 dB、阻止帯域の減衰量 50 dB、サンプル レート 1 kHz、正規化された通過帯域エッジ 300 Hz の 6 次の楕円フィルターを考えます。フィルターの振幅応答を表示します。
[b,a] = ellip(6,3,50,300/500); fvtool(b,a)

プログラムでの使用
fvtool( では、FVTool が開き、分子 b,a)b と分母 a で定義されるデジタル フィルターの振幅応答が表示されます。係数 b と a をべき乗 z-1 の昇順で指定します。
fvtool( では、FVTool が開き、2 次セクションの L 行 6 列の行列で定義されるデジタル フィルターの振幅応答が表示されます。sos)
sos の行には、2 次セクション H(z) のカスケードの分子と分母の係数 bik および aik が含まれます。
セクション数 L は 2 以上でなければなりません。セクション数が 2 未満の場合は、fvtool は入力を分子ベクトルと見なします。
fvtool( では、FVTool が開き、デジタル フィルター d)d の振幅応答が表示されます。d を周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。
fvtool(b1,a1,b2,a2,...,bN,aN) では、FVTool が開き、分子 b1、…、bN と分母 a1、...、aN で定義される複数のフィルターの振幅応答が表示されます。
fvtool( では、FVTool が開き、2 次セクション行列 sos1,sos2,...,sosN)sos1、sos2、...、sosN で定義される複数のフィルターの振幅応答が表示されます。
fvtool( では、FVTool が開き、Hd)dfilt フィルター オブジェクト Hd または dfilt フィルター オブジェクトの配列に対する振幅応答が表示されます。
fvtool( では、FVTool が開き、Hd1,Hd2,...,HdN)dfilt オブジェクト Hd1、Hd2、...、HdN のフィルターの振幅応答が表示されます。
では、Figure ハンドル h = fvtool(___)h が返されます。このハンドルを使用して、コマンド ラインから FVTool を操作することができます。詳細については、MATLAB コマンド ラインを使用した FVTool の制御を参照してください。
詳細
FVTool には、以下の解析タイプがあります。
| 解析 | 説明 |
|---|---|
| 振幅応答 | |
| 位相応答 |
|
| 振幅応答と位相応答 |
|
| 群遅延 |
|
| 位相遅延 |
|
| インパルス応答 |
|
| ステップ応答 |
|
| 極-零点プロット |
|
| フィルター係数 |
|
| フィルター情報 |
|
ツールストリップ上のコントロールを使用して 1 つ以上のフィルターの応答を表示し、解析します。
既定では、1 つのフィルターの振幅応答が表示されます。表示を変更するには、ツールストリップの [解析] セクションで、[解析] リストからオプションを選択します。
プロットに 2 つ目の応答を重ね合わせるには、ツールストリップの [解析] セクションで、[解析の重ね合わせ] リストから使用できる応答を選択します。2 つ目の y 軸が応答プロットの右側に追加されます。[解析パラメーター] ダイアログ ボックスには、x 軸と両方の y 軸のパラメーターが表示されます。
ビュー設定と解析パラメーターの調整、またはサンプリング周波数の指定を行うには、ツールストリップ上の該当するボタンを使用します。プロットの凡例とグリッドの表示を切り替えることもできます。
プロットを編集するには、最初に [Figure に送信] をクリックします。新しい Figure ウィンドウで、プロット編集ツール バーを使用します。

FVTool のハンドルを取得したら、コマンド ラインから FVTool の一部を制御することができます。標準のグラフィックス オブジェクトのプロパティ (詳細については、プロパティのリストの表示を参照) に加え、FVTool には以下のプロパティが用意されています。
Analysis— 指定したタイプの解析プロットを表示します。次の表は、すべての解析タイプとそれらを呼び出す方法の一覧です。フィルター内部設定を使用する解析は、振幅応答推定と丸めノイズ パワーのみであることに注意してください。これらは、DSP System Toolbox でのみ提供されています。解析タイプ 解析オプション 振幅プロット
"magnitude"位相プロット
"phase"振幅と位相のプロット
"freq"群遅延プロット
"grpdelay"位相遅延プロット
"phasedelay"インパルス応答プロット
"impulse"ステップ応答プロット
"step"極-零点プロット
"polezero"フィルター係数
"coefficients"フィルター情報
"info"振幅応答推定
(DSP System Toolbox 導入時のみ使用可能。詳細については、
freqrespest(DSP System Toolbox) を参照してください。)"magestimate"ノイズ パワー スペクトルの丸め誤差
(DSP System Toolbox 導入時のみ使用可能。詳細については、
noisepsd(DSP System Toolbox) を参照してください。)"noisepower"Grid— グリッドの"on"または"off"を制御します。Legend— 凡例の"on"または"off"を制御します。Fs— FVTool のフィルターのサンプリング周波数を制御します。サンプリング周波数ベクトルは、フィルター数と同じ長さかスカラー値でなければなりません。ベクトルの場合、FVTool は各値を、それぞれが対応するフィルターに適用します。スカラーの場合、FVTool は同じ値をすべてのフィルターに適用します。SosViewSettings— (このオプションは DSP System Toolbox 製品をインストールしている場合にのみ使用できます)。2 次セクション フィルターでは、このオプションによってフィルターの表示方法が制御されます。SOSViewSettingsプロパティにはオブジェクトが含まれるため、次の構文で設定しなければなりません。set(h.SOSViewSettings,View=。ここで、viewtype)viewtypeは、以下のいずれかです。Complete— フィルター全体の完全な応答を表示します。Individual— 各セクションの応答を個別に表示します。Cumulative— 各セクションとそれ以前のセクションの累積に対する応答を表示します。フィルターが 3 つのセクションを含む場合、最初のプロットはセクション 1 を、2 つ目のプロットは 1 つ目と 2 つ目のセクションの累積を、3 つ目のプロットは 3 つすべてのセクションの累積を表示します。さらに、セクションが分割される位置を決定する 2 番目のスケーリングを指定できます。2 番目のスケーリング ポイントは、セクションの再帰部分と非再帰部分の間でスケーリングする位置を示します。既定では、表示は 2 番目のスケーリングを使用しません。2 番目のスケーリングを使用するには、次の構文を使用します。
set(h.SOSViewSettings,View="Cumulative",SecondaryScaling=true)UserDefined— 表示するセクションと、表示順序を定義できます。各セクションがインデックスによって表される cell 配列を入力します。インデックスを 1 つ入力した場合は、そのセクションのみがプロットされます。インデックスの範囲を入力した場合は、その範囲のセクションの応答の組み合わせがプロットされます。たとえば、フィルターが 4 つのセクションを含む場合、{1:4}と入力すると 4 つのすべてのセクションの応答が組み合わせてプロットされます。また、{1,2,3,4}と入力すると、各セクションの応答が個別にプロットされます。
メモ
関数 set を使用して、コマンド ラインから FVTool の他のプロパティを変更できます。get(h) を使用して、プロパティのタグと、現在のプロパティ設定を表示できます。
FVTool ハンドルでは、以下のメソッドを使用することができます。
addfilter(h,filtobj)では、FVTool に新規フィルターが追加されます。新規フィルターfiltobjはdfiltフィルター オブジェクトでなければなりません。addfilter(h,filtobj,Fs=10)を使用して、新規フィルターのサンプリング周波数を指定できます。setfilter(h,filtobj)では、FVTool 内のフィルターがfiltobjで指定されるフィルターに置き換えられます。サンプリング周波数は上記のように設定することができます。deletefilter(h,index)では、FVTool cell 配列のindexの位置でフィルターが削除されます。legend(h,str1,str2,...)では、str1をフィルター 1、str2をフィルター 2 のように関連付けて、FVTool 内に凡例が作成されます。詳細については、legendを参照してください。
座標軸ラベルをマウスで右クリックするか、プロットを右クリックして [解析パラメーター] を選択することにより、x 軸または y 軸の単位を変更できます。
| プロット | X 軸の単位 | Y 軸の単位 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
振幅 |
|
| ||||||||||
位相 |
|
| ||||||||||
振幅と位相 |
| (左側の y 軸)
(右側の y 軸)
| ||||||||||
群遅延 |
|
| ||||||||||
位相遅延 |
|
| ||||||||||
インパルス応答 |
| 振幅 | ||||||||||
ステップ応答 |
| 振幅 | ||||||||||
極-零点 | 実数部 | 虚数部 |
FVTool では、表示されている解析のビュー設定の変更、解析パラメーターの設定、サンプリング周波数の指定を対話的に行うことができます。ツールストリップで、[ビュー] セクションまたは [解析] セクションからオプションを選択します。また、プロットを右クリックしても、解析パラメーターやサンプリング周波数メニューにアクセスできます。
プロットのプロパティを変更するには、最初にツールストリップ内の [Figure に送信] ボタンをクリックして新しい Figure ウィンドウを開き、その後で、プロット編集ツール バー内の任意のボタンを使用します。
[解析パラメーター] には、表示されている解析に適用可能なパラメーター設定が含まれています。複数の解析が表示されている場合は、現在のプロットに該当するパラメーターのみ表示されます。以下のパラメーター設定を変更できます。
正規化周波数 — このボックスを選択すると、周波数が 0 ~ 1 に正規化されます。選択されていない場合、周波数の単位はヘルツです。
周波数スケール — y 軸スケールの周波数スケールを
LinearまたはLogに設定します。周波数範囲 — 周波数軸の範囲を設定するか、
Specify freq. vectorを選択して周波数ベクトルを指定します。点数 — 応答の計算に使用するサンプル点の数を指定します。
周波数ベクトル —
Specify freq. vectorが [周波数範囲] で選択されている場合に、プロットに使用する周波数ベクトルを指定します。振幅表示 — 振幅の y 軸の単位を
Magnitude、Magnitude (dB)、Magnitude squared、またはZero-Phaseに設定します。位相単位 — 位相の y 軸の単位を
DegreesまたはRadiansに設定します。位相表示 — 位相プロットのタイプを
PhaseまたはContinuous Phaseとして指定します。群遅延単位 — 群遅延の y 軸の単位を
SamplesまたはTimeに設定します。長さの指定 — インパルス応答またはステップ応答の長さを
DefaultまたはSpecifiedとして指定します。長さ — インパルス応答またはステップ応答に使用する点の数を指定します。
メモ
すべてのプロット タイプに対して、これらの解析フィールドがすべて使用可能であるわけではありません。
これらの解析パラメーターに加え、以下を行うこともできます。
Impulse ResponseプロットとStep Responseプロットのプロット タイプを変更できます。このためには、右クリックしてコンテキスト メニューから [マーカー付きライン]、[ステム]、または [ライン] を選択します。x 軸の単位を変更できます。このためには、x 軸ラベルを右クリックし、
SamplesまたはTimeを選択します。表示されているパラメーターを、フィルター デザイナーまたは FVTool の起動時に使用する既定値として保存できます。このためには、[既定の設定として保存] をクリックします。既定値を復元するには、[既定の設定に戻す] をクリックします。
プロット内の特定の点に関する情報を表示できます。データ ヒントの詳細については、プロット データの対話的な確認と解析を参照してください。
通過帯域領域にズームできます。通過帯域ズームを使用するには、フィルターは
fdesignを使用して設計されたものでなければなりません。カスケード接続積分器櫛形 (CIC) フィルターは、通常の通過帯域をもたないため、通過帯域ズーム機能は提供されていません。
メモ
DSP System Toolbox ライセンスをお持ちの場合、FVTool は、振幅プロットで設計されたフィルターと共に仕様マスクを表示します。
バージョン履歴
R2006a より前に導入FVTool は、将来のリリースで削除されるという警告を発行します。
FVTool は将来のリリースで削除される予定です。代わりにフィルター アナライザーを使用してください。これらの間には相違点があるため、コードを更新する必要があります。
次のフィルターを検討してください。
[b,a] = ellip(5,5,60,[0.2 0.45]); dFd = designfilt("bandpassfir", ... SampleRate=2e3,PassbandRipple=5, ... StopbandFrequency1=500,PassbandFrequency1=600, ... StopbandAttenuation1=80, ... PassbandFrequency2=750,StopbandFrequency2=900, ... StopbandAttenuation2=40);
フィルターの分子係数 b、分母係数 a、および digitalFilter オブジェクト dFd が指定されている場合は、コードを次のように更新しなければなりません。
| 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) 形式はサポートされていません。代わりにカスケード伝達関数の形式を使用してください。フィルターが 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}); |
FVTool の動作が変更されました。以前のリリースには、プロット編集と解析のツール バーがありました。今回のリリースからは、ツールストリップ上のフィルター可視化コントロールを使用してください。プロットを編集するには、最初にプロットを Figure にエクスポートし、その後で Figure コントロールを使用します。
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)