FFT de 64 Puntos para Redes de Datos Inalámbricas
Basadas en OFDM
Sancho M.A., Angarita F.E., Sansaloni T., Perez-Pascual A.
Departamento de Ingeniería Electrónica, Universidad Politécnica de Valencia, Valencia, España
Resumen. Este artículo presenta un core FFT de 64 puntos, basado en la arquitectura pipeline R4MDC. Válido para redes inalámbricas basadas en OFDM. La estructura escogida permite cumplir las especificaciones de los estándares, tanto de Hiperlan/2 como de 802.11a-g, trabajando a una frecuencia de reloj de 20 MHz. En el diseño del core se ha utilizado emplazamiento relativo y se ha replicado la lógica de control con el fin de mejorar las prestaciones del core.
1 Introducción
En la actualidad, los nuevos estándares de redes de datos inalámbricas (HIPERLAN/2 o IEEE 802.11a/g) [1] utilizan la modulación llamada OFDM (multiplexación por división en frecuencias ortogonales). Esta modulación se basa en la realización de la transformada rápida de Fourier inversa (IFFT) de 64 puntos, que pueden estar modulados como BPSK, QPSK, 16-QAM o 64-QAM permitiendo tasas de transmisión de hasta 54 MBPS (Tabla 1). Cada símbolo OFDM está formado por 80 muestras y tiene una duración de 4 µs, lo que da lugar a una tasa de 20 MHz. En este artículo se presenta un core FFT con el que se consi-gue alcanzar las especificaciones de estos estándares con un reloj de 20 MHz.
Modo Modulación Tasa Codificación Tasa Transmisión
1 BPSK 1/2 6 Mbps 2 BPSK 3/4 9 Mbps 3 QPSK 1/2 12 Mbps 4 QPSK 3/4 18 Mbps 5 16QAM 9/16 27 Mbps 6 16QAM 3/4 36 Mbps 7 64QAM 3/4 54 Mbps
Tabla 1. Modos de transmisión para Hiperlan/2
A lo largo de los años se han desarrollado diferentes algoritmos de la FFT. El más popu-lar fue desarrollado por Cooley-Tukey, el cual reducía la complejidad del orden de N2 a N.log2(N). La tendencia en el desarrollo de los algoritmos de FFT ha sido la reducción de carga computacional. Algoritmos basados en Radix-4, Split-Radix, Radix-22 se han pro-puesto para disminuir los costes hardware. Básicamente estos algoritmos descomponen la FFT de longitud N en una parte impar y otra par, para así, de manera recursiva conseguir
reducir el número de multiplicadores complejos. Los algoritmos se clasifican según el mé-todo de organización de los datos [2], en la tabla 2 se puede ver las características principa-les de cada uno.
Arquitectura Sigla Multiplicadores
Complejos Butterflies Elementos de Memoria Radix-2 Multipath Delay Commutator R2MDC 2(log4 (N – 1)) log2 N 3/2N – 2 Radix-2 Single-path Delay Feedback R2SDF 2(log4 (N – 1)) log2 N N – 1 Radix-4 Single-path Delay Feedbak R4SDF log4 (N-1) log4 N N – 1 Radix-4 Multipath Delay Commutator R4MDC 3 x log4 (N-1) log4 N 5/2N – 4 Radix-2 Single-path Delay Commutator R4SDC log4 (N-1) log4 N 2N – 2
Tabla 2. Arquitecturas pipeline para FFT
Cada una de las arquitecturas anteriores posee sus ventajas y desventajas, y pueden ser utilizadas en diferentes aplicaciones. Para un sistema basado en OFDM como es el caso de HIPERLAN/2 el método R4MDC es el más eficiente, por la facilidad del control e imple-mentación hardware, siendo la arquitectura en la que se va ha centrar este artículo.
2 Arquitectura FFT pipeline
En la figura 1 se muestra el diagrama de bloques del diseño propuesto. Se observa un de-multiplexor cuya función es distribuir los datos de entrada en cuatro flujos. A través de los registros de desplazamiento se garantiza que los datos entran de forma correcta en la But-terfly (RADIX4, en la figura 1). Los datos son reorganizados por medio de los conmutado-res [3] y los registros de desplazamiento situados a la entrada y a la salida de éstos.
2.1 Algoritmo RADIX-4
A partir de una entrada, el algoritmo Radix-4 realiza una serie de operaciones dando como resultado cuatro flujos de N/4 muestras, siendo N el número de muestras totales de la en-trada. A cada uno de estos flujos de N/4 muestras se vuelven a realizar una serie de opera-ciones volviendo a dar como resultado cuatro flujos de N1/4 muestras, donde N1=N/4. Este procedimiento se va a ir repitiendo hasta obtener secuencias de 4 puntos, cuyas combina-ciones son el resultado de la FFT.
En la figura 2 podemos ver cómo la arquitectura propuesta por este artículo desarrolla el algoritmo. En un primer momento se realiza una ordenación de los datos de entrada para realizar de forma correcta las operaciones en la primera etapa. Tras esta etapa, el conmuta-dor y los registros de desplazamiento se vuelven a encargan de realizar una organización de los datos para obtener de forma correcta los cálculos en la etapa posterior. La velocidad de este conmutador ha de ser cuatro veces más rápido que el conmutador de la entrada, esto se debe a que ha de atender a cuatro flujos simultáneamente. Tras la segunda etapa, los datos vuelven a ser encaminados a través de unos registros de desplazamientos y de un conmutador. El objetivo es volver a realizar una organización de los datos. Para la última etapa, la velocidad de este conmutador ha de ser cuatro veces superior al anterior, pues ha de atender a cuatro flujos simultáneamente, siendo la longitud de estos flujos cuatro veces inferiores.
3 Implementación en FPGA
El core diseñado que implementa la arquitectura FFT pipeline R4MDC, ha sido optimizado para los dispositivos Virtex y Virtex-E de Xilinx. A continuación se detalla cada elemento que compone el diseño (Figura 1).
Demultiplexor: Este bloque se implementa utilizando LUTs. Se ha utilizado el emplazado
relativo para mejorar la velocidad, optimizando los tiempos de rutado.
Elementos de Almacenamiento: Estos componentes se han implementado aprovechando
la configuración de las LUTs como registros de desplazamiento, de esta forma se reduce el área. Estos registros pueden ser de hasta 16 posiciones, y utilizando los flip-flops del slice
se puede prolongar hasta 17. Para generar desplazamiento mayores a 17, se encadenan varios SRL hasta conseguir el número necesario de desplazamientos.
Conmutadores: Están formados por 4 multiplexores. Además utilizan registros de
desplazamiento para organizar los datos.
Salida Serie: Permite pasar de la salida en paralelo a serie. Haciendo hincapié en que los
Butterflies: Su estructura se muestra en la figura 3. Cada una se compone de dos elementos. El primero (figura 3.b) se encarga de realizar las diferentes combinaciones de los datos de entrada. El otro elemento (figura 3.a) realiza la multiplicación compleja de los coeficientes con las diferentes combinaciones de los datos. Está compuesto de 5 sumadores y 3 multiplicadores [1]. Estos últimos están implementados en árbol y optimizados mediante el emplazado relativo. Los coeficientes se encuentran almacenados en memorias distribuidas.
(a) (b)
Figura 3. Estructura de la Butterfly. (a) Multiplicador Complejo. (b) Elemento combinacional
Control: La generación de las señales de control se realiza por medio de un contador de 6
bits, como puede verse en la figura 4. Mediante estas señales podemos controlar el demultiplexor, los conmutadores y las direcciones de las memorias que almacenan los coeficientes. Se ha replicado el control para cada uno de los componentes anteriores, excepto para las memorias, en las que se utiliza un mismo contador, con el fin de reducir el elevado fan-out de las líneas de control, permitiéndonos reducir la potencia consumida y aumentar la velocidad.
4 Resultados
La tabla 3 resume las prestaciones del diseño. Las pruebas se han hecho con señales OFDM de 64 símbolos, mapeados en BPSK y 64-QAM. Se ha utilizado un dispositivo Virtex xcv800hq240 -4. La figura 5 muestra el floorplanner obtenido, diferenciando los compo-nentes que forman parte del diseño:
• Demultiplexor (1)
• Registros de desplazamiento de la entrada (2)
• Butterfly de la primera etapa (3)
• Memorias de los coeficientes (4)
• Conmutador y registros de la primera etapa (5)
• Butterfly de la segunda etapa (6)
• Conmutador y registros de desplazamiento de la segunda etapa (7)
• Butterfly de la tercera etapa (8)
• Multiplexor y registros de desplazamiento de la salida serie (9)
• Control
BPSK 64-QAM
Consumo a 20 MHz (mW) 940 897,5
Consumo por MHz (mW/MHz) 47 44,875
Area (slice) 3429 3429
Frecuencia máxima de funcionamiento (MHz) 99,6 99,6 Tabla 3. Resumen de prestaciones
5 Conclusiones
El diseño propuesto cumple con los estándares tanto de Hiperlan/2 como de 802.11a-g, trabajando a una frecuencia de reloj de 20 MHz. Además se ha conseguido disminuir hasta en un 10% el consumo, respecto a la versión inicial, replicando la lógica de control y reali-zando un emplazado relativo de todos los componentes.
figura 5. Floorplanner de la FFT de 64 puntos
6 Bibliografía
1. ETSI: Broadband Radio Access Network (BRAN); HIPERLAN Type 2; Physical (PHY) Layer. 2001. ETSI TS 101 475 V1.22 (2001-02)
2. Shousheng He, Mats Torkelson.: A New Approach to Pipeline FFT Processor 3. Rémondeau,Jean-Marc.:Scalable Parallel Arquitecture for Ultra fast FFT in an FPGA
4. Earl E.Swartzlander,JR, Wendell K.W.Young, Saul J.Joseph.: A Radix 4 Delay Commutator for Fast Fourier Transform Processor Implementation, 1984 IEEE
5. Weidong L1, Yutai Ma, Lars Wanhmmar.: Word Length Estimation for Memory Efficient pipeline FFT/IFFT Processor