4. aplicaciÓn. filtro fir en sistema...

25
Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas. ___________________________________________________________________ 1 4. APLICACIÓN. Filtro FIR en sistema UWB 4.1 Introducción Como aplicación se muestra el diseño de un filtro FIR utilizado en un modelo de un sistema Ultra WideBand. UWB está enmarcada dentro de la tecnología inalámbrica. Se encuentra aún en desarrollo y no se espera que salgan los primeros aparatos que trabajen con ella hasta el 2006. UWB es una tecnología diseñada para conseguir elevadas velocidades de transmisión de datos, del orden de los cientos de megabits por segundo, sobre pequeñas distancias de menos de 10 metros, dando lugar a las PAN’s. Todo esto junto con un limitado consumo de potencia, permitiendo así mayor independencia para los dispositivos inalámbricos. Esta nueva tecnología está pensaba para reemplazar los cables de alta velocidad en casas y oficinas, luego sus aplicaciones podrán ser diversas como la conexión inalámbrica de múltiples aparatos para transmisión entre ellos de video, audio u otra clase de datos. El éxito de esta tecnología en el mercado depende mucho de conseguir unos costes bajos de implementación, y es ahí donde la ingeniería en punto fijo entra en juego. La longitud de la palabra en punto fijo es lo que determina el tamaño en sílice y por tanto el coste de la implementación. Se buscaría la implementación del diseño con una longitud de palabra pequeña, pero hay que tener en cuenta que el tamaño y el escalado posterior de la palabra influyen en la relación señal a ruido del sistema. La longitud final asignada para el diseño tiene que ser escogida teniendo en cuenta todos estos factores. Hasta ahora el diseño en punto fijo suponía un reto además de demandar gran parte del tiempo del diseño total del sistema. MATLAB va a permitir optimizar este proceso de diseño además de agilizarlo. Va a permitir desarrollar y crear prototipos al mismo tiempo que se verifica el funcionamiento de los algoritmos en punto fijo implementados. El Esquema 4.1 muestra el sistema UWB modelado en la herramienta Simulink de MATLAB. Esquema 4.1 Sistema UWB En el modelo se distinguen la parte del transmisor, la parte del receptor y la del canal intermedio que los separa. La aplicación de este proyecto se centra en la parte del transmisor. Bernoulli Binary OFDM Transmitter Receiver UWB Channel Interleaver QPSK Frequency Hoping and filtering Rate encoder

Upload: others

Post on 30-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

1

4. APLICACIÓN. Filtro FIR en sistema UWB 4.1 Introducción Como aplicación se muestra el diseño de un filtro FIR utilizado en un modelo de un sistema Ultra WideBand. UWB está enmarcada dentro de la tecnología inalámbrica. Se encuentra aún en desarrollo y no se espera que salgan los primeros aparatos que trabajen con ella hasta el 2006. UWB es una tecnología diseñada para conseguir elevadas velocidades de transmisión de datos, del orden de los cientos de megabits por segundo, sobre pequeñas distancias de menos de 10 metros, dando lugar a las PAN’s. Todo esto junto con un limitado consumo de potencia, permitiendo así mayor independencia para los dispositivos inalámbricos. Esta nueva tecnología está pensaba para reemplazar los cables de alta velocidad en casas y oficinas, luego sus aplicaciones podrán ser diversas como la conexión inalámbrica de múltiples aparatos para transmisión entre ellos de video, audio u otra clase de datos. El éxito de esta tecnología en el mercado depende mucho de conseguir unos costes bajos de implementación, y es ahí donde la ingeniería en punto fijo entra en juego. La longitud de la palabra en punto fijo es lo que determina el tamaño en sílice y por tanto el coste de la implementación. Se buscaría la implementación del diseño con una longitud de palabra pequeña, pero hay que tener en cuenta que el tamaño y el escalado posterior de la palabra influyen en la relación señal a ruido del sistema. La longitud final asignada para el diseño tiene que ser escogida teniendo en cuenta todos estos factores. Hasta ahora el diseño en punto fijo suponía un reto además de demandar gran parte del tiempo del diseño total del sistema. MATLAB va a permitir optimizar este proceso de diseño además de agilizarlo. Va a permitir desarrollar y crear prototipos al mismo tiempo que se verifica el funcionamiento de los algoritmos en punto fijo implementados. El Esquema 4.1 muestra el sistema UWB modelado en la herramienta Simulink de MATLAB. Esquema 4.1 Sistema UWB En el modelo se distinguen la parte del transmisor, la parte del receptor y la del canal intermedio que los separa. La aplicación de este proyecto se centra en la parte del transmisor.

Bernoulli Binary

OFDM Transmitter

Receiver UWB Channel

Interleaver QPSK

Frequency Hoping and filtering

Rate encoder

Page 2: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

2

No es objetivo de esta aplicación pero se describirá a continuación y a groso modo, que ocurre en cada uno de los bloques del transmisor. El transmisor UWB empleará OFDM para la transmisión de los pulsos, variando la frecuencia de transmisión entre tres frecuencias de 3.43, 3.96, 4.49 GHz, formado éstas parte de lo que se llama ‘Canal 1’. Este salto en la frecuencia de transmisión lo realizará el bloque llamado ‘Frequency Hoping’. Dentro del transmisor se empieza trabajando en banda base, primero la información se codifica mediante un codificador convolucional (bloque denominado ‘Encoder’), posteriormente se busca darle robustez a la información frente a los ruidos con el bloque denominado ‘Interleaver’. La secuencia de información obtenida de la salida del ‘Interleaver’ se divide en grupos de dos bits para más tarde convertirlas a números complejos que representan los puntos posibles de la constelación QPSK. Estos símbolos QPSK se transforman en símbolos OFDM y se envían al bloque denominado ‘Frequency Hoping and Filtering’. El estudio de esta aplicación va a estar centrado en el filtro usado en este último bloque del transmisor, ‘Frequency Hoping and Filtering’. Dentro de este bloque se lleva a cabo en primer lugar es un ‘sobremuestreo’, lo que conlleva un aumento del número de muestras totales. Para esto se introducen ceros entre las muestras de la señal que se tenía originalmente, consiguiendo aumentar el tiempo de muestreo y por tanto reducir el ancho de banda de la señal. Esta señal de ancho de banda reducido se filtra posteriormente para eliminar interferencias usando un filtro. Es este filtro en el se va a diseñar en punto fijo. Después de este filtrado se modula la señal de salida a la frecuencia deseada de transmisión, que va variando entre las tres posibles frecuencias del canal 1 que se nombró anteriormente. Para terminar en el transmisor, se manda la señal al receptor a través de un canal que en el modelo viene modelado como ‘UWB Channel’. 4.2 Presentación del diseño y metodología El tipo de filtro utilizado en el bloque final del transmisor va a ser un filtro FIR paso de baja, que ofrecerá una fase lineal ayudando así a disminuir la distorsión introducida en la señal. A pesar de que la implementación usando un filtro FIR necesita un orden mayor que la implementación en filtro IIR, lo que influye directamente en el coste de la implementación, va a primar en el diseño la necesidad de minimizar la distorsión. Otro factor beneficioso al trabajar con filtros FIR es que al cuantizarlos para pasarlos a punto fijo, se obtiene que la cuantización sobre los coeficientes no afectara a la estabilidad del filtro. Un filtro FIR de fase lineal estable tras la cuantización seguirá siendo de fase lineal y estable. Las especificaciones exigidas al filtro FIR de esta implementación serán las que se muestran en la Figura 4. 1:

Page 3: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

3

|H(f)| - Frecuencia de muestreo (Fs)= 3168Mhz. - Frecuencia de paso (Fc)= 264Mhz. - Atenuación máxima 1dB en la banda de paso . - Atenuación mínima 80dB en la banda de rechazo. Fc = 264Mhz Fs/2

Figura 4. 1 Especificaciones exigidas

De entre los distintos métodos de diseño existentes, se escoge el diseño basado en ventanas, y más particularmente en la ventana de Blackman cuyas características permiten cumplir con un orden 16 para el filtro las especificaciones exigidas. Una vez diseñado el filtro que por defecto estará en punto flotante, será almacenado en un objeto tipo ‘dfilt’ al que se denominará con la variable ‘hd’. La estructura usada para la implementación va a ser ‘FIR en forma directa’. Para pasar a implementar el filtro en punto fijo se modifica su propiedad asociada ‘arithmetic’ haciendo que tenga como valor asociado ‘fixed’. Una vez diseñado e implementado el filtro ‘hd’ en punto fijo con sus parámetros inicializados por defecto, se lleva a cabo una comparación entre la realización del filtro en punto flotante y punto fijo, obteniéndose una medida del error que estime la diferencia entre dichas implementaciones. Mediante una optimización del diseño en punto fijo se buscará minimizar dicho error al que se denomina error de cuantización y que como su nombre indica, será debido a la cuantización de las cantidades con las que trabaja el filtro en punto fijo, es decir coeficientes, señal de entrada y salida, operaciones aritméticas, etc... Esta optimización del diseño en punto fijo se consigue variando los parámetros de diseño, es decir las propiedades asociadas al objeto ‘dfilt’. El fin de este proceso es el de ver como afectan estas propiedades y sus valores en el comportamiento del filtro, en particular a la SNR del sistema. Se buscará diseñar el filtro con una buena SNR, lo que equivale a mantener bajo control el error de cuantización introducido en el proceso de conversión de punto flotante a punto fijo, evitando que crezca desmesuradamente.

El proceso que se va a seguir con el fin de optimizar el diseño del filtro en punto fijo viene resumido en forma de diagrama en el Esquema 4.1.

Señal de entrada

Page 4: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

4

Esquema 4. 1 Metodología del proceso

Filtro en punto fijo

Aritmética, coeficientes,

entrada y salida en punto fijo.

Filtro en punto flotante

Aritmética, coeficientes,

entrada y salida en punto flotante.

Señal salida Señal salida ideal

Error = Señal diferencia

Calculamos Varianza (Error)

Variación del parámetro diseño escogido del filtro

en punto fijo

Calculo SNR

Representación SNR frente

parámetro de diseño escogido

del filtro en punto fijo

Fijar un valor para el parámetro

escogido con el fin de obtener una buena SNR del

sistema

En cuanto a la señal de entrada, se lleva a cabo una comparativa de la respuesta del filtro ante tres tipos de señales de entrada distintas:

• Señal uniformemente distribuida • Señal senoidal • Señal OFDM

Page 5: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

5

En esta implementación no se va a tener en cuenta el ruido adicional de cuantización que supondría convertir los datos iniciales de la señal de entrada al formato establecido para estos datos en el filtro (este formato vendrá dado por la propiedades ‘InputWordLength’ y ‘InputFracLength asociadas al objeto ‘dfilt’). Este proceso se lleva a cabo mediante un objeto ‘quantizer’, añadiendo una cantidad de error adicional que debería tenerse en cuenta en el diseño final del filtro. En el caso presentado aquí, se obtiene en la práctica una SNR de 91dB para esta conversión, cuyo efecto sobre la SNR objetivo final de 60dB del sistema será mínimo. En cuanto a la variación de los parámetros asociados al objeto ‘dfilt’, se empezará variando los parámetros asociados a los datos de salida, posteriormente se seguirá con los parámetros asociados a sumas y productos, terminando con los coeficientes y entradas asociados al filtro. Los parámetros a variar serán los asociados al tipo de estructura elegida para la realización del filtro, en este caso la ‘FIR en forma directa’. Esta es una de las estructuras que peor comportamiento tiene frente al ruido, luego la optimización del diseño se hace para uno de lo peores casos posibles. En cuanto a los desbordamientos que suelen producirse en las operaciones aritméticas internas que se llevan a cabo en la implementación del filtro, se tienen dos maneras de hacerles frente, una es mediante la opción ‘sature’ y otra es mediante la opción ‘wrap’. Entre estas dos, se sabe que ‘wrap’ introduce más error pero es más fácil de implementar en hardware que la opción ’sature’. En el diseño del filtro ‘hd’ se ha optado por la opción ‘sature’ que proporcionará mejores resultados en cuanto al ruido a costa de una mayor complejidad en la implementación. En cuanto a la cuantización, se puede implementar mediante el método de redondeo o el método de truncamiento. La cuantización por truncamiento introduce más error pero es más fácil de implementar que la cuantización por redondeo. En el diseño del filtro ‘hd’ se opta para la cuantización por el método de redondeo, ya que aunque ésta sea más compleja permite trabajar con media cero lo que simplifica el estudio de la SNR. 4.3 Estudio comparativo Se comienza el estudio del sistema teniendo como entrada una señal uniformemente distribuida. Se normalizan los valores de la señal, de manera que tengan valores entre [-1,1]. Esto permitirá minimizar el número de desbordamientos en la cuantización inicial. Esta cuantización inicial llevará a cabo una conversión de la señal inicial de entrada a palabras de 16 bits, de los cuales 15 serán asignados a la parte fraccional. Para la cuantización se escogerá la opción ‘round’, que permitirá obtener señales cuantizadas de media cero lo que simplificará el estudio que se quiere llevar a cabo. En los siguiente subapartados se van variar los parámetros asociados al filtro ‘hd’ en punto fijo, determinando para cada caso su SNR. Posteriormente se plasmarán los resultados obtenidos en una gráfica, que muestre la evolución de dicha SNR en función de la variación de los distintos parámetros asociados al filtro ‘hd’. Estos resultados serán los que finalmente ayudarán a fijar los valores adecuados para cada uno de los parámetros del filtro ‘hd’ con el fin de obtener una buena SNR para el sistema. 4.3.1 Variación de ‘OutputWordLength’

Page 6: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

6

Para la señal uniforme como señal de entrada, se va variando el número de bits asignados al registro ‘OutputWordLength’. Según este número de bits y el modo de almacenar el valor en dicho registro, que vendrá dado por la propiedad ‘OutputMode’ (con sus valores asociados ‘BestPrecision’ y ‘AvoidOverflow’), se calcula la SNR del sistema que se muestra en la Gráfica 4.1. La propiedad ‘OutputMode’ presenta otro valor asociado, ‘SpecifyPrecisión’ cuyos resultados no se muestran a continuación. En este modo de funcionamiento se debe dar valor tanto a la palabra que almacena la salida como a la fracción. Será el utilizado en aplicaciones específicas donde la señal de entrada sea conocida, estableciendo por tanto la longitud la longitud de la palabra y fracción adecuadas para trabajar con la señal.

0

20

40

60

80

100

120

8 9 10 11 12 13 14 15 16

bits

SNR

bestprecision avoidOverflow

Gráfica 4. 1 Variación de ‘OutputWordLength’ para señal de entrada uniforme

Conforme aumenta el número de bits asignados al registro ‘OutputWordLength’ la SNR aumenta. Este resultado es previsible debido a que al tener más bits, la resolución será mayor y por tanto los errores al representar el valor deseado menores. El valor ‘AvoidOverflow’ asociado a la propiedad ‘OutputMode’ es un modo de funcionamiento que evita desbordamientos pero sin reparar en los valores de la señal con la que está trabajando, para ello asigna más bits a la parte entera perdiendo precisión pero al mismo tiempo evitando desbordamientos. Valores más exactos y una forma no tan conservativa para la implementación viene dada por la opción ‘BestPrecision’ para la propiedad ‘OutputMode’, que ajustará la longitud de la fracción del formato de representación a la salida, para acomodar cada una de las señales, proporcionando una mejor SNR en el comportamiento del filtro que la opción ‘AvoidOverflow’. El anterior gráfico muestra el caso de una señal de entrada uniforme, pero el hecho de obtener mejores SNR con la opción ‘BestPrecision’ que con la opción ‘AvoidOverflow’ ha sido una regla común para todas las señales de entrada con las que se ha trabajado. Por tanto, para

Page 7: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

7

obtener mejores SNR con el mismo número de bits, se escoge la opción ‘BestPrecision’ para el diseño del filtro ‘hd’. Se muestra en la Gráfica 4.2 una comparativa entre las distintas señales de entrada una vez establecido el valor de ‘Bestprecision’, representando los resultados obtenidos para cada una de ellas en función del número de bits asignados a ‘OutputWordLength’.

40

50

60

70

80

90

100

8 9 10 11 12 13 14 15 16

bits

SNR

uniforme senoidal OFDM

Gráfica 4. 2 Variación de ‘OutPutWordLength’ para tres señales de entrada distintas Se observa como la SNR aumenta gradualmente para las tres señales de entrada conforme aumenta el número de bits asignados. Esto es una tendencia general debido a que al aumentar el número de bits se consigue representar las cantidades tras la cuantización con mayor precisión. En cuanto al comportamiento de las distintas señales, se obtienen SNR parecidas a entradas senoidales y entradas uniformes. Para la señal OFDM se obtiene, en general, SNR menores. Una vez establecido el modo de operar con la salida del filtro, se fija un valor adecuado para el registro ‘OutputWordLength’. El valor escogido es de 10 bits, que como se observa en la Gráfica 4.2 ofrece una SNR que ronda los 60dB de SNR, valor más que suficiente para el diseño del filtro. La longitud de la fracción ‘OutputFracLength’ será establecida automáticamente al trabajar con la opción ‘BestPrecisión’. Esto sirve para representar de manera más aproximada los valores de la señal con la que se trabaja. A continuación se siguen variando los demás parámetros del filtro ‘hd’. 4.3.2 Variación de ‘ AccumWordLength’

Page 8: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

8

En cuanto a la propiedad ‘CastbeforeSum’ asociada a las operaciones de suma, se obtiene una variación inapreciable en la SNR según se ponga su valor a ‘true’ o a ‘false’. Como en este caso es indiferente, se opta por la opción ‘false’ que será útil para la posterior sintetización del diseño optimizando los recursos hardware necesarios. Con este valor para la propiedad ‘CastBeforeSum’, se muestra a continuación la variación de SNR con respecto al número de bits asignados al registro ‘AccumWordLength’ y según el modo de realizar las operaciones de acumulación o suma. El modo de llevar a cabo esta operaciones aritméticas vendrá dado por el valor de la propiedad ‘AccumMode ’ (con sus valores asociados ‘KeepMSB’,’KeepLSB’ y ‘FullPrecision’). La opción ‘FullPrecision’ evita eliminar bits del resultado de las operaciones, almacenando el resultado completo en los 40 bits asignados por defecto al registro ‘AccumWordLength’. Estos 40 bits son más que suficiente para la mayor parte de las aplicaciones, evitando por tanto los desbordamientos, pero a costa de no poder modificar el número de bits asignados al registro ‘AccumWordLength’, que vendrá dado por el tamaño de los operadores más unos bits de guarda. En cambio las opciones ‘KeepMSB’ y ‘KeepLSB’ permiten modificar este número de bits asignados al registro, sin embargo se pueden dar lugar a desbordamientos internos originados en la implementación de las operaciones de acumulación del filtro, dando lugar a una señal de error que se sumaría a la señal útil original. La propiedad ‘AccumMode’ tiene otro valor asociado ‘SpecifyPrecisión’ . Con este valor ocurre lo mismo que se comentó con la propiedad ‘OutputMode’, y no se entrará en su estudio. Los resultados obtenidos ante una señal de entrada uniforme, variando los valores asociados a las propiedad ‘AccumWordLength’ y ‘AccumMode’, vienen representados en la Gráfica 4. 3.

0

10

20

30

40

50

60

70

8 13 18 23 28 33 38

bits

SNR

keepMSB keepLSB fullprecision

Gráfica 4. 3 Variación de ‘AccumWordLength’ para señal de entrada uniforme

En el anterior gráfico se observa como los 40 bits dados por defecto al registro ‘AccumWordLength’ son espacio más que de sobra para trabajar con los resultados obtenidos de las operaciones sumas. De hecho si se trabaja con un número menor de bits, poniendo

Page 9: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

9

‘AccumMode’ al valor ‘KeepMSB’ o ‘KeepLSB’, se obtiene con un número menor de bits la misma SNR que para el caso de 40 bits. En el caso de trabajar con ‘KeepMSB’, la SNR se mantiene prácticamente constante hasta los 18 bits, mientras que con ‘KeepLSB’ esto se observa hasta los 32 bits. En cuanto a conseguir mejores SNR con mismo número de bits, la opción ‘KeepMSB’ es la que se debe utilizar. La Gráfica 4.3 mostrada es para el caso de la señal uniforme. En el estudio llevado a cabo se comprueba que este comportamiento es una tendencia también para las otras señales de entrada, luego será la opción ‘KeepMSB’ la elegida para el diseño del filtro ‘hd’ como valor para la propiedad ‘AccumMode’. Una vez establecido el valor de ‘AccumMode’ e introduciendo como entradas al filtro las distintas señales, se observa que es lo que ocurre al variar el número de bits asignados al registro ‘AccumWordLength’ en la Gráfica 4.4:

ysenoidal = 6,2857x - 36,714

yuniforme = 5,5357x - 32,714

yOFDM= 5,3929x - 32,857

0

10

20

30

40

50

60

8 9 10 11 12 13 14

bits

SNR

Uniforme Senoidal OFDM

Lineal (Senoidal) Lineal (Uniforme) Lineal (OFDM)

Gráfica 4. 4 Variación de ‘AccumWordLength’ para tres señales de entrada distintas

Se representa el rango de bits donde la variación de la SNR es más significativa y las correspondientes aproximaciones lineales a cada una de las señales de entrada. En cuanto a las aproximaciones lineales, se observa que las tres aproximaciones lineales presentan pendientes muy parecidas al valor teórico de 6,02dB1 por bit que supuestamente se debería obtener. Las desviaciones con respecto al valor teórico pueden ser debidas a los redondeos llevados a cabo en los cálculos. Una vez establecido el modo de comportamiento el modo de comportamiento ante las operaciones de suma, se debe dar un valor adecuado al registro que almacena estas sumas, ‘AccumWordLength’. Se observa en la Gráfica 4.3 que cuando el registro pasa a tener tamaños

1 Ver anexo I para más datos de referencia

Page 10: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

10

inferiores a 18 bits, la SNR empieza a decrecer para las tres señales. Se establece por ello para el diseño del filtro ‘hd’ 18 bits para el registro ‘AccumWordlength’, con el fin de obtener la mejor SNR posible con el menor número de bits. El tamaño asignado para la parte fraccional será designado de manera automática, con el fin de conservar sólo los bits más significativos del resultado al estar trabajando con la opción ‘KeepMSB’. 4.3.3 Variación de ‘ProductWordLength’ La variación de SNR del sistema se muestra en la Gráfica 4.5, en función del número de bits asignados al registro ‘ProductWordLength’ y según el modo de realizar las operaciones de multiplicación. El modo de llevar a cabo las operaciones aritméticas vendrá dado por el valor de la propiedad ‘ProductMode’ (con sus valores asociados ‘KeepMSB’,’KeepLSB’ y ‘FullPrecision’2 ). La señal de entrada con la que se empieza a trabajar seguirá siendo la señal uniforme, obteniéndose los resultados plasmados en la Gráfica 4.5:

0

10

20

30

40

50

60

70

8 13 18 23 28

bits

SNR

KeepMSB KeepLSB FullPrecision

Gráfica 4. 5 Variación de ‘ProductWordLength’ para señal de entrada uniforme

Ocurre algo muy parecido a lo visto al variar ‘AccumWordLength’. Por defecto, el registro ‘ProductWordLength’ tiene asignados 32 bits, que viene dado por el tamaño de los operandos. Como se puede observar en el comportamiento que se muestra en la Gráfica 4.5, el número de bits necesarios es mucho menor, ya que con menor número de bits se consigue igual SNR estableciendo el modo de operación a ‘KeepMSB’ o ‘KeepLSB’.

2 El valor ‘SpecifyPrecision’ no se verá, ocurriendo lo mismo que con el valor de la propiedad ‘OutputMode’ y ‘AccumMode’

Page 11: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

11

Se puede observar en la Gráfica 4.5 una disminución significativa de la SNR a los 30 bits en el caso ‘KeepLSB’ y a los 12 bits en el caso ‘KeepMSB’, luego tanto para las multiplicaciones como para las sumas se tiene como mejor opción ‘KeepMSB’ para obtener SNR más altas con el mismo número de bits. Una vez establecida la opción ‘KeepMSB’ y el rango significativo de bits donde la SNR sufre más variación, se representa en la Gráfica 4.6 el comportamiento de la SNR ante las distintas señales de entrada , con sus respectivas aproximaciones lineales:

yOFDM = 5,45x - 6,6

yuniforme = 5,85x - 8,2

ysenoidal = 5,35x + 0,8

10

20

30

40

50

60

70

6 7 8 9 10 11 12

Uniforme Senoidal OFDMLineal (OFDM) Lineal (Uniforme) Lineal (Senoidal)

Gráfica 4. 6 Variación de ‘ProductWordLength’ para tres señales de entrada distintas

Al ir variando tanto el tamaño de ‘AccumWordLenght’ como el tamaño de ‘ProductWordLength’, se observa que la señal que presenta mejor comportamiento frente al ruido de cuantización es la señal senoidal, seguido de la señal uniformemente distribuida, teniendo por último la señal OFDM. En las aproximaciones lineales también llevadas a cabo en la última gráfica, se observan pendientes muy cercanas al valor teórico de 6.02dB por bit. Las desviaciones respecto a los valores teóricos se pueden deber a los redondeos llevados a cabo al realizar las operaciones en el cálculo de la SNR. Una vez determinado el modo de funcionamiento en los productos a ‘KeepMSB’, se establece el número de bits utilizado para almacenar el resultado de dichos productos, es decir el valor de ‘ProductWordlLength’. Se observa en la Gráfica 4.5 como hasta un tamaño de 13 bits aproximadamente para el registro ‘productWordLength’ la SNR se mantiene prácticamente constante. Esto será una constante para los tres tipos de señales, usando la opción ‘keepMSB’

Page 12: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

12

para el tratamiento de los productos. Este valor de 13 bits será el establecido para el registro en el diseño del filtro ‘hd’. La parte fraccional, almacenada en ‘ProductFracLength’, será asignada automáticamente con el fin de mantener los bits más significativos del resultado. 4.3.4 Variación de ‘InputWordLength’ La variación de SNR en función del número de bits asignados al registro ‘InputWordLength’ se muestra en la Gráfica 4.7 ante los tres tipos de señales de entrada:

45

47

49

51

53

55

57

59

61

63

8 9 10 11 12 13 14 15 16

bits

SNR

uniforme senoidal OFDM

Gráfica 4. 7 Variación de ‘InputWordLength’ para señal de entrada uniforme

Se observa como a medida que se aumenta el número de bits asignados la SNR también aumenta. En cuanto al tamaño del registro que almacena la entrada al filtro, se observa en la Gráfica 4.7 como hasta los 11 bits asignados para el tamaño de la palabra ‘InputWordLength’ la SNR permanece prácticamente invariable, luego se establece un formato de representación para los datos de entrada de el filtro ‘hd’ de 11 bits para ‘InputWordLength’ y de 10 bits para ‘InputFracLength’ 4.3.5 Variación de ‘CoeffWordLength’ La variación de SNR en función del número de bits asignados al registro ‘CoeffWordLength’ se muestra en la Gráfica 4.8. Los resultados presentados son para las tres señales de entrada, con la propiedad ‘CoeffAutoScale’ al valor ‘true’ que permitirá la representación de los coeficientes con la mejor precisión posible por definición

Page 13: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

13

515253545556575859606162

8 9 10 11 12 13 14 15 16

bits

SNR

uniforme senoidal OFDM

Gráfica 4. 8 Variación de ‘CoeffWordLength’ para tres señales de entrada distintas

Como un buen valor para la representación de los coeficientes se cogen 11 bits para la palabra, es decir se asigna el valor de 11 bits a la propiedad ‘CoeffWordLength’, ya que se puede observar que la SNR en general empieza a caer significativamente con un número menor de bits. Finalmente, los resultados obtenidos tras la optimización de los distintos parámetros de diseño y que se pueden observar en la gráfica 4.8, han sido de aproximadamente 60dB de SNR para el caso de la señal de entrada uniforme y senoidal, mientras que para la señal OFDM se trabaja con una SNR final de 54dB. Los coeficientes son lo que determinan la respuesta en frecuencia del filtro. Se observa en la Figura 4.1 como se modifica la respuesta en frecuencia usando 11 bits para la representación de los coeficientes en comparación con la respuesta del filtro de referencia ideal y la respuesta del filtro que tiene asignados 16 bits para la representación de los coeficientes, que son los bits dados por defecto inicialmente:

Page 14: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

14

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-160

-140

-120

-100

-80

-60

-40

-20

0

Normalized Frequency (×π rad/sample)

Mag

nitu

de (d

B)Magnitude Response (dB)

href-Filtro de referenciahd-coeficiente 11 bitshd1-coeficiente 16 bits

Figura 4. 1 Respuesta en frecuencia

En la Figura 4.1 se observa como usando 11 bits para la representación la respuesta en frecuencia en la banda de paso apenas varía con respecto a la ideal; la presencia de una desviación se puede observar en la banda de rechazo donde las especificaciones del filtro ‘hd’ no son tan estrictas como las que tenía el filtro de referencia. Aumentando el número de bits para la representación de los coeficientes permitiría obtener una respuesta en frecuencia más próxima a la de referencia, a costa de un mayor coste de implementación. La elección de una u otra opción depende de la aplicación. La cuantización de los coeficientes puede causar grandes desviaciones en las respuestas esperadas en el caso de filtros IIR, en cambio el efecto es mucho menor en el caso de trabajar con filtros FIR como es el caso. 4.4 Diseño en xHDL y síntetis del hardware del sistema Para terminar con la aplicación se implementa en lenguaje hardware el filtro en punto fijo diseñado y optimizado previamente. Para ello se utiliza la herramienta de codificación en lenguaje xHDL que MATLAB ofrece. Esta herramienta permite obtener el diseño del filtro en lenguaje hardware de una manera sencilla, generando para ello un archivo ‘vhdl’ o ‘verilog’ que directamente se pasará al sintetizador hardware. En cuanto a la configuración de la herramienta, se empieza con la configuración por defecto que asegura la máxima exactitud numérica del código HDL obtenido con respecto al filtro ‘hd’ en punto fijo del que se parte.

Page 15: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

15

Como sintetizador hardware se va a usar el programa ‘Simplicity-Pro’, el cual generará un archivo asociado al diseño del filtro que contendrá información sobre la cantidad de recursos hardware empleado en la realización del diseño del filtro en una FPGA comercial, además de informar de la frecuencia máxima de reloj que el diseño puede presentar. . En cuanto al tipo de FPGA que se va a utilizar, se empieza con una FPGA del fabricante Xilinx, en concreto con la Virtex 2 XC2V1000. En subapartados posteriores también se verán los resultados obtenidos con una FPGA del fabricante Altera, en particular la EPF10K20 4.4.1 Implementación del diseño en una Virtex 2 XC2V1000 de Xilinx Se elige esta FPGA por sus características de diseño que hacen de ella una de las mejores opciones existentes en el mercado para el procesamiento digital de señales3. Usando esta FPGA se lleva a cabo una comparativa de los resultados obtenidos de la sintetización por un lado, del filtro ‘hd’ inicial antes del diseño con la herramienta de diseño de filtros en punto fijo de MATLAB, y por otro lado con el filtro ‘hd’ después del proceso de diseño del filtro. Se muestran los resultados en la Tabla 4. 1.

Especificaciones del filtro ‘hd’ inicial en punto fijo Especificaciones del filtro ‘hd’ final en punto fijo

CoeffWordLength: 16

CoeffAutoScale: true Signed: true

InputWordLength: 16 InputFracLength: 15

OutputWordLength: 16

OutputMode: 'AvoidOverflow'

ProductMode: 'FullPrecision' AccumMode: 'FullPrecision'

CoeffWordLength: 11 CoeffAutoScale: true

Signed: true

InputWordLength: 11 InputFracLength: 10

OutputWordLength: 16

OutputMode: 'AvoidOverflow'

ProductMode: 'KeepMSB' ProductWordLength: 13

AccumMode: 'KeepMSB' AccumWordLength: 18

Resultados obtenidos de la sintetización hardware para cada una de las configuraciones del filtro ‘hd’ en punto fijo.

3 Ver anexo IV si se desean ver características de esta FPGA.

Page 16: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

16

Cell usage:

I/O Register bits: 0 Register bits not including I/Os: 272 (2%) Mapping Summary: Total LUTs: 1601 (15%) Process took 10.625 seconds realtime, 10.675 seconds cputime Estimated Frequency : 46.8 MHz Estimated Period : 21.366

Cell usage:

I/O Register bits: 0 Register bits not including I/Os: 192 (1%) Mapping Summary: Total LUTs: 881 (8%) Process took 5.177 seconds realtime, 5.177 seconds cputime Estimated Frequency : 49.4 MHz Estimated Period : 20.229

Tabla 4. 1 Especificaciones de filtros y resultados de sintetización correspondientes

Se puede observar un menor número de recursos hardware consumidos en el diseño final del filtro ‘hd’ además de un incremento de la frecuencia de reloj como era de esperar. Esta disminución de hardware utilizado se deberá a las nuevas especificaciones del filtro final en cuanto a los coeficientes, señales de entrada, multiplicaciones, sumas, etc... A continuación se muestra como afecta en la sintetización hardware el modificar algunos de los registros del filtro final ‘hd’ en punto fijo. En particular el estudio se centra en las operaciones de cuantización de coeficientes, dejando para el próximo apartado la cuantización de los resultados obtenidos de la multiplicación y sumas. 4.4.1.1 Cuantización de coeficientes del filtro. Se muestran a continuación como afectan en los resultados de sintetización hardware, en particular en los datos de ocupación en % LUTs y en frecuencia, el variar el número de bits asignados para almacenar los coeficientes. Se muestran los resultados obtenidos para una configuración por defecto establecida para la herramienta de generación de código xHDL, pero también para una configuración en la que se busca la optimización del código xHDL. Para esto último se establece el parámetro ‘Coefficient Multipliers’ al valor ’CSD’. Los resultados obtenidos para estas dos configuraciones distintas se muestran en las siguientes gráficas. En la gráfica 4.9 aparece la evolución de la ocupación en función del número de LUTs con respecto a la variación del número de bits asignados al parámetro ‘CoeffWordLength’.

Page 17: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

17

0

2

4

6

8

10

12

14

8 9 10 11 12 13 14 15 16

bits

LUTs

(%)

Multiplier CSD

Gráfica 4. 9 Evolución de ocupación en % de LUTS en función del número de bits En la gráfica 4.10 se representa la evolución de la frecuencia de funcionamiento en función también de la variación del número de bits asignados a ‘CoeffWordLength’.

41

43

45

47

49

51

8 9 10 11 12 13 14 15 16

bits

Frec

uenc

ia (M

Hz)

Multiplier CSD

Gráfica 4. 10 Evolución de la frecuencia (MHz) en función del número de bits Se observa un aumento de los datos de ocupación y una disminución de la frecuencia de trabajo a medida que se aumenta el número de bits usados en la implementación. En cuanto a los resultados de la simulación obtenidos, en términos de ocupación la opción ‘CSD’ no ofrece mejoras claramente significativas con respecto a la opción ‘multiplier’, luego es esta última la que se elige y se establece para la generación de los archivos xHDL. Se ha estudiado lo que ocurre al modificar el número de bits asignados a los coeficientes, ya que su incorrecta implementación trae consigo errores en la respuesta en frecuencia del filtro deseado y afecta directamente al comportamiento de éste.

Page 18: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

18

4.4.1.2 Cuantización de operaciones aritméticas del filtro. Otra parte importante en la realización del filtro es la exactitud en las operaciones numéricas internas, tanto multiplicaciones como sumas. Se establece como afecta a la implementación del filtro final el establecer la opción ‘Fullprecision’ tanto para las multiplicaciones como para las sumas. Se representan los resultados obtenidos en la Tabla 4. 2

ProductMode=‘KeepMSB’ ProductWordLength= 13 AccumMode=’KeepMSB’ AccumWordLength= 18

ProductMode=’Fullprecision’

ProductWordLength= 22 AccumMode=’Fullprecision’

AccumWordLength= 27

LUT’s

8 %

7 %

Frecuencia (MHz)

49.4

55.5

Tabla 4. 2

En contra de lo que ocurría al trabajar con los coeficientes, el hecho de usar mayor número de bits en los registros que almacenan las operaciones de sumas y productos no supone el tener que usar mayor número de recursos hardware al usar este tipo de tecnología Xilinx. Esto último se debe a la forma de distribuir los recursos que tiene la tecnología dentro de la propia estructura de la FPGA. Como opción final para el diseño del filtro ‘hd’ se escoge tanto para las sumas como para los productos ‘Fullprecision’ ya que aunque se tienen registros con mayor número de bits, el número de recursos hardware consumidos es menor. Esta implementación también permitirá obtener una mejor SNR del filtro por el hecho de tener más bits para el almacenamiento de datos y por lo tanto capacidad de evitar desbordamientos internos. Los resultados finales de la sintetización del filtro ‘hd’ en una Xilinx XC2V1000 se muestran en la Tabla 4. 3.

Page 19: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

19

Filtro ‘hd’ final en punto fijo Resultados de la sintetización

CoeffWordLength: 11 CoeffAutoScale: true

Signed: true

InputWordLength: 11 InputFracLength: 10

OutputWordLength: 16

OutputMode: 'AvoidOverflow'

ProductMode: 'Fullprecision'

AccumMode: 'Fullprecison'

Cell usage:

I/O Register bits: 0 Register bits not including I/Os: 192 (1%) Mapping Summary: Total LUTs: 746 (7%) Process took 4.857 seconds realtime, 4.856 seconds cputime Estimated Frequency : 55.5 MHz Estimated Period : 18.024

Tabla 4. 3

4.4.2 Implementación del diseño en una EPF10K20 de Altera Se presenta a continuación que ocurre al usar una FPGA de la familia Altera, en particular la EPF10K20. Esta FPGA es un miembro de la familia Altera 10K y por sus características también es muy utilizada en el procesamiento digital de señales. 4

Se lleva a cabo el mismo proceso seguido para el caso de la familia Xilinx. Se parte de las mismas especificaciones del filtro ‘hd’ inicial y final usadas en la Tabla 4.1, obteniéndose unos resultados de la sintetización hardware que se presentan en la Tabla 4. 4.

Filtro ‘hd’ inicial en punto fijo Filtro ‘hd’ final en punto fijo

Total LUTs: 1843 of 1152 (159%)

Process took 8.462 seconds realtime, 8.562 seconds cputime Estimated Frequency : 15.8 MHz Estimated Period : 63.482

Total LUTs: 1066 of 1152 (92%)

Process took 4.176 seconds realtime, 4.176 seconds cputime Estimated Frequency : 16.9 MHz Estimated Period : 59.085

Tabla 4. 4

En la columna de la izquierda se puede observar como los recursos para la implementación del filtro ‘hd’ exceden de los recursos ofrecidos por la FPGA de Altera con la que se está

T4 Características incluidas en anexo IV

Page 20: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

20

trabajando. De hecho esta implementación del filtro utiliza 159 % de recursos lógicos haciendo inviable su implementación en esta tecnología. En la columna de la derecha, se observa como el posterior diseño del filtro ‘hd’ conduce a una implementación hardware que permite utilizar el 92 % de recursos lógicos ofrecidos por la FPGA con la que se trabaja, permitiendo por tanto acomodar el filtro a los recursos que dicha tecnología ofrece. A continuación se muestra como afecta en la sintetización hardware el modificar algunos de los registros del filtro final ‘hd’ en punto fijo. En particular el estudio se centra en las operaciones de cuantización de coeficientes, dejando para el próximo apartado la cuantización de los resultados obtenidos de la multiplicación y sumas. 4.4.2.1 Cuantización de los coeficientes del filtro Empezando con los coeficientes del filtro, se muestra que supone en hardware asignar 16 bits para los coeficientes con respecto a los 11 bits del diseño inicial. Esto se llevará a cabo con la configuración de la herramienta dada por defecto y con una configuración distinta, estableciéndose el valor ‘Coefficient Multipliers’ a ’CSD’ En la gráfica 4.11 aparece la evolución de la ocupación en función del número de LUTs con respecto a la variación del número de bits asignados al parámetro ‘CoeffWordLength’.

80

90

100

110

120

130

140

8 9 10 11 12 13 14 15 16

bits

LUTs

(%)

Multiplier CSD

Gráfica 4. 11 Evolución de ocupación en % de LUTS en función del número de bits En la gráfica 4.12 se representa la evolución de la frecuencia de funcionamiento en función también de la variación del número de bits asignados a ‘CoeffWordLength’.

Page 21: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

21

1011121314151617181920

8 9 10 11 12 13 14 15 16

bits

Frec

uenc

ia (M

Hz)

Multiplier CSD

Gráfica 4. 12 Evolución de la frecuencia (MHz) en función del número de bits En este caso se observa una ligera mejoría de los resultados de sintetización en cuanto a la ocupación en % de LUTs usados en la implementación, de la opción ‘CSD’ con respecto a la opción ‘multiplier’ para los coeficientes de las multiplicaciones. Si se escoge la opción ‘CSD’ como opción para la generación del código, se debe ver primero como afecta esta opción a la respuesta en frecuencia del filtro. En la Gráfica 4.9 se presenta una comparativa entre la respuesta del filtro final de 11 bits para los coeficientes, la respuesta del filtro con 16 bits y la respuesta en frecuencia obtenida usando los coeficientes representados usando la opción ‘CSD’ en la configuración de la herramienta

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-160

-140

-120

-100

-80

-60

-40

-20

0

Normalized Frequency (×π rad/sample)

Mag

nitu

de (d

B)

Magnitude Response (dB)

hd-coeficiente 11 bitshd1-coeficiente 16 bitshd2-coeficiente CSD

Gráfica 4. 10 Respuesta en frecuencia

Page 22: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

22

La respuesta en frecuencia del filtro con coeficientes implementados usando CSD es igual a la respuesta en frecuencia con coeficientes de 16 bits. Luego no hay problema en usar esta opción para la obtención del archivo xHDL. En cuanto a la fase del filtro, se muestra la representación en los gráficos 4.11 y 4.12.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-1200

-1000

-800

-600

-400

-200

0

Normalized Frequency (×π rad/sample)

Phas

e (d

egre

es)

Phase Response

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-1200

-1000

-800

-600

-400

-200

0

Normalized Frequency (×π rad/sample)

Phas

e (d

egre

es)

Phase Response

Gráfica 4.11 Fase del filtro CSD Gráfica 4. 12 Fase del filtro

Page 23: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

23

En el gráfico de la derecha se tiene el filtro cuantizado con 11 bits asignados para representar los coeficientes, aquí se puede confirmar una de las características de los filtros FIR: al cuantizar un filtro de fase lineal, el resultante de la cuantización sigue siendo de fase lineal. En el gráfico de la izquierda se observa la fase del filtro con coeficientes de 11 bits y opción CSD usada para la generación del código xHDL, y se observa que el filtro sigue contando con fase lineal. La configuración de la herramienta de generación xHDL se puede variar en muchas formas debido a los distintos parámetros configurables que vimos en el apartado 3. No se va a entrar en probar estas distintas configuraciones, ya que pueden introducir errores en la realización del filtro haciendo que difiera bastante del original en punto fijo. Existen herramientas que permitirían comprobar que dichos errores no se producen, pero no se va a entrar en ellas. A continuación se muestra que ocurre con las operaciones numéricas internas, tanto multiplicaciones como sumas, al igual que se hizo con la FPGA Xilinx. 4.4.2.2 Cuantización de operaciones aritméticas del filtro. Se establece la opción ‘Fullprecision’ tanto para las multiplicaciones como para las sumas y se muestra en la Tabla 4. 5 como afecta a la síntesis del sistema.

ProductMode=‘KeepMSB’ ProductWordLength= 13 AccumMode=’KeepMSB’ AccumWordLength= 18

ProductMode=’Fullprecision’

ProductWordLength= 22 AccumMode=’Fullprecision’

AccumWordLength= 27

LUT’s

92 %

80 %

Frecuencia (MHz)

16.9

19.1

Tabla 4. 5 Comparativa de resultados de sintetización

En contra de lo que ocurría al trabajar con los coeficientes, el hecho de usar mayor número de bits en los registros que almacenan las operaciones de sumas y productos no supone el tener que usar mayor número de recursos hardware al usar este tipo de tecnología Altera. Esto último es debido a la forma de ofrecer los recursos que tiene la tecnología con la que se trabaja, luego como opción final para el diseño del filtro ‘hd’ se escoge tanto para las sumas como para los productos ‘Fullprecision’. Con esta implementación también se obtendrá una mejor SNR del filtro por el hecho de tener más bits para el almacenamiento de datos y por lo tanto capacidad de evitar desbordamientos internos. Los resultados de la sintetización del filtro final ‘hd’ en Altera EPF10K20 se muestran en la Tabla 4.6.

Page 24: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

24

Filtro ‘hd’ final en punto fijo

Resultados de la sintetización

CoeffWordLength: 11 CoeffAutoScale: true

Signed: true

InputWordLength: 11 InputFracLength: 10

OutputWordLength: 16

OutputMode: 'AvoidOverflow'

ProductMode: 'Fullprecision'

AccumMode: 'Fullprecison'

Total LUTs: 933 of 1152 (80%)

Process took 3.525 seconds realtime, 3.525 seconds cputime Estimated Frequency : 19.1 MHz Estimated Period : 52.479

Tabla 4. 6 Resultados finales de sintetización

En general, los resultados obtenidos en cuanto a frecuencia de trabajo son mayores para la familia Altera que en la familia Xilinx, como se puede observar. 4.5 Conclusiones capítulo 4 4.5.1 Conclusiones del estudio comparativo En cuanto al estudio comparativo, se observan como los mejores resultados obtenidos de entre las tres señales en cuanto a SNR han sido los que ofrece la señal senoidal como señal de entrada, en contraposición la señal OFDM es la que presenta los peores resultados. Una de las causas a las que se deben estos resultados resulta ser la mayor uniformidad en el comportamiento que presenta la señal senoidal frente a los valores más dispares e imprevisibles que puede tomar la señal OFDM. Estos valores generarán en esta última señal mayor número de desbordamientos al operar con ella y por tanto se introducirán más errores de cuantización. También la potencia de la señal al hallar la SNR total del sistema es determinante. Sobre señales de poca potencia, el efecto del ruido de cuantización será mayor, ya que es más fácil enmascarar la señal útil con una señal de ruido presente, dando lugar a una SNR menor. La señal OFDM con la que se trabaja presenta una potencia baja al tener como aplicación un sistema UWB. Esta señal deberá trabajar en un espectro de frecuencia compartido con otras aplicaciones, luego su presencia no debe interferir o al menos debe interferir lo mínimo posible sobre las demás señales que trabajan en el mismo rango espectral. El obtener peores SNR con la señal OFDM haría necesario aumentar el número de bits que se usan en los registros del filtro para obtener la misma SNR que la obtenida para las otras dos señales.

Page 25: 4. APLICACIÓN. Filtro FIR en sistema UWBbibing.us.es/proyectos/abreproy/11177/fichero/Capitulo_4.pdf · El éxito de esta tecnología en el mercado depende mucho de conseguir unos

Proyecto final de carrera. Ingeniería de Telecomunicación. Desarrollo de filtros FIR en herramientas avanzadas.

___________________________________________________________________

25

En cuanto a los resultados que se obtienen al manejar las operaciones de sumas y productos dentro del filtro, se debe mencionar que el haber usado 11 bits para la representación de los coeficientes y 11 bits para la representación de la entrada, teóricamente daría un resultado de 22 bits al multiplicarlos con el fin de evitar desbordamientos. En el diseño práctico del filtro ‘hd’ se han asignado 13 bits al registro ‘ProductWordLength’, manteniendo al mismo tiempo el diseño con una SNR buena. También hay que hacer notar que ha ocurrido con los bits de guardia ( bits adicionales introducidos en el registro que almacena el resultado de las sumas para evitar posibles desbordamientos ) . Inicialmente partíamos de 8 bits de guarda (diferencia entre los 40 bits asignados al acumulador por defecto y los 32 bits por defecto asignados al producto) dados por defecto. En el diseño efectuado del filtro, se asignan 13 bits para la realización de productos y 18 bits para las operaciones de suma, luego se tienen tan solo 5 bits de guarda, reduciendo el número de bits de guarda asignados. Aunque estos bits de guarda adicionales suponen un coste adicional tanto de espacio como de dinero, a veces se prefiere ya que al suprimirlos la SNR disminuiría notablemente debido a los desbordamientos internos que se podrían originar al llevar a cabo las operaciones aritméticas en la implementación del filtro. Después de la optimización del filtro en punto fijo y de todo lo comentado anteriormente, se sigue apreciando ruido de cuantización en el diseño. Parte del ruido de cuantización que todavía está presente se debe a conversiones internas de formato que se llevan a cabo en el filtro, como la que se lleva a cabo cuando se introducen los datos obtenidos del procesamiento del filtro que tendrán 18 bits al salir del acumulador, en los 10 bits usados para el formato de salida. Se podría usar el mismo tamaño para la representación a la salida del filtro que para la salida del acumulador, esto daría SNR más altas a costa de usar más bits en la representación. También en este error presente influye el no tener una respuesta en frecuencia ideal en el filtro diseñado, sino que debido a la cuantización sufre modificaciones. El tener un error cero es meramente imposible ya que la cuantización lleva consigo un error de cuantización. Lo que se debe intentar es que este error esté dentro de unos márgenes tolerables, como se ha hecho en el diseño del filtro ‘hd’ usando como medida del error la SNR del sistema. 4.5.2 Conclusiones de la sintetización hardware Se ha podido observar como las distintas fases del diseño de cualquier filtro en punto fijo están interrelacionadas, en este caso particular se ha comprobado que la herramienta de diseño en lenguaje hardware junto con la herramienta de síntesis hardware ‘Simplicity-Pro’ ha permitido mejorar el diseño final del filtro en punto fijo que se obtuvo tras la fase de diseño. Se ha observado de los resultados de sintetización obtenidos de los distintos diseños del filtro propuestos, como el asignar más bits a los registros del filtro no ha significado necesariamente el usar más recursos hardware en la implementación. Además el asignar más bits también permite el mejorar la relación señal a ruido de la implementación final del sistema. Todo esto sin perder de vista en ningún momento las especificaciones iniciales del sistema que tras cualquier fase de realización del diseño deben ser comprobadas de forma que no se pierdan.