exponenta event banner

FVTool

Инструмент визуализации фильтра

Описание

Инструмент визуализации фильтра - это интерактивный инструмент, позволяющий отображать величину, фазовую характеристику, групповую задержку, импульсную характеристику, ступенчатую характеристику, график полюсов и коэффициенты фильтра. Можно экспортировать отображаемый ответ в файл с помощью команды Файл (File) > Экспорт (Export).

Если установлен продукт DSP System Toolbox™, FVTool может также визуализировать частотную характеристику фильтра System object™. При необходимости фильтрации потоковых данных в режиме реального времени рекомендуется использовать системные объекты. Дополнительные сведения см. в разделе fvtool(Панель системных инструментов DSP).

Открытие FVTool

FVTool можно открыть программным способом, используя один из методов, описанных в Programmatic Use.

Примеры

развернуть все

Отображение амплитудной характеристики эллиптического фильтра 6-го порядка. Задайте пульсацию полосы пропускания 3 дБ, затухание полосы останова 50 дБ, частоту дискретизации 1 кГц и нормированный край полосы пропускания 300 Гц. Запустите FVTool из командной строки.

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

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

Отображение и анализ нескольких фильтров FIR, запускающих FVTool из командной строки.

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)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line.

Просмотрите связанные параметры анализа, выбрав Анализ (Analysis) > Параметры анализа (Analysis Parameters).

.

Запустите FVTool из командной строки. Отображение амплитудной характеристики эллиптического фильтра 6-го порядка. Задайте пульсацию полосы пропускания 3 дБ, затухание полосы останова 50 дБ, частоту дискретизации 1 кГц и нормированный край полосы пропускания 300 Гц.

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

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Magnitude Response (dB)'
       Color: [0.9400 0.9400 0.9400]
    Position: [358 291 560 420]
       Units: 'pixels'

  Use get to show all properties

Отображение фазовой характеристики фильтра.

h.Analysis = 'phase'

Figure Filter Visualization Tool - Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Phase Response contains an object of type line.

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [358 291 560 420]
       Units: 'pixels'

  Use get to show all properties

Включите легенду печати и добавьте текст.

legend(h,'Phase plot')

Figure Filter Visualization Tool - Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Phase Response contains an object of type line. This object represents Phase plot.

Укажите частоту дискретизации 1 кГц. Отображение двухсторонней центрированной реакции.

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

Figure Filter Visualization Tool - Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Phase Response contains an object of type line. This object represents Phase plot.

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [358 291 560 420]
       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]
              ContextMenu: [0x0 GraphicsPlaceholder]
              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.3333 3.3125 5.8333 4.3750]
        PaperPositionMode: 'auto'
                PaperSize: [8.5000 11]
                PaperType: 'usletter'
                  Pointer: 'arrow'
        PointerShapeCData: [16x16 double]
      PointerShapeHotSpot: [1 1]
                 Position: [358 291 560 420]
                 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'
                 UserData: []
                  Visible: on
            PolyphaseView: 'off'
          FrequencyVector: [1x256 double]
                 Analysis: 'phase'
        OverlayedAnalysis: ''
           FrequencyScale: 'Linear'
               PhaseUnits: 'Radians'
            ShowReference: 'on'
           NumberofPoints: 8192
           FrequencyRange: '[-Fs/2, Fs/2)'
             PhaseDisplay: 'Phase'
      NormalizedFrequency: 'off'

Проектирование полосового FIR-фильтра 50-го порядка с частотами стоп-полосы 150 Гц и 350 Гц и частотами полосы пропускания 200 Гц и 300 Гц. Частота дискретизации составляет 1000 Гц. Визуализация величины и фазовой характеристики фильтра.

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')

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) and Phase Response contains an object of type line.

Связанные примеры

Программное использование

развернуть все

fvtool(b,a) открывает FVTool и отображает амплитудную характеристику цифрового фильтра, определенного числителем b и знаменатель a.

fvtool(sos) открывает FVTool и отображает амплитудную характеристику цифрового фильтра, определяемую матрицей L-by-6 сечений второго порядка:

SOS = [b01b11b211a11a21b02b12b221a12a22  b0Lb1Lb2L1a1La2L]

Строки sos содержат числитель и знаменатель коэффициентов bik и aik каскада сечений второго порядка H (z):

H (z) =g∏k=1LHk (z) =g∏k=1Lb0k+b1kz−1+b2kz−21+a1kz−1+a2kz−2.

Число сечений L должно быть больше или равно 2. Если количество сечений меньше 2, fvtool считает входной сигнал числительным вектором.

fvtool(d) открывает FVTool и отображает амплитудный отклик цифрового фильтра, d. Использовать designfilt произвести d на основе характеристик частотно-отклика.

fvtool(b1,a1,b2,a2,...,bN,aN) открывает FVTool и отображает амплитудные характеристики нескольких фильтров, определенных числителями b1, …, bN и знаменатели a1, ..., aN.

fvtool(sos1,sos2,...,sosN) открывает FVTool и отображает амплитудные характеристики нескольких фильтров, определенных матрицами сечений второго порядка sos1, sos2, ..., sosN.

fvtool(Hd) открывает FVTool и отображает отклики величины для dfilt объект фильтра Hd или массив dfilt фильтровать объекты.

fvtool(Hd1,Hd2,...,HdN) открывает FVTool и отображает отклики величин фильтров в dfilt объекты Hd1, Hd2, ..., HdN.

h = fvtool(___) возвращает дескриптор фигуры h. Этот дескриптор можно использовать для взаимодействия с FVTool из командной строки. См. раздел Управление FVTool в командной строке MATLAB.

Подробнее

развернуть все

Представлен до R2006a