Laboratorio: Diseño de filtro FIR e implementación en el kit de

Laboratorio: Diseño de filtro FIR e
implementación en el kit de desarrollo
Texas Instruments TMS320C6416
utilizando Matlab y Simulink
Rodrigo Prat, Ricardo Lima y Carlos Massei
Resumen
Este trabajo presenta una experiencia de laboratorio desarrollada por la cátedra de la asignatura Sistemas y Señales
II dependiente del Departamento de Telecomunicaciones de la Facultad de Ingeniería de la Universidad Nacional
de Río Cuarto, dictada para los alumnos de tercer año de la carrera Ingeniería en Telecomunicaciones. El tema
principal del laboratorio es Filtro Discreto dentro de un Sistema de Procesamiento Digital de Señales. Se utilizó la
técnica de diseño de Filtros FIR de Fase Lineal Generalizada a través del método de enventanado. En primer lugar
se tratan aspectos teóricos y luego se pasa a detallar el laboratorio, dividido en una etapa de diseño y una de implementación. Para la implementación se utiliza el Kit de Texas Instruments TMS320C6416. El software utilizado es
(Matlab, Mathworks), (Simulink, Mathworks) y (Code Composer Studio, Texas Instruments).
Palabras Clave: FIR, DSP, MATLAB.
Abstract
This paper presents a laboratory experiment developed by the department of Systems and Signals II under the
Department of Telecommunications, Faculty of Engineering, National University of Rio Cuarto and is given to
students of Telecommunications Engineering. The main subject of the lab is Discrete Filter in the System Digital
Signal Processing. The FIR design technique Generalized Linear phase filters by the method of windowing is used.
Theoretical first treated and then passed laboratory detail, divided into a stage of design and implementation. To
implement the Texas Instruments TMS320C6416 kit is used. The software used is (Matlab, Mathworks) (Simulink, Mathworks) and (Code Composer Studio, Texas Instruments).
Keywords: FIR, DSP, MATLAB.
Introducción
La nomenclatura que se utiliza en este artículo corresponde a la del libro Oppenheim y Schafer (1999). Se utilizan
de referencia los libros Oppenheim y Schafer (1999), Proakis y Manolakis (1998) y Haykin y Van Been (2001).
Una aplicación muy importante de los sistemas en tiempo discreto es el procesamiento de señales de tiempo
continuo. La estructura general para realizar este tipo de procesamiento se muestra en la Figura 1, la misma es
una conexión en cascada de un conversor C/D (Continuo/Discreto), un sistema en tiempo discreto y un conversor
D/C (Discreto/Continuo). Nótese que el diagrama de bloques de la Figura 1 es equivalente a un sistema en tiempo
continuo.
Autores: Los autores son docentes de la Cátedra de Sistemas y Señales I y II
dependiente del Departamento de Telecomunicaciones de la Universidad Nacional de
Río Cuarto.
Dirección de contacto: [email protected].
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
59
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
Figura 1 – Sistema de Procesamiento Digital de Señales.
Desde el punto de vista práctico, los conversores C/D, que en la teoría nos sirven
para convertir señales de tiempo continuo a señales de tiempo discreto pueden ser
aproximados por conversores A/D (Analógico/Digital) y los conversores C/D por
conversores D/A (Digital/Analógico), los cuales realizan el muestreo y la cuantización de la señal en un número finito de valores.
La conversión A/D y D/A fue tratada en detalle en una publicación anterior (Prat,
Lima y Badino, 2013). En este trabajo se pretende profundizar específicamente,
dentro del Sistema de Procesamiento Digital presentado en la Figura 1, en aspectos que competen al bloque del Sistema de tiempo Discreto.
En un sistema como el de la Figura 1, las especificaciones son proporcionadas en
tiempo continuo, de esta forma, se debe utilizar algún método para poder diseñar
un filtro discreto para que dentro del Sistema de Procesamiento Digital cumpla con
las mismas especificaciones.
Los tipos de filtros en tiempo discreto que podemos realizar se denominan IIR
(Respuesta al Impulso Infinita) y FIR (Respuesta al Impulso Finita). Para diseñar
filtros IIR se pueden utilizar técnicas como: invarianza al impulso, transformación
bilinieal, aproximación de derivadas, entre los más importantes. Mientras que para
diseñar filtros FIR se pueden utilizar técnicas como: enventanado y muestreo en
frecuencia, entre los más importantes.
Si bien los métodos de diseño de filtros digitales a partir de especificaciones del
filtro en tiempo continuo son más directos utilizando filtros IIR los mismos presentan el inconveniente de tener fase no lineal. De esta forma, utilizaremos filtros
FIR, una clase particular que en ciertas condiciones son de Fase Lineal Generalizada conseguido a través del método de enventanado. Si bien los filtros FIR se
diseñan puramente en tiempo discreto, las especificaciones del filtro en tiempo
continuo pueden ser llevadas a las equivalentes en tiempo discreto encontrando los
resultados esperados. Las especificaciones de diseño de filtro en tiempo continuo
están dados por: la tolerancia en la banda de paso
, la tolerancia en la banda
de rechazo
, la frecuencia de corte en la banda de paso
y la frecuencia de
corte en la banda de rechazo
. La frecuencia de corte resultante del filtro será el
promedio de las dos anteriores y se denomina
. En la Figura 2 se muestran estos
parámetros para un Filtro Pasa Bajas de tiempo continuo con la correspondencia
de dichos parámetros en el filtro de tiempo discreto.
Figura 2 – (a) Especificaciones de la respuesta efectiva del sistema completo de la Figura
1 para el caso de un Filtro Pasa Bajas. (b) Especificaciones correspondientes del filtro en
tiempo discreto de la Figura 1.
En este trabajo se utiliza la técnica de diseño de Filtros FIR mediante Enventanado.
En esta técnica se parte de la respuesta al impulso de un filtro ideal deseado como
60
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
se indica en la Ecuación 1. Donde
ideal.
es la respuesta en frecuencia del filtro
La respuesta al impulso
es no causal y de duración infinita, de manera
que el método establece que para obtener nuestro filtro FIR se debe realizar truncamiento. La manera más simple es a partir de
producir un nuevo filtro
como muestra la Ecuación 2. Donde
representa el grado del Filtro FIR,
y
su longitud.
La respuesta al impulso del Filtro FIR de FLG (Fase Lineal Generalizada)
se
puede representar como el producto de la respuesta al impulso del filtro ideal y una
ventana de longitud finita como se muestra en la Ecuación 3.
Esta operación, analizada en el dominio de la frecuencia corresponde a la convolución de los espectros del filtro ideal y de la ventana, esto se muestra en la
Figura 3, donde el rizado que se produce en frecuencia debido al enventanado en
el tiempo es similar al fenómeno de Gibbs en la síntesis de ondas mediante la Serie
de Fourier.
Figura 3 – (a) Proceso de convolución implicado por el truncamiento de la respuesta al
impulso del filtro ideal. (b) Aproximación típica resultante del enventanado de la respuesta
al impulso del filtro ideal.
Existen diferentes tipos de ventanas con diferentes formas, las más comúnmente
utilizadas se muestran en la Figura 4. Cada una de ellas produce diferentes características en el espectro filtro FIR resultante. En la Tabla 1 se encuentran dichas
características con los valores típicos para las ventanas más utilizadas. La misma
será analizada en detalle posteriormente en la Etapa de Implementación del Laboratorio.
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
61
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
Figura 4 – Ventanas utilizadas para el método de enventanado.
Tabla 1 – Comparación de las características de las Ventanas más utilizadas.
En la próxima sección se presentará el Kit de DSP Texas Instruments TMS320C6416, donde se realizará la implementación del Filtro FIR de FLG Pasa
Bajas diseñado.
Hardware utilizado
En esta sección se describe el hardware utilizado en el laboratorio donde se implementara el Filtro FIR diseñado. Se trata de un Kit de Texas Instruments desarrollado conjuntamente con Spectrum Digital que contiene un DSP montado en
una placa con entradas y salidas adecuadas para trabajar con señales de audio, las
mismas son estéreo de 24 bits.
El Kit cuenta con un DSP TMS320C6416, un dispositivo de 1 GHz que puede
realizar hasta 8000 millones de instrucciones por segundo (MIPS).
En la Figura 5 se muestra el diagrama de bloques del Kit. El Codec AIC23 es el
driver de audio, el mismo maneja una entrada de línea, una entrada de micrófono,
y dos salidas de línea. Estas entradas y salidas de audio corresponden a las señales
e
de la Figura 1. También se pueden utilizar 4 DIP switches y 4 LEDs
que están montados en la placa. El kit se conecta USB a la PC para cargar el programa y se alimenta con
de corriente continua.
En la próxima sección se describirá detalladamente la práctica de Laboratorio.
Figura 5 – Diagrama de Bloques del Kit de Texas Instruments TMS320C6416.
62
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
Laboratorio
El laboratorio consta del diseño y la implementación en el Kit de Texas Instruments TMS320C6416 de un Filtro FIR Pasa Bajas de Fase Lineal Generalizada.
Esta sección se divide en dos etapas, en la primera describimos la etapa de diseño
del filtro y luego, la implementación en el Kit.
Etapa de Diseño
En la etapa de diseño utilizamos al software Matlab. Para comenzar se establecen
los parámetros de diseño para el filtro en tiempo continuo mostrado en la Figura 1
para una frecuencia de corte en el espectro audible
, para luego
pasar dichos parámetros al filtro en tiempo discreto que aparece en la misma figura.
Utilizaremos
finalmente
suponemos una banda de transición de ancho
. Como puede
observarse en la Figura 1, en el filtro en tiempo discreto solo cambian los valores
de frecuencia, con lo cual, para una frecuencia de muestreo
calcularemos la frecuencia de corte del filtro en tiempo discreto en la Ecuación 4. Esta
frecuencia corresponde a la utilizada en calidad de CD de audio (IEC, 60908).
En la tabla 2 se resumen los valores resultantes de las especificaciones para el filtro
en tiempo discreto de la Figura 1, las mismas se utilizarán para la elección de la
ventana adecuada para realizar el filtro FIR a través del método de enventanado.
Tabla 2 – Especificaciones para el filtro en tiempo discreto.
A partir de los valores de la Tabla 2 seleccionaremos la ventana adecuada ingresando con estos valores a la Tabla 1. Se utiliza para el diseño el
.
En la Tabla 1 la primera columna se encuentra un valor característico de la ventana que va a influir sobre la tercera columna que da el valor resultante de
. La
segunda columna da el ancho del lóbulo principal que se traduce en el ancho de
la banda de transición
. Con lo cual, ingresando a la tercer columna
con
vemos que la forma de ventana para cumplir con los
requisitos puede ser cualquiera en la Tabla 1, en este caso la ventana rectangular
será la elección óptima en términos de largo de ventana. Para calcular el largo de
la ventana vamos a utilizar la segunda columna de la Tabla 1con
De esta forma, en la Ecuación 5 calculamos el valor de M que nos da la longitud
de la ventana (M+1) y el grado del filtro.
En la Figura 6 se muestra la gráfica en el tiempo y el módulo del espectro de la
ventana rectangular de 81 puntos. En la misma se indica el ancho de medio lóbulo
principal que corresponde con lo especificado (
y la diferencia
en amplitud entre el lóbulo principal y el secundario de
que figura en
la primera columna de la Tabla 1.
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
63
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
Figura 6 – Gráfica de la ventana rectangular de 81 puntos en el tiempo y el módulo de su
espectro.
Al realizar el producto planteado en la Ecuación 3 obtenemos a
que es la
respuesta al impulso del Filtro FIR de Fase Lineal Generalizada diseñado. En la
Figura 7 se muestra a
ya
. En la misma se indica el valor de
y el ancho de la banda de transición de
, valores que
corresponden a los de la Tabla 1.
Figura 7 – Filtro FIR de Fase Lineal Generalizada diseñado
ya
.
En la siguiente sección se presenta la etapa de implementación.
Etapa de Implementación
En esta etapa se presenta la implementación del filtro diseñado en la sección anterior en el Kit de Texas Instruments TMS320C6416.
En primer lugar se hará una breve descripción de la plataforma de software utilizada. Los cálculos y las gráficas se realizan en Matlab. Luego se utiliza Simulink
para implementar el esquema general del sistema presentado en la Figura 1, el
mismo utiliza las variables previamente generadas en Matlab y se comunica con
el Kit automáticamente a través del software Code Composer Studio provisto por
Texas Instruments.
En la figura 8 se muestra el esquema realizado en Simulink, en el diagrama de
bloques tenemos un bloque obligatorio C6416DSK para reconocer al hardware
conectado por USB, luego tenemos los siguientes bloques: ADC de entrada de
audio, donde se configuran el canal a utilizar y propiedades como la cantidad de
bits de resolución y frecuencia de muestreo; los bloques de buffer se adecuan a la
señal para poder utilizar el bloque de filtro discreto, donde tenemos como numerador a los coeficientes del filtro y al denominador igual a 1; finalmente el último
bloque DAC especifica la salida de audio con parámetros a configurar similares al
bloque ADC.
64
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
Figura 8 – Esquema en Simulink para cargar el programa del Filtro FIR de FLG Pasa Bajas
diseñado al Kit de Texas Instruments TMS320C6416.
Una vez generado, se procede a cargar el programa al Kit desde Simulation/RealTime Workshop/Build, en este proceso Simulink se conecta con Code Composer
Studio que finalmente carga el programa al Kit.
Para comprobar el funcionamiento de la implementación generamos como señal
de entrada una onda chirp, o seno con frecuencia variable, desde la PC con Matlab
utilizando la función daqfcngen con una variación de frecuencia entre
y
. En la Figura 9 se muestra una captura de pantalla de la configuración.
Figura 9 – Generador de Funciones de Matlab en el espectro audible.
Finalmente, para ver el módulo del espectro del filtro utilizamos un osciloscopio
en modo persistencia infinito, esto se muestra en la Figura 10.
Figura 10 – Módulo del espectro del Filtro FIR de Fase Lineal Generalizada diseñado.
Para comparar con las gráficas de diseño es más apropiado transformar la gráfica
de la Figura 7 a la equivalente del filtro en tiempo continuo de la Figura 1, esto se
muestra en la Figura 11, donde al compararla con la Figura 10 se puede observar
que las mismas son similares.
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015
65
Desarrollo de experiencias didácticas con carácter innovador en la enseñanza de grado
Figura 11 – Módulo del Espectro del Filtro diseñado en tiempo continuo.
Conclusión
Este tipo de artículos permite compartir desarrollos académicos realizados desde
la necesidad existente de prácticas de laboratorio en el área. El trabajo fue completamente llevado a cabo por la cátedra, desde el diseño del filtro hasta la configuración kit y la puesta en funcionamiento.
Desde el punto de vista de la cátedra, el trabajo sirvió para fortalecer las prácticas
de laboratorio realizadas en la asignatura como así también para trabajos futuros
que surjan en temas relacionados, utilizando la misma plataforma.
Desde el punto de vista de los alumnos, el trabajo sirvió para reforzar la parte teórica y práctica brindada en la asignatura y para motivar el proceso de aprendizaje.
El material está disponible para compartirlo en la comunidad educativa que desee
realizar este laboratorio en otras universidades, como así también, el soporte que
fuera necesario para llevar a cabo las configuraciones.
Referencias
OPPENHEIM, A. V. y SCHAFER, R. W. (1999) Tratamiento de señales en tiempo
discreto 2ª ed.
PROAKIS, J. G. y MANOLAKIS, D. G. (2006) Procesamiento digital de señales.
4ª ed.
HAYKYN, S. S. (2001). Señales y Sistemas.
PRAT, R G, LIMA, R. A. y BADINO, D. (2014) Laboratorio: Efectos de la Cuantización en el Procesamiento Digital de Señales Utilizando Pic16F873 De Microchip. Revista Argentina de Enseñanza de la Ingeniería, Año 3, Nº 7.
Matlab, Mathworks. http://www.mathworks.com/products/matlab/
Simulink, Mathworks. http://www.mathworks.com/products/simulink/
Code Composer Studio, Texas Instruments. http://www.ti.com/tool/ccstudio
IEC, 60908. Sistema de Audio Digital de Disco Compacto.
66
Revista Argentina de Enseñanza de la Ingeniería / Año 4 / Nº 8 / Abril 2015