Вы находитесь на странице: 1из 4

OBJETIVOS DEL PROYECTO

El objetivo del proyecto es llevar a cabo una validación de varias herramientas que ofrece el
software MATLAB en su última versión a día de hoy, MATLAB 7.0 Release 14. Las
herramientas objeto de esta validación serán las que siguen:

• ‘herramienta en punto fijo’


• ‘herramienta para el diseño de filtros’
• ‘herramienta de generación de código xHDL’.

De cada una de ellas se hará una descripción de su funcionalidad, uso y aplicaciones

Partiendo de lo que se expone de estas herramientas y de las posibilidades que éstas ofrecen, se
plantea como objetivo el llevar a cabo una comparativa entre un filtro FIR en punto flotante y el
filtro FIR en punto fijo correspondiente tras la cuantización del filtro en punto flotante.

Como último objetivo, se buscará el dimensionamiento en forma de recursos hardware de varios


diseños de filtros en punto fijo, con la idea de establecer alguna relación entre las características
de diseño del filtro y la cantidad de recursos que se consumirían en su implementación. Esto se
planteará haciendo uso de herramientas de sintetización hardware.
DESCRIPCIÓN GENERAL DEL PROYECTO

Se expone a continuación un resumen del contenido del proyecto. Cada uno de los apartados del
mismo que aquí se presentan irá seguido de una breve descripción general del mismo, con el fin
de comenzar a situar al lector.

Apartado 1

Se lleva a cabo una presentación de la ‘herramienta en punto fijo’ que ofrece MATLAB.

Se hace especial hincapié en la definición, uso y propiedades asociadas al objeto ‘fi’ que
será el que permita el manejo de datos en punto fijo.

Apartado 2

Se describirá la ‘herramienta de diseño de filtros’ que ofrece MATLAB.

Presentación del objeto ‘dfilt’ que será la base para el diseño de filtros punto fijo.

Apartado 3

Se describirá la ‘herramienta para la codificación del diseño en lenguaje xHDL’.

Definición de las características configurables que ofrece esta herramienta de MATLAB en


la generación de los archivos xHDL.

Apartado 4

Comparativa del diseño de un filtro FIR en punto flotante con su correspondiente filtro en
punto fijo con ayuda de las herramientas descritas en los apartados anteriores.

Apartado 5

Conclusiones.

Tanto en el apartado 1, como en el 2 y 3 se hará uso del ‘Manual de usuario’ [2] que MATLAB
ofrece como referencia.

En los anexos se adjunta la siguiente documentación complementaria:


Anexo I

Proceso de cuantización. Se definen las distintas etapas que conlleva la cuantización de una
señal, definiendo cada una de ellas juntos con sus parámetros característicos.

Anexo II

Representación de números. Se ven la representación de los números en CA1, CA2, Signo-


Magnitud, etc... Ventajas e inconvenientes de cada una de ellas.

Anexo III

Operaciones matemáticas en punto fijo. Como se realizan las sumas, restas,


multiplicaciones, conversiones en punto fijo.

Anexo IV

Se adjuntan las hojas de catálogo de las FPGA’s usadas en la parte de aplicación del
proyecto.

Tanto en el anexo I como en el anexo II se hace uso de información obtenida del libro
‘Tratamiento digital de señales’ de Proakis y Manolakis [1].

En cuanto al anexo III, se vuelve a hacer uso del ‘Manual del usuario’ [2] de MATLAB como
referencia.

La información del último anexo proviene de la página web oficial de los fabricantes de
FPGA’s [3]
INTRODUCCIÓN

En nuestros días, el procesamiento digital de señales ha adquirido gran importancia ya que


permiten utilizar sistemas digitales en aplicaciones de la vida cotidiana.

El procesamiento digital de señales depende en gran medida del filtrado digital y de como éste
cumpla con las especificaciones deseadas por el usuario. Dentro de los filtros digitales se tienen
los filtros en punto flotante o filtros en punto fijo, el tener uno u otro depende del tipo de
representación usada para almacenar la información con la que el filtro trabaja.

Aunque el diseño de filtros en punto flotante parece la solución más cercana a la realidad, por
las características que presenta, no siempre tiene porque ser la mejor. En ciertas aplicaciones el
uso de filtros digitales en punto flotante puede conllevar un alto consumo de energía, una gran
ocupación física de la implementación del diseño, etc... En estos casos, el uso de filtros digitales
que trabajan en punto fijo podría ser una buena alternativa al uso de filtros en punto flotante.

El uso de filtros en punto fijo también presenta inconvenientes. Éstos generan en muchos casos
pérdidas de precisión considerables derivadas de la aritmética en punto fijo, donde se asignan un
número fijo de bits tanto para la representación de la parte entera del número como para la
representación de la parte fraccionaria del mismo. Por lo consiguiente, las operaciones
realizadas con este tipo de aritmética se llevan a cabo sin mover el punto binario, ofreciendo una
aritmética de precisión limitada que se suma a una representación de datos también de por sí
limitada.

Otro factor también a tener en cuanto al utilizar filtros en punto fijo es la mayor ocurrencia de
desbordamientos en la implementación de los mismos. Los desbordamientos pueden aparecer en
numerosas fases del diseño de un filtro; en el caso de filtros en punto fijo, una de las fases más
críticas resulta ser la ejecución de operaciones aritméticas en el interior del mismo (sumas y
productos).

Estos fenómenos ligados a la representación con un número finito de bits afecta tanto al formato
en punto fijo como al punto flotante, pero deben tenerse más en cuenta al usar formato en punto
fijo. Esto último se debe en gran medida al rango dinámico que ofrecen cada uno de estos
formatos de representación, el rango dinámico de un número en punto fijo es menor que el
rango dinámico de un número en punto flotante con longitudes de palabras iguales.

En el proyecto aquí presentado, se llevará a cabo una comparativa de la implementación de un


filtro FIR en punto flotante con su correspondiente filtro FIR en punto fijo, obtenido éste último
tras la cuantización del filtro en punto flotante inicial. El diseño del filtro en punto fijo se
implementará en lenguaje hardware para posteriormente sintetizarlo en recursos hardware. Para
este proceso, se harán uso de varias herramientas proporcionadas por MATLAB.

Вам также может понравиться