FVTool

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

Описание

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

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

Откройте FVTool

FVTool может быть открыт программно с помощью одного из методов, описанных в Программируемом Использовании.

Примеры

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

Отобразите ответ величины 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.

Отобразите связанные аналитические параметры путем выбора 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'

Спроектируйте КИХ-фильтр полосы пропускания 50-го порядка с частотами полосы задерживания 150 Гц и 350 Гц и частотами полосы пропускания 200 Гц и 300 Гц. Частота дискретизации составляет 1 000 Гц. Визуализируйте величину и фазовый отклик фильтра.

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=[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