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

FVTool

フィルターの可視化ツール

説明

フィルターの可視化ツールは、フィルターの振幅、位相応答、群遅延、インパルス応答、ステップ応答、極-零点プロット、係数を表示できる対話型のツールです。また、[ファイル][エクスポート] を使用して、表示されている応答をファイルにエクスポートすることもできます。

DSP System Toolbox™ 製品がインストールされている場合、FVTool はフィルター System object™ の周波数応答も可視化できます。ストリーミング データをリアルタイムにフィルター処理する必要がある場合は、System object を使用することをお勧めします。詳細については、fvtoolを参照してください。

FVTool を開く

FVToolは、プログラムでの使用で説明されているいずれかの方法を使用して、プログラムによって開くことができます。

すべて展開する

6 次の楕円フィルターの振幅応答を表示します。通過帯域リップル 3 dB、阻止帯域の減衰量 50 dB、サンプルレート 1 kHz、正規化された通過帯域エッジ 300 Hz を指定します。コマンド ラインから FVTool を起動します。

[b,a] = ellip(6,3,50,300/500);
fvtool(b,a)

コマンド ラインから FVTool を起動して、複数の FIR フィルターを表示および解析します。

b1 = firpm(20,[0 0.4 0.5 1],[1 1 0 0]); 
b2 = firpm(40,[0 0.4 0.5 1],[1 1 0 0]); 
fvtool(b1,1,b2,1)

[解析] > [解析パラメーター] を選択して、関連する解析パラメーターを表示します。

を参照してください。

コマンド ラインから FVTool を起動します。6 次の楕円フィルターの振幅応答を表示します。通過帯域リップル 3 dB、阻止帯域の減衰量 50 dB、サンプルレート 1 kHz、正規化された通過帯域エッジ 300 Hz を指定します。

[b,a] = ellip(6,3,50,300/500);
h = fvtool(b,a)

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Magnitude Response (dB)'
       Color: [0.9400 0.9400 0.9400]
    Position: [346.5000 282.5000 583 437]
       Units: 'pixels'

  Use get to show all properties

フィルターの位相応答を表示します。

h.Analysis = 'phase'

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [346.5000 282.5000 583 437]
       Units: 'pixels'

  Use get to show all properties

プロットの凡例を有効にしてテキストを追加します。

legend(h,'Phase plot')

サンプルレートを 1 kHz に指定します。中央揃えの両側応答を表示します。

h.Fs = 1000;
h.FrequencyRange='[-Fs/2, Fs/2)'

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [346.5000 282.5000 583 437]
       Units: 'pixels'

  Use get to show all properties

プロットのすべてのプロパティを表示します。FVTool 固有のプロパティはリストの最後にあります。

get(h)
                     Grid: 'on'
                   Legend: 'on'
          AnalysisToolbar: 'on'
            FigureToolbar: 'on'
               DesignMask: 'off'
          SOSViewSettings: [1x1 dspopts.sosview]
                       Fs: 1000
                 Alphamap: [1x64 double]
          CloseRequestFcn: 'closereq'
                    Color: [0.9400 0.9400 0.9400]
                 Colormap: [256x3 double]
              CurrentAxes: [1x1 Axes]
         CurrentCharacter: ''
            CurrentObject: [0x0 GraphicsPlaceholder]
             CurrentPoint: [0 0]
             DockControls: 'on'
                 FileName: ''
            IntegerHandle: 'on'
           InvertHardcopy: 'on'
              KeyPressFcn: ''
            KeyReleaseFcn: ''
                  MenuBar: 'none'
                     Name: 'Filter Visualization Tool - Phase Response'
                 NextPlot: 'new'
              NumberTitle: 'on'
               PaperUnits: 'inches'
         PaperOrientation: 'portrait'
            PaperPosition: [1.3350 3.3150 5.8300 4.3700]
        PaperPositionMode: 'auto'
                PaperSize: [8.5000 11]
                PaperType: 'usletter'
                  Pointer: 'arrow'
        PointerShapeCData: [16x16 double]
      PointerShapeHotSpot: [1 1]
                 Position: [346.5000 282.5000 583 437]
                 Renderer: 'opengl'
             RendererMode: 'auto'
                   Resize: 'on'
                ResizeFcn: ''
            SelectionType: 'normal'
                  ToolBar: 'auto'
                     Type: 'figure'
                    Units: 'pixels'
      WindowButtonDownFcn: ''
    WindowButtonMotionFcn: ''
        WindowButtonUpFcn: ''
        WindowKeyPressFcn: ''
      WindowKeyReleaseFcn: ''
     WindowScrollWheelFcn: ''
              WindowStyle: 'normal'
             BeingDeleted: 'off'
            ButtonDownFcn: ''
                 Children: [15x1 Graphics]
                 Clipping: 'on'
                CreateFcn: ''
                DeleteFcn: ''
               BusyAction: 'queue'
         HandleVisibility: 'on'
                  HitTest: 'on'
            Interruptible: 'on'
                   Parent: [1x1 Root]
                 Selected: 'off'
       SelectionHighlight: 'on'
                      Tag: 'filtervisualizationtool'
            UIContextMenu: [0x0 GraphicsPlaceholder]
                 UserData: []
                  Visible: 'on'
          FrequencyVector: [1x256 double]
           NumberofPoints: 8192
            ShowReference: 'on'
               PhaseUnits: 'Radians'
           FrequencyScale: 'Linear'
             PhaseDisplay: 'Phase'
            PolyphaseView: 'off'
        OverlayedAnalysis: ''
           FrequencyRange: '[-Fs/2, Fs/2)'
      NormalizedFrequency: 'off'
                 Analysis: 'phase'

阻止帯域周波数が 150 Hz および 350 Hz で、通過帯域周波数が 200 Hz および 300 Hz である 50 次のバンドパス FIR フィルターを設計します。サンプルレートは 1000 Hz です。フィルターの振幅応答と位相応答を可視化します。

N = 50;
Fstop1 = 150;
Fstop2 = 350;

Fpass1 = 200;
Fpass2 = 300;

Fs = 1e3;

bpFilt = designfilt('bandpassfir','FilterOrder',N, ...
'StopbandFrequency1',Fstop1,...
'StopbandFrequency2',Fstop2,...
'PassbandFrequency1',Fpass1,...
'PassbandFrequency2',Fpass2,...
'SampleRate',Fs);

fvtool(bpFilt,'Analysis','freq')

関連する例

プログラムによる使用

すべて展開する

fvtool(b,a) では、FVTool が開き、分子 b と分母 a で定義されるデジタル フィルターの振幅応答が表示されます。

fvtool(sos) では、FVTool が開き、2 次セクション型の L 行 6 列の行列で定義されるデジタル フィルターの振幅応答が表示されます。

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

sos の行には、2 次セクション型 H(z) のカスケードの分子と分母の係数 bik および aik が含まれます。

H(z)=gk=1LHk(z)=gk=1Lb0k+b1kz1+b2kz21+a1kz1+a2kz2.

セクション数 L は 2 以上でなければなりません。セクション数が 2 未満の場合は、fvtool は入力を分子ベクトルと見なします。

fvtool(d) では、FVTool が開き、デジタル フィルター d の振幅応答が表示されます。d を周波数応答仕様に基づいて生成するには、関数 designfilt を使用します。

fvtool(b1,a1,b2,a2,...,bN,aN) では、FVTool が開き、分子 b1、…、bN と分母 a1、...、aN で定義される複数のフィルターの振幅応答が表示されます。

fvtool(sos1,sos2,...,sosN) では、FVTool が開き、2 次セクション型行列 sos1sos2、...、sosN で定義される複数のフィルターの振幅応答が表示されます。

fvtool(Hd) では、FVTool が開き、dfilt フィルター オブジェクト Hd または dfilt フィルター オブジェクトの配列に対する振幅応答が表示されます。

fvtool(Hd1,Hd2,...,HdN) では、FVTool が開き、dfilt オブジェクト Hd1Hd2、...、HdN のフィルターの振幅応答が表示されます。

h = fvtool(___) では、Figure ハンドル h が返されます。このハンドルを使用して、コマンド ラインから FVTool を操作することができます。MATLAB コマンド ラインからの FVTool の制御を参照してください。

詳細

すべて展開する

R2006a より前に導入