DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN TESIS DOCTORAL OPTIMIZACIÓN ALGORÍTMICA ORIENTADA A LA IMPLEMENTACIÓN EN DISPOSITIVOS RECONFIGURABLES DE ESQUEMAS MULTIESTÁNDAR Y MULTIUSUARIO PARA SINCRONISMO DE FRECUENCIA EN SISTEMAS DE COMUNICACIONES INALÁMBRICAS BASADOS EN OFDM Autor: Javier González Bayón Ingeniero de Telecomunicación Director: Carlos Carreras Vaquer Doctor Ingeniero de Telecomunicación
194
Embed
OFDM Autor - Archivo Digital UPM - Archivo Digital UPMoa.upm.es/7355/1/JAVIER_GONZALEZ_BAYON.pdf · OFDMA systems have been solved, an implementation methodology using rapid prototyping
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN
TESIS DOCTORAL
OPTIMIZACIÓN ALGORÍTMICA ORIENTADA A LA IMPLEMENTACIÓN EN DISPOSITIVOS RECONFIGURABLES DE
ESQUEMAS MULTIESTÁNDAR Y MULTIUSUARIO PARA SINCRONISMO DE FRECUENCIA EN SISTEMAS DE
COMUNICACIONES INALÁMBRICAS BASADOS EN OFDM
Autor: Javier González Bayón
Ingeniero de Telecomunicación
Director: Carlos Carreras Vaquer
Doctor Ingeniero de Telecomunicación
Tesis Doctoral: Optimización algorítmica orientada a la implementación endispositivos reconfigurables de esquemas multiestándar ymultiusuario para sincronismo de frecuencia en sistemas decomunicaciones inalámbricas basados en OFDM
Autor: Javier González Bayón
Director: Carlos Carreras Vaquer
El tribunal nombrado por el Mgfco. y Excmo. Sr. Rector de la Universidad Politécnica deMadrid, el día ........ de .............. de 2011, para juzgar la Tesis arriba indicada, compuesto porlos siguientes doctores:
PRESIDENTE: Dr.
VOCALES: Dr.
Dr.
Dr.
SECRETARIO: Dr.
Realizado el acto de lectura y defensa de la Tesis el día ....... de .............. de 2011 en la E.T.Sde Ingenieros de Telecomunicación, acuerda otorgarle la calificación de:
4.1. Errores en la sincronización de frecuencia en sis-
temas OFDMA
En el capítulo anterior se han estudiado diferentes métodos para conseguir la sincroni-
zación de frecuencia en sistemas OFDM que sólo tienen que tratar con una trama de datos
proveniente de un sólo emisor que ocupa un canal de comunicación dado. Para atender a
múltiples usuarios en OFDM se usan las técnicas TDD (Time Division Multiplex), donde el
canal se divide en franjas de tiempo que se reparten entre los diferentes usuarios, o FDD
(Frequency Division Multiplex), donde se usan diferentes canales para los usuarios. Actual-
97
mente hay gran interés en trasladar el concepto OFDM a escenarios en que, para un canal
dado, éste pueda ser distribuido entre varios usuarios en diferentes subcanales sobre un mis-
mo canal de comunicación. Un ejemplo de este interés es la tecnología OFDMA que resulta
de la combinación de OFDM y el protocolo FDMA (Frequency Division Multiple Access).
Esta tecnología fue inicialmente propuesta por [Sar99] para televisión por cable (CATV) y
más tarde adoptada en el uplink del estándar DVB-RCT (Interaction Channel for Digital
Terrestrial Television) [RCT]. En los últimos años, OFDMA ha sido incluido también en
la última versión de WiMAX, 802.16e. Esta técnica se ha convertido en un tema de activa
investigación tanto de la industria como en ámbitos universitarios.
El principal problema en los sistemas OFDMA se encuentra en la comunicación uplink,
donde la estación base recibe información de diferentes usuarios por un mismo canal de
comunicación y es necesario que haya un mecanismo que permita descifrar la información
proveniente de cada terminal. En este caso, las subportadoras se dividen en subbandas o
subcanales asignándose cada subbanda a un único usuario. Esto es, cada usuario tiene cono-
cimiento sobre qué subcanales puede usar y ningún usuario transmite en las subportadoras
que no son las que la estación base le ha asignado. El resto de subportadoras que no están
ocupadas por un usuario pueden ser usadas por otros usuarios o pueden usarse para formar
guardas de frecuencia.
En un caso ideal no habría interferencia entre usuarios debido a la ortogonalidad entre
subportadoras. Sin embargo, los desfases en el dominio del tiempo y/o de la frecuencia,
entre otros factores, impiden o dificultan la correcta recepción de los datos. Los desfases en
frecuencia son especialmente problemáticos en los sistemas OFDMA. El hecho de que un
CFO afecte en las transmisiones de cada usuario hace que no sólo aparezca ICI producida por
la interferencia entras las subportadoras de un mismo usuario sino también MAI (Multiple
Access Interference) producido por la interferencia de las subportadoras de otros usuarios. Es
decir, la información proveniente de un usuario interfiere en las subportadoras pertenecientes
98
a otros usuarios. El principal problema para corregir este efecto indeseado reside en que cada
usuario tiene un CFO diferente derivado del oscilador local propio y/o del efecto Doppler
derivado del movimiento del terminal de dicho usuario con respecto a la estación base, por lo
que corregir los diferentes CFOs es un proceso complicado y altamente costoso en términos
computacionales.
Típicamente, los subcanales se pueden formar con grupos de subportadoras contiguas,
intercaladas o agrupadas en bloques con una asignación basada en la información que se
tenga del canal. En este último caso, las subportadoras que van a ser las menos afectadas
por el canal se asignan al siguiente usuario en conectarse de manera que pueda transmitir
información con mayor fiabilidad. Cuanto más mezcladas se encuentran las subportadoras
de diferentes usuarios, más MAI proveniente de otros usuario afecta a los datos, de manera
que se hace más difícil la estimación y corrección de los diferentes CFOs.
El proceso de sincronización de frecuencia en OFDMA se divide tradicionalmente en
tres fases o etapas. La primera de ellas consiste en estimar y corregir el CFO por parte del
usuario en la comunicación downlink. Este primer paso se corresponde con la sincronización
de frecuencia para sistemas OFDM que se ha visto en el capítulo anterior. La siguiente fase
corresponde a la estimación del CFO de cada usuario por parte de la estación base en la
comunicación uplink. En esta fase, la estimación de la primera etapa sirve como referencia
a la hora de iniciar la comunicación uplink de manera que los CFOs que la estación base
tenga que estimar sean más pequeños de lo que inicialmente habrían sido si no se hubiera
realizado la primera fase. Después de estimar los CFOs en la estación base, la tercera fase
correspondería a la corrección de dichos offsets de frecuencia. Estas dos últimas etapas son lo
suficientemente complicadas como para que en la literatura se hayan abordado por separado,
aunque también existen artículos que las han tratado conjuntamente. Además, como se verá
en las próximas secciones, los métodos para resolver estas dos etapas están estrechamente
relacionados con la manera en que las subportadoras están agrupadas en los subcanales.
99
Figura 4.1: Diagrama de bloques de un sistema OFDMA
Antes de centrarnos en las etapas dos y tres de este proceso haremos una revisión de la
señal en sistemas OFDMA. En la figura 4.1 se puede ver el diagrama de un sistema OFD-
MA. En un sistema OFDMA con D usuarios simultáneos y N subportadoras, la salida de
la inversa de la transformada de Fourier (IFFT) en el transmisor para el i-ésimo usuario se
puede expresar como:
xi(n) =∑k∈Γi
Xi(k)e−j2πknN −Ng<n≤N−1 (4.1)
donde Ng es el número de subportadoras del prefijo cíclico, y Xi(k), k ∈ Γi, es el valor
del símbolo transmitido en la k-ésima subportadora. El conjunto de subportadoras asig-
nadas a un usuario i, i = 1, 2, ..., D, se definen como Γi . Estos conjuntos satisfacen⋃Di=1 Γi = 0, 1, ..., N − 1 y Γi ∩ Γj = ∅ si i 6= j. Es decir, la señal transmitida por un
usuario contiene información en las subportadoras que tiene asignado y valor nulo en las
subportadoras asignadas a otros usuarios y en las frecuencias de guarda. Esta señal transmi-
tida es afectada por el canal antes de llegar al receptor. Suponiendo que la sincronización
de tiempo es perfecta, la señal que llega al receptor tras la eliminación del prefijo cíclico se
puede expresar en forma vectorial como (matrices y vectores se marcan en negrita) [Mor07]:
100
y =D∑i=1
D(εi)P(xi)hi + w (4.2)
donde D(εi)=diag(1,e−j2πεi/N ,...,e−j2π(N−1)εi/N ), hi es un vector de longitud L que encapsula
la respuesta del canal para el i-ésimo usuario, y=y0,...,yN−1, P(xi) es una matriz NxL con
entradas [P(xi)]n,l = xi(n − l) para 0 < n ≤ N − 1 y 0 < l ≤ L − 1, w es el ruido blanco
y complejo Gaussiano (AWGN) con varianza σ2, y εi=∆fi/fsub es el CFO para el i-ésimo
usuario normalizado con respecto al espaciado entre subportadoras.
En el receptor se produce la demodulación OFDM vía una FFT para obtener los datos en
el dominio de la frecuencia. La salida de la FFT en la subportadora k-ésima para el m-ésimo
símbolo OFDM puede ser obtenida como [Yuc07]:
Ym(k)=D∑i=1
(∑u∈Γi
Xi,m(u)Hi,m(u)G(u,k,εi)
)∆i,m+W(k) (4.3)
donde ∆i,m = ej2πmNs+Ng
Nεi , Hi y W son las FFTs de hi y w, respectivamente yNs=Ng+N .
G(u, k, εi) es la cantidad de infiltración entre subportadoras debido al CFO [Cao04b], y
puede ser expresada como:
G(u, k, εi) = ejπ(u−k+εi)N−1Nsinπ(u− k + εi)
Nsinπ(u−k+εi)N
(4.4)
Suponiendo que k ∈ Γi, la señal recibida en la subportadora k-ésima puede ser expresada
como:
101
Ym(k) = Xi,m(k)︸ ︷︷ ︸Señal deseada
Hi,m(k)ej2πmNs+Ng
Nεi︸ ︷︷ ︸
Desfase: ∆i,m
G(k, k, εi) +
+ ∆i,m
∑u∈Γiu6=k
(Xi,m(u)Hi,m(u)G(u, k, εi))
︸ ︷︷ ︸ICI
+
+ ∆i,m
D∑j=1
j 6=i
∑u∈Γj
Xj,m(u)Hj,m(u)G(u,k,εj)
︸ ︷︷ ︸MAI
+W(k) (4.5)
donde el primer término es la señal deseada (u=k) con disminución de la amplitud y dis-
torsión de fase, mientras que el segundo y tercer término representan el ICI y el MAI total,
respectivamente. El modelo considerado hasta ahora es independiente del método de permu-
tación de subportadoras utilizado.
4.2. Trabajos previos en sincronización de frecuen-
cia en sistemas OFDMA
4.2.1. Estimación en OFDMA
A la hora de organizar un símbolo OFDM y repartirlo entre varios usuarios existen varias
formas en las que el planificador del sistema OFDMA puede agrupar la información. Una
de ellas, la más sencilla de implementar, es formando subcanales de subportadoras contiguas
(ver figura 4.2). De esta manera, las subportadoras de un usuario se encuentran todas juntas
formando un bloque compacto. Las subportadoras que se encuentran en los lados de este blo-
que se encuentran más afectadas por MAI por lo que generalmente se incluyen unas guardas
de frecuencia a los lados de éste. Esta manera de ordenar las subportadoras permite que si
102
Figura 4.2: Diferentes posibilidades de asignar las subportadoras a varios usuarios
los CFOs son lo suficientemente pequeños comparados con la guarda de frecuencia, cada
subcanal de un usuario pueda ser fácilmente separado a través de filtros paso banda. Este
filtrado permite la realización de la sincronización de frecuencia para cada subcanal inde-
pendientemente ( [Van99], [Bar02]), de manera similar al caso OFDM, aunque la separación
nunca será perfecta en la práctica.
Otra manera de asignar subportadoras a usuarios es hacerlo de forma intercalada, como
se puede ver en la figura 4.2.B. De esta manera, cada usuario modula un conjunto de subpor-
tadoras, cada una de ellas uniformemente espaciada en frecuencia a una distancia fija. Esto
hace que la sincronización de frecuencia sea más complicada que para subportadoras con-
tiguas. La razón es que, en presencia de errores en frecuencia, las señales de los diferentes
usuarios afectan las subportadoras contiguas pertenecientes a otros usuarios y no es posible
recuperar las diferentes señales usando filtros. Pero este tipo de planificación proporciona a
las señales uplink un tipo de periodicidad que puede ser usado para realizar la sincroniza-
ción. En [Cao04a] se explora esta propiedad para proponer una sincronización en frecuencia
basada en el principio de clasificación de señal múltiple (MUSIC). La mayor ventaja de es-
te método es que no necesita preámbulo o subportadoras piloto para realizar la estimación,
pero el CFO debe ser menor de la mitad del espaciado entre subportadoras. Las prestaciones
obtenidas con este método se degradan al aumentar el número de usuarios en el sistema. Otra
desventaja es que este método sólo sirve para este tipo de asignación de subportadoras.
103
El problema de la sincronización es aún mas complicado para las planificaciones en las
que no hay un método específico para asignar las subportadoras. En este tipo de planifica-
ción la estación base asigna clústeres o agrupaciones de subportadoras con mejor respuesta
en canal a los usuarios que demanden comunicación. Este método es más flexible que los dos
anteriormente citados y añade al sistema una diversidad multiusuario [Li,03]. Por el contra-
rio, la ausencia de una política rígida de ordenación hace que la sincronización no disponga
de una periodicidad de la que ayudarse. Uno de los primeros métodos de estimación de fre-
cuencia con este tipo de planificación OFDMA fue propuesto por Morelli en [Mor04]. Este
método emplea un algoritmo de máxima verosimilitud para calcular la desviación en fre-
cuencia de cada nuevo usuario que se añade a un sistema. Por desgracia, se basa en el hecho
de que los otros usuarios del sistema ya hayan sido sincronizados, una restricción demasiado
exigente para sistemas realistas.
En un trabajo posterior del mismo grupo de investigación, se propone un método más
generalista que usa un preámbulo añadido al principio de la trama de datos [Pun07]. En es-
te trabajo la sincronización de frecuencia, la estimación de canal y la detección se abordan
de una manera conjunta por lo que este método es computacionalmente muy costoso al im-
plicar una búsqueda de varias variables en diferentes dominios. Una manera de aliviar este
problema es mediante el algoritmo SAGE (Space-Alternating Expectation-Maximization),
propuesto en [Fes94] y adaptado en [Pun07]. Similar a otros algoritmos EM (Expectation-
Maximitation), esta técnica opera iterativamente, de manera que en cada iteración los pará-
metros son estimados y actualizados hasta que no se observan cambios significativos. Estas
iteraciones constan de dos pasos: el E-step donde se calcula la función de máxima verosimili-
tud de los datos y un M-step, donde se maximiza la expectativa con respecto a los parámetros
desconocidos. Al aplicar SAGE a este problema, el procedimiento se divide en iteraciones
y ciclos. Una iteración se compone de M ciclos. En cada ciclo se actualiza la frecuencia
de offset de un usuario mientras que el resto de estimaciones de CFOs de otros usuarios se
104
mantienen constantes. La idea es obtener la señal propia de cada usuario a base de restar las
señales enviadas por los otros usuarios. Para ello es necesaria una primera estimación de los
CFOs que deberá ser lo más precisa posible para que el método pueda converger en pocas
iteraciones. Vamos a suponer a partir de ahora que el canal es conocido para simplificar las
ecuaciones. De esta manera, en el ciclo c y con el i-ésimo usuario es posible estimar el CFO
mediante la expresión [Mor07]:
εc+1i = εci +
real(rcHi Γ′(εci)Xihi)imag(rcHi Γ′′(εci)Xihi)
(4.6)
donde Γ′(εci) = ΨΓ(εci), Ψ = diag(0, 1, ..., N − 1), Xi es la matriz NxL con la señal
transmitida conocida [Xi]n,l = xi(n − l) para 0 ≤ n ≤ N−1 y 0 ≤ l ≤ N−1, Γ′(εci) =
diag(1, e2πεci/N , ..., e2π(N−1)εci/N), Γ′′(εci) = Ψ2Γ(εci), hi son los valores estimados del canal
de longitud L para el usuario i-ésimo y:
rci = y−∑k 6=i
Γ(εc−1k )Xkhk k = 1, 2, ..., D (4.7)
siendo y la señal recibida en el receptor. Estas ecuaciones han sido desarrolladas suponiendo
que sólo estamos interesados en estimar los CFOs. El propio Morelli realiza esta simplifi-
cación en [Mor07]. Una aclaración, en este último artículo Morelli realiza la estimación del
CFO y del canal conjuntamente pero en esta Tesis para ahorrarnos parte de esas ecuaciones
hemos supuesto el canal conocido. El coste computacional de este método para la estimación
de frecuencia no varía con esta simplificación.
De todas maneras, las matrices en 4.6 y 4.7 son muy grandes y el método resulta compu-
tacionalmente muy costoso. Además, este método necesita de un símbolo OFDM conocido
para poderse aplicar por lo que el estándar en su capa física debe especificar esta posibilidad.
En 802.16e se permite la inclusión opcional de símbolos conocidos por el receptor llamados
midambles, pero son optativos y su inclusión es a costa de perder tasa de datos.
105
4.2.2. Corrección en OFDMA
Una vez que se han estimado los diferentes CFOs para cada usuario, hay que hacer su
compensación. Pero ésta no se puede hacer de la manera habitual en sistemas OFDM. Lo
habitual en OFDM es realizar esta corrección en el dominio del tiempo antes de la FFT del
receptor. Sin embargo, esto no es posible en OFDMA pues se afectaría a las subportadoras
de los otros usuarios que no están afectadas por el mismo valor de CFO y las desviaría de su
posición correcta acabando con la ortogonalidad entre subportadoras.
En [Van99] se presenta una solución al problema, donde las estimaciones de los CFOs
de cada usuario se transmiten en la comunicación downlink a cada terminal por un canal
de control, de modo que cada usuario compensa el offset en su terminal. Sin embargo este
método entraña un aumento de la latencia y una pérdida en la tasa de datos que difícilmente
puede ser aceptable en los sistemas actuales. Además, la estimación puede haber quedado
obsoleta para cuando llega al terminal. Por ello, esta posible solución ha sido abandonada y
actualmente se proponen nuevos métodos que compensan los errores de sincronización en la
propia estación base. Estos métodos son deudores de la manera en la que las subportadoras
son planificadas y evitan el envío de información entre estación base y terminal. Al igual que
para la estimación, podemos dividir los métodos de compensación en función del método de
planificación.
Para agrupaciones en subportadoras contiguas, la solución más sencilla, al igual que para
la etapa de estimación, consiste en usar filtros paso banda para aislar la señal de cada usuario
y aplicar métodos de estimación y corrección propios de sistemas OFDM [Won99], como se
puede ver en la figura 4.3. Las muestras yi(n) son multiplicadas por el factor exponencial
para compensar el CFO.
Con este método es necesario hacer varias FFTs en paralelo, lo que aumenta la com-
plejidad computacional (sobretodo para FFTs de muchos puntos y con sistemas de muchos
106
Figura 4.3: Diagrama de bloques para la corrección para subportadoras contiguas en OFDMA
usuarios), lo cual es desaconsejable al incrementarse sustancialmente el número de recursos
necesarios para la implementación del receptor.
En [Cho00] se propone una solución para este problema, donde por medio de convolu-
ciones circulares y bancos de matrices se evita el uso de diferentes FFTs. Este método mejora
al de [Won99] en número de operaciones y, al contrario que en el anterior, el número de ope-
raciones se reduce con el número de usuarios. De todas formas, este método sólo funciona
para subportadoras organizadas en subbandas.
El último método descrito no compensa adecuadamente para el caso de planificaciones
intercaladas o agrupadas en bloques. En [Ton02] se propone una cancelación basada en de-
cisiones de datos mediante un método iterativo por el que se intenta cancelar la interferencia
(ICI y MAI). Los resultados muestran que este método mejora el anterior después de unas
pocas iteraciones. Sin embargo, se basa en decisiones de datos por lo que para bajas SNR
sus prestaciones disminuyen al propagarse el error derivado de decisiones incorrectas.
Un método alternativo es el propuesto en [Hua05], que utiliza una arquitectura de cance-
lación de interferencia basada en iteraciones, pero que, a diferencia de [Ton02], no se basa
en decisiones de datos. Este método es apropiado para cualquier tipo de organización de
subportadoras y mejora las prestaciones de [Cho00]. Sin embargo, también aumenta el nú-
107
mero de convoluciones circulares que hay que realizar, y cuyo alto coste hace inabordable su
implementación.
En [Cao04b] se propone el uso de una matriz de interferencia completa para eliminar los
distintos CFOs que afectan al sistema. Este método es eficaz para cualquier planificación.
Para realizar la cancelación de los CFOs, hay que calcular la matriz total Π (que incluye ICI
y MAI) y que se construye como:
Π =D∑i=1
Πi (4.8)
siendo las entradas de Πi(u, k) = G(u, k, εi), siendoG la expresión en 4.4. La matriz Π tiene
un tamaño NxN . En [Cao04b] se realizan dos aproximaciones para realizar la corrección y
construir la señal corregida S a partir de la recibida Y. La primera es LS (Least Squares).
Resolviendo su función de coste se obtiene [Cao04b]:
SLS = (Π<Π)−1Π<Y (4.9)
donde ()< indica una transpuesta conjugada.
El segundo criterio es el MMSE (Minimum Mean Square Error). Con este criterio los
estadísticos de segundo orden de la señal y del ruido son conocidos para el receptor. Se
asume que el ruido en cada subportadora es AWGN con media cero y covarianza σ2n. Esta
corrección se aplicaría de la siguiente manera:
SMMSE = RΠ<(ΠRΠ< + σ2nI)−1Y (4.10)
donde R la matriz de autocorrelación, R = E[ss<]. Este criterio obtiene mejores resultados
que el LS pero a costa de necesitar más información y supone mayor carga computacional.
Pero tanto 4.9 como 4.10 requieren realizar un alto número de operaciones debido al
tamaño (NxN) de las matrices involucradas. Una inversión de una matriz NxN completa
108
necesitaN3 multiplicaciones. En [Cao04b] se propone también crear matrices banda dejando
parte de los elementos en Π nulos, aprovechando que el ICI y el MAI disminuyen con la
distancia de la subportadora que produce la interferencia, puesto que las subportadoras más
lejanas interfieren menos que las más cercanas. Sin embargo, el coste computacional sigue
siendo alto y esta reducción es a costa de perder prestaciones.
En [Yuc07] se propone un método de corrección para el caso de agrupaciones en clúste-
res o tiles. En este trabajo se supone que la estimación de los CFOs ya ha sido realizada y
que hay que proceder a su corrección. Este método se ajusta perfectamente al tipo de asig-
nación propuesta en 802.16e y, de hecho, en [Yuc07] se muestran resultados para una de
las tramas especificadas en este estándar (UL-PUSC). Este esquema de compensación usa
una matriz ICI más pequeña que la de [Cao04b]. Esta matriz de interferencia se construye
para cada grupo de K subportadoras que forman un tile o clúster. Por ejemplo, la matriz de
interferencia para UL PUSC tiene un tamaño de 4x4, es decir K=4. La interferencia ICI pro-
cedente de las subportadoras de un tile se elimina de dicho tile multiplicando al conjunto de
sus subportadoras por la inversa de esta pequeña matriz ICI. Esta etapa se llama “decorre-
lación” en [Yuc07]. Una segunda etapa llamada “cancelación sucesiva” se usa para eliminar
el MAI que produce el tile actual en los tiles restantes. Al conjunto de estas dos etapas que
se van sucediendo hasta corregir todas las tiles se llama DC-SC (Decorrelation Sucessive
Cancellation).
En el esquema DC-SC, los tiles se ordenan de manera que primero se procesan los que
tiene más potencia media. Considerando que el tile c es el que tiene mayor potencia y perte-
nece al usuario i-ésimo, la “decorrelación” se aplica a cada subportadora del tile como:
Yc = Ω−1i,c Yc (4.11)
donde Yc = [Yi(k) . . . Yi(k + K)], la matriz KxK Ωi,c es la matriz de interferencia, cuyas
entradas son Ωi(u, k)=G(u, k, εi) y c ∈ Γci y Γci es el conjunto de subportadoras desde k
109
hasta k + K (i.e. Γci = k, . . . , k + K). Con la “decorrelación” se elimina el ICI propio de la
tile y, a continuación, la señal Yc, se ecualiza para corregir el canal y las decisiones. Estas
decisiones serán usadas en la siguiente etapa, la “cancelación sucesiva”.
Después de obtener las subportadoras corregidas del ICI propio del tile actual, el MAI
que introduce dicha tile es reconstruido y corregido en el resto de tiles que aún no han si-
do decorreladas usando el valor estimado del CFO del usuario i. El ICI de otro clúster del
mismo usuario i-ésimo se trata como MAI en este proceso. Para ello, se usan las decisiones
de las subportadoras y la estimación del canal (obtenida en símbolos OFDM anteriores o al
principio de la trama si suponemos que el canal no varía) para tratar de obtener una señal sin
ruido ni interferencia y ser capaz de reconstruir el MAI de manera más precisa. La subporta-
dora u-ésima (u /∈ Γci ), después de la eliminación del MAI proveniente del c-ésimo cluster,
se convierte en:
Y (u) = Y (u)− (XH)Tc gc,u (4.12)
donde gc,u = [G(k, u, εi), G(k + 1, u, εi)...G(k + K, u, εi)]. Además, (XH)T es la señal
transmitida estimada tras obtener las decisiones e introducir de nuevo el valor del canal. Por
supuesto, para que esta cancelación sea efectiva la decisión debe ser correcta. El diagrama
de bloques correspondiente a este método se puede ver en la figura 4.4.
Este proceso se repite con el resto de clústeres siempre en orden descendente de potencia.
La señal Y(c) se usa en la siguiente etapa de “decorrelación” para otro clúster. Este proceso
continúa hasta que todos los clústeres son decorrelados. Hay que hacer notar que, a diferen-
cia de otros métodos vistos hasta ahora, este método no es iterativo, aunque la corrección se
realice en sucesivos pasos. También hay que mencionar que el proceso de cancelación suce-
siva no se aplica a los tiles que ya han sido “decorrelados”. De esta manera, ni la ecualización
del canal ni la decisión de los datos se repiten .
110
Figura 4.4: Diagrama DC-SC
4.2.3. Estimación y corrección conjunta en OFDMA
En [Ngu08] se propone un método donde se estima y corrige el ICI y el MAI del CFO
iterativamente. La primera fase de cada iteración se compone de una estimación que usa el
algoritmo de Moose [Moo94], por lo que este método se aplica en el dominio del tiempo y
necesita de un preámbulo que tenga simetría temporal al estilo de los preámbulos de 802.11g
ó 802.16d. En la segunda fase de una iteración, se corrige el CFO realizando una corrección
en el dominio del tiempo tal como se mostró en el apartado 3.5. En la siguiente iteración, se
realizan los mismos pasos pero la estimación se va afinando al irse reduciendo el CFO que
afecta al sistema en cada iteración.
Para poder aplicar este método es necesario separar las muestras temporales de los di-
ferentes usuarios y para ello hay que realizar una FFT para cada usuario. De otra manera
111
la corrección de un usuario afectaría negativamente a la información de otros usuarios. Esto
hace que este método sea computacionalmente muy costoso, sobretodo cuando el número de
usuarios y el número de puntos de la FFT es alto. Además, en los resultados mostrados en
este artículo se observan unas pobres prestaciones para el caso en que las subportadoras no
están agrupadas de forma continua.
En [Sun09], se propone un método iterativo llamado APFE (Alternating-Projection Fre-
quency Estimator) que conjuga estimación y corrección de los CFOs. Para ello usa las sub-
portadoras piloto de dos símbolos OFDM consecutivos, asumiendo que el canal no varía en
esos dos símbolos. En cada iteración se realiza una estimación de los CFOs y se corrige el
efecto del ICI y del MAI en las subportadoras pilotos de cada usuario para conseguir una es-
timación más precisa en la siguiente iteración. El método para la corrección es el propuesto
en [Cao04b] y ha sido explicado en la anterior subsección. En el bloque de estimación, el
CFO de cada usuario se calcula resolviendo para la iteración b el algoritmo:
εi = argmin‖Ψi∆∗m(εi)Π−1(εi)Y
bm −Ψi∆∗m−1(εi)Π
−1(εi)Ybm−1‖2 (4.13)
donde Ψi es una matriz cuadrada que sólo tiene valores unitarios en la diagonal en la posición
de los subportadoras piloto del usuario i y Π es la matriz de interferencia debida a los CFOs
e Y bm es la señal recibida corregida en la b-ésima iteración para el m-ésimo símbolo OFDM.
Cuando b = 1, Y bm = Ym. Para resolver este algoritmo se realiza una búsqueda exhaustiva en
Nr puntos. Es decir, se proponen de Nr valores de εi en 4.13 y el valor de εi que obtenga el
valor mínimo en 4.13 es el valor estimado. Este método tiene como gran problema el número
de operaciones necesarias para resolver está búsqueda exhaustiva debido, sobretodo, a tener
que construir la matriz Π para los Nr valores de εi. Un valor alto de Nr permite estimar el
valor del CFO con mayor precisión pero a costa de una mayor carga computacional.
112
4.3. Propuesta de un esquema para estimación y co-
rrección (OFDMA)
En esta sección explicaremos una propuesta derivada del trabajo de esta Tesis para la
sincronización de frecuencia en OFDMA. En este caso, la solución al problema de la esti-
mación y la corrección, se hará de forma conjunta. Esto es debido a la naturaleza iterativa
de la sincronización propuesta, en donde la idea fundamental es realizar en cada iteración
una estimación de los diferentes CFOs y una reducción del ICI y MAI producido por dichos
CFOs para mejorar la precisión de la estimación en la siguiente iteración. El diagrama con
los bloques generales de esta propuesta se puede ver en la figura 4.5. Este diagrama es simi-
lar al de [Sun09]. La clave o la diferencia entre las propuestas existentes y ésta se encuentra
en los algoritmos que se encuentran en los bloques de estimación y cancelación del diagra-
ma y en su integración final. Las prestaciones y el coste computacional del método iterativo
variarán dependiendo de los algoritmos escogidos. Alcanzar la mejor solución compromiso
entre prestaciones y coste computacional es la idea fundamental al hacer esta propuesta. El
coste computacional es el principal problema de los métodos existentes en OFDMA ya que,
aunque existen métodos con un buen nivel de prestaciones, su alta carga computacional es
un serio obstáculo para su implementación en hardware.
ε
ε
ε
+
+
Figura 4.5: Diagrama para un método iterativo
113
A continuación explicaremos los esquemas correspondientes a los bloques del diagrama
de la figura 4.5 y la manera en que funciona la sincronización propuesta. Al final del capítulo
se mostrará una comparativa entre la carga computacional de los diferentes métodos presen-
tados.
A) Método para el bloque de estimación
En el receptor, después de aplicar FFTs en dos símbolos OFDM (Ym y Ym+M ), la sub-
portadora k-ésima en el dominio de la frecuencia es:
Ym(k) = Xi,m(k)Hi(k) ej2πmNs+Ng
Nεi︸ ︷︷ ︸
∆i,m
G(k, k, εi) +
+ WICI +WMAI +W (k) (4.14)
Ym+M(k) = Xi,m+M(k)Hi(k) ej2π(m+M)Ns+Ng
Nεi︸ ︷︷ ︸
∆i,m+M
G(k, k, εi) +
+ WICI +WMAI +W (k) (4.15)
Como puede observarse la diferencia entre ambas subportadoras son los factores ∆i,m y
∆i,m+M que multiplican los datos, suponiendo que el CFO permanece prácticamente cons-
tante y que el canal es cuasi-estático durante dichos M símbolos OFDM . Debido a esto,
es posible usar estimaciones en el dominio de la frecuencia, como en la propuesta de DA-
TL-2 [Spe01] que usa las subportadoras piloto de dos símbolos OFDM consecutivos. La
adaptación de este esquema a un escenario OFDMA se realiza ejecutando el algoritmo D
veces, una vez para cada usuario y usando sus subportadoras piloto específicas (k ∈ pi). Sin
embargo, algunos de los modos del uplink del 802.16e, como UL-PUSC ó O-UL-PUSC, no
definen subportadoras piloto en todos los símbolos OFDM. Para estos casos, el método de
114
estimación DA-PIT propuesto para la sincronización OFDM es el más adecuado para estas
capas físicas. De esta manera, usando DA-PIT el CFO para el usuario i-ésimo puede ser
estimado comparando la fase de las subportadoras piloto (de dicho usuario) de dos símbolos
OFDM separados Ls símbolos OFDM como:
C(pi) = Y ∗m(pi)Ym+Ls(pi) =
= ej2πMNsN
εi︸ ︷︷ ︸∆i,m
α2(εi)|H(p)|2β2σ2a +w (4.16)
donde β2 es la potencia amplificada de la subportadora piloto, α es la atenuación provocada
por el CFO (ecuación 3.29) y pi son las subportadoras piloto del usuario i. Debido a la fase
∆i,M = ej2πMNsN
εi , el CFO para el usuario i se puede calcular como:
εi =N
2πLsNs
[arg
∑p
C(pi)]
(4.17)
Como ya se ha comentado, en la trama UL PUSC no hay subportadoras piloto continuas,
esto es, no hay subportadoras piloto en cada símbolo OFDM. Esto se puede ver en la figura
2.5. Hay dos maneras de usar las subportadoras piloto en el modo UL PUSC para realizar
4.16, bien usando las subportadoras piloto de dos símbolos OFDM consecutivos o bien usan-
do las subportadoras piloto de un símbolo OFDM y el tercero consecutivo. De esta manera
4.16 y 4.17 se pueden aplicar directamente en ambos casos suponiendo queM = 2 óM = 3.
De esta manera, una ventaja de usar DA-PIT es que puede ser usado para otros modos del
uplink del estándar 802.16e, como UL O-PUSC o UL AMC.
Usando el esquema propuesto en el bloque de estimación ahorramos una gran canti-
dad de operaciones con respecto a la propuesta en [Sun09], donde la estimación se hace
realizando una búsqueda exhaustiva de una gran complejidad matemática. También con res-
pecto [Mor07] se ahorran operaciones sin necesidad de disminuir la tasa de datos pues en
115
nuestra propuesta no se usan midambles. Con respecto a [Ngu08] también se mejora la tasa
de datos al no incluir midambles en la trama de datos y se ahorran operaciones al no ser
necesario repetir la FFT para cada usuario.
B) Método para el bloque de compensación del ICI
Si se quieren estimar valores altos o medios del CFO, DA-PIT resulta insuficiente debido
al alto ruido del ICI y MAI que afecta a la precisión de la estimación. Para solucionar este
problema se añade un bloque de cancelación como el visto en la figura 4.5. La idea es cance-
lar el ICI y el MAI en 4.14 y 4.15 para que se pueda mejorar la precisión de las estimaciones
con DA-PIT.
Uno de los métodos para corregir el efecto del CFO teniendo en cuenta la estructura del
tile de la trama OFDMA 802.16e fue el propuesto por [Yuc07]. Este esquema de compen-
sación usa una matriz ICI pequeña como ya se ha explicado en la anterior sección, evitando
el uso de matrices de interferencia de gran tamaño como en [Cao04b]. Es por esto que se
elige este método de corrección, al reducirse considerablemente el número de operaciones
necesarios.
Se realizaron pruebas para intentar disminuir la carga computacional del método en
[Yuc07] sin disminuir sus prestaciones. Para ello se simuló una propuesta en la que la eta-
pa de la “cancelación sucesiva” se realizaba usando la información de las subportadoras
directamente, evitando el repetir la modulación QAM y la inclusión del canal en el grafo
visto en 4.4. Sin embargo, esta variante claramente perdía prestaciones con respecto al di-
seño original debido al ICI y MAI residual y al ruido, que en esta nueva propuesta afectan
considerablemente más al rendimiento de la “cancelación sucesiva”.
También se realizaron pruebas para mejorar las prestaciones de [Yuc07] aún a costa de
aumentar ligeramente la carga computacional. Para ello se probó aplicar la “cancelación su-
cesiva” a todas las subportadoras, y no sólo a las que aún no han sido decorreladas, para
116
tratar de reducir más aún el ICI y el MAI. Para ello era necesario hacer dos veces la correc-
ción de canal y la decisión, siendo éste el aumento de complejidad correspondiente a esta
propuesta. Sin embargo, en las pruebas simuladas no se observó un aumento significativo en
las prestaciones, por lo que esta propuesta ha sido finalmente descartada.
En [Yuc07] se propone aplicar la fase de decorrelación sucesiva sólo a las tiles adyacen-
tes de la tile que ha sido decorrelada para reducir el coste computacional. El razonamiento de
esta propuesta es el que el ICI y el MAI entre subportadoras es menor cuanto más alejadas
se encuentran éstas, por lo que la mayor influencia la ejercen las subportadoras más cerca-
nas. Sin embargo, para simulaciones con CFOs > 0,05 en las que se probó esta variante, se
observaron pérdidas apreciables por lo que también se descartó este planteamiento.
C) Integración del método iterativo propuesto
En el apartado B se ha propuesto usar el método en [Yuc07] para reducir el ICI y el MAI
de 4.14 y 4.15, pero las fases ∆i,m y ∆i,m+M producidas por los CFOs no se eliminan en
4.14 y 4.15 durante el proceso iterativo propuesto, a diferencia del método en [Sun09], por
ejemplo. Estos factores no se corrigen por dos razones que se describen a continuación.
Primero, el número de operaciones que se necesita se reduce sin perder prestaciones.
Esto es posible debido a que la estimación en 4.16 y 4.17 está basada en estas fases. Después
de la primera iteración, el ICI y el MAI se reducen por lo que la estimación DA-PIT que
obtiene el desfase producido por ∆i,m y ∆i,m+M puede ser más precisa. Después de que el
proceso iterativo se ha completado estas fases son finalmente corregidas. De esta manera, la
corrección de estos desfases se realiza una vez en vez de Nb veces. El número de iteración
en el método propuesto es b y el número total de iteraciones es Nb.
La segunda razón es que en el método propuesto cada nueva estimación de los CFOs
no se añade a la estimación de la anterior iteración, como sí pasa en otros métodos iterativos
[Sun09] y [Ngu08]. En nuestra propuesta, la nueva estimación del CFO sustituye a la anterior
117
ε
ε
ε
+
+
+
Figura 4.6: Diagrama del método iterativo propuesto
estimación por lo que cada b estimación mantiene el orden de magnitud y no decrece como
en [Sun09] y [Ngu08]. Esto implica que al considerar una implementación hardware basada
en un formato de representación en coma fija, la parte fraccionaria requiere menos bits que el
otro caso para obtener la misma precisión. En otras palabras, el ancho de palabra requerido
para representar las estimaciones del CFO se mantienen durante las iteraciones, favoreciendo
formatos de coma fija en hardware. Estos formatos son más sencillos y eficientes en términos
de área, potencia y rendimiento que en los formatos en coma flotante.
El algoritmo iterativo propuesto es llamado IEIC (Integrated Estimation and Iterative
Compensation) y se puede describir en los siguientes pasos:
1. Iteración:
a) Actualizar los CFOs residuales de acuerdo con 4.16 y 4.17 para los D diferentes
usuarios→ εbi
b) Actualizar de Ωbi(u, k) para εbi
c) Compensar el ICI y el MAI de acuerdo con 4.11 y 4.12 usando Ωbi(u, k)
d) Volver a a) hasta que se alcanza la iteración Nb.
2. Corregir la fase ∆i,m.
118
El criterio más sencillo para finalizar el proceso iterativo es considerar un número prede-
finido de iteraciones. En la figura 4.6 se puede ver el diagrama final del método propuesto.
4.4. Prestaciones de sistemas de sincronización pa-
ra OFDMA
A continuación se muestran resultados del método IEIC propuesto y se compara con
resultados del método de Morelli [Mor07]. Para aplicar el método de Morelli se necesita un
símbolo conocido así que se simula un midamble. Esto es, un símbolo OFDM conocido por la
estación base que puede ser transmitido periódicamente en la trama 802.16e [80205]. Como
ya se ha comentado, incluir estos midambles reduce la tasa de transferencia del sistema.
Recordemos que el método en [Mor07] se centra en proponer un estimador de los CFOs por
lo que es necesario realizar la corrección de éstos con otro método. Para ello se utiliza la
corrección DC-SC explicada en la subsección 4.3 y que también se aplica en IEIC.
Se muestran valores de la precisión de la estimación en términos de MSE y del rendi-
miento obtenido en términos de BER. Para hacer esto se calcula el BER y el MSE de cada
usuario y se muestra la media para todos los usuarios. Las simulaciones se realizan supo-
niendo 4 usuarios. El BER se calcula sobre un sólo símbolo OFDMA. Las simulaciones se
repiten miles de veces para obtener resultados fiables. Se supone sincronización perfecta y
que el canal es conocido. Las simulaciones se realizan teniendo en cuenta una tile tipo UL-
PUSC y con Ls = 3, es decir, en IEIC se usan las subportadoras piloto de un símbolo OFDM
y el tercero siguiente. Para el método de Morelli con DC-SC se supone que el símbolo del
modo UL-PUSC es conocido.
La colocación de los tiles se hace suponiendo el peor caso posible, es decir, cada tile de
un usuario se encuentra rodeada en el espectro por tiles de usuarios distintos. De esta manera
el MAI afecta más a todas las tiles que en otro tipo de configuración. El CFO simulado para
119
20 22 24 26 28 30 32 34 36 38 4010
-7
10-6
10-5
10-4
SNR
MS
E
IEIC Nb=2
IEIC Nb=1
SAGE Nb=2
SAGE Nb=1
Figura 4.7: MSE OFDMA
los diferentes usuarios es del orden de |CFO|=0,1 aunque con signos diferentes para los dis-
tintos usuarios con el objetivo, al igual que antes, de obtener el peor caso posible. Este valor
absoluto del CFO es relativamente pequeño pues suponemos que el usuario emisor ya ha rea-
lizado algún tipo de sincronización en la comunicación downlink previa a la comunicación
uplink.
El método propuesto en [Sun09] no es simulado por el elevado número de operaciones
que requiere, como se mostrará en la próxima subsección, lo que implica un alto tiempo de
simulación además de ser inviable su implementación en FPGA.
En las figuras 4.7 y 4.8 se puede ver el comportamiento en términos de MSE y de BER
para el método IEIC y los métodos de Morelli con DC-SC.
En la figura 4.7 se puede observar cómo la precisión de la estimación mejora en la se-
gunda iteración con respecto a la primera. Esto se debe a la reducción del ICI y del MAI
corregido en la señal de la segunda iteración. Mientras que en la gráfica del MSE se obser-
120
20 22 24 26 28 30 32 34 36 38 40
10-4
10-3
10-2
SNR
BE
R
NO OFFSETIEIC Nb=2
IEIC Nb=1
SAGE+DC-SC Nb=2
SAGE+DC-SC Nb=1
Figura 4.8: BER OFDMA
va que el esquema de Morelli con DC-SC mejora ligeramente al método IEIC, para ambas
iteraciones esta diferencia se reduce aún más cuando nos referimos al BER, como se pue-
de ver en la figura 4.8. En esta gráfica se puede observar que ambos esquemas tienen un
comportamiento similar y ambos obtienen unas pérdidas apróximadas de 0,25 dBs para dos
iteraciones mientras que para una sola iteración las pérdidas son aproximadamente de 3 dBS
para una BER objetivo de 10−4. Hay que recordar que para usar el esquema de Morelli es
necesaria una reducción en la tasa de datos para insertar midambles en la trama datos.
Se han realizado más pruebas aumentado el número de iteraciones, pero no se ha detecta-
do una mejora en las prestaciones por lo que no se incluyen en las gráficas. De este resultado
cabe deducir que el número de iteraciones adecuado para nuestro método iterativo es Nb = 2
121
4.5. Carga computacional de sistemas de sincroniza-
ción para OFDMA
Como ya hemos comentado, el principal problema de los métodos en OFDMA es la carga
computacional. A continuación, se muestra la carga computacional para los principales es-
quemas de sincronización en OFDMA en función del número de multiplicaciones complejas
necesarias puesto que son más costosas de implementar que las sumas y las multiplicaciones
por constante.
De acuerdo con [Sun09], el número de multiplicaciones complejas que APFE necesita
es Nb(2NrNZ KKp + N3) , donde Kp es el número de subportadoras piloto por símbolo
OFDM, Nr es el número de puntos de la búsqueda exhaustiva y Z es el número de tiles por
usuario.
De acuerdo con [Pun07], el número de multiplicaciones complejas para obtener una esti-
mación de los CFOs usando SAGE después deNb iteraciones esNb(2NKLNr). Además, pa-
ra comparar la complejidad de un sistema de sincronización completo, las operaciones que se
necesitan para la compensación de los CFOs también tienen que ser tenidas en cuenta. Usan-
do el método [Yuc07], las multiplicaciones adicionales sonN(N+K)/2+K3. De esta mane-
ra, el coste total de este esquema de sincronización es deNb(2NKLNr)+N(N+K)/2+K3
multiplicaciones.
Finalmente, el método propuesto, IEIC, requiere Kp multiplicaciones por iteración en el
bloque del estimador,N+N(N+K)/2+K3 multiplicaciones en el bloque de compensación
que usa DC-SC y N multiplicaciones adicionales en la compensación del retardo de fase
producido por los CFOs. De esta manera, el número total esNb(Kp+N(N+K)/2+K3)+N .
Poniendo un ejemplo específico, en el modo UL PUSC con N=512, una tile con extensión
K=4, Z=20 tiles, un canal de 16 etapas (L=16), una búsqueda sobre 1000 puntos (Nr=1000)
como la realizada en [Sun09], 2 iteraciones Nb = 2, Kp = 204 y suponiendo que los di-
122
1 2 3 4 5 6 7 8 9 1010
5
106
107
108
109
1010
1011
1012
Número de iteraciones (Nb)
Núm
ero
de m
ultip
licac
ione
s
APFESAGE+DC-SCIEIC
Figura 4.9: Coste computacional de los diferentes métodos
ferentes usuarios ocupan todo el ancho de banda disponible, el número de multiplicaciones
que se necesitan para APFE, SAGE+DC-SC y IEIC son 3,36x1010, 1,6x107, y 2,5x105, res-
pectivamente. El coste computacional de los diferentes métodos se muestra en la figura 4.9
en términos de número del multiplicaciones complejas dependiendo del número de itera-
ciones para los parámetros descritos en el anterior párrafo. El número de multiplicaciones se
muestra en escala logarítmica. Como se mencionó anteriormente, APFE necesita demasiadas
operaciones por lo que ha sido descartado en la comparativa del rendimiento. Como se pue-
de observar, la propuesta de esta Tesis, IEIC, reduce en dos órdenes de magnitud el número
de multiplicaciones frente al método Morelli con DC-SC, y en cinco órdenes de magnitud
frente al método APFE. Esta reducción de carga computacional hace que su implementación
hardware sea más viable que para los otros métodos descritos en la literatura.
123
4.6. Resumen de la sincronización de frecuencia pa-
ra OFDMA
La idea de este capítulo es la de encontrar un método adecuado para realizar la sincro-
nización de frecuencia en sistemas multiusuario OFDMA, de modo que reduzca la carga
computacional sin perder prestaciones en comparación con los métodos disponibles en la
literatura. Esta búsqueda se centra básicamente en la trama uplink del 802.16e que es la
principal tecnología que usa OFDMA en la actualidad.
Como ya se ha comentado, existen métodos para realizar la sincronización en sistemas
OFDMA con buenas prestaciones pero su carga computacional es desorbitada, lo que im-
posibilita la implementación de estos métodos en FPGAs. En esta Tesis se ha propuesto un
método iterativo llamado IEIC que realiza la estimación y corrección del CFO usando un
método de estimación propuesto en esta Tesis para un sistema OFDM y complementado
en la etapa de corrección por un método ya existente en la literatura que reduce la carga
computacional comparado con otros métodos. De la integración de una manera específica
de los bloques de estimación y corrección métodos nuestra propuesta IEIC que muestra que
es capaz de obtener prestaciones cercanas al caso ideal incluso para un escenario exigente.
Y esto se consigue reduciendo la carga computacional varias órdenes de magnitud frente a
propuestas anteriores.
124
CAPÍTULO 5
IMPLEMENTACIÓN HARDWARE DE
SISTEMAS DE SINCRONIZACIÓN DE
FRECUENCIA
Tal como se ha podido comprobar en los capítulos anteriores, la definición y evalua-
ción de esquemas de sincronismo de frecuencia en esta Tesis considera detalladamente los
aspectos directamente relacionados con su implementación hardware. En este capítulo se
profundiza en los aspectos relacionados con la implementación al considerarse una meto-
dología de diseño concreta. Esta metodología se basa en la utilización de herramientas de
prototipado rápido orientadas a dispositivos FPGA. Se ha elegido esta metodología por ser
habitual en el desarrollo de prototipos (paso previo en el desarrollo de ASICs en muchos
casos) y porque permitirá realizar diseños y obtener resultados en un tiempo reducido. Así,
los objetivos de este capítulo son la presentación de la metodología de diseño utilizada, su
125
aplicación al diseño de un módulo estimador de CFO concreto, incluyendo la cuantificación,
es decir, el paso de formatos de coma flotante a coma fija, y la evaluación detallada de las he-
rramientas de prototipado rápido disponibles y de sus posibles combinaciones en el conjunto
de la metodología.
5.1. Dispositivos FPGA
Las FPGAs (Field Programmable Gate Array) son los dispositivos más utilizados en el
prototipado hardware de sistemas de procesado de señal. Esto se debe, además de a su versa-
tilidad, al alto grado de paralelismo que ofrecen y a la gran cantidad de bloques específicos
para procesamiento digital de señal (DSP) disponibles.
Entre los fabricantes de FPGAs destacan sobre todo Xilinx Incorporated [Xil] y Altera
Corporation [Alt], que concentran más del 90 % del mercado. Estos dos fabricantes ofrecen
varios tipos de FPGAs (orientadas a procesamiento genérico, procesamiento DSP, desarrollo
de sistemas empotrados, comunicaciones de alta velocidad, bajo consumo, etc.), aunque en
ambos casos distinguen entre FPGAs de altas prestaciones y FPGAs de bajo de coste. Salvo
excepciones, los dispositivos de Altera y de Xilinx se basan en tecnología SRAM, por lo
que necesitan cargar los datos externos de configuración para especificar el funcionamiento
de las FPGAs. Además de estos dos grandes fabricantes, también cabe destacar a Lattice
Semiconductor [Lat], Actel [Act], y QuickLogic [Qui], que proporcionan FPGAs de meno-
res prestaciones que las anteriores, pero con características de interés para ciertos segmentos
del mercado. Por ejemplo, Lattice y Actel integran en sus dispositivos más modernos blo-
ques de procesamiento analógico, y la posibilidad de sintetizar determinados tipos de micro-
procesadores. Además, Actel orienta sus tecnologías a generar dispositivos reconfigurables
no-volátiles, de gran interés para determinadas aplicaciones aeroespaciales y militares. Por
su parte, Quicklogic está más orientada a sistemas de alta conectividad con restricciones de
126
consumo y/o que necesiten bloques de memoria de alta velocidad.
La tecnología objetivo en la implementación de algoritmos de sincronización de frecuen-
cia en esta Tesis son las FPGAs Virtex-4 de Xilinx. Estas FPGAs básicamente se componen
de bloques de entrada/salida (IOBs) y bloques lógicos internos configurables (CLB, Confi-
gurable Logic Blocks). Dentro de los recursos de lógica configurable, cada CLB contiene 4
registros de 1 bit, 4 tablas de funciones configurables (LUTs, Look-Up Tables) de 6 entradas,
4 sumadores de 1 bit, y lógica combinacional distribuida en columnas entre los CLBs. Las
FPGAs de la serie Virtex-4 incluyen también bloques de memoria de doble puerto de 1Kx36
bits, que permiten la implementación eficiente de registros de desplazamiento, ROMs, FI-
FOs, o memorias que pueden actuar como interfaz entre los distintos bloques del sistema.
Cada FPGA contiene además entre 4 y 12 módulos DCM para control de relojes digitales,
y entre 2 y 6 PLLs para ajustar los flancos de este tipo de señales. Estos bloques son espe-
cialmente importantes para sincronizar los datos y las señales de validación, lo que permite
incrementar la capacidad de comunicación de las FPGAs con los bloques externos. También
se incluyen en estas FPGAs un número limitado de operadores empotrados llamados DSP48.
Estos recursos se pueden usar para la implementación de operaciones matemáticas, filtros ó
aritmética compleja, reduciendo el consumo y aumentando la velocidad de procesamien-
to en comparación con implementaciones basadas en los CLBs que proporciona la FPGA.
Además, algunos de los modelos Virtex-4 incluyen un procesador PowerPC empotrado en la
lógica de la FPGA.
5.2. Plataformas
En el mercado se pueden encontrar diferentes plataformas que permiten la implementa-
ción e integración de todo un sistema OFDM. Dos de las más populares son las comercia-
lizadas por HUNT ENGINEERING [HUN] y Sundance [SUN]. En esta Tesis se escoge el
127
Figura 5.1: Entorno HUNT ENGINEERIMENT
uso de la plataforma HUNT ENGINEERING por su mayor simplicidad y flexibilidad. Este
entorno, enfocado a las demandas de los usuarios para sistemas DSP de altas prestaciones,
se compone de una tarjeta base con slots donde se posicionan las tarjetas con las FPGAs.
También se pueden incluir módulos conversores A/D o D/A que permiten la implementa-
ción de sistemas transmisor y receptor en FPGAs diferentes para crear un sistema realista de
comunicaciones inalámbricas. Este entorno se puede ver en la figura 5.1.
Cada uno de los slots en la figura 5.1 son módulos HERON que se definen en el entorno
HUNT ENGINEERING. Estos módulos no son específicos para un procesado determinado ó
tarea de I/O sino que están orientados a colocar nodos en el sistema. Estos nodos se encuen-
tran entrelazados y tienen un sistema de control para permitir su correcto funcionamiento.
Para ello se emplea la arquitectura HEART (Hunt Engineering Architecture using Ring Te-
chnology) que emplea una arquitectura de anillo, y entre sus características se encuentra una
buena respuesta en tiempo real, baja latencia, gran ancho de banda, reconfigurabilidad por
software, diferentes soportes de FPGAs, etc. El usuario tiene una gran libertad a la hora de
usar estas características y de emplear diferentes tipos de FPGA. Esta topología HEART se
128
Figura 5.2: Topología HEART del entorno HUNT
puede ver en la figura 5.2
Antes de realizar el ejemplo de implementación que se verá en la sección 5.5, se compro-
bó la viabilidad de usar esta plataforma descargando ficheros de configuración (bitstream)
DSP en las Virtex-4 integradas en la plataforma HUNT.
5.3. Trabajos previos en la implementación de siste-
mas de comunicaciones en FPGAs
Un receptor OFDM necesita procesado aritmético intenso que puede convertirse en prohi-
bitivo si se implementa en software en un procesador DSP. El receptor OFDM necesita de
subsistemas complejos como la sincronización de tiempo o de frecuencia, ecualización del
canal, etc. La naturaleza pipeline de muchos de estos procesos apunta hacia una implemen-
129
tación hardware. En la actualidad las FPGAs pueden contener millones de puertas lógicas
con bancos de multiplicadores especiales donde es posible implementar sistemas de proce-
sado de señal como sistemas OFDMs. Además, una solución basada en tecnología FPGA
tiene la ventaja de que se pueden hacer modificaciones a posteriori, necesarias si se modifi-
can cambios en las especificaciones o si el diseño inicial está basado en especificaciones no
definitivas.
Como ya hemos visto, la sincronización de frecuencia es una tarea importante en los
sistemas OFDM. Una estimación imperfecta del CFO produce ICI que degrada notablemente
el rendimiento de los sistemas de comunicaciones y produce una rotación en la fase de las
subportadoras que también debe ser corregida. Aunque es una materia estudiada a nivel
algorítmico en la literatura, las posibilidades prácticas de su implementación en hardware
pocas veces han sido analizadas en profundidad.
Es posible encontrar algunos trabajos en la literatura que tratan la implementación de un
sistema OFDM completo o parte de sus subsistemas. Así, en [Caf05] y [Jim08] se trata la
implementación de determinados bloques fundamentales en un sistema de comunicaciones
inalámbricas. En [Caf05] se estudian los aspectos mas destacables en la implementación de
un ecualizador adaptativo para sistemas WLAN y en [Jim08] se implementa en FPGAs un
decodificador MIMO de un sistema receptor 4G. Ambos trabajos, aunque no están directa-
mente relacionados con la sincronización de frecuencia presentan aspectos interesantes en la
implementación de bloques de comunicaciones en FPGAs que sirven como referencia a la
mejor comprensión del problema abordado en esta Tesis.
Se encuentran implementaciones mas específicas de sincronización de frecuencia en
[Joh99], [Wan04], [Han06] y [Gil04]. En [Joh99] se propone una arquitectura para la eta-
pa de captura usando el prefijo cíclico. En este diseño, que se implementa en un ASIC, se
propone una una lógica de control para el estimador y una arquitectura específica para el al-
goritmo CORDIC. En [Wan04] se proponen un sincronizador de tiempo y otro de frecuencia
130
y su implementación en una FPGA. El sincronizador de frecuencia se ayuda del preámbulo
del estándar 802.11a para realizar la captura del CFO. En concreto, realiza una “correlación”
entre 4 partes consecutivas del preámbulo corto de este estándar y calcula la media entre las
diferentes estimaciones, obteniendo una estimación que considera lo suficientemente precisa
como para evitar el uso del preámbulo largo. También se propone una lógica de control que
hace funcionar correctamente los sincronizadores de tiempo y de frecuencia. En estos dos
trabajos y, en general, en cualquier algoritmo de sincronización de frecuencia, el uso de un
circuito CORDIC es esencial para calcular y corregir el CFO. En [Han06] se implementa
un esquema estimador del CFO, pero apenas se muestran resultados de su implementación.
En [Gil04] se muestra una arquitectura orientada a la implementación de un sistema receptor
802.11a con especial énfasis en la sincronización de frecuencia y en el bloque de Automatic
Gain Control (AGC), necesario el principio del receptor. En dicho trabajo se muestra una
captura del CFO que usa el algoritmo de Moose que usa el preámbulo del 802.11a y se com-
prueba la necesidad de implementar un seguimiento que corrija la rotación producida por un
CFO residual. En ninguna de las publicaciones mencionadas se usan herramientas de rápido
prototipado con las que ayudarse en la implementación de sus sincronizadores.
5.4. Herramientas de prototipado rápido
El tiempo empleado en el desarrollo de aplicaciones hardware es un parámetro crítico
en la implementación de sistemas. Una de las tendencias en el diseño a nivel de sistema pa-
ra reducir este tiempo es usar entornos visuales. Estos entornos están provistos de librerías
compuestas de bloques con un alto grado de abstracción que permiten construir modelos de
sistemas. Simulink es una extensión del entorno MATLAB [Mat] que está específicamente
orientada para la simulación de sistemas dinámicos y la visualización de señales y respues-
tas. Desde la inclusión en MATLAB de toolboxes que permiten la simulación y generación
131
de componentes hardware, como Xilinx System Generator [Sys] o Synplify DSP [Syn08],
Simulink se ha convertido en una potente herramienta para el diseño HW. Además, estas
toolboxes permiten la fácil modularización del diseño DSP, pudiendo incluso incorporar blo-
ques que incluyan una descripción HDL (Hardware Description Language) escrita por el
diseñador.
Xilinx System Generator es una herramienta que extiende las posibilidades de Simulink
al añadir unos bloques específicos que permiten un modelado a nivel de ciclo de reloj y fun-
ciones de procesado digital de señal. Además, presenta un traductor que permite convertir
un modelo Simulink en una descripción hardware sintetizable en FPGAs comercializadas
exclusivamente por Xilinx. Los modelos hardware construidos mediante bloques Xilinx se
comportan en el entorno Simulink de forma exactamente igual a como lo harán una vez sin-
tetizados sobre hardware. El entorno Simulink también permite combinar estos bloques de
prototipado con otros propios del mismo Simulink a fin de modelar partes del sistema que
no vayan a sintetizarse sobre la FPGA. De esta manera, se pueden crear estímulos especí-
ficos para observar el comportamiento del sistema. Si se desea, se pueden generar nuevos
bloques a través de nuestro propio código hardware. Además, al usar el entorno Simulink, es
posible parametrizar los bloques Xilinx a través del propio entorno de trabajo (workspace)
de MATLAB. La herramienta Xilinx System Generator sólo traduce a lenguaje de descrip-
ción hardware aquélla parte implementada mediante bloques Xilinx, pudiendo capturar, no
obstante, el comportamiento de los bloques no implementables en un testbench, para realizar
así una simulación a bajo nivel de todo el sistema. El código hardware generado por System
Generator puede ser VHDL o Verilog.
En la figura 5.3 se puede ver un diseño de un filtro FIR construido con bloques de System
Generator. En este diseño se puede ver un bloque implementable de Xilinx, el filtro FIR, y
bloques propios de Simulink no sintetizables como son los generadores de señal y el bloque
scope que permite visualizar las señales de salida.
132
Figura 5.3: Ejemplo de diseño usando System Generator
La herramienta Synplify DSP usa un entorno visual basado en bloques, al igual que Sys-
tem Generator, pero sin usar IPs exclusivos de Xilinx o de alguna otra compañía, aunque sí
es posible integrar cores específicos en su librería de bloques. Esta herramienta permite crear
el código HDL (VHDL o Verilog) y ficheros de proyecto optimizados para diferentes tec-
nologías: Xilinx, Altera, Actel, Lattice o incluso ASICs. El comportamiento general de los
bloques (bit and cycle accurate), la posibilidad de usar estímulos provenientes de MATLAB
y la visualización de señales son características que comparte con la herramienta System
Generator. En cambio, la librería de Synplify DSP es ligeramente distinta a la proporcionada
por System Generator y sus bloques no tienen porque tener la misma arquitectura. Además,
en Synplify DSP se permiten opciones de optimización orientadas a área y consumo que son
aplicadas a la totalidad del diseño creado, mientras que en System Generator estas optimiza-
ciones, cuando están disponibles, sólo se pueden aplicar a nivel de bloque.
Mediante el uso de estas herramientas se pretende abordar el proceso de implementación
hardware de sincronizadores de frecuencia para sistemas OFDM. La complejidad de los al-
goritmos y los requerimientos de los actuales y futuros sistemas de comunicaciones móviles
hacen que la disminución de área del dispositivo sea uno de los puntos más críticos. Para ello,
es necesario proponer una metodología que incorpore las herramientas de modelado rápido
133
anteriormente mencionadas de la manera más eficiente posible. Para identificar y optimizar
los bloques más importantes de la sincronización de frecuencia se pueden aprovechar los
diferentes niveles de simulación que permite el entorno MATLAB y Simulink, junto con re-
sultados obtenidos con herramientas de síntesis como Xilinx ISE o Synplify Pro que pueden
ayudar en la identificación de los puntos críticos del sistema.
Aunque existen otras herramientas de prototipado rápido como DSP Builder [DSP] o de
síntesis como Quartus II [Qua], estas herramientas están orientadas a la implementación de
sistemas en FPGAs de Altera. En este Tesis, se pretende hacer un estudio de un estimador
del CFO implementado en una FPGA Virtex-4 de Xilinx, siendo ese el motivo por el que no
se incluye estas herramientas en la evaluación realizada. También existen otras herramientas
de prototipado rápido como AccelDSP [Acc] que genera el código HDL directamente desde
MATLAB.
En [Own03], [Fon02] encontramos diferentes bloques diseñados utilizando System Ge-
nerator. Estás referencias sirven para entender la metodología que será necesario desarrollar
usando estas herramientas de modelado rápido. En [Pro] se define un proyecto sobre comu-
nicaciones inalámbricas de libre acceso donde, entre otras iniciativas, se está construyendo
un sistema MIMO OFDM usando la herramienta System Generator. Dicho sistema se im-
plementa en FPGAs Virtex-II. Con este ejemplo se comprueba que, incluso para sistemas
complejos, las herramientas de prototipado rápido son una alternativa al tradicional diseño
“a mano”. El principal problema en un proyecto tan grande es el entendimiento del funciona-
miento de este sistema y de su lógica de control, dada la complejidad y el tamaño del sistema
implementado. Además, en esta iniciativa no se justifica la elección de System Generator so-
bre otras herramientas de prototipado rápido ni se realizan comparaciones entre ellas. De
todas formas, este proyecto sigue creciendo con la colaboración de universidades e industria.
134
5.5. Evaluación en la implementación de un sistema
de captura de un CFO usando herramientas de
prototipado rápido
Para facilitar la tarea de la síntesis de especificaciones algorítmicas en implementaciones
hardware existen, como ya hemos comentado, algunas herramientas de prototipado rápido
como System Generator o Synplify DSP. Sin embargo, su rendimiento no ha sido comparado
en la literatura. En esta sección de la Tesis se muestra una metodología basada en estas
herramientas y las prestaciones obtenidas para un ejemplo de implementación de uno de
los algoritmos analizados en esta Tesis: la captura del CFO para el estándar 802.16d (fixed
WiMAX). Los resultados de las diferentes soluciones se analizan y comparan obteniendo
conclusiones sobre sus ventajas y desventajas.
El primer objetivo de esta evaluación es el diseño e implementación de un estimador de
CFO para el estándar 802.16d usando herramientas de prototipado rápido. Las implementa-
ciones finales deberán obtener resultados adecuados en términos de temporización y número
de recursos sin perder prestaciones en el rendimiento del estimador del CFO comparado con
el caso simulado en MATLAB. El segundo objetivo de esta evaluación es mostrar la metodo-
logía y flujo de diseño de estas herramientas y sus efectos en el rendimiento del subsistema
cuando se considera la tarea de cuantificación. Y el tercer objetivo se centra en mostrar una
comparación de las dos herramientas de prototipado rápido (System Generator y Synplify
DSP) y su comportamiento con otras herramientas necesarias para la implementación. Cada
herramienta crea su código HDL de una manera propia y, por tanto, habrá diferencias de área
y temporización al sintetizar ambos modelos HDL. En resumen, la idea de esta evaluación
es que el diseñador obtenga una visión de cual es la metodología a emplear y del impacto
que puede esperar en los resultados de implementación usando estas herramientas en dise-
135
ños de sistemas de comunicaciones. En esta evaluación no tratamos de evaluar diferentes
arquitecturas de implementación ni hacer un estudio en profundidad sobre el problema de la
cuantificación.
5.5.1. Flujo de diseño basado en las herramientas de prototipa-
do rápido
Para implementar un sistema de comunicaciones en una FPGA se require un gran conoci-
miento previo de los algoritmos involucrados, de diseño de procesado digital y del lenguaje
HDL necesario para la especificación hardware. El paso de unas especificaciones algorít-
micas a una implementación hardware requiere completar un conjunto de tareas complejas,
incluso cuando sólo se quiere implementar un prototipo.
Nuevas herramientas de prototipado rápido han aparecido en el mercado. Estas herra-
mientas facilitan al diseñador algorítmico, que posee poco o nulo conocimiento de HDL,
la implementación de un sistema. También ayudan al diseñador hardware, aunque, en este
caso, sirven para acelerar el proceso de implementación de un sistema.
System Generator y Synplify DSP permiten realizar una implementación a alto nivel de
un sistema en el entorno gráfico de Simulink. Los sistemas se construyen usando, básicamen-
te, bloques específicos que modelan códigos HDL de ciertos componentes. Hay diferentes
tipos de librerías y en ellas se pueden encontrar bloques que modelan desde operadores arit-
méticos, lógicos, de control, hasta bloques más orientados a procesado de señal como FFTs
o CORDICS, aparte de varios tipos de memorias. De esta manera, no es necesario tener un
amplio conocimiento del lenguaje HDL ni es necesario escribir código. Usando estos blo-
ques se pueden formar sistemas y subsistemas e ir construyendo, conectando unos con otros,
sistemas más complejos, realizado todo ello de forma gráfica. La temporización es uno de los
principales problemas al usar estas herramientas, pues hay que tener especial cuidado con la
latencia de los bloques para que las señales interactúen de la manera deseada. Para realizar
136
esto adecuadamente hay que monitorizar las señales usando herramientas de visualización
propias de Simulink.
Después de que el diseño ha sido creado y simulado con las herramientas de prototi-
pado rápido, se genera automáticamente la especificación HDL y los archivos de proyecto
necesarios para realizar la síntesis e implementación del diseño. La síntesis puede incluir op-
timizaciones generales, temporales o de potencia dependiendo de la herramienta usada y sus
opciones. Tras la síntesis, se realiza la implementación propiamente dicha que incluye las ta-
reas de particionado, posicionamiento y enrutado. Finalmente, el diseño lógico se convierte
a un fichero tipo bitstream que es descargado en la FPGA.
A continuación describiremos con más profundidad los pasos necesarios en la implemen-
tación de un sistema usando herramientas de prototipado rápido. El flujo de diseño de todo
el proceso que se va a describir se representa en la figura 5.4.
Lo primero es crear el sistema en MATLAB. Este sistema se describe con señales en
formato de coma flotante. Una vez que el sistema está escrito correctamente se procede a su
traslación a Simulink usando bloques implementables. En la etapa de generación del diseño
usando las herramientas de prototipado rápido podemos distinguir tres pasos:
1- Identificar los bloques necesarios para construir el diseño. Si se requiere alguna fun-
cionalidad y ésta no se encuentra en la librería de la herramienta hay dos opciones:
construir ese bloque usando bloques que sí aparezcan en la librería, o escribir el blo-
que en HDL e insertarlo como una “caja negra” en el sistema.
2- Construir el sistema ayudándose de herramientas de Simulink para visualizar las seña-
les y asegurarse de que la temporización sea la deseada.
3- Crear un archivo wrapper en MATLAB donde se pasará la cuantificación del sistema
y los parámetros necesarios de los bloques que lo formen. Este programa llamará al
fichero Simulink creado con la herramienta de prototipado rápido y le pasará la señal
137
Figura 5.4: Diseño de flujo basado en herramientas de prototipado rápido
de entrada. Además, recogerá y almacenará la señal de salida para su observación. De
esta manera se generan señales testbench que pueden ser usadas para comparar los
resultados con herramientas de simulación como Modelsim [Mod].
Hay que hacer especial hincapié en el proceso de cuantificación, mencionado en el paso 3
de la generación del diseño en Simulink. Hay problemas que aún no están resueltos o del todo
depurados usando estas herramientas de prototipado rápido. Uno de ellos es la conversión de
las señales en formato de coma flotante a coma fija. Las implementaciones en coma fija son
138
conocidas por ser más rápidas y necesitar menos área y consumir menos potencia que sus
contrapartidas en coma flotante [Caf08]. Por consiguiente, el formato en coma fija es el que
se suele elegir en implementaciones de algoritmos de procesado de señal, especialmente si
van orientados a dispositivos móviles o alimentados por baterías.
El paso que transforma las señales en coma flotante a señales en coma fija se conoce
como cuantificación, que puede ser uniforme (todas las señales comparten el mismo ancho de
palabra) o no uniforme (el ancho de palabra varía dependiendo de la señal). La cuantificación
no uniforme produce diseños optimizados, pero aumenta la dificultad a la hora de realizar
la cuantificación. MATLAB usa coma flotante en las simulaciones, mientras que System
Generator y Synplify DSP necesitan señales en coma fija.
Se ha presentado recientemente alguna propuesta para facilitar el proceso de cuantifica-
ción como en [Han06], donde se propone una librería de MATLAB para realizar la cuantifi-
cación. Sin embargo, este herramienta no es muy eficiente pues está basada en simulaciones
donde, no sólo el espacio de búsqueda es enorme (todas las posibles cuantificaciones) sino
que el mecanismo de simulación es lento (basado en MATLAB, un lenguaje interpretado). En
esta Tesis nos centraremos en analizar el impacto que producen cuantificaciones diferentes
sin entrar en el problema de encontrar la mejor cuantificación posible.
Una vez construido el sistema con los bloques de las herramientas de prototipado rápi-
do y con las cuantificaciones deseadas, se realiza la comparación con su contrapartida de
MATLAB, cuyas señales tienen formato en coma flotante. Hay que recordar que el resultado
de la simulación en Simulink, con los bloques implementables, es igual a la respuesta que
se obtiene del diseño funcionando en la FPGA (el sistema construido con las herramientas
de prototipado rápido es bit and cycle accurate), con lo que esta comparativa nos dará una
respuesta realista sobre las prestaciones obtenidas de nuestro sistema en hardware.
Tras comprobar que obtenemos el rendimiento deseado, se procede a la generación del
HDL y ficheros necesarios para la síntesis, particionado, posicionamiento, enrutado, y, fi-
139
nalmente, la generación del archivo bitstream, que se descarga en la FPGA. Synplify DSP
y System Generator no sólo generan automáticamente el código HDL, sino que también
permiten aplicar determinadas optimizaciones durante el proceso. Estas optimizaciones se
relacionan con el área o con restricciones de temporización. Si los resultados de la sínte-
sis no son los deseados, es posible utilizar estas optimizaciones para mejorar los resultados
de la implementación. Si, aún así, no fuera posible alcanzar los requerimientos de área y
temporización mínimos, habría que realizar el rediseño del sistema en Simulink.
En esta Tesis, aparte de comparar los resultados de dos herramientas de prototipado rá-
pido, también se evalúan dos herramientas de síntesis: XST de Xilinx y Synplify Pro de
Synopsys Synplicity. Estos dos sintetizadores pueden sintetizar los archivos HDL de tan-
to System Generator como Synplify DSP. La manera en que estas herramientas generan la
implementación RTL es crucial para los resultados en área y temporización del diseño.
5.5.2. Implementación de la captura del CFO con las herramien-
tas de prototipado rápido
El algoritmo de captura es el ya visto en las ecuaciones 3.8 y 3.9. Es por ello que no
insistiremos en la explicación de la parte algorítmica. Sólo comentar que esta captura se
aplicará al preámbulo corto definido en 802.16d [80204].
Una vez que el algoritmo de captura se encuentra definido y programado en MATLAB,
el siguiente paso es trasladar el diseño al entorno Simulink usando bloques de System Gene-
rator o Synplify DSP. Como ya hemos comentado, estas herramientas tienen librerías donde,
entre otros bloques, se encuentran disponibles diversas funciones matemáticas. El diagrama
de bloques final del estimador de frecuencia propuesto, usando estas dos herramientas de
prototipado rápido, se observa en las figuras 5.5 y 5.6, respectivamente. Es posible iden-
tificar, después de observar los diagramas de estas figuras, algunos bloques sencillos como
sumadores, retardos o multiplicadores por constante. Otros bloques más complejos son los
140
- WORD LENGTH INPUT- FRACTION LENGTH INPUT
- WORD LENGTH MULTIPLIER- FRACTION LENGTH MULTIPLIER
- WORD LENGTH ACCUMULATOR
- ITERATIONS CORDIC-WORD LENGTH CORDIC
- FRACTION LENGTH CORDIC
Figura 5.5: Diagrama de bloques de la captura del CFO con System Generator
- WORD LENGTH INPUT- FRACTION LENGTH INPUT - WORD LENGTH MULTIPLIER
- FRACTION LENGTH MULTIPLIER
- WORD LENGTH ACCUMULATOR
- FRACTION LENGTH ACCUMULATOR
- ITERATIONS CORDIC- WORD LENGTH CORDIC
Figura 5.6: Diagrama de bloques de la captura del CFO con Synplify DSP
acumuladores y los módulos CORDIC. Estos últimos bloques son muy importantes en la
sincronización de frecuencia puesto que pueden ser usados tanto en la estimación como en la
corrección del CFO. Para la estimación pueden ser configurados en modo arco-tangente, co-
mo en este diseño, que es una operación necesaria en la captura del CFO. Para la corrección,
este módulo puede funcionar en modo rotación y efectuar una multiplicación por exponen-
cial, necesaria para corregir el CFO. Otros bloques importantes en estos diagramas son los
bloques de entrada y salida que realizan la transformación de coma flotante a coma fija y vi-
ceversa. En estos bloques se indican los valores de ancho de palabra de la señal y el número
de bits de la parte fraccionaria. Las dos señales de entrada a los diseños vistos en las figuras
141
5.5 y 5.6 son la parte real e imaginaria del preámbulo corto (yn,l). La lógica de control que
organizaría y controlaría estas señales en un sistema OFDM completo no se incluye en esta
comparativa.
Todos los bloques anteriormente mencionados tienen uno o más parámetros configura-
bles. Los principales parámetros de los diferentes bloques se indican en las figuras 5.5 y 5.6.
Algunos de ellos corresponden al número de bits por palabra (WORD LENGTH) y al núme-
ro de bits usado en la parte fraccionaria (FRACTION LENGTH) de la señal. Otro parámetro
importante es el número de iteraciones del bloque CORDIC (ITERATIONS CORDIC). La
mayoría de los parámetros son comunes en los bloques de las dos herramientas. De todas
maneras, hay diferencias en algunos de los parámetros disponibles en algunos de los blo-
ques, como en el CORDIC o el acumulador. Esto es debido a que la arquitectura interna de
estos bloques no es la misma dependiendo de la herramienta de prototipado rápido utilizada.
5.5.3. Propuesta de una comparativa entre dos cuantificaciones
específicas
Inicialmente, la cuantificación de las señales es desconocida y es tarea del diseñador
encontrar unos valores de cuantificación que minimicen el coste alcanzando las prestaciones
mínimas requeridas. Dada una señal, se indicará con n el número total de bits que se emplean
para representarla y con b el número de bits con que se representa la parte fraccionaria de la
señal. Dependiendo de los valores asignados a las señales del sistema se generará un error
de cuantificación que se propagará hasta la salida del sistema. El número total de bits usados
determinará el tamaño de los recursos utilizados en la FPGA, lo que afecta al consumo,
al coste en área y a los retardos de las señales. Durante el proceso de cuantificación se
busca iterativamente el número de bits adecuado hasta que se consigue el coste y el error de
cuantificación adecuados.
En esta Tesis no se va a realizar un estudio exhaustivo sobre la cuantificación para el
142
sincronizador de frecuencia. Sin embargo, es necesario disponer de un criterio de error o
ruido para decidir los parámetros del sistema.
En ocasiones es posible modelar analíticamente el error de cuantificación en un sistema
sencillo. Sin embargo, la existencia de un bloque cerrado como es el CORDIC, proporcio-
nado por las librerías de las herramientas de prototipado rápido, la existencia de bloques
fuertemente no lineales entre el sincronizador y la salida en la que se define el error (por
ejemplo, el decisor), hacen que la selección de los anchos de palabra en el algoritmo que nos
ocupa deba basarse en resultados de simulaciones para distintas combinaciones de paráme-
tros.
De todas formas se ha realizado un estudio básico de cómo se propaga el error de cuan-
tificación en las primeras etapas que forman nuestro sistema cuyo diagrama de bloques se
puede ver en la figura 5.7. Para ello se fija en el error de cuantificación que se produce al usar
un número finito de bits para representar las señales y en su propagación. Se considera que el
error máximo de cuantificación es la mitad de la precisión obtenida con el último bit signifi-
cativo que se usa para representar la parte fraccionaria de la señal. Es decir, en el caso de usar
b bits para representar la señal el error máximo sería 2−b−1. Se supone que no hay problemas
de rango (desbordamientos en la parte entera) entre las señales de nuestro sistema, aunque
hay que tener esto en cuenta cuando se proponen valores específicos de cuantificación.
Se usan bin bits para representar la parte fraccionaria de las señales de entrada. A conti-
nuación, vamos a mostrar como se propaga el error de cuantificación de una manera simpli-
ficada. Tras pasar por los bloques de entrada, las señales pueden tener un máximo error de
cuantificación de ∆in = 2−bin−1. Suponiendo que Iin y Qin son las señales de entrada sin
cuantificar, las señales de entrada de los multiplicadores se pueden expresar como:
x11 = Iin + ∆in
x12 = Iin,−128 + ∆in
x13 = Qin + ∆in
143
Figura 5.7: Diagrama de bloques con las señales de nuestro estimador de CFO
x14 = −Qin,−128 + ∆in
x15 = Iin + ∆in
x16 = −Qin,−128 + ∆in
x17 = Qin + ∆in
x18 = Iin,−128 + ∆in
donde el subíndice “-128” identifica un retraso de 128 muestras. Teniendo en cuenta que
los multiplicadores usan bmult bits para representar la parte fraccionaria de la señal de salida,
prototipado rápido se obtiene con DSP-PRO. Esta solución mejora un 28 % y 38 % la utiliza-
ción de las slice flip-flops y LUTs, respectivamente, con respecto a la segunda mejor solución
para el modo A (SG-ME-XST). También se obtiene un 23 % de aumento de velocidad.
Para el modo B la mejor solución se consigue también con DSP-PRO, que mejora un
10 % y 24 % la utilización de las slice flip-flops y LUTS, y obtiene un 12 % de aumento de
velocidad con respecto a la segunda mejor solución, que es de nuevo SG-ME-XST.
Es posible extraer algunas conclusiones sobre este diseño concreto después de observar
los resultados de implementación obtenidos con las diferentes combinaciones de las herra-
mientas:
- Synplify DSP implementa automáticamente las multiplicaciones usando multiplicado-
res empotrados (DSP48). Esto ayuda a reducir el número de LUTs usados y mejora la
frecuencia de reloj.
- Las memorias RAMs se usan sólo en una combinación: DSP-XST. Esta solución usa el
sintetizador XST con el código HDL generado por Synplify DSP. Estas RAMs parecen
151
contribuir a reducir la velocidad del diseño pues la frecuencia de reloj es, de lejos, la
peor de todas las soluciones, y para el modo B la condición temporal no se cumple.
Por lo tanto, esta combinación es descartada como una solución válida.
- System Generator usa más LUTS y slice flip-flops que Synplify DSP para este diseño.
Probablemente esto es debido a que cómo el código HDL es generado, siendo un
ejemplo de ello que System Generator crea wrappers que envuelven el diseño principal
por defecto mientras que Synplify DSP no los crea.
- La optimización específica ME de System Generator reduce el número de LUTS y slice
flip-flops pero no consigue aumentar la frecuencia de reloj del diseño. En cualquier
caso, casi todas las soluciones obtenidas con System Generator para ambos modos
mejoran la frecuencia de trabajo mínima requerida.
- Todas las combinaciones que usan System Generator necesitan un alto número de
LUTs como shift registers, comparadas con las combinaciones que usan Synplify DSP.
Esto es debido, exclusivamente, a la herramienta de prototipado rápido, ya que estos
resultados se han obtenido con la misma herramienta de síntesis. Estos shift registers
son, probablemente, la razón por la que las soluciones que usan System Generator
obtienen menor frecuencia máxima de reloj que las soluciones que usan DSP-PRO.
- Synplify DSP reduce el número de LUTs que se usan como route-thru. Esto significa
que la lógica es enrutada de una manera más eficiente (se usan menor número de LUTS
en enrutado por lo que se pueden conseguir mayores velocidades en la FPGA).
A tenor de estas conclusiones extraídas, podemos dividir los resultados de implemen-
tación en dos campos: los relativos al número de recursos y a los de temporización. Con
respecto a los recursos, la mejor combinación se obtiene con Synplify DSP como herramien-
ta de prototipado rápido y XST como sintetizador, puesto que es la solución que mejores
152
resultados obtiene en número de slice flip-flops y de LUTs usados (aunque esta solución es
la única que usa LUTs como memorias RAM). Pero con respecto a la temporización esta
solución es la que peores resultados obtiene. Es la combinación Synplify DSP y Synplify
Pro la mejor solución en este aspecto. Se observa como el punto en común que tienen estas
soluciones es la herramienta Synplify DSP.
Con respecto a la herramienta System Generator, relativo a la temporización, apenas
se obtiene diferencias con diferentes sintetizadores o usando multiplicadores empotrados o
construidos con lógica, aunque del uso de multiplicadores empotrados era razonable esperar
una mejora algo superior a la obtenida. Tampoco se aprecian excesivas diferencias en lo
relativo al número de recursos entre las dos herramientas de síntesis con System Generator.
Donde si hay diferencias en número de recursos, es entre usar multiplicadores empotrados o
lógica combinacional cuando se genera el código HDL con System Generator. Usar DSP48s
para implementar los multiplicadores reduce apreciablemente el número de LUTs usados,
tanto para un sintetizador como para otro, lo cual era de esperar.
Hay que mencionar, como apunte final, que, en general, estas herramientas de prototipado
rápido están mejor adaptadas al sintetizador del mismo fabricante. Esto es especialmente
evidente con Synplify DSP, que trabaja muy bien con Synplify Pro pero que obtiene pobres
resultados con XST.
5.6. Resumen
Mientras que los algoritmos necesarios para implementar un sistema de comunicaciones
inalámbricas OFDM han sido estudiados en la literatura, el flujo de diseño y la metodo-
logía para su implementación han sido tratados sólo ocasionalmente. En esta Tesis, se ha
propuesto una implementación en FPGA de una captura del CFO para el estándar 802.16d.
Este estimador se ha implementado usando herramientas de prototipado rápido, como Sys-
153
tem Generator y Synplify DSP, que permiten obtener resultados de implementaciones en un
tiempo reducido. Además, se ha realizado un estudio de dos diferentes sintetizadores, XST y
Synplify Pro, y su compatibilidad con las herramientas de prototipado rápido consideradas.
Se han simulado dos modos de trabajo con diferentes cuantificaciones. Los resultados
del BER y MSE del estimador de CFO, usando representaciones en coma fija y en coma
flotante, han sido analizados. Se ha observado que el rendimiento del sistema define regiones
de trabajo con diferentes modos apropiados para ellas.
Además, se han obtenido resultados de implementación, incluyendo el número de recur-
sos, y de temporización para diferentes combinaciones de herramientas de implementación.
Estos resultados han permitido obtener una serie de conclusiones sobre la efectividad de las
herramientas de prototipado rápido y su compatibilidad con ambos sintetizadores.
154
CAPÍTULO 6
CONCLUSIONES Y LÍNEAS FUTU-
RAS DE TRABAJO
6.1. Conclusiones
En esta Tesis se ha abordado el problema de la sincronización de frecuencia en sistemas
OFDM desde una perspectiva diferente a como se ha realizado generalmente en la literatura.
En lugar de proponer nuevos métodos que mejoren únicamente las prestaciones, en esta Tesis
se han presentado nuevos esquemas que, sin perder prestaciones, reducen la carga compu-
tacional de los métodos existentes. Esta orientación viene propiciada por el hecho de que el
presente y el futuro de las comunicaciones inalámbricas, y de la mayor parte de la tecnología
de consumo actual, está íntimamente relacionado con la reducción del tamaño de los dispo-
sitivos. A esto se une que, además, se intenta incrementar en todo lo posible la funcionalidad
en estos sistemas. Dos de las actuales líneas de investigación para sistemas OFDM, los sis-
155
temas multiestándar y los sistemas multiusuario OFDMA, entroncan perfectamente con esta
tendencia.
En esta Tesis se ha abordado esta nueva búsqueda y propuesta algorítmica dividiendo la
sincronización de frecuencia en dos etapas: la captura y el seguimiento del CFO.
Para la captura no existe mucho margen de mejora, ni tampoco es necesario, pues es-
ta etapa sólo se realiza al principio de la trama de datos y es importante que obtenga las
mejores prestaciones posibles. De todas maneras, en esta Tesis se ha realizado un estudio
sobre la captura del CFO y se han categorizado sus esquemas dependiendo de si se estima
la parte entera o fraccionaria del CFO. La parte fraccionaria se realiza con el algoritmo de
Moose [Moo94] usando un preámbulo o el prefijo cíclico. La parte entera, como se ha visto
en el capítulo 2, no es necesaria para estándares como 802.11g ó 802.16d, en los que las
características de su capa física permiten un alto rango de estimación del CFO normalizado,
incluso mayor que la unidad. En cambio, para DVB-T/H y LTE es necesario usar el prefijo
cíclico para calcular la parte fraccionaria. El algoritmo de Moose no tiene un alto rango de
estimación usando el prefijo cíclico y la capa física de estos dos estándares indica que CFOs
grandes podrían afectarles, por lo que es necesaria una etapa que realice la estimación de la
parte entera. El algoritmo de Speth [Spe01] aparece como el más adecuado para este paso.
Este esquema usa las subportadoras piloto de dos símbolos OFDM para realizar la estima-
ción. Por ello es necesario un buffer que almacene los símbolos OFDM necesarios (dos en
el caso de DVB-T/H y ocho en el caso de LTE) antes de obtener la estimación completa del
CFO.
En el seguimiento del CFO, en cambio, si hay más opciones algorítmicas y tiene más
sentido reducir la carga computacional. Esto se debe a que el seguimiento se realiza mientras
dura la trama de datos por lo que su coste en consumo, comparado con la captura, es más
extenso en el tiempo. Los algoritmos de seguimiento se pueden dividir, principalmente, en
dos clases, atendiendo a si se ayudan de subportadoras piloto (DA) o si están basados en
156
métodos de decisión dirigida (DD). Aparte, es posible hacer otra división atendiendo a si se
hace la corrección del CFO en el dominio del tiempo o si se corrige el efecto de rotación
del CFO en el dominio de la frecuencia. Es necesario corregir el efecto de rotación para
tecnologías basadas en paquetes como 802.11g y 802.16d, que realizan una estimación de
canal al principio de la trama de datos, por lo que ésta no puede corregir la rotación que
se produce a posteriori. Debido a esto, se han estudiado métodos con una doble corrección,
tanto en el dominio del tiempo como en el de la frecuencia, para estas tecnologías. Aún existe
una tercera posibilidad de corrección, que es la corrección del ICI producido por el CFO en
el dominio de la frecuencia. Para ello es necesario calcular la matriz de interferencia, pero la
alta carga computacional de este proceso desaconseja su uso salvo para el caso multiusuario
OFDMA.
Para tecnologías basadas en transmisión por paquetes, aparte del esquema, ya existente,
DD-TFL que se basa en decisiones y en una doble corrección, tanto en el dominio de la
frecuencia como del tiempo, se han propuesto y estudiado nuevas variantes encaminadas a
reducir la carga computacional. Estas variantes, DD-TL y DD-FL, sólo realizan un tipo de
corrección, aunque con resultados desiguales. Sin embargo, los mejores resultados se han
obtenido con las propuestas DA-NTFL, DA-FL y DA-NTL que reducen la carga compu-
tacional al usar sólo las subportadoras piloto en vez de las decisiones. Además, al realizar
una pequeña mejora en el lazo con corrección en tiempo, DA-NTFL aumenta las prestaciones
obtenidas con respecto a DD-TFL y las otras propuestas de esta Tesis.
La corrección de la fase en el lazo en frecuencia no es útil para estándares basados en
transmisión continua, como en DVB-T/H, donde hay que realizar un seguimiento del canal
a lo largo de toda la trama. Esto es así también para tecnologías donde se esperan canales
variantes en el tiempo, como en LTE. Además, en LTE no hay subportadoras piloto en todos
los símbolos OFDM por lo que esto afecta al rendimiento de un método como DA-NTFL
que necesita subportadoras en todos los símbolos OFDM. Un esquema de seguimiento que
157
puede funcionar para estos entornos, asumiendo que el canal no varía durante un determi-
nado número de símbolos OFDM, es DA-TL-2. Este método usa las subportadoras piloto
de dos símbolos OFDM consecutivos. Una variante de este método es DA-TL-Ls que usa
las subportadoras piloto de Ls símbolos OFDM consecutivos. En esta Tesis se proponen dos
nuevas variantes llamadas DA-PIT y DA-PPT. El primer esquema reduce el número de ope-
raciones a costa de perder velocidad en la convergencia del CFO en el lazo de seguimiento,
aunque aumenta la precisión de la estimación, mientras que DA-PPT aumenta la velocidad
de la convergencia a costa de aumentar ligeramente el coste computacional al involucrar los
valores estimados del canal en las ecuaciones del seguimiento.
Después de observar los resultados obtenidos en las simulaciones de estos esquemas, se
propone dividir el seguimiento en dos etapas: rápida y lenta. En la etapa rápida la velocidad
de convergencia es la prioridad y, por ello, se propone el uso de DA-PPT. Una vez alcanzada
la convergencia, el seguimiento entra en la etapa lenta. En esta fase lo importante es redu-
cir el número de operaciones sin perder prestaciones, y es por ello que se propone usar el
esquema DA-PIT. De esta manera se consiguen excelentes prestaciones y se reduce la carga
computacional en el conjunto del seguimiento. Esta técnica es llamada TST.
Como se ha comentado, es necesario proponer una sincronización de frecuencia en siste-
mas multiestandar que tenga una carga computacional reducida. Para ello se pueden proponer
algoritmos que funcionen para diferentes tecnologías, o si es necesario usar varios, proponer-
los de manera que la reutilización entre ellos sea posible. Aunque sea a nivel algorítmico esto
facilitará una implementación con bajo número de recursos. En esta Tesis se propone un se-
guimiento de frecuencia en un sistema multiestandar que incluya las siguientes tecnologías:
802.11g, 802.16d, DVB-T/H y LTE.
Los algoritmos de Moose y Speth son usados en la captura para el sistema multiestándar.
Para esta etapa no es necesario realizar una comparativa entre diferentes esquemas. El segui-
miento, en cambio, es más exigente en recursos y se han elegido ciertos esquemas para probar
158
sus prestaciones en un sistema sincronizador de frecuencia multiestándar. Estos esquemas
son: DD-TFL, DA-NTFL, DA-PPT y TST. Fueron escogidos por sus buenas prestaciones y
su baja carga computacional. Los algoritmos escogidos obtienen resultados prácticamente
iguales al caso ideal en un sistema de sincronización con captura y seguimiento habilitados.
Aunque el seguimiento DA-PPT puede ser usado por todas las tecnologías es, además, el
más costoso de los métodos por lo que una solución mixta con el método DA-NTFL para
802.11g y 802.16d y el esquema TST para los estándares LTE y DVB-T/H es la opción más
adecuada. Es necesario una lógica de control para esta solución pero esto es inevitable pues
la posición de las subportadoras piloto y el tamaño de la FFT y del prefijo cíclico varían entre
las tecnologías, siendo dicha lógica necesaria incluso aunque sólo hubiera un esquema para
todo el seguimiento del sistema multiestándar.
La ultima propuesta algorítmica de esta Tesis se centra en la sincronización en sistemas
multiusuario OFDMA para el estándar 802.16e. La sincronización de frecuencia es extre-
madamente costosa para este tipo de modulación, como se mostró en el capítulo 4. Esto es
debido a que en el uplink de las comunicaciones inalámbricas, la estación base tiene que co-
rregir diferentes CFOs debido a que cada usuario tiene un offset de frecuencia distinto. Esto
dificulta la sincronización y aumenta la carga computacional requerida por los algoritmos.
Aunque existen métodos que obtienen buenas prestaciones, éstos requieren tal cantidad de
operaciones que su implementación en una FPGA (la arquitectura destino considerada en
esta Tesis) es prácticamente imposible, teniendo además en cuenta que la sincronización es
sólo un subsistema de un sistema mucho más grande. Es posible encontrar en la literatura
métodos de estimación o de corrección o, incluso, algunos donde se abordan ambos proble-
mas a la vez.
Vista la complejidad algorítmica de los esquemas existentes en la literatura, en esta Tesis
se ha propuesto un método iterativo en el que la estimación y la corrección se realice de la
forma menos costosa posible, algorítmicamente hablando. Este método, que integra estima-
159
ción y corrección, se llama IEIC. Este esquema consigue igualar prestaciones comparado
con los otros métodos existentes y, además, reduce en varias órdenes de magnitud el número
de operaciones necesarias comparado con ellos. Además, no es necesario disminuir la tasa
de datos usando midambles, disponibles en 802.16e OFDMA, para ayudarse en la tarea de
estimación, como ocurre con otros métodos. Para ello este método se basa en el estimador
DA-PIT, propuesto para OFDM, que usa las subportadoras piloto y, además, permite diferen-
tes configuraciones en función de la posición de los símbolos OFDM con las subportadoras
piloto. En la etapa de corrección se usa el algoritmo DC-SC, que aprovecha la estructura de
tiles de la trama física 802.16e para reducir el número de operaciones. La integración de la
estimación y la corrección mencionadas, de la manera en que se propone en esta Tesis, per-
mite obtener buenas prestaciones con IEIC y reducir la carga computacional. Este método
puede, además, funcionar para todos las posibles modos del 802.16e.
Las características de las FPGAs (reutilización, paralelismo, operadores empotrados,...)
hacen muy apropiado su uso para la implementación de sistemas de comunicaciones. Sin
embargo, la síntesis de especificaciones algorítmicas en especificaciones o modelos hardwa-
re es complicada y es necesario que el diseñador invierta un gran tiempo en ella. Para reducir
este tiempo, existen herramientas de prototipado rápido, como System Generator y Synplify
DSP, que simplifican este proceso al usar un entorno visual en el que ir construyendo el
sistema. El sistema se construye con unos bloques que implementan tanto operadores como
memorias y hasta operaciones más complejas como CORDICs o FFTs. Estas herramientas
de prototipado rápido, una vez que el sistema ha sido construido, son capaces de generar el
código HDL y los archivos necesarios para generar el bitstream que se descarga en la FPGA
y programa su funcionalidad. En el proceso de construcción del sistema es necesario con-
vertir las señales en formato de coma flotante a formato de coma fija. Este proceso se llama
cuantificación y se realiza, generalmente, a mano por el diseñador.
En esta Tesis se propone una metodología usando estas herramientas, explicando los pa-
160
sos a realizar cuando se construye un subsistema de comunicaciones inalámbricas. Se ha
elegido esta metodología por ser habitual en el desarrollo de prototipos y porque permite
realizar diseños y obtener resultados en un tiempo reducido. Se han probado diferentes so-
luciones de implementación combinando las herramientas de síntesis y de implementación
junto con las de prototipado rápido. Además, se han evaluado dos tipos de cuantificaciones
y el estudio de su respuesta en prestaciones y recursos obteniéndose conclusiones respeto a
las combinaciones de herramientas que producen mejores resultados. Para ello se ha imple-
mentado la captura de un CFO para el estándar 802.16d. En definitiva, en esta Tesis se ha
realizado una evaluación en la que se busca observar el impacto del uso de estas herramien-
tas de prototipado rápido en un ejemplo sencillo pero muy necesario en la sincronización de
frecuencia que facilita el mostrar la metodología empleada.
6.2. Trabajo futuro
La única parte de la sincronización de frecuencia que se podría considerar que falta de
estudiar en esta Tesis a nivel algorítmico es el estudio de un sistema MIMO OFDM. Sin em-
bargo, no se ha considerado necesario hacer su estudio en esta Tesis. Esto es así puesto que
para un sistema MIMO se puede asumir que las antenas transmisoras (y las receptoras) com-
parten entre sí el oscilador local, por lo que es similar a un escenario OFDM, ya estudiado
en esta Tesis. O se puede suponer que no comparten oscilador local por lo que se asemejaría
a un escenario multiusuario OFDMA, que también es estudiado en esta Tesis. Sí sería intere-
sante el estudio de la adaptación de las propuestas de sincronización de esta Tesis a la capas
físicas de los estándares que permiten usar modulación MIMO OFDM (como en 802.11n
ó LTE) pues habilitan preámbulos y/o subportadoras piloto que dependiendo de la antena
desde la que son transmitidas ocupan una posición determinada consiguiendo propiedades
de ortogonalidad en la trama de datos.
161
El trabajo futuro se centrará, sobretodo, en la implementación hardware de un sincroni-
zador completo (con captura y seguimiento) de CFO en un sistema OFDM puesto que, como
acabamos de comentar, la algorítmica ya se encuentra bien evaluada en esta Tesis.
Dentro de esta linea se pueden comparar resultados de implementación con otras herra-
mientas de prototipado rápido como AccelDSP [Acc] que genera el código HDL directa-
mente desde MATLAB y que está orientado a la implementación en FPGAs de Xilinx.
Una parte de este trabajo se orientará a la implementación de un sistema OFDM usan-
do las herramientas de prototipado rápido. Para ello sería adecuado identificar los bloques
o subsistemas principales (FFTs, codificación, sincronización de tiempo, estimación de ca-
nal...) y construirlos teniendo en cuenta las señales de control de todo el sistema, para, una
vez realizados, ensamblarlos formando el sistema OFDM. Una vez hecho esto, el siguiente
paso será la implementación de un sistema multiestándar. Primero se empezará por un sis-
tema de dos tecnologías y, una vez obtenido el comportamiento deseado, se incluirían otras
tecnologías. Para ello es necesario una adecuada gestión de las señales de control. Finalmen-
te, la implementación de un caso multiusuario OFDMA sería el caso más complejo y último
a realizar.
Otra línea dentro de la implementación, que se puede realizar en paralelo a la del párrafo
anterior, es la de proponer una arquitectura hardware que, teniendo en cuenta los algoritmos
implicados, permita la reutilización de operadores en un sincronizador de frecuencia. Tam-
bién habría que identificar cuales son los bloques más importantes a nivel de utilización de
recursos o que necesiten más tiempo de procesado para realizar sobre ellos un estudio más
en profundidad de la cuantificación.
162
BIBLIOGRAFÍA
[80203] IEEE Std 802.16.2-2001. IEEE Standard for Local and Metropolitan Area Net-works Part 16: Air Interface for Fixed Broadband Wireless Access Systems . IEEEStandards, 2003.
[80204] IEEE 802.16. IEEE Standard for Local and Metropolitan Area Networks Part 16:Air Interface for Fixed Broadband Wireless Access Systems. IEEE Standards,2004.
[80205] IEEE 802.165. Amended to 802.16e: IEEE Standard for Local and Metropoli-tan Area Networks Part 16: Air Interface for Fixed Broadband Wireless AccessSystems Amendment for Physical and Medium Access Control Layers for Com-bined Fixed and mobile Operation in Licensed Bands and Corrigendum 1. IEEEStandards, 2005.
[aAtIS03] IEEE Std 802.16a-2003 (Amendment to IEEE Std 802.16-2001). IEEE Standardfor Local and Metropolitan Area Networks — Part 16: Air Interface for FixedBroadband Wireless Access Systems— Amendment 2: Medium Access ControlModifications and Additional Physical Layer Specifications for 2-11 GHz . IEEEStandards, 2003.
[And07] Andrews, G. y Ghosh, A. y Muhamed, R . Fundamentals of WIMAX Unders-tanding Broadband Wireless Networking. Prentice Hall Communications Engi-neering and Emerging Technologies Series, 2007.
[Bar02] Barbarossa, S. y Pompili, M. y Giannkis, G. B. Channel-independent synchroni-zation of orthogonal frequency division multiple access systems. IEEE J. Select.Areas Commun., 20(2):474–486, Febrero 2002.
[Bee97] Beek, J. y Sandell, M. y Borjesson, P. O. ML estimation of Time and FrequencyOffset in OFDM Systems. IEEE Trans. on Signal Processing, 45:1800–1805,July 1997.
[Caf05] Caffarena, G. y Fernández, A. y Carreras, C. y López, J.A. y Nieto-Taladriz, O.Design of OFDM-based Adaptive Equalizer for WLAN: Implementation Issues.Med. J. Electr. Comm., 1:24–34, 2005.
[Caf08] Caffarena, G. y Lopez, J.A. y Leyva, G. y Carreras, C. y Nieto-Taladriz, O. Op-timized Architectural Synthesis of Fixed-Point Datapaths . International Confe-rence on Reconfigurable Computing and FPGAs, pages 85–90, Noviembre 2008.
[Cao04a] Cao, Z. y Tureli, U. y Yao, Y. D. Deterministic multiuser carrier frequency offsetestimation for interleaved OFDMA uplink. IEEE Trans. Commun., 52(9):1585–1594, Septiembre 2004.
[Cao04b] Cao, Z. y Tureli, U. y Yao, Y. D. y Honan, P. Frequency synchronization forgeneralized OFDMA uplink. Proc. IEEE Global Telecomm. Conf., 2:1071–1075,Noviembre 2004.
[Che03] Chen, H. y Pottie, G. J. A Comparison of frequency Offset Tracking Algorithmsfor OFDM. GLOBECOM, 2, Diciembre 2003.
[Cho00] Choi, J. y Lee, C. y Jung, H.W. y Lee, Y. H. Carrier frequency offset compensa-tion for uplink of OFDM-FDMA systems. IEEE Commun. Lett., 4(12):414–416,Diciembre 2000.
[DVB05] IEEE DVB. DVB-H-Transmission Systems for Handheld Terminals- EN 302204 v1.1.1. IEEE Standards, 2005.
[Fes94] Fessler, J. A. y Hero A. O. Space-Alternating Generalized Expectation-Maximization Algorithm. IEEE Trans. Signal Process., 42(10):2664–2677, Oc-tubre 1994.
[Fon02] Font, M. y Ordeix, J. y Serra, M. y Martí, P. y Carrabina, J. Diseño de sistemasSoC mediante MATLAB-SIMULINK. Aplicación en Sistemas de Comunica-ción OFDM. URSO, 2002.
[Gil04] Gil-Jimenez, V. P. y Fernández-Getino, J. y González-Serrano, F.J. y García Arma-da, A. Design and Implementation of Synchronization and AGC for OFDM-basedWLAN Receivers. IEEE Transactions on Consumer Electronics, 50:1016–1025,2004.
[Gro97] IEEE 802.11 Working Group. IEEE Standard for Information Technology- Te-lecommunications and Information Exchange Between Systems-Local and Me-tropolitan Area Networks-Specific Requirements-Part 11: Wireless LAN MediumAccess Control (MAC) and Physical Layer (PHY) Specifications. IEEE Stan-dards, 1997.
[Gro03] IEEE 802.11 Working Group. Part11: Wireless LAN Medium Access Control(MAC) and Physical Layer specifications, IEEE Std. 802.11a/b/g. IEEE Stan-dards, 1999/2003.
[Gro06] IEEE 802.11 Working Group. IEEE 802.11n/D0.02. IEEE Standards, Febrero2006.
[Han06] Han, K. y Evans, B. L. Optimum Wordlength Search Using Sensitivity Informa-tion. EURASIP Journal on Applied Signal Processing, special issue on DesignMethods for DSP Systems, 2006(5):103–116, 2006.
[Hao07] Hao, M.J. Decision Feedback Frequency Offset Estimation and Tracking for Ge-neral ICI Self-Cancellation Based OFDM Systems. IEEE Trans. on Broadcas-ting, 53(2):560–566, Junio 2007.
[Hua05] Huang, D. y Letaief, K. B. An Interference- Cancellation Scheme for CarrierFrequency Offsets Correction in OFDMA Systems. IEEE Transactions on Com-munications, 53(7):1155–1165, Enero 2005.
[Jim08] Jiménez-Pacheco, A. y Fernández-Herrero, A. y Casajús-Quirós, J. Design andImplementation of a Hardware Module for MIMO Decoding in a 4G WirelessReceiver. Hindawi VLSI Design, 2008, 2008.
[Joh99] Johansson, S. y Landstrom, D. y Nilsson, P. Hardware Implementation of anOFDM Synchronizer. International Symposium on Personal, Indoor and Mobileradio Communications 99, 1999.
[Kel01] Keller, T. y Piazzo, L. y Hanzo, L. Orthogonal Frequency Division Multiplex Syn-chronization Techniques for Frequency-Selective Fading Channels. IEEE Journalon Selected Areas in Communications, 19(6), June 2001.
[Kim08] Kim, K.Y. y Zou, Q. y Choi, H.J. y Sayed, A.H. An Efficient Carrier Phase Synch-ronization Technique for High-Order M-QAM-OFDM. IEEE Trans. on SignalProcessing, 56(8):3789–3794, 2008.
[Kua05] Kuang, L. y Ni, Z. y Lu, J. y Zheng, J. A Time-Frequency Decision-FeedbackLoop for Carrier Frequency Offset Tracking in OFDM Systems. IEEE Trans.Wireless Communication, 4(2), Marzo 2005.
[Las00] Lashkarian, N. y Kiaei, S. Class of Cyclic-Based Estimators for Frequency-Offsetestimation of OFDM Systems. IEEE Trans. on Communications, 48(4):2139–2149, Diciembre 2000.
[Li,03] Li, J. y Kim H. y Lee Y. y Kim Y. A novel broadband wireless OFDMA schemefor dowlink in cellular communications. Proc. IEEE WCNC 2003, pages 1907–1911, Marzo 2003.
[Lör97] Lörincz , J. y Begusic, D. Physical Layer Analysis of Emerging IEEE 802.11nWLAN Standard. IEEE Trans. on Communications, 45:1613–1621, Dec 1997.
[LTE07] LTE. Long Term Evolution (LTE): an introduction. Ericsson AB, White paper,Octubre 2007.
[LTE08] LTE. 3rd Generation Partnership Project; technical Specification Group Radio Ac-cess Network; Evolved Universal Terrestrial Radio Access (E-UTRA); PhysicalChannels and Modulation (Release8) V8.3.0. IEEE Standards, 2008.
[Mat] Matlab The MathWorks Inc. http://www.mathworks.com.
[Mat99] Matheus, K. y Frank, G. y Schramn, P. Parameter optimization for decision di-rected frequency tracking for coherent OFDM. GLOBECOM, 3:1668–1677, No-viembre 1999.
[Mod] ModelSim - Advanced Simulation and Debugging. http://model.com/.
[Moo94] Moose, P. A technique for orthogonal frequency division multiplexing frequencyoffset correction. IEEE Trans. on Communications, 42(10):2908–2914, Oct 1994.
[Mor04] Morelli, M. Timing and Frequency Synchronization for the Uplink of an OFDMAsystem. IEEE Trans. Commun., 52(2):296–306, Febrero 2004.
[Mor07] Morelli, M. y Jay Kuo, C.-C. y Pun, M.-O. Synchronization Techniques for Ortho-gonal Frequency Division Multiple Access (OFDMA): A Tutorial Review. Pro-ceedings of the IEEE, 95(7):3758–3769, Julio 2007.
[Ngu08] Nguyen, H. C. y Carvalho, E. y Prasad, R. A Generalized Carrier FrequencyOffset Estimator for Uplink OFDMA. IEEE 19th International Symposium onPersonal, Indoor and Mobile Radio Communications, pages 1–5, Febrero 2008.
[Own03] Ownby, M. y Mahmoud, W.H. A design methodology for implementing DSP withXilinx System Generator for MATLAB. Proceedings of the 35th SoutheasternSymposium on System Theory, pages 404–408, 2003.
[Pol95] Pollet, T. y Van Bladel, M. y Moeneclaey, M. BER sensitivity of OFDM systemsto carrier frequency offset and Wiener phase noise. IEEE Trans. on Communica-tions, 45(2-5):191–193, Feb-April 1995.
[Pun07] Pun, M.-O. y Morelli, M. y Jay Kuo, C.-C. Iterative Detection and FrequencySynchronization for OFDMA Uplink Transmissions. IEEE Trans. On WirelessCommunications, 6(2):629–639, Febrero 2007.
[Qua] Quartus II. http://www.altera.com/products/software/quartus-ii/subscription-edition/qts-se-index.html.
[Qui] QuickLogic. http://www.quicklogic.com/.
[RCT] ETSI DVB RCT. Interaction Channel for Digital terrestrial Television (RCT)Incorporating Multiple Access OFDM. ETSI DVB RCT, year=Marzo 2001,.
[Sar99] Sari, H. y Karam, G. Orthogonal frequency-division multiple access and its ap-plication to CATV networks. Eur. Trans. Commum., 45:507–516, 1999.
[Sch97] Schmidl, T. y Cox, D. Robust frequency and timing synchronization for OFDM.IEEE Trans. on Communications, 45:1613–1621, Dec 1997.
[Spe99] Speth, M. y Fechtel, S. y Fock, G. y Meyr, H. Optimum Receiver Design for Wire-less Broad-Band Systems using OFDM-Part I. IEEE Trans. on Communications,47(11), Noviembre 1999.
[Spe01] Speth, M. and Fechtel, S. y Fock, G. y Meyr, H. Optimum Receiver Design forOFDM-Based Broadband Transmission Part II: A Case Study. IEEE Trans. onCommunications, 49(4), April 2001.
[Ste09] Sterba, J. y Kocur, D. Pilot symbol aided channel estimation for OFDM systemin frequency selective rayleigh fading channel. 19th International ConferenceRadioelektronika, pages 77–80, Septiembre 2009.
[Sun09] Sun, P. y Zhang, L. Low Complexity Pilot Aided Frequency Synchronizationfor OFDMA Uplink Transmission. IEEE Trans. On Wireless Communications,8(7):3758–3769, Julio 2009.
[Syn08] Synplicity, Inc. Synplify DSP, User Guide, 2008.
[Sys] System Generator: Reference Guide. http://www.xilinx.com.
[Ton02] Tonello, A. M. Multiuser detection and turbo multiuser decoding for asynchro-nous multitone multiple access systems. Proc. IEEE Vehicular Technology Conf.,pages 970–974, Septiembre 2002.
[Tse05] Tse, D. y Viswanath, P. Fundamentals of Wireless Communication. CambridgeUniversity Press, 2005.
[Van95] Van Nee, R. y Prasad, R. OFDM FOR WIRELESS MULTIMEDIA COMMUNI-CATIONS. IEEE Trans. on Communications, 45(2-5):191–193, Feb-April 1995.
[Van99] Van de Beek, J.-J. y Borjesson, P.O. y Boucheret, M.-L. y Landstrom,D. y Are-nas,J. M. y Odling, P. y Ostberg, C. y Wahlqvist,M. y Wilson, S. K. A timeand frequency synchronization scheme for multiuser OFDM. IEEE J. Sel. AreasCommun., 17:1900–1914, Noviembre 1999.
[Van00] Van Nee, R. y Prasad, R. OFDM for Wireless Multimedia Communications.Artech HOuse Publishers, 2000.
[Wan04] Wang, K. y Singh, J. y Faulkner, M. FPGA implementation of an OFDM-WLANsynchronizer. Second IEEE International Workshop on Electronic Design, Testand Applications, pages 89–94, 2004.
[Won99] Wong, C. Y. y Cheng, R. S. y Letaief, K. B. y Murch,R. D. Multiuser OFDM withadaptive subcarrier, bit, and power allocation. IEEE J. Select. Areas Commun,17:1747–1757, Octubre 1999.
[Xil] Xilinx, Inc. http://www.xilinx.com/.
[You08] You, Y.H. y Lee, K.T. y Kang, S.J. Pilot-Aided Frequency Offset Tracking Schemefor OFDM-Based DVB-T. IEEE Trans. on Consumer Electronics, 54(3):1053–1058, Enero 2008.
[Yuc07] Yucek, T. y Arslan, H. Carrier Frequency Offset Compensation with Successi-ve Cancellation in Uplink OFDMA Systems. IEEE Trans.On Wireless Comms,6(10):1–5, Octubre 2007.
[Zyr08] Zyren, J. Overview of the 3GPP Long term Evolution Physical Layer. WhitePaper, 2008.