FVTool

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

Описание

Filter Visualization Tool является интерактивным инструментом, который позволяет вам отображать величину, фазовый отклик, групповую задержку, импульсную характеристику, переходную реакцию, диаграмму нулей и полюсов и коэффициенты фильтра. Можно экспортировать отображаемый ответ в файл с File > Export.

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

Откройте 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.

Отобразите и проанализируйте несколько конечная импульсная характеристика, запустив 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.

Отобразить соответствующие параметры анализа можно путем выбора «Анализ» > «Параметры анализа».

.

Запустите 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'

Проектируйте полосно- конечную импульсную характеристику фильтр 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-на-6 разделов второго порядка:

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

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

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

Количество разделов, 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