Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

FVTool

Herramienta de visualización de filtros

Descripción

Filter Visualization Tool es una app interactiva que permite mostrar y analizar las respuestas, los coeficientes y otra información de un filtro. También puede sincronizar FVTool y Filter Designer para visualizar inmediatamente cualquier cambio realizado en el diseño de un filtro.

En la app, puede ver:

  • Respuesta de magnitud

  • Respuesta de fase

  • Retardo de grupo

  • Retardo de fase

  • Respuesta al impulso

  • Respuesta al escalón

  • Gráfica de polos y ceros

  • Coeficientes del filtro

  • Información del filtro

Para obtener más información, consulte Tipos de análisis.

Si ha instalado DSP System Toolbox™, FVTool también puede mostrar la respuesta en frecuencia de un System object™ de filtro. Si necesita filtrar datos de transmisión en tiempo real, se recomienda utilizar System objects. Para obtener más información, consulte fvtool (DSP System Toolbox).

Filter Visualization Tool

Abrir FVTool

FVTool puede abrirse de forma programática utilizando uno de los métodos descritos en Uso programático.

Ejemplos

expandir todo

Considere un filtro elíptico de 6.º orden con una ondulación de banda de paso de 3 dB, una atenuación de banda de parada de 50 dB, una tasa de muestreo de 1 kHz y un borde de banda de paso normalizado de 300 Hz. Muestre la respuesta de magnitud del filtro.

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

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Magnitude (dB) contains an object of type line.

Diseñe un filtro FIR paso banda de 50.º orden con frecuencias de la banda de parada de 150 Hz y 350 Hz, así como frecuencias de la banda de paso de 200 Hz y 300 Hz. La tasa de muestreo es 1000 Hz. Visualice la respuesta de magnitud y fase del filtro.

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 Figure 1: Magnitude Response (dB) and Phase Response contains an axes object. The axes object with title Magnitude Response (dB) and Phase Response, xlabel Frequency (Hz), ylabel Magnitude (dB) contains an object of type line.

Seleccione el botón Analysis Parameters de la barra de herramientas. Aparece la ventana de parámetros de análisis que muestra los parámetros asociados a la gráfica.

fvtool_analysisparams2.png

Muestre las respuestas de magnitud de un filtro elíptico de 6.º orden. Especifique una ondulación de la banda de paso de 3 dB, una atenuación de la banda de parada de 50 dB, una tasa de muestreo de 1 kHz y un borde de la banda de paso normalizado de 300 Hz. Obtenga el identificador para FVTool.

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

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Magnitude (dB) contains an object of type line.

h = 
  Figure (filtervisualizationtool) with properties:

      Number: []
        Name: 'Figure 1: Magnitude Response (dB)'
       Color: [0.9400 0.9400 0.9400]
    Position: [348 376 583 437]
       Units: 'pixels'

  Use GET to show all properties

Utilice el identificador de FVTool para mostrar la respuesta de fase del filtro.

h.Analysis = "phase"

Figure Figure 1: Phase Response contains an axes object. The axes object with title Phase Response, xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Phase (radians) contains an object of type line.

h = 
  Figure (filtervisualizationtool) with properties:

      Number: []
        Name: 'Figure 1: Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [1 1 1024 657]
       Units: 'pixels'

  Use GET to show all properties

Active la leyenda de la gráfica y añada texto.

legend(h,"Phase plot")

Figure Figure 1: Phase Response contains an axes object. The axes object with title Phase Response, xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Phase (radians) contains an object of type line. This object represents Phase plot.

Especifique una tasa de muestreo de 1 kHz. Muestre la respuesta centrada bilateral.

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

Figure Figure 1: Phase Response contains an axes object. The axes object with title Phase Response, xlabel Frequency (Hz), ylabel Phase (radians) contains an object of type line. This object represents Phase plot.

h = 
  Figure (filtervisualizationtool) with properties:

      Number: []
        Name: 'Figure 1: Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [1 1 1024 657]
       Units: 'pixels'

  Use GET to show all properties

Vea todas las propiedades de la gráfica. Las propiedades específicas de FVTool están al final de la lista.

get(h)
                     Grid: on
                   Legend: 'on'
               DesignMask: 'off'
          SOSViewSettings: [1x1 dspopts.sosview]
                       Fs: 1000
                 Alphamap: [0 0.0159 0.0317 0.0476 0.0635 0.0794 0.0952 0.1111 0.1270 0.1429 0.1587 0.1746 0.1905 0.2063 0.2222 0.2381 0.2540 0.2698 0.2857 0.3016 0.3175 0.3333 0.3492 0.3651 0.3810 0.3968 0.4127 0.4286 0.4444 0.4603 ... ] (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: off
                 FileName: ''
            IntegerHandle: off
           InvertHardcopy: on
              KeyPressFcn: ''
            KeyReleaseFcn: ''
                     Name: 'Figure 1: Phase Response'
                 NextPlot: 'add'
              NumberTitle: off
               PaperUnits: 'inches'
         PaperOrientation: 'portrait'
            PaperPosition: [-0.8700 2.2150 10.2400 6.5700]
        PaperPositionMode: 'auto'
                PaperSize: [8.5000 11]
                PaperType: 'usletter'
                  Pointer: 'arrow'
        PointerShapeCData: [16x16 double]
      PointerShapeHotSpot: [1 1]
                 Position: [1 1 1024 657]
                 Renderer: 'opengl'
             RendererMode: 'auto'
                   Resize: on
                ResizeFcn: @(~,~)fix_listbox_position(this,hFVT)
            SelectionType: 'normal'
                  ToolBar: 'none'
                     Type: 'figure'
                    Units: 'pixels'
      WindowButtonDownFcn: ''
    WindowButtonMotionFcn: ''
        WindowButtonUpFcn: ''
        WindowKeyPressFcn: ''
      WindowKeyReleaseFcn: ''
     WindowScrollWheelFcn: ''
              WindowStyle: 'docked'
             BeingDeleted: off
            ButtonDownFcn: ''
                 Children: [5x1 Graphics]
                 Clipping: on
                CreateFcn: ''
                DeleteFcn: ''
               BusyAction: 'queue'
         HandleVisibility: 'off'
                  HitTest: on
            Interruptible: on
                   Parent: [1x1 Root]
                 Selected: off
       SelectionHighlight: on
                      Tag: 'filtervisualizationtool'
                 UserData: []
                  Visible: on
           NumberofPoints: 8192
        OverlayedAnalysis: ''
             PhaseDisplay: 'Phase'
            PolyphaseView: 'off'
                 Analysis: 'phase'
            ShowReference: 'on'
           FrequencyRange: '[-Fs/2, Fs/2)'
      NormalizedFrequency: 'off'
               PhaseUnits: 'Radians'
           FrequencyScale: 'Linear'
          FrequencyVector: [0 0.0039 0.0078 0.0118 0.0157 0.0196 0.0235 0.0275 0.0314 0.0353 0.0392 0.0431 0.0471 0.0510 0.0549 0.0588 0.0627 0.0667 0.0706 0.0745 0.0784 0.0824 0.0863 0.0902 0.0941 0.0980 0.1020 0.1059 0.1098 0.1137 ... ] (1x256 double)

Ejemplos relacionados

Uso programático

expandir todo

fvtool(b,a) abre FVTool y muestra la respuesta de magnitud del filtro digital definido con numerador b y denominador a. Especifique los coeficientes b y a en orden ascendente de potencia z-1.

fvtool(sos) abre FVTool y muestra la respuesta de magnitud del filtro digital definido por la matriz L por 6 de las secciones de segundo orden:

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

Las filas de sos contienen los coeficientes del numerador y del denominador bik y aik de la cascada de secciones de segundo orden de H(z):

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

El número de secciones L debe ser mayor o igual a 2. Si el número de secciones es inferior a 2, fvtool considera la entrada como un vector de numerador.

fvtool(d) abre FVTool y muestra la respuesta de magnitud de un filtro digital d. Utilice designfilt para generar d según las especificaciones de frecuencia-respuesta.

fvtool(b1,a1,b2,a2,...,bN,aN) abre FVTool y muestra las respuestas de magnitud de varios filtros definidos con numeradores b1, ..., bN y denominadores a1, ..., aN.

fvtool(sos1,sos2,...,sosN) abre FVTool y muestra las respuestas de magnitud de varios filtros definidos con matrices de sección de segundo orden sos1, sos2, ..., sosN.

fvtool(Hd) abre FVTool y muestra las respuestas de magnitud para el objeto de filtro de dfilt Hd o el arreglo de objetos de filtro de dfilt.

fvtool(Hd1,Hd2,...,HdN) abre FVTool y muestra las respuestas de magnitud de los filtros en los objetos de dfilt Hd1, Hd2, ..., HdN.

h = fvtool(___) devuelve un identificador de figuras h. Puede utilizar este identificador para interactuar con FVTool desde la línea de comandos. Para obtener más información, consulte Controlling FVTool from the MATLAB Command Line.

Más acerca de

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo