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.

Introducción a Filter Designer

En este ejemplo se muestra cómo utilizar Filter Designer como una práctica alternativa a las funciones de diseño de filtros de la línea de comandos.

Filter Designer es una potente interfaz gráfica de usuario (GUI) de Signal Processing Toolbox™ para diseñar y analizar filtros.

Filter Designer le permite diseñar rápidamente filtros digitales FIR o IIR estableciendo las especificaciones de rendimiento del filtro, importando filtros desde su espacio de trabajo de MATLAB® o añadiendo, moviendo o eliminando polos y ceros. Filter Designer también ofrece herramientas para analizar los filtros, como gráficas de respuesta de magnitud y fase, y gráficas de polos y ceros.

Primeros pasos

Escriba filterDesigner en la línea de comandos de MATLAB:

>> filterDesigner

Se muestra el diálogo Tip of the Day con sugerencias para utilizar Filter Designer. A continuación, se muestra la interfaz gráfica con un filtro predeterminado.

La interfaz gráfica tiene tres regiones principales:

  • Región de información del filtro actual

  • Región de visualización del filtro

  • Panel de diseño

La mitad superior de la interfaz gráfica muestra información sobre las especificaciones de filtro y las respuestas del filtro actual. La región de información del filtro actual, en la parte superior izquierda, muestra las propiedades del filtro, es decir, la estructura del filtro, el orden, el número de secciones utilizadas y si el filtro es estable o no. También da acceso al gestor de filtros para trabajar con varios filtros.

La región de visualización del filtro, en la parte superior derecha, muestra varias respuestas del filtro, como la respuesta de magnitud, el retardo de grupo y los coeficientes del filtro.

La mitad inferior de la interfaz gráfica es la parte interactiva de Filter Designer. El panel de diseño, en la mitad inferior, es donde se definen las especificaciones del filtro. Controla lo que se muestra en las otras dos regiones superiores. Se pueden mostrar otros paneles en la mitad inferior mediante los botones de la barra lateral.

La herramienta incluye una ayuda contextual. Puede hacer clic con el botón secundario o pulsar el botón What's This? para obtener información sobre las diferentes partes de la herramienta.

Diseñar un filtro

Diseñaremos un filtro paso bajo que pase todas las frecuencias menores o iguales al 20% de la frecuencia de Nyquist (la mitad de la frecuencia de muestreo) y atenúe las frecuencias mayores o iguales al 50% de la frecuencia de Nyquist. Utilizaremos un filtro FIR equiripple con estas especificaciones:

  • Atenuación de la banda de paso de 1 dB

  • Atenuación de la banda de parada de 80 dB

  • Una frecuencia de banda de paso de 0,2 [normalizada (0 a 1)]

  • Una frecuencia de banda de parada de 0,5 [normalizada (0 a 1)]

Para implementar este diseño, utilizaremos las siguientes especificaciones:

1. Seleccione Lowpass en el menú desplegable de Response Type y Equiripple en FIR Design Method. Por lo general, cuando se cambia el tipo de respuesta o el método de diseño, los parámetros del filtro y la región de visualización del filtro se actualizan automáticamente.

2. Seleccione Specify order en el área Filter Order e introduzca 30.

3. El filtro FIR equiripple tiene la opción Density Factor, que controla la densidad de la cuadrícula de frecuencias. Al aumentar el valor se crea un filtro que se aproxima más a un filtro equiripple ideal, pero se requiere más tiempo a medida que aumenta el cálculo. Deje este valor en 20.

4. Seleccione Normalized (0 to 1) del menú desplegable Units en el área Frequency Specifications.

5. Introduzca 0.2 para wpass y 0.5 para wstop en el área Frequency Specifications.

6. Wpass y Wstop, en el área Magnitude Specifications, son ponderaciones positivas, una por banda, utilizadas durante la optimización en el filtro FIR equiripple. Deje estos valores en 1.

7. Después de establecer las especificaciones de diseño, haga clic en el botón Design Filter de la parte inferior de la interfaz gráfica para diseñar el filtro.

La respuesta de magnitud del filtro se muestra en el área Filter Analysis después de calcular los coeficientes.

Visualizar otros análisis

Una vez que haya diseñado el filtro, puede visualizar los siguientes análisis del filtro en la ventana de visualización haciendo clic en cualquiera de los botones de la barra de herramientas:

De izquierda a derecha, los botones son:

  • Respuesta de magnitud

  • Respuesta de fase

  • Respuestas de magnitud y fase

  • Respuesta de retardo de grupo

  • Respuesta de retardo de fase

  • Respuesta al impulso

  • Respuesta al escalón

  • Gráfica de polos y ceros

  • Coeficientes del filtro

  • Información del filtro

Cambiar las unidades de los ejes

Puede cambiar las unidades del eje x o y haciendo clic con el botón secundario en una etiqueta del eje y seleccionando las unidades adecuadas. Las unidades actuales tienen una marca de verificación.

Marcar los puntos de datos

En la región de visualización, puede hacer clic en cualquier punto de la gráfica para añadir un marcador de datos, que muestra los valores en ese punto. Al hacer clic con el botón secundario en el marcador de datos se muestra un menú en el que se puede mover, eliminar o ajustar la apariencia de los marcadores de datos.

Optimizar el diseño

Para minimizar el coste de implementación del filtro, intentaremos reducir el número de coeficientes mediante la opción Minimum Order del panel de diseño.

Cambie la selección de Filter Order a Minimum Order en la región de diseño y deje los demás parámetros como están.

Haga clic en el botón Design Filter para diseñar el filtro nuevo.

Como puede ver en el área de información del filtro actual, el orden del filtro se ha reducido de 30 a 16, el número de ondulaciones ha disminuido y la anchura de la transición se ha ampliado. Las especificaciones de la banda de paso y la banda de parada siguen cumpliendo los criterios de diseño.

Cambiar los parámetros de análisis

Haciendo clic con el botón secundario en la gráfica y seleccionando Analysis Parameters, puede mostrar un cuadro de diálogo para cambiar los parámetros específicos del análisis. (También puede seleccionar Analysis Parameters en el menú Analysis.)

Para guardar los parámetros que se muestran como los valores predeterminados, haga clic en Save as Default. Para restaurar los valores predeterminados definidos por MATLAB, haga clic en Restore Original Defaults.

Exportar el filtro

Cuando el diseño sea satisfactorio, puede exportar el filtro a los siguientes destinos:

  • Espacio de trabajo de MATLAB

  • Archivo MAT

  • Archivo de texto

Seleccione Export en el menú File.

Si opta por exportar al espacio de trabajo de MATLAB o a un archivo MAT, puede exportar el filtro como coeficientes. Si dispone de DSP System Toolbox™, también puede exportar el filtro como un System object.

Generar un archivo de MATLAB

Filter Designer permite generar código de MATLAB para volver a crear el filtro. Así puede insertar su diseño en código existente o automatizar la creación de sus filtros en un script.

Seleccione Generate MATLAB code en el menú File, elija Filter Design Function e indique el nombre del archivo en el cuadro de diálogo Generate MATLAB code.

El siguiente código se ha generado a partir del filtro de orden mínimo que hemos diseñado anteriormente:

Cuantificar un filtro

Si tiene instalado DSP System Toolbox™, el panel Set quantization parameters está disponible en la barra lateral:

Puede utilizar este panel para cuantificar y analizar los filtros de doble precisión. DSP System Toolbox permite cuantificar de doble precisión a precisión simple. Si dispone de Fixed-Point Designer, puede cuantificar los filtros con precisión de punto fijo. Tenga en cuenta que no puede mezclar la aritmética de punto flotante y de punto fijo en su filtro.

Objetivos

El menú Targets de Filter Designer le permite generar varios tipos de código que representen su filtro. Por ejemplo, puede generar archivos de encabezado C, archivos de coeficientes XILINX (COE) (con DSP System Toolbox) y VHDL, Verilog junto con bancos de pruebas (con Filter Design HDL Coder™).

Funcionalidades adicionales

Filter Designer también integra funcionalidades adicionales de estos otros productos de MathWorks™:

  • DSP System Toolbox: Añade técnicas avanzadas de diseño de filtros FIR e IIR (es decir, transformaciones de filtros, filtros multitasa) y genera un bloque equivalente para el filtro

  • Embedded Coder™: Genera, crea e implementa código para los procesadores C6000 de Texas Instruments.

  • Filter Design HDL Coder: Genera código VHDL o Verilog sintetizable para filtros de punto fijo

  • Simulink®: Genera filtros a partir de bloques atómicos de Simulink

Consulte también