Anda di halaman 1dari 97

Trabajo Fin de Grado

Grado en Ingeniería de las Tecnologías de


Telecomunicación.

Análisis de prestaciones de un transmisor/receptor


LiFi

Autor: Rafael Luis Ocaña Montero


Tutor: Vicente Baena Lecuyer

Equation Chapter 1 Section 1

Dep. Ingeniería Electrónica


Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2015
Trabajo Fin de Grado
Grado en Ingeniería de las Tecnologías de Telecomunicación

Análisis de prestaciones de un transmisor/receptor


LiFi

Autor:
Rafael Luis Ocaña Montero

Tutor:
Vicente Baena Lecuyer
Profesor titular

Dep. Ingeniería Electrónica


Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2015
Trabajo Fin de Grado: Análisis de prestaciones de un transmisor/receptor LiFi

Autor: Rafael Luis Ocaña Montero

Tutor: Vicente Baena Lecuyer

El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:

Presidente:

Vocales:

Secretario:

Acuerdan otorgarle la calificación de:

Sevilla, 2015

El Secretario del Tribunal


Agradecimientos

En primer lugar me gustaría agradecer Al profesor Vicente Baena Lecuyer, el tutor de este proyecto por
haberme propuesto este trabajo, por haberme aguantado tantos días y tantas preguntas. Por explicarme las
mismas cosas día tras otro.
Gracias, de verdad, porque hay pocos profesores como tú, con esa profesionalidad que demuestras año tras
año, porque siempre estás cuando se te necesita, contestas increíblemente rápido cada vez que se te escribe y
corriges aún más rápido los exámenes. Es un placer trabajar contigo.
A continuación agradecer a mis amigos y compañeros, por haber estado estos años pasando tantas experiencias
todos juntos, tanto a los que conocí en primero, como a mi clase de electrónica.
Por último pero no menos importante agradecer este trabajo a mi familia, por apoyarme siempre y ofrecer
ayuda aunque no la pida, porque es indescriptible saber que puedes contar con ellos incondicionalmente.

Rafael Luis Ocaña Montero


Sevilla, 2015
Resumen

Ante el crecimiento de la demanda de acceso a Internet que existe cada año, es conocido que existe una
tecnología óptica que puede ayudar con los problemas de congestión del espacio radioeléctrico y se llama Li-
Fi, basado en tecnologías VLC, con el cual se esperan poder realizar conexiones a Internet a velocidades muy
elevadas.
Este proyecto consiste en realizar un modelo Matlab de un transmisor/receptor Li-Fi a partir de un sistema
OFDM adaptado a comunicaciones ópticas mediante técnicas ya existentes como DCO-OFDM, ACO-OFDM
y Flip-OFDM, así como el modelado del LED transmisor para estudiar su comportamiento no lineal.
El sistema desarrollado funciona con modulaciones QAM, habiendo añadido técnicas de codificación y
entrelazado para la corrección de errores en la recepción. Se ha diseñado de forma totalmente configurable,
desde el número de puntos de la constelación hasta el tamaño de la FFT o la longitud del prefijo cíclico.
Se realizarán distintas simulaciones y medidas tales como el PAPR, RCM o EVM para estudiar y analizar
algunas prestaciones de este tipo de sistemas como la linealidad o potencia de transmisión, así como la
comparación entre los tres tipos de modulación.
Abstract

Facing with the growth in the demand for Internet access that exists every year, it is known that exists an
optical technology that can help with the radioelectric space congestion and is called Li-Fi, based on VLC
technologies, with which it is expected to have Internet connection at very high speeds.

This project consists in making a Matlab model of a Li-Fi transmitter/receiver from an OFDM system
adapted to optical communications by already existing techniques like DCO-OFDM, ACO-OFDM and
Flip-OFDM, as well as the modelling of the LED transmitter to study his non-linear behaviour.

The developed system works with QAM modulations, having added coding and interleaving techniques
for error correction at the reception. It is designed in a fully configurable way, since the constellation
point number to the FFT size or cyclic prefix length.
Different simulations and measures such as PAPR, RCM or EVM will be made to study and analyse some
features of this systems type like the linerarity or transmission power, as well as the comparison between this
three types of modulation.
Índice

Agradecimientos VII
Resumen IX
Abstract XI
Índice XIII
Índice de Tablas XV
Índice de Figuras XVII
Notación XIX
1 Introducción 1
1.1. Motivación del Trabajo Fin de Grado 1
1.2. Objetivos del Trabajo Fin de Grado 2
1.3. Organización y Metodología del Trabajo Fin de Grado 3
2 Sistemas OFDM 5
2.1. Historia de OFDM 5
2.2. Fundamentos básicos 6
2.2.1. Descripción Matemática 7
2.3. Modelos generales 8
2.3.1. FEC (Forward Error Correction) 9
2.3.2. Interleaver 9
2.3.3. Mapper 10
2.3.4. IFFT 10
2.3.5. PC (Prefijo Cíclico) 11
2.4. Propiedades de los sistemas OFDM 11
2.4.1. Parámetros Característicos 11
2.4.2. Sincronización 13
2.4.3. PAPR (Peak-to-Average Power Ratio) 14
2.4.4. Métrica Cúbica 14
2.4.5. EVM (Error Vector Magnitude) 15
2.4.6. Ventajas e inconvenientes de OFDM 15
3 Tecnología Li-Fi 17
3.1. Definición de Li-Fi 17
3.2. Historia de las comunicaciones ópticas inalámbricas 18
3.3. Modelos generales 20
3.3.1. Transmisor óptico 21
3.3.2. Receptor óptico 21
3.4. Optical-OFDM 22
3.4.1. DC-Offset OFDM (DCO-OFDM) 22
3.4.2. Asymmetrically clipped optical OFDM (ACO-OFDM) 23
3.4.3. Flip-OFDM 24
3.5. Propiedades de los sistemas Li-Fi 24
3.5.1. Capacidad de transmisión 24
3.5.2. Rendimiento de los sistemas 25
3.5.3. Seguridad y fiabilidad 25
3.5.4. Tabla comparativa 26
4 Desarrollo del sistema 27
4.1. Sistema OFDM 27
4.1.1. Transmisor OFDM 27
4.1.2. Receptor OFDM 29
4.2. Implementación del sistema óptico 31
4.2.1. Mapper y demapper 31
4.2.2. IFFT y FFT 31
4.2.3. Cambios en el sistema transmisor 32
4.2.4. Dispositivos ópticos 32
5 Pruebas y resultados 37
5.1. Cálculo de la PAPR 37
5.2. Métrica Cúbica 40
5.3. Error-Vector Magnitude (EVM) 43
5.4. Cálculo de la potencia por portadora (Pc) 47
6 Conclusiones 51
Referencias 55
Anexos 57
A. Configuración del sistema 57
B. Código del transmisor Li-Fi 59
B.1. Transmisor.m 59
B.2. TX_Codificador.m 60
B.3. TX_Interleaver.m 61
B.4. TX_Mapper.m 61
B.5. TX_IFFT.m 62
B.6. TX_CyclicPrefix.m 63
B.7. TX_Diodo.m 63
C. Código del receptor Li-Fi 65
C.1. Receptor.m 65
C.2. RX_Diodo.m 66
C.3. RX_CyclicPrefix.m 66
C.4. RX_FFT.m 67
C.5. RX_Demapper.m 68
C.6. RX_Deinterleaer.m 68
C.7. RX_Decodificador.m 68
D. Banco de pruebas 69
D.1. Transceptor.m 69
D.2. EVMExec.m 70
D.3. Exec.m 71
D.4. CalculaPAPR.m 74
D.5. CalculaRCM.m 74
D.6. CalculaCCDF.m 74
D.7. CalculaEVM.m 75
D.8. CalculaPotencia.m 75
ÍNDICE DE TABLAS

Tabla 2–1. Parámetros de DVB-T 12


Tabla 2–2. Parámetros del estándar IEEE 802.11a 12
Tabla 3–1. Tabla comparativa entre Li-Fi y Wi-Fi 26
Tabla 4–1. Parámetros del diodo LED modelado 33
Tabla 5–1. Parámetros del modelo LED según valores EVM 46
Tabla 5–2. Cálculo de la potencia por portadora de los distintos sistemas 50
Tabla 6–1. Comparación de los sistemas O-OFDM 51
ÍNDICE DE FIGURAS

Figura 1-1. Esquema del espacio radioeléctrico. 2


Figura 2-1. Recepción multitrayecto. 6
Figura 2-2. Portadoras OFDM. 7
Figura 2-3. Bloques funcionales de un sistema COFDM. 8
Figura 2-4. Conjunto de constelaciones. 10
Figura 2-5. Diagrama del Prefijo Cíclico 11
Figura 2-6. Efecto del offset de frecuencia sobre las portadoras 14
Figura 2-7. Ejemplo de constelación y EVM 15
Figura 3-1. Telégrafo óptico y alfabeto de transmisión. 18
Figura 3-2. Fotófono de A. Graham Bell. 19
Figura 3-3. Esquema de sistema OWC 21
Figura 3-4. Transmisor DCO-OFDM[13] 22
Figura 3-5. Transmisor ACO-OFDM[14] 23
Figura 3-6. Transmisor Flip-OFDM[14] 24
Figura 3-7. Comparación de los sistemas IR,RF y OWC según la distancia y la velocidad[15] 25
Figura 4-1. Transmisor básico COFDM. 28
Figura 4-2. Receptor básico COFDM. 29
Figura 4-3. Curva característica real (a) y modelado lineal (b) del LED 33
Figura 4-4. Símbolo DCO-OFDM antes (a) y después (b) de su paso por la fuente óptica 34
Figura 4-5. Símbolo ACO-OFDM antes (a) y después (b) de su paso por la fuente óptica 34
Figura 5-1. Comparación del PAPR para 4-QAM. 38
Figura 5-2. Comparación del PAPR para 16-QAM. 39
Figura 5-3. Comparación del PAPR para 64-QAM. 40
Figura 5-4. Comparación de la RCM para 4-QAM. 41
Figura 5-5. Comparación de la RCM para 16-QAM. 42
Figura 5-6. Comparación de la RCM para 64-QAM. 43
Figura 5-7. Obtención de α y ß a través del EVM para DCO-OFDM. 44
Figura 5-8. Obtención de α y ß a través del EVM para ACO-OFDM 45
Figura 5-9. Obtención de α y ß a través del EVM para Flip-OFDM 45
Figura 5-10. Constelaciones recibidas para 4-QAM, 16-QAM y 64-QAM a un nivel de -20 dB EVM 46
Figura 5-11. Constelaciones recibidas para 4-QAM, 16-QAM y 64-QAM a un nivel de -10 dB EVM 47
Figura 5-12. Potencias por portadoras tras Prefijo Cíclico. 48
Notación

A* Conjugado
c.t.p. En casi todos los puntos
e.o.c. En cualquier otro caso
IRe Parte real
IIm Parte imaginaria
sen Función seno
Pr(A) Probabilidad del suceso A
SNR Signal-to-noise ratio
≤ Menor o igual
≥ Mayor o igual
OFDM Orthogonal frequency-division multiplexing
IEEE Institute of Electrical and Electronic Engineers
DCO-OFDM DC-offset OFDM
ACO-OFDM Asymmetrically clipped optical OFDM
QAM Quadrature amplitude modulation
PAPR Peak-to-Average Power Ratio
EVM Error Vector Magnitude
RCM Raw Cubic Metric
PSK Phase Shift Keying
DFT Discrete Fourier Transform
ADSL Asymmetric Digital Subscriber Line
ITU International Telecommunication Union
DAB Digital Audio Broadcasting
DVB Digital Video Broadcasting
LTE Long Term Evolution
ISI Intersymbol Interference
ICI Inter Channel Interference
BW Bandwidth
Δ Incremento
Ik Componente k de fase
Qk Componente k de cuadratura
Log Logaritmo
3GPP 3rd Generation Partnership Project
PC Prefijo Cíclico
OWC Optical Wireless Communications
VLC Visible Light Communication
UV Ultra-Violeta
IR Infrarrojo
LED Light-Emitting Diode
RF Radiofrecuencia
EMI Electromagnetic Interference
LDPC Low Density Parity Check
LLR Log Likelihood Ratio
FEC Forward Error Correction
α Ganancia
β Valor de DC
V Voltio
CCDF Complementary Cumulative Distribution Function
ECDF Empirical Cumulative Distribution Function
dB Decibelio
RMS Root Mean Square
|.| Valor absoluto
PTX Potencia de Transmisión
PC Potencia por portadota
Pnorm Potencia de normalización
C/N Relación Portadora-Ruido
SNR Signal-Noise Ratio
1 INTRODUCCIÓN

Los imposibles de hoy serán posibles mañana.


- Konstantin Tsiolkovski -

D esde la antigüedad la comunicación a distancia ha sido indispensable para todos los aspectos de la vida y
para el desarrollo de la humanidad: como para el comercio, las guerras u otros propósitos y desde
entonces no ha hecho más que avanzar hasta nuestros días.
A día de hoy, las telecomunicaciones siguiendo el esquema básico de unión de emisor, canal y receptor
continúan siendo esenciales, y por tanto, cada día obtienen más relevancia en la sociedad: en el ocio, trabajo,
comercio o gestiones, entre otras cosas. Una prueba de ese incremento de la relevancia es que esta rama del
conocimiento formaba parte de la Ingeniería Industrial, y tras varios cambios a través de los años ha llegado a
ser una disciplina independiente, creando su propia Ingeniería para su estudio y desarrollo.
En la época que vivimos, más conocida como la era de información se puede observar que todo se encuentra
conectado, gobernado por la conocida red de Internet, en la que nos basamos para las comunicaciones tanto a
nivel local como global.
Siguiendo con la relevancia de estas conexiones, se puede describir la evolución seguida por las mismas.
Comienza por ser todo cableado con los primeros telégrafos, pasando por la primigenia red de Internet, por los
enlaces radioeléctricos sin la necesidad de dichos cables y llegando hasta tecnologías actuales, tales como el Wi-
Fi, que siguen en continua evolución, a causa de la congestión del espectro radioeléctrico y la continua demanda
de mayor velocidad.
Con este proyecto se pretende investigar la última evolución de estas redes inalámbricas, el Li-Fi, en el que se
cambia el tradicional enlace radioeléctrico, por uno que funciona en la banda luminosa, una parte distinta del
espectro radioeléctrico, a través de emisores y receptores de luz, usando técnicas ya existentes en la mayoría de
enlaces radioeléctricos como el OFDM y estudiando el modo de funcionamiento óptimo para el correcto
intercambio de información.

1.1. Motivación del Trabajo Fin de Grado


Una de las características del Ingeniero de Telecomunicación es el continuo cambio y la capacidad de
adaptación a las nuevas tecnologías que aparecen constantemente, por eso se centra este trabajo en el estudio de
los sistemas Li-Fi.
2
Introducción

En la actualidad, el Li-Fi es una vertiente de las comunicaciones inalámbricas en bastante desarrollo e


investigación, siendo estudiado para su implantación a corto o medio plazo. Este desarrollo, comenzó en 2011
con la creación del Consorcio Li-Fi, formado por empresas e industrias para favorecer su creación y aparición en
el mercado.
Es conocido que el Wi-Fi es la tecnología inalámbrica existente más conocida y versátil que conocemos, pero
hay que hacer énfasis en los continuos problemas que aparecen con respecto a la demanda de espacio
radioeléctrico (potencia y velocidades). Por ello era necesario investigar nuevos campos del espacio
radioeléctrico llegando hasta el campo de la luz visible.

Figura 1-1. Esquema del espacio radioeléctrico.

Desde su primera aparición, se creyó en la posibilidad de alcanzar velocidades mucho mayores que a través del
Wi-Fi convencional, además de contar con ventajas muy importantes como el no causar interferencias
electromagnéticas a otros sistemas, por lo que se puede usar en áreas tales como el interior de aeronaves.

1.2. Objetivos del Trabajo Fin de Grado


El principal objetivo de este proyecto es obtener un modelo de un sistema transmisor-receptor Li-Fi construido
en Matlab para analizar algunas prestaciones tales como la linealidad de un sistema de esas características
mediante el estudio de simulaciones usando los estándares ya existentes para la tecnología Wi-Fi, adaptados por
el IEEE para el campo óptico de las comunicaciones inalámbricas.
Para ello, mediante esquemas OFDM orientados a canales ópticos se realizará el desarrollo y simulación de la
transmisión y recepción de datos y, tras ello, se analizarán los resultados obtenidos con el objetivo de hacer un
estudio sobre la linealidad y propiedades de este tipo de sistemas.
Para el estudio de dichas prestaciones se han efectuado pruebas con distintas modulaciones y configuraciones
para poder hacer un análisis lo suficientemente completo. Estas configuraciones a analizar serán DCO-OFDM,
ACO-OFDM y Flip-OFDM, usando modulaciones de amplitud en cuadratura (QAM).
Para el análisis de resultados se ha realizado el cálculo de medidas tales como PAPR, EVM o RCM para todas
las configuraciones nombradas, con el objetivo de estudiar las prestaciones sobre linealidad de estos sistemas y
la comparación entre ellos.
1.3. Organización y Metodología del Trabajo Fin de Grado
La organización del Proyecto se ha realizado de la siguiente forma:

1. Búsqueda de información e iniciación en la tecnología Li-Fi, así como en las distintas configuraciones
de los sistemas ya existentes con tecnología OFDM usando desde apuntes de asignaturas de la escuela
de Sistemas Electrónicos de Comunicaciones, hasta documentos del IEEE Xplore en los que se podía
obtener suficientes datos.
2. Elaboración de un sistema básico en Matlab con los bloques necesarios para realizar una transmisión y
recepción OFDM sin incluir aún los bloques referentes a la tecnología Li-Fi.
3. Realización de las pruebas del sistema OFDM (transmita y reciba la información correctamente) y
elaboración del capítulo 2 de la memoria, perteneciente a la modulación OFDM, en el que se explica la
tecnología, sus fundamentos básicos y los modelos generales existentes, así como sus propiedades más
características.
4. A continuación, siguiendo con el sistema ya creado en Matlab, se le han añadido las modificaciones
necesarias para realizar un sistema OFDM óptico, es decir, se ha modificado el OFDM inicial por las
configuraciones de DCO-OFDM, ACO-OFDM y Flip-OFDM. También en este punto se añade el
modelo de diodo transmisor y fotodetector con los que se desea hacer la simulación.
5. Realización de las pruebas básicas de funcionamiento del sistema óptico, comprobando que se reciban
los mismos datos que se transmiten. Elaboración del capítulo 3 de la memoria sobre la tecnología Li-Fi,
en el que viene recogido información tal como su definición, su historia o las propiedades que posee
esta tecnología.
6. Tras haber completado el desarrollo del sistema en Matlab se procede a realizar las distintas
simulaciones y pruebas sobre PAPR, EVM, RCM y medida de potencia de las distintas
configuraciones. También se estudia la comparación entre dichas configuraciones.
7. Redacción de los capítulos 4 y 5 de la memoria, en los cuales se describen el sistema realizado con el
software y las pruebas realizadas respectivamente.
8. Elaboración del capítulo 6 de la memoria, el cual contiene las conclusiones del proyecto y las posibles
líneas futuras de investigación del tema.
9. Elaboración de la Introducción, resumen y anexos de la memoria.
4
Introducción
2 SISTEMAS OFDM

L a modulación OFDM (Orthogonal Frequency-Domain Multiplexion) es una técnica de multiplexado en


frecuencia que funciona dividiendo el ancho de banda total en sub-bandas lo suficientemente estrechas
como para considerarlas planas.
Una particularidad de esta técnica es que la división del ancho de banda total está formada por sub-bandas
ortogonales entre ellas, siendo la diferencia fundamental con otras técnicas como FDM (Frequency-Domain
Multiplexion) o MCM (Multi-Carrier Modulation).
Este multiplexado consigue enviar varios flujos de información, cada uno modulado en QAM o PSK y siendo
todos ellos transportados en ondas portadoras de distintas frecuencias.
Introduce los avances de la DFT, con lo que se pueden generar las señales de forma conjunta, consiguiendo así
que la respuesta frecuencial de las distintas portadoras se entrelacen debido a la ortogonalidad, mejorando con
ello la eficiencia del ancho de banda, llegando a ser una de las técnicas de división de canal más usadas
actualmente.
Numerosos estándares están basados en la tecnología OFDM, pudiendo ser divididos según el medio de
transmisión que utilicen, sean sistemas cableados o sistemas inalámbricos.
El OFDM sobre medios cableados ha sido desarrollado principalmente en torno al ADSL (Línea Digital
Asimétrica de Abonado), que sigue la norma de la ITU G.992.1 [1], llegando a conseguir alta velocidad de datos
sobre un par de cobre, debido a tener menor atenuación las bandas estrechas que las bandas anchas en ese
medio.
Tras ADSL, OFDM sigue siendo la técnica de modulación de sus estándares sucesores, tales como ADSL2,
VDSL y G.fast.
El verdadero desarrollo y avance de OFDM ha sido gracias a los medios inalámbricos. Éstos se centraban en
sistemas de radio o video-difusión (DAB, DVB) y sistemas de baja potencia, como las redes inalámbricas Wi-
Fi. También podemos encontrar esta tecnología en la cuarta generación de comunicaciones móviles (LTE).
La razón por la que tantos estándares confían en OFDM es por la capacidad de conseguir comunicaciones con
altas tasas de datos contando con una alta robustez ante entornos hostiles, superior a otras técnicas.

2.1. Historia de OFDM


La historia de OFDM comienza sobre los años 50, con la aparición de MCM en entornos militares, formando
parte del desarrollo de enlaces de radio, surgiendo las primeras divisiones de las bandas de frecuencias en sub-
bandas más estrechas.
Los primeros pasos de OFDM comenzaron a mitad de los años 60, como una técnica de multiplexión en el
dominio de las frecuencias gracias a un artículo de Robert W. Chang (1966) [2], científico en los laboratorios
Bell, que trataba sobre la síntesis de señales limitadas en banda para transmisiones multicanal. Con esta
publicación, expone unos principios para transmitir de forma simultánea mensajes, canalizado por un canal
limitado en banda, a través de varias portadoras solapadas en frecuencia.
6
Sistemas OFDM

Poco después, a partir de ese artículo, se estudió la estrategia para diseñar sistemas que funcionaran en paralelo
de forma eficiente, centrándose en disminuir el crosstalk de canales adyacentes, antes que en el
perfeccionamiento de los canales a nivel individual. Años después se comprobó mediante el procesado digital en
banda base [3].
En 1971 se dio otro paso de vital importancia para el desarrollo de OFDM, gracias a Weinstein y Ebert (1971)
[4], quienes introdujeron el uso de la DFT (Transformada Directa de Fourier) para la modulación y
demodulación en banda base, sustituyendo por tanto al banco de osciladores con sus dificultades ante la
sincronización y sintonización.
Ante la aparición de la ISI y la ICI, usaron un intervalo de guardia entre símbolos, creando para ello una ventana
hecha con coseno alzado, y aunque no tenía ortogonalidad perfecta, era una mejora muy importante,
considerándose una de las mejoras esenciales para el desarrollo de OFDM.
Peled y Ruiz (1980) [5] realizaron otro gran avance al introducir el uso del PC (Prefijo Cíclico), solucionando
así el problema de la pérdida de la ortogonalidad. Este prefijo cíclico, en vez de ser un espacio vacío, lo
completaron con una extensión cíclica del símbolo OFDM. Así se simulaba un canal que realiza una
convolución cíclica, lo que implica ortogonalidad sobre canales dispersivos cuando la longitud del PC es mayor
que la respuesta impulsiva del canal.
Desde entonces se han hecho no pocos avances en la tecnología OFDM, como en la invención del primer
servicio de radio digital DAB (Digital Audio Broadcasting) Eureka 147 en 1995, el cual sigue en
funcionamiento hoy en día, o el primer servicio de Televisión digital DVB-T (Digital Video Broadcasting
Terrestrial) en 1997.
Centrándonos en los estándares de Wi-Fi y siguiendo con este continuo avance, se puede observar que se ha
logrado conseguir, en pocos años, velocidades de datos desde 5 Mbits/s (IEEE 802.11a) en 1999, hasta superar
el Gbit/s hoy día (IEEE 802.11ac).

2.2. Fundamentos básicos


Como bien se ha introducido antes, la multiplexación por división de frecuencias ortogonales (OFDM) es la
técnica de modulación más usada en comunicaciones inalámbricas, por lo que en este apartado se procederá a
estudiar sus características más importantes y su funcionamiento.
Uno de los problemas de los canales inalámbricos como el aire es la reflexión de las ondas en obstáculos
intermedios, difracciones y otros fenómenos que afectan a la trayectoria de la señal. Por ello, al receptor le llega
el rayo directo acompañado de múltiples réplicas de la señal con la amplitud y fase distorsionadas. Este
fenómeno se denomina recepción multitrayecto.
Este problema provoca que se entremezclen unos símbolos con otros, dando lugar a la llamada ISI (Interferencia
entre símbolos).

Figura 2-1. Recepción multitrayecto.


La solución ante ese fenómeno es la utilización de estas modulaciones multiportadoras, transmitiendo la
información no sobre una única portadora, sino sobe muchas portadoras adecuadamente espaciadas en
frecuencia. De esa forma se consigue repartir la información consiguiendo que aunque la velocidad del conjunto
sea elevada, la velocidad de cada portadora sea pequeña, lo que hace que se simplifique ese problema.
Ese espaciamiento adecuado es fácilmente definible en la técnica OFDM, que se diferencia de otras técnicas de
modulación multiportadora en su ortogonalidad, lo que hace que ese espaciamiento adecuado sea a su vez
óptimo. Esto consiste en definir la separación espectral entre portadoras consecutivas, como siempre la misma, y
con un valor igual al inverso del período de símbolo, de forma que hacemos coincidir el punto de muestreo de
cada portadora con el punto donde se anulan las demás portadoras tal y como vemos en la siguiente imagen.

Figura 2-2. Portadoras OFDM.

2.2.1. Descripción Matemática


Haciendo una descripción matemática de este tipo de sistemas, para generar señales OFDM se deben tener en
cuenta varios parámetros, como el número de subportadoras, el esquema de modulación y la duración del
intervalo de guarda, lo cual influirá en su funcionamiento.
El número de portadoras, en primer lugar, se determina basándose en el ancho de banda del canal, la velocidad
de los datos y la duración del símbolo útil. Su ancho de banda es fácilmente calculable dividiendo el ancho de
banda total entre el número de portadoras existentes.

𝐵𝑊𝑘 = BW⁄𝑁 = ∆𝑓 (2–1)

Debido a la ortogonalidad del sistema, cada portadora tiene en su frecuencia central todas las demás portadoras
adyacentes anuladas, por lo que viendo la ecuación 2-1 y la figura 2-2, se asume que la separación de las
portadoras adyacentes es una distancia ∆𝑓. La frecuencia de cada portadora viene dada por:

𝑓𝑘 = 𝑓0 + 𝑘∆𝑓 𝑝𝑎𝑟𝑎 𝑘 = 0, … , 𝑁 − 1 (2–2)

El esquema de modulación, de forma general, dará una salida compleja, que será multiplicada por su portadora
correspondiente para la transmisión. Típicamente para OFDM se usan modulaciones QAM o QPSK.

𝑎𝑘 = 𝐼𝑘 + 𝑄𝑘 (2–3)

𝑒 𝑗2𝜋𝑓𝑘 𝑡 , 𝑡 ∈ [0, 𝑇𝑠 ] (2–4)


𝜙𝑘 = 𝑒 𝑗2𝜋𝑓𝑘 𝑡 𝑢(𝑡) = {
0, 𝑒. 𝑜𝑐.
8
Sistemas OFDM

El producto de ambas ecuaciones dará una ecuación por símbolo de la siguiente forma continua (2-5), teniendo
que pasar posteriormente al dominio discreto (2-6) para su resolución, debido a la complejidad de conseguir
tantos osciladores en el dominio analógico.
𝑁−1 𝑁−1 (2–5)
𝑠(𝑡) = ∑ 𝑎𝑘 𝜙𝑘 (𝑡) = ∑ 𝑎𝑘 𝑒 𝑗2𝜋𝑓𝑘 𝑡 𝑢(𝑡)
𝑘=0 𝑘=0

𝑁−1 (2–6)
2𝜋
𝑗 𝑁 𝑘𝑛
𝑠(𝑛) = ∑ 𝑎𝑘 𝑒 𝑛 ∈ [0, 𝑁 − 1]
𝑘=0

Una vez en este punto, la utilización y simplicidad de la IDFT es inmediata para pasar del dominio de la
frecuencia al dominio del tiempo, por lo que se demuestra la importancia de la Transformada de Fourier en este
tipo de sistemas.
𝑁−1 (2–7)
2𝜋
𝑠(𝑛) = ∑ 𝑎𝑘 𝑒 𝑗 𝑁 𝑘𝑛 = 𝐼𝐷𝐹𝑇[𝑎𝑘 ]
𝑘=0

Por último, la estimación de la duración del Prefijo Cíclico se hace en función al mayor retraso que tenga el
canal, para que siempre sea mayor a la posible superposición de símbolos eliminando así la interferencia entre
símbolos.

2.3. Modelos generales


El sistema OFDM que se representa en la figura 2-3 puede considerarse como el sistema que se implementa en
la realidad en la mayoría de los estándares y esquemas nombrados anteriormente.

Figura 2-3. Bloques funcionales de un sistema COFDM.

Una de las características de este sistema representado es que posee más bloques de los estrictamente básicos
para una transmisión de información mediante OFDM, por ello se denomina COFDM (Coded – OFDM), ya que
se le implementan unos bloques adicionales con la misión de codificar la información, para salvar los posibles
errores añadiendo redundancia y entrelazando datos.
En esta Figura 2-3 se puede observar que aparecen tanto el sistema transmisor como el receptor, cada uno
dividido en bloques funcionales, según su misión en el sistema completo. Se puede observar que la entrada del
transmisor es un flujo de datos, al igual que la salida del receptor y tanto la salida del transmisor como la entrada
del receptor son las ondas portadoras con la información, que viajan a través del canal, que comunica ambos
sistemas.

2.3.1. FEC (Forward Error Correction)


El primer bloque del sistema descrito es el llamado FEC (Forward Error Correction), bloque cuya misión es
añadir redundancia a la señal recibida, de forma que el receptor pueda ser capaz de corregir los posibles errores.
Este bloque, al no ser básico de OFDM, es considerado el primer bloque necesario para hacer un sistema
COFDM, gracias a esta corrección a priori de errores. Esta redundancia se le hace a la señal de entrada
representada en la imagen 2-3 como x[n], habiendo varios tipos de codificadores:
 Codificador Convolucional: Trabajan sobre streams de entrada de cualquier tamaño, usando
algoritmos de codificación como el código de Viterbi.
 Codificador de Bloque: Este tipo de codificadores trabajan sobre bloques de datos de tamaño
predeterminado, sobre el cual se le aplica un algoritmo determinado para ese tamaño de bloque.
FEC reduce el número de transmisiones de errores, incrementando la efectividad del sistema sin necesidad de
reenvío de la información dañada durante la transmisión. El bloque decodificador situado en el receptor realiza
la operación inversa, aplicando el algoritmo inverso al stream de datos para su correcta recepción.

2.3.2. Interleaver
El bloque Interleaver o entrelazador es el encargado de cambiar el orden de los datos que se encuentran en su
entrada, es decir, se encarga de barajar los datos recibidos y pasarlos al bloque siguiente.
Este bloque al igual que el primero forma parte del sistema COFDM debido a que, gracias a este cambio de
orden de los datos, el sistema es más fiable a los errores de ráfaga, errores más comunes en los canales de
comunicación, los cuales afectan a un dato y sus aledaños.
Un ejemplo del funcionamiento de este bloque es el siguiente:

Ejemplo 2–1. Transmisión sin interleaving:


Mensaje sin errores: aaaabbbbccccddddeeeeffffgggg
Transmisión con error en ráfaga: aaaabbbbccc____deeeeffffgggg

Ejemplo 2–2. Transmisión con interleaving:


Entrada del bloque entrelazador: aaaabbbbccccddddeeeeffffgggg
Salida del entrelazador: abcdefgabcdefgabcdefgabcdefg
Transmisión con error en ráfaga: abcdefgabcd____bcdefgabcdefg
Mensaje recibido tras hacer deinterleaving: aa_abbbbccccdddde_eef_ffg_gg

Como se puede observar, en cada grupo de letras, solo hay un bit alterado, por lo que será más fácil de recibir y
decodificar correctamente.
Este bloque, al igual que el FEC, al cual sucede se puede clasificar en dos tipos:
 Interleaver Convolucional: Trabajan sobre streams de entrada de cualquier tamaño, usando baterías
FIFO establecidas por el estándar correspondiente según su uso.
10
Sistemas OFDM

 Interleaver de Bloque: Este tipo de entrelazadores trabajan sobre bloques de datos de tamaño
predeterminado, los cuales introduce en una matriz por columnas. La salida del bloque funcional es la
misma matriz leída por filas o de forma pseudoaleatoria.

2.3.3. Mapper
Una vez codificada la información por los bloques relativos a COFDM, nos encontramos con el Mapper, bloque
encargado de convertir el flujo de datos que tiene en su entrada a señales complejas para su transmisión según
un esquema o constelación determinada.
Este tipo de bloques agrupa las señales de su entrada en símbolos de tamaño determinado por el número de
puntos de la modulación escogida, siendo típicamente OFDM PSK o M-QAM. Este tamaño (k) viene definido
de la siguiente forma:

𝑘 = 𝑙𝑜𝑔2 (𝑀) (2–8)

Una vez reunido en grupos de k bits, la salida de este bloque calculará el vector complejo asociado al punto que
recibe según la codificación gray, dándole un valor en amplitud y cuadratura. Es decir, se transforma una cadena
de información binaria en información que se puede transmitir.

Figura 2-4. Conjunto de constelaciones.

2.3.4. IFFT
Como bien se ha visto en la definición e historia de OFDM, el tratamiento digital ha sido la pieza clave para el
desarrollo de este tipo de sistemas.
Este tratamiento se realiza mediante la transformada de Fourier, aunque en la práctica se usa una modalidad con
menor peso en hardware llamada FFT (Fast-Fourier Transform), que se encargará de pasar del dominio del
tiempo al dominio frecuencial y viceversa.
En el sistema transmisor todos los bloques anteriores a la IFFT (Inverse FFT) se dice que están en el dominio de
la frecuencia, y en receptor de forma inversa, ya que la FFT convierte del dominio temporal a frecuencial.
Este tipo de bloques funcionales actúan por bloques de datos, por lo que es necesario pasar el flujo de la salida
del mapper por un conversor serie-paralelo para su implementación.
Este conversor modificará dicho flujo de datos en bloques de n elementos, a los que posteriormente se le añaden
portadoras a 0 al principio y final con la misión de evitar las interferencias tanto ISI como ICI. Estos bloques de
datos y ceros tendrán un tamaño potencia de 2 mayor que los n elementos de entrada, llamándose NFFT.
La frecuencia de muestreo vendrá determinada por la separación entre portadoras vista en la ecuación (2-1) y el
número de elementos de la FFT, de forma que será la siguiente:

𝑓𝑚 = 𝑁𝐹𝐹𝑇 ∗ ∆𝑓 (2–9)

2.3.5. PC (Prefijo Cíclico)


El último bloque de los sistemas OFDM es considerado el más importante para la resolución de los problemas
de la transmisión multiportadora (ISI) o la pérdida de la ortogonalidad de las portadoras (ICI).
Para ello inserta un intervalo de guarda al comienzo del bloque, seleccionado con duración mayor que el mayor
retraso que pueda dar el canal. Con esta solución se prevendrían los efectos de la ISI, pero para solucionar
también la ICI, ese intervalo de guarda debe tener una información determinada.
Para prevenir esta pérdida de la ortogonalidad se introduce en este intervalo de guarda una copia de un conjunto
de muestras del final del bloque introduciendo redundancia. Esta copia se denomina prefijo cíclico.

Figura 2-5. Diagrama del Prefijo Cíclico

Debido a la propiedad cíclica de la IFFT, el bloque original saliente de la IFFT y este prefijo cíclico se unen con
perfecta continuidad en fase, por lo que la transmisión se hace sin problemas.
Este prefijo disminuye la capacidad de transmisión pero no aumenta el espectro transmitido.
Una vez añadido el PC, la señal se pasa a las portadoras y se transmite para su detección por el receptor. La
eliminación de este prefijo cíclico consiste en eliminar únicamente las muestras añadidas al comienzo del bloque
FFT.

2.4. Propiedades de los sistemas OFDM


Una vez estudiada la historia, fundamentos y bloques de los sistemas OFDM es necesario hacer hincapié en el
análisis de las características, propiedades y prestaciones de este tipo de sistemas.
Con este análisis, centrándonos en buscar las ventajas e inconvenientes de este tipo de sistema, se intentará dar
una visión de por qué OFDM es el sistema de modulación más usado en las transmisiones inalámbricas.

2.4.1. Parámetros Característicos


Para poder nombrar o diferenciar las distintas implementaciones de OFDM se cuenta con unos parámetros o
valores definidos en función del estándar o uso que se le da a esta técnica de modulación.
Comenzando por DVB-T, el estándar más usado a nivel mundial para la transmisión de audio y video de
televisión digital, podemos ver los parámetros de su capa física según su modo de funcionamiento.
12
Sistemas OFDM

Tabla 2–1. Parámetros de DVB-T

Parámetro Modo 2k Modo 8k

Tasa de datos, (Mbit/s) 4,98-31,67 (Típicamente 24,13)


Tipo de Modulación QPSK, 16QAM o 64QAM
Codificación Codificación Convolucional concatenado con Reed Solomon
Duración del símbolo Ts 109,375 ns 109,375 ns
Tamaño FFT N 2048 8192
Periodo FFT Tu = NTs 224 us 896 us
Número de portadoras k 1705 6817
Separación entre portadoras 1/Tu 4.464 Hz 1.116 Hz
Duración del Prefijo Cíclico Tg Tu/4 = 56 us Tu/4 = 224 us
Tiempo de símbolo Tb = Tu + Tg 280 us 1,12 ms
Ancho de Banda W = k/Tu 7,611607 Mhz 7,608259 MHz

Como podemos observar, hay 2 modos de funcionamiento de este estándar, 2k y 8k, que tienen que ver con el
número de portadoras empleadas en OFDM.
Otro de los estándares más usados a nivel mundial con todo tipo de propósitos es el Wi-Fi, cuyos parámetros
están recogidos en la tabla 2-2:

Tabla 2–2. Parámetros del estándar IEEE 802.11a

Parámetro Valor
Tasa de datos, (Mbit/s) 6-54
Tipo de Modulación BPSK, QPSK, 16QAM o 64QAM
Codificación Codificación Convolucional
Duración del símbolo Ts 50 ns
Tamaño FFT N 64
Periodo FFT Tu = NTs 3,2 us
Número de portadoras k 52
Separación entre portadoras 1/Tu 312,5 kHz
Duración del Prefijo Cíclico Tg Tu/4 = 0,8 us
Tiempo de símbolo Tb = Tu + Tg 4 us
Ancho de Banda W = k/Tu 16,25 Mhz

Una vez expuestas ambos estándares podemos observar que se cumple tal como se recoge en el apartado 2-3 que
OFDM es siempre implementado con algoritmos de codificación de datos para obtener más fiabilidad en las
transmisiones, como se puede ver en el apartado “Codificación” de ambos estándares.
Otra observación es la diversidad de tipos de modulación que puede tener cada estándar, parámetro que está
íntimamente relacionado con la tasa de datos, es decir, una modulación de más puntos proporcionará mayor
velocidad de transmisión.
2.4.2. Sincronización
Uno de los problemas más característicos de la modulación OFDM es su alta sensibilidad a los errores de
sincronización, en particular al offset frecuencial. Estos problemas de sincronización se pueden dividir en tres
tipos:

2.4.2.1. Sincronización de símbolo

La sincronización de símbolo tiene gran relevancia en OFDM, sin embargo, gracias a la implementación del
prefijo cíclico, los requerimientos de temporización se relajan. El objetivo para la supresión de este problema
consiste en conocer cuando comienza el símbolo.
Un offset en la temporización provoca un aumento en la rotación de la fase de las portadoras, siendo mayor en
los bordes de la banda de frecuencia, por lo que es mejor colocar más información en las bandas centrales de la
banda de frecuencia (Kalet, 1989) [6].
Con el uso del prefijo cíclico, si el error de temporización es menor a su tamaño, la ortogonalidad se mantendrá
y aunque siga siendo un problema este desplazamiento de fase, esta rotación es fácilmente calculable mediante
un estimador. En el caso de que este error de temporización sea mayor que la duración del PC, aparecerá la ISI.
Hay dos métodos importantes para la supresión de este problema, la introducción de portadoras pilotos o el uso
de prefijos cíclicos.

2.4.2.2. Sincronización de frecuencia de muestreo

La transmisión y recepción de información en sistemas OFDM se realiza mediante sistemas gobernados por
relojes, por lo que la señal recibida se muestrea en instantes de tiempo según marque el reloj del receptor. Un
problema que aparece con este tipo de funcionamiento basado en el dominio de relojes es la desincronización de
la frecuencia de muestreo.
Hay dos tipos de métodos con los que se puede combatir este tipo de desajustes en las frecuencias de muestreo:
 Sistemas de muestreo sincronizado: Un algoritmo de temporización gobierna un oscilador de cristal,
controlado por tensión, con la finalidad de alinear los relojes del transmisor y receptor.
 Sistemas de muestreo no sincronizado: La tasa de muestreo permanece siempre fija y se realiza un
post-procesado digital, con el objetivo de solucionar las desincronizaciones.
La aparición de offset en la frecuencia del reloj es un aspecto grave en los sistemas OFDM, debido a que la
componente de señal útil se ve rotada y atenuada, y por otro lado aparece la ICI.
Gracias a los estudios publicados, se puede observar que los sistemas de muestreo no sincronizado son más
sensibles ante la aparición del offset de reloj que los sistemas de muestreo sincronizado.

2.4.2.3. Sincronización de frecuencia de portadora

Este tercer y último tipo de error de sincronización se produce como consecuencia de la aparición de diferencias
en los osciladores alojados tanto en el transmisor como el receptor, efecto Doppler o desfases producidos por
canales no lineales.
Consiste en un offset frecuencial que provoca una reducción en la amplitud de la señal, producida por el
muestreo de la portadora en un punto no máximo de la misma. También provoca la aparición de ICI, producido
por la pérdida de ortogonalidad.
14
Sistemas OFDM

Figura 2-6. Efecto del offset de frecuencia sobre las portadoras

2.4.3. PAPR (Peak-to-Average Power Ratio)


Si una señal proviene de la suma de N señales cuya amplitud máxima es 1 voltio, es razonable pensar que en
algún instante la señal puede llegar a una amplitud máxima de N en el caso de que esas N señales se encuentren
todas en sus máximos a la vez.
El PAPR es una medida de señales que calcula la relación entre la potencia pico y la potencia media según esta
fórmula, donde Pavg representa la potencia promedio.

|𝑥(𝑡)|2 (2–10)
𝑃𝐴𝑃𝑅 =
𝑃𝑎𝑣𝑔

Típicamente para una señal OFDM con 128 portadoras, cada una con potencia normalizada de 1 W, el máximo
PAPR que se puede producir es de 21 dB en el caso de que todas estén en su valor máximo. El valor medio de
esta medida está en torno a los 12 dB.
Esta medida es elevada en comparación con otros tipos de sistemas, por lo que para disminuir su valor existen
algunas soluciones:
 Mantener el nivel de potencia de la señal en un nivel deseado. Esto reduciría el PAPR, pero en cambio,
introduce otras distorsiones e ICI.
 Hacer un mapeo selectivo, multiplicando la señal de datos por un conjunto de códigos, calculando la
IFFT de cada uno y escoger aquel que presente menor PAPR.
 Disminuir el tamaño de la IFFT, dividiendo la señal en celdas, calculando la IFFT de cada una y
combinarlas, de esa forma un PAPR de 128 portadoras divididas en grupos de 32 podría bajar su
máximo desde 21 dB hasta 12dB.

2.4.4. Métrica Cúbica


Una de las carencias del PAPR es que sólo tiene en cuenta para el cálculo el pico de mayor tamaño de la señal,
ignorando los otros picos o máximos relativos, incluso si contienen información. Para solucionar ese problema,
usamos el cálculo de la métrica cúbica [7].
La métrica cúbica es otro parámetro de medida de señales, definido según el 3GPP de la siguiente forma:

𝐶𝑀(𝑥(𝑡))| 𝑑𝐵 = (𝑅𝐶𝑀(𝑥(𝑡))| 𝑑𝐵 − 𝑅𝐶𝑀𝑟𝑒𝑓 /𝐾 (2–11)


RCMref y K son constantes que dependen del sistema de comunicación y RCM es Raw Cubic Metric, descrito
matemáticamente como:

|𝑥(𝑡)| 3 (2–12)
𝑅𝐶𝑀(𝑥(𝑡))| 𝑑𝐵 = 20log (𝑟𝑚𝑠 [ ])
𝑟𝑚𝑠[𝑥(𝑡)]

La métrica cúbica se basa en la suposición de que la fuente dominante de la no linealidad de la señal es un


término de tercer orden.

2.4.5. EVM (Error Vector Magnitude)


El EVM es una medida usada para cuantificar el rendimiento de un transmisor o receptor digital, calculando la
diferencia entre los valores ideales de la constelación y los valores recibidos. Esta medida calcula la distancia
que separa los puntos recibidos de su posición ideal.

Figura 2-7. Ejemplo de constelación y EVM

Tal y como se puede observar en la figura 2-9, para una modulación 4QAM, el cálculo de la EVM se realiza
gracias a los vectores de fase y cuadratura de las modulaciones, contando con la potencia del punto ideal (Pref) y
la potencia del vector que separa el punto ideal del recibido (Perr). Estos valores están relacionados de la
siguiente forma:

𝑃𝑒𝑟𝑟 (2–13)
𝐸𝑉𝑀(𝑑𝐵) = 10𝑙𝑜𝑔10 ( )
𝑃𝑟𝑒𝑓

2.4.6. Ventajas e inconvenientes de OFDM


Como se ha podido ver en este capítulo, los sistemas de transmisión basados en OFDM cuentan con una serie de
características que hacen que sean los más aptos para realizar comunicaciones inalámbricas, y como conclusión
se realizará una comparación entre las ventajas e inconvenientes de estos sistemas.

2.4.6.1. Ventajas de los sistemas OFDM

 Este tipo de sistema tiene una alta eficiencia espectral al usar múltiples portadoras en un ancho de banda
reducido, transmitiendo así elevadas tasas de información por segundo y por ancho de banda.
16
Sistemas OFDM

 Los sistemas OFDM son muy robustos ante la propagación multitrayecto. Gracias a la aplicación del
PC, estos sistemas poseen gran robustez ante la ISI y la ICI, provocada por la propagación
multitrayecto.
 Gracias a COFDM, haciendo una determinada codificación de canal y entrelazado, el sistema puede
responder ante pérdidas de datos durante la transmisión.
 Con la implementación de FFT/IFFT, consigue ser computacionalmente eficiente y sencillo de
desarrollar en el dominio digital. Gracias a esta técnica no se necesitan tantos generadores sinusoidales
ni demoduladores coherentes.
 Al dividir el canal en subcanales de banda estrecha, el sistema se convierte mucho más robusto ante
caídas selectivas en frecuencia.

2.4.6.2. Inconvenientes de los sistemas OFDM

 Los sistemas OFDM poseen gran sensibilidad a los errores de sincronización tanto frecuencial como
temporal.
 Alto PAPR. Esto conlleva que la potencia instantánea transmitida es superior a la potencia media, a lo
que se le suma que a mayor número de portadoras, mayor es el PAPR, lo que reduce la capacidad de
transmisión. Además requeriría de amplificadores de potencia altamente lineales, lo que se traduce en
eficiencia reducida y un incremento en el coste.
3 TECNOLOGÍA LI-FI

C ada vez es mayor la demanda de ancho de banda en las comunicaciones, debido al constante crecimiento
de dispositivos conectados y a la gran cantidad de transmisión de información, principalmente en las
comunicaciones inalámbricas, cuyo número de usuarios aumenta de forma exponencial en todo el mundo.
Esta situación provoca que las bandas de frecuencias usadas para estas comunicaciones se saturen, siendo un
gran ejemplo de ello la proliferación de redes Wi-Fi, las cuales cuentan con innumerables problemas por esa
congestión, lo que produce interferencias y un pobre funcionamiento.
Uno de los motivos de la congestión de esa banda de frecuencias, destinadas para estas comunicaciones, es el
éxodo que están sufriendo muchas conexiones que han sido tradicionalmente cableadas a entornos inalámbricos.
Esto se debe a la mayor simplicidad de conexiones, mayor movilidad y todos los beneficios que proporciona la
no dependencia de entornos cableados.
Es necesario añadir también a estos motivos la proliferación de teléfonos móviles, tablets, ordenadores portátiles
y, particularmente la aparición de la llamada “Internet de las Cosas”, red de dispositivos cotidianos conectados a
internet, la cual espera tener en el año 2018 una cifra de 18 mil millones de dispositivos conectados, siendo la
gran mayoría enlaces inalámbricos[8].
Ante ese creciente problema, se propone el uso de una zona del espectro totalmente distinta a la usada hasta hoy
día para la transmisión de información, la banda de luz visible, en la que se busca la transmisión de información
mediante pulsos de luz.

3.1. Definición de Li-Fi


La tecnología que logra comunicar los distintos dispositivos a través de elementos ópticos se denomina OWC
(Optical Wireless Communications), la que no sólo incluye las comunicaciones a nivel visible, sino que también
recoge la comunicación en la banda de UV (Ultra-violeta) e IR (Infrarrojos).
Especificando dentro de OWC, nos encontramos con VLC (Visible Light Communications), que como su
nombre indica, implementa los sistemas necesarios para la comunicación de dispositivos en la banda visible
(390 -750 nm), gracias a la tecnología LED.
Debido al gran desarrollo de las bombillas LEDs se ha permitido que las bombillas convencionales se sustituyan
por estos dispositivos semiconductores, compuestos de material que permite que la corriente y la luminosidad
sean moduladas a una gran velocidad, lo que facilita que no sólo se utilice como medio tradicional de
iluminación, sino como un medio para transmitir información.
Su funcionamiento se basa en la transmisión y recepción de información mediante luz emitida por un LED, luz
que puede ser percibida por el ojo humano por estar dentro del espectro visible pero a una velocidad de
conmutación no apreciable por las personas.
18
Tecnología Li-Fi

Li-Fi, acorde con la nomenclatura similar del Wi-Fi, trata de un sistema de comunicación inalámbrica, que
usando las bases de VLC proporciona acceso a Internet a través de pulsos de luz utilizando la luz del diodo LED
para transmitir los bits en señales inalámbricas de datos, modulando la intensidad de la luz, que en el receptor
es captada por un sensor fotosensible con el que vuelve a ser convertida en bits para su correcto uso.

3.2. Historia de las comunicaciones ópticas inalámbricas


Las comunicaciones, basadas en la propagación de luz en el espacio libre sin ningún medio de transmisión,
pueden parecer una tecnología actual e innovadora, pero si se profundiza un poco, se puede observar que es una
técnica que de distintas presentaciones y formas está presente desde la antigüedad.
La literatura clásica nombra la primera aparición de estas comunicaciones ópticas durante la guerra de Troya, en
la cual el rey Agamenón enviaba noticias mediante señales realizadas con hogueras a los palacios de sus
descendientes [9].
Siguiendo con las primeras técnicas usadas en la Edad Antigua, el Imperio Romano también usó este tipo de
comunicaciones mediante señales luminosas hechas con hogueras para marcar puntos importantes, es decir,
tenían uso de balizas o marcadores.
Si nos desplazamos a la otra punta del planeta, esta transmisión tampoco data de una época reciente, sino que es
posible remontarse al año 150 a.C. aproximadamente con el uso de las primeras señales de humo creadas por los
nativos americanos con fines comunicativos.
A lo largo de los años, el uso de las señales luminosas se ha seguido usando, sobre todo en los entornos navales,
teniendo como ejemplo la aparición de los faros, edificios que han sido esenciales hasta la actualidad para la
navegación a nivel mundial.
Llegando al año 1792, Claude Chappe construyó el considerado primer sistema práctico de telecomunicaciones,
el llamado telégrafo óptico.
Este dispositivo constaba de dos brazos conectados por un travesaño consiguiendo que con las siete posiciones
distintas de cada brazo y las cuatro posiciones distintas del travesaño fuera posible la representación de 196
(7x7x4) posiciones distintas, usando un alfabeto de transmisión completo.

Figura 3-1. Telégrafo óptico y alfabeto de transmisión.


En 1794 se transmitió con éxito el primer telegrama de la historia de Lille a París recorriendo una distancia de
230 kilómetros y 22 torres distintas. Cada telégrafo estaba alejado de su sus contiguos una distancia de 12-15
kilómetros, estando cada uno equipado con dos telescopios apuntando a las torres anterior y posterior de la línea
de comunicación para su visualización.
Gracias a Alexander Graham Bell, inventor del teléfono, se posee el fotófono (1880), el primer dispositivo que
permitía combinar la luz visible con la comunicación verbal, siendo así un gran avance a las tecnologías OWC.
Este invento de Bell permitía la transmisión de sonido a través de rayos de luz, eliminando así la dependencia de
medios cableados. El propósito inicial de este invento era proporcionar una comunicación fiable entre barcos y
acabar con la gran cantidad de líneas telefónicas que ya había incipientemente ocupando las calles de Estados
Unidos.
Su funcionamiento se basaba en modular los rayos de sol con la vibración de un espejo situado en el fotófono
emisor, los cuales conseguían llegar hasta un espejo parabólico situado en el receptor y ser convertido mediante
transceptores a señales sonoras.
Su primera comunicación con éxito se dio en abril de ese mismo año, llegando a conseguir así la primera
llamada telefónica inalámbrica de la historia, a una distancia de 213 metros. Sin embargo, este invento contaba
con grandes inconvenientes como la gran sensibilidad a las interferencias meteorológicas que podían interrumpir
la transmisión de los haces de luz, lo que provocó que se abandonara el proyecto.

Figura 3-2. Fotófono de A. Graham Bell.

Situándonos en el siglo XX, no se volvieron a retomar las investigaciones de las comunicaciones ópticas
inalámbricas hasta la década de 1960, cuando con nuevos avances sobre este campo como la invención del láser
en 1960 o la del LED en 1962 se acuñó el término FSO (Free-Space Optics).
Aún con la invención reciente, esa década fue el comienzo de la producción industrial de los LEDs rojos,
amarillos y verdes, que con poca intensidad luminosa se usan desde entonces en mandos a distancia y como
indicadores de electrodomésticos.
Otros avances significativos en las comunicaciones FSO durante esa época fue la primera transmisión de señal
de televisión usando diodos LED de Arseniuro de Galio (GaAs) salvando una distancia de 48 km por los
científicos del MIT (Massachusetts Institute of Technology) o la primera transmisión de voz modulada por
medio de láser a través de 190 km también en EE.UU.
A partir de esa pequeña revolución a comienzos de la segunda mitad del siglo XX, los mayores avances sobre
estas tecnologías se dieron en el ámbito militar y aeroespacial, tanto en Estados Unidos como en Europa con la
NASA (National Aeronautics and Space Administration) y la ESA (European Space Agency), realizando
comunicaciones entre satélites llegando a velocidades de 10 Gbps, llegando a ser uno de los medios de
comunicación de mayores prestaciones y más alta potencialidad del momento.
Este tipo de comunicaciones espaciales requerían una precisión muy elevada al apuntar y un seguimiento del
sistema óptico, que no llegó a alcanzarse en aquella época, por lo que estas comunicaciones no tuvieron una
rápida incorporación al mundo civil.
20
Tecnología Li-Fi

Las primeras redes ópticas inalámbricas a través de infrarrojos aparecieron en la década de 1980 con los
primeros enlaces dúplex que contaban con velocidades de hasta 64 kbps, que sometidos a distintos avances por
los laboratorios Fujitsu [10], consiguieron realizar varias disminuciones de errores y cambios de topología.
Llegando así hasta los laboratorios Motorola [11], con la consecución de un sistema IR para interiores que a
través de radiación dispersa proporcionaba una comunicación full-dúplex a una distancia de 10 metros.
Desde entonces, estas comunicaciones en el espectro infrarrojo han sufrido varios cambios como la aparición de
los LEDs de alta potencia, con los que era posible alcanzar mayores velocidades (230 kbps) y doblar su distancia
máxima [12] o como la aparición en 1993 del primer estándar de las comunicaciones infrarrojas, el IrDA
(Infrared Data Association).
Gracias a la invención del LED azul en 1994 por Nakamura, fueron posibles grandes avances en las
comunicaciones en VLC al contar con la tecnología LED de los tres colores básicos, rojo, verde y azul,
consiguiendo por tanto con su unión luz LED de color blanco, ocupando así todo el espectro visible y por tanto
poseyendo mayor ancho de banda.
En los últimos años las comunicaciones ópticas inalámbricas han sufrido un crecimiento hasta el punto de ser la
alternativa a las RF tradicionales, con la aparición en 2008 de enlaces OWC a velocidades que alcanzan los 10
Gbps y por último en 2009 del estándar IEEE 802.15.7 para las VLC.
En el año 2011, el término Li-Fi tuvo su primera aparición a manos del profesor Harald Haas en las conferencias
TED (Technology, Entertainment, Design) sobre comunicación con luz visible, a quien se le considera el padre
de esta tecnología. Desde ese punto se consideró el Li-Fi como un sistema de comunicación inalámbrico, rápido
y de bajo coste, el equivalente óptico al Wi-Fi.
En octubre de ese mismo año se formó el Consorcio Li-Fi, conjunto de compañías e industrias unidas para
promover los sistemas ópticos de alta velocidad y superar las limitaciones de la banda de radiofrecuencia del
espectro radioeléctrico.
Hass, en 2012 con una empresa spin-off de la universidad de Edimburgo, lanzó su primer sistema Li-Fi al
mercado, el Li-1st, que ofrece comunicación bidireccional a través de luz visible mediante tecnología LED,
alcanzando velocidades de hasta 10 Gbps, lo que abre un abanico de posibilidades para realizar conexiones
reales a Internet a través de luz visible.

3.3. Modelos generales


Toda comunicación basada en OWC, y particularmente en VLC tiene un esquema óptico determinado, ya que
basa su funcionamiento en la transmisión y recepción de señales luminosas, mediante dispositivos fotoemisores
y fotodetectores de forma análoga al Wi-Fi, el cual mediante antenas realiza la transmisión y recepción de
señales radio.
Este esquema de los sistemas ópticos tal como se puede ver en la figura 3-3 es fácilmente divisible en transmisor
y receptor, los cuales están organizados en uniones de estos dispositivos ópticos con bloques eléctricos que
hacen el resto de operaciones necesarias para la transmisión de información.
Figura 3-3. Esquema de sistema OWC

3.3.1. Transmisor óptico


Como bien se ha introducido, la base de cualquier sistema óptico es la emisión de señales luminosas, por lo que
debemos tener una fuente capaz de transmitir esta información a partir de las señales eléctricas iniciales.
Todo sistema transmisor cuenta con un sistema previo encargado de convertir los bits de información en señales
eléctricas, y de proporcionar esas señales eléctricas en forma de corriente modulada a la fuente óptica, la cual se
encargará de enviar mediante pulsos de luz la información al receptor.
Los dispositivos más usados para la creación de estas fuentes luminosas son las bombillas LEDs, debido a su
bajo precio y gran velocidad de conmutación, aunque también remarca su importancia en la gran presencia que
tienen las bombillas LEDs en muchos dispositivos de diversa índole, que según el creador del Li-Fi, Harold
Hass, todo dispositivo con componentes de esta tecnología de luz visible se pueden convertir en transmisores
inalámbricos de datos.
Se usará una fuente luminosa de color blanco con la intención de ocupar todo el ancho de banda del espectro
visible posible. Este color, al no poder obtenerse de forma directa mediante un diodo LED se puede conseguir de
dos formas distintas según el estándar IEEE 802.15.7:
 Diodo azul con fósforo amarillo.
 Combinación RGB (Red Green Blue). Consiste en la unión de tres diodos independientes para la
creación mediante la superposición de sus colores del color blanco.
En el mercado, la opción más usada es la combinación de los tres colores básicos por proporcionar una
velocidad de conmutación superior a la que puede llegar el diodo azul combinado con fósforo amarillo.
En resumen, una fuente óptica RGB conmuta en torno a los 10 MHz, velocidad muy superior a la alcanzable por
un diodo azul acompañado de fósforo amarillo, la cual conmuta a velocidades en torno al MHz. Este tipo
permite además abarcar un mayor ancho de banda debido a la capacidad de hacer WDM (Wavalength Division
Multiplexing), un tipo de multiplexión en función de la longitud de onda de la luz.

3.3.2. Receptor óptico


Esta segunda parte de los sistemas ópticos consiste en la detección y recepción de las ondas luminosas enviadas
por la fuente óptica del transmisor intentando minimizar el efecto de la luz ambiental.
La eliminación de este ruido luminoso se realiza mediante la direccionalidad tanto de la fuente luminosa como
del detector además de la implementación de filtros ópticos en el receptor que rechacen la radiación no deseada.
La tecnología usada para estos detectores consiste en la implementación de fotodetectores PIN (P-type Intrinsic,
N-type layers semiconductor) y fotodetectores en avalancha (APD, Avalanche Photodiode).
22
Tecnología Li-Fi

Tras esta primera detección de las variaciones de la amplitud de la luminosidad, la señal recibida es pasada a un
amplificador y es procesada para ser convertida de nuevo en información binaria.
La simpleza de la composición de estos receptores hace que sean fácilmente desarrollables en pequeñas piezas
de hardware, que se pueden conectar en forma de periférico a ordenadores, móviles y demás dispositivos de
forma similar a los adaptadores Wi-Fi ya existentes en el mercado.

3.4. Optical-OFDM
Las comunicaciones ópticas, con estos avances sufridos estos años han pasado de ser una técnica infravalorada a
compartir relevancia y escenario con las señales radio tanto en investigaciones como en implementaciones.
Como bien se ha estudiado en el capítulo 2, el estándar Wi-Fi en sus distintas versiones está basado en
comunicaciones multiportadoras por división en frecuencia, más específicamente OFDM, consiguiendo así un
mayor ancho de banda y aumentando por ello la tasa de transmisión.
El Li-Fi, creado con el mismo propósito que esas conexiones radio, busca liberar la congestión existente en esas
bandas de frecuencias, igualando o superando la tasa existente en radiofrecuencias y mejorando las prestaciones
cuando sea posible.
Para ello estas dos técnicas de comunicación tienen en común muchos aspectos, comenzando por las
modulaciones, en las que Li-Fi usará también las técnicas OFDM, cambiando varios aspectos, debidos al
cambio del medio de transmisión.
Una diferencia será el paso de señales bipolares en los medios radios, las cuales tienen valores tanto positivos
como negativos a unipolares en los medios ópticos, en los que las señales tendrán solo valores reales y positivos,
debido a que la intensidad no puede ser negativa y la fase no puede ser recuperada por el fotodetector situado en
el receptor.
Esta OFDM se denominará O-OFDM (Optical-OFDM) debido a ese cambio del medio y se estudiarán los
siguientes tipos:

3.4.1. DC-Offset OFDM (DCO-OFDM)


Este modelo de sistemas OFDM es el más conocido por ser la técnica tradicional de las comunicaciones OFDM
unipolares, ya que usa la simetría hermítica de la señal con un valor de DC para generar una señal real y positiva
en el dominio del tiempo.

Figura 3-4. Transmisor DCO-OFDM[13]

Una vez que obtenemos los símbolos del mapper es cuando se calcula la simetría hermítica, sacrificando la
mitad de las portadoras OFDM para conseguir así una señal en el dominio real.
Esta simetría se obtiene haciendo la traspuesta conjugada de la mitad de las portadoras de la siguiente forma,
resaltando que tanto la portadora 0 como la N/2 tienen valor 0:


𝑁 (3–1)
𝑋𝑛 = 𝑋𝑁−𝑛 , 𝑛 = 0,1,2, … , −1
2

Una vez realizada la IFFT, tanto de los valores que salen del mapper como de los traspuestos conjugados, es
cuando se obtienen únicamente valores reales, por lo que realizamos algunas operaciones para poder pasarlo al
diodo.

Esa primera operación consiste en pasarlo por un amplificador para adecuar la amplitud de la señal a los valores
admisibles del LED. Tras esa ganancia o atenuación es necesario truncar los valores máximos y mínimos. Ese
truncamiento se realiza con la misión que los valores de pico que superen los valores máximos y mínimos del
diodo se saturen y no se dañe así la fuente óptica.
Tras ese truncamiento es cuando se le añade el valor de DC, el cual depende de los valores de PAPR, ya que
debido al tener OFDM unos valores elevados de esta medida, la aparición de picos tanto por arriba como por
debajo de ese valor DC puede distorsionar la señal, limitando así su rendimiento.

3.4.2. Asymmetrically clipped optical OFDM (ACO-OFDM)


Esta técnica de modulación O-OFDM, a diferencia de DCO-OFDM, no requiere ningún valor de DC, siendo la
información enviada directamente a la fuente óptica tras realizar su paso por el amplificador.

Figura 3-5. Transmisor ACO-OFDM[14]

Una de las características de esta técnica es que sólo transmite información contenida en las portadoras impares,
estando por ello los símbolos que salen del mapper alojados en la primera mitad de las portadoras impares, para
a continuación realizar la simetría hermítica.
Las demás portadoras son puestas a cero de esta forma:

𝑁 (3–2)
𝑋2𝑛 = 0, 𝑛 = 0,1,2, … ,
2

Tras realizar la IFFT y la obtención por ello de los valores reales, es cuando se realiza el recorte de todas las
componentes negativas mediante un bloque de Zero Clipping. Tras él sólo quedan las componentes positivas,
que son pasadas al amplificador y tras dicho bloque enviadas a la fuente óptica.
Este clipping no distorsiona la información contenida en las portadoras impares, afectando únicamente
dividendo la amplitud de dichas portadoras a la mitad.
24
Tecnología Li-Fi

3.4.3. Flip-OFDM
Esta última técnica unipolar al igual que ACO-OFDM no cuenta con valores DC adicionales, por lo que al igual
que esta última, pasará los valores directamente del amplificador a la fuente óptica.
Sin embargo, diferenciándose de esa técnica, Flip-OFDM contiene información tanto en portadoras pares como
impares, a las que también realiza la simetría hermítica necesaria para estas comunicaciones unipolares.
Una vez obtenidos esos valores reales, esta técnica realiza dos Zero Clipping distintos, haciendo el recorte
primero de las componentes negativas, y tras ello haciendo el recorte de las componentes positivas.

𝑥(𝑘) 𝑠𝑖 𝑥(𝑘) ≥ 0 (3–3)


𝑥 + (𝑘) = {
0 𝑒𝑛 𝑐. 𝑐.

𝑥(𝑘) 𝑠𝑖 𝑥(𝑘) < 0 (3–4)


𝑥 − (𝑘) = {
0 𝑒𝑛 𝑐. 𝑐.

Estas dos componentes recortadas son transmitidas en dos símbolos OFDM consecutivos, siendo transmitida la
subtrama positiva en primer lugar, y la subtrama negativa cambiada de signo en segundo lugar tal como se
puede ver en la figura 3-6.

Figura 3-6. Transmisor Flip-OFDM[14]

3.5. Propiedades de los sistemas Li-Fi


En este punto, como conclusión del capítulo sobre las comunicaciones ópticas inalámbricas, y en concreto el Li-
Fi, se realiza una descripción de las propiedades de este tipo de sistemas, usando para ello los sistemas RF como
referencia, principalmente los sistemas existentes en el mercado Wi-Fi.
En líneas generales, la motivación de la investigación y desarrollo de este tipo de sistemas ópticos en la
actualidad es debida a la ya nombrada congestión del espacio radioeléctrico. Por ello es importante hacer énfasis
en la explotación de un campo del espacio hasta ahora infrautilizado, la luz visible.

3.5.1. Capacidad de transmisión


Debido a este cambio del espectro de frecuencias del Wi-Fi a las señales visibles, podemos nombrar algunas
características muy importantes, tales como el amplio ancho de banda de estas señales luminosas, el cual en
comparación con el ancho de banda de las ondas Wi-Fi es 10.000 veces más grande.
Este espectro de frecuencias no cuenta con regulación nacional o internacional, teniendo así un acceso libre tanto
para particulares como para compañías.

Figura 3-7. Comparación de los sistemas IR,RF y OWC según la distancia y la velocidad[15]

Esta capacidad de transmisión viene marcada por tanto por una mayor densidad de datos, alcanzando en este
tipo de comunicaciones ópticas velocidades del orden de los 10 Gbps, siendo superiores a las conseguidas por
RF, sin embargo, este tipo de sistemas ópticos para tener un funcionamiento óptimo requieren que el transmisor
y receptor estén en línea de visión directa, por lo que poseen menor alcance.

3.5.2. Rendimiento de los sistemas


Siguiendo con la descripción de las propiedades y características de los sistemas Li-Fi, llegamos hasta el
rendimiento característico de esta tecnología, entrando tanto en aspectos económicos como energéticos.
A pesar de ser una tecnología de muy nueva implementación, el Li-Fi posee como una de sus características
principales el bajo coste, debido a que cualquier sistema emisor de luz que cuente con una fuente óptica
compuesta de tecnología LED puede ser convertido en un sistema transmisor Li-Fi con poca tecnología
adicional.
La tecnología LED existente es considerada una tecnología energéticamente eficiente, por lo que dicha
transmisión de información adicional requeriría de una inyección de potencia insignificante en comparación con
los sistemas RF.

3.5.3. Seguridad y fiabilidad


Las transmisiones ópticas son consideradas las señales más seguras de las comunicaciones inalámbricas debido
a su poco alcance y corta penetración de obstáculos, por lo que al no atravesar paredes resultan bastante seguras
ante intrusiones. Gracias a esa corta localidad espacial, estos sistemas también poseen gran inmunidad ante otros
sistemas Li-Fi que se encuentran en habitaciones contiguas.
Sin embargo, este corto alcance no proporciona únicamente ventajas, ya que la presencia de un obstáculo lo
suficientemente grande puede interrumpir estas comunicaciones de línea directa. También es necesario nombrar
la aparición de interferencias producidas por la luz ambiente o iluminación fluorescente, las cuales se pueden
reducir con la creación de un entorno con condiciones preparadas.
26
Tecnología Li-Fi

Debido a este cambio de la banda de frecuencias, estas señales luminosas no se ven afectadas por la aparición de
otras señales RF o radiaciones EMI como es el caso de Wi-Fi al igual que tampoco provocan interferencias, por
lo que estos sistemas son totalmente aptos para su implementación en entornos delicados tales como hospitales o
el interior de aeronaves.

3.5.4. Tabla comparativa


Como resumen de este capítulo, se expone en la tabla 3-1 una comparación entre estos dos tipos de sistemas
donde se pueden ver con mayor claridad las ventajas e inconvenientes de cada uno de ellos.

Tabla 3–1. Tabla comparativa entre Li-Fi y Wi-Fi

Propiedades Sistemas Li-Fi Sistemas Wi-Fi


Tasa de datos Hasta 10 Gbps Hasta 7 Gbps (802.11ad)
Regulación del ancho de banda No Sí
Alcance Menor Mayor
Atravesar paredes No Sí
Ruido dominante Luz ambiental Otras señales EM
Coste Menor Mayor
Consumo Menor Mayor
Seguridad Mayor Menor
Madurez de la tecnología Menor Mayor

Las razones que permiten el auge de esta tecnología son la mayor tasa de datos, el bajo coste y la inmunidad ante
el ruido electromagnético que no pueden proporcionar los sistemas Wi-Fi, aunque también tiene aspectos
negativos que permiten que el Wi-Fi sea la tecnología más usada para comunicaciones.
Estos inconvenientes del Li-Fi se resumen en su corto alcance, al igual que un obstáculo que cortara su visión
directa podría interrumpir la transmisión entre dispositivos y por tanto, perder la comunicación.
En definitiva, aun siendo el Li-Fi una tecnología de nueva aparición en las telecomunicaciones, posee
propiedades suficientes para encontrar un hueco en las comunicaciones a corto alcance, pudiendo ser totalmente
compatible con las tecnologías ya existentes como el Wi-Fi.
4 DESARROLLO DEL SISTEMA

T ras estudiar las bases, conceptos y tipos fundamentales, tanto de los sistemas multiportadoras OFDM, como
de los sistemas de comunicaciones inalámbricas Li-Fi, a lo largo de este proyecto se aplica esa información
para realizar un modelado software con el objetivo de conseguir simulaciones que sean válidas, para conseguir
un estudio completo de aspectos tales como la linealidad de sistemas de estas características.
Para ello se ha desarrollado en Matlab un sistema transmisor receptor Li-Fi, basándonos en los estándares de
comunicación inalámbricas proporcionados por el IEEE. Tras la comprobación de un correcto funcionamiento,
se realizará el estudio de las prestaciones y se comentarán los resultados y conclusiones obtenidas.
Este desarrollo Matlab se ha dividido en dos partes fundamentales: en un sistema OFDM básico con el que se
pretende ver el funcionamiento de este tipo de comunicaciones y la adición de la parte óptica, tanto en el
transmisor como en el receptor, para conseguir adaptar ese sistema a las modulaciones O-OFDM.

4.1. Sistema OFDM


El primer paso para desarrollar un sistema como el descrito anteriormente es realizar un sistema OFDM básico,
comenzando por los bloques nombrados y descritos en el capítulo 2, a los que añadiremos los parámetros y
configuraciones necesarias para su correcta implementación.
Dichos bloques están realizados en funciones de Matlab, construidos de forma independiente para adquirir la
suficiente modularidad para simplificar su diseño y facilitar así su depuración de errores.
Los parámetros y configuraciones de nuestro sistema se pueden encontrar en la función config.m, archivo de
configuración, en el cual mediante un struct se pretenden almacenar todos los datos necesarios para los bloques,
con lo que nos podemos olvidar de pasar todos los datos que requieran las funciones de forma individual.
Con este struct se pasarán todos los datos y parámetros de forma simple y rápida con una simple llamada.

4.1.1. Transmisor OFDM


Comenzando por el sistema transmisor OFDM, contamos con una fuente inicial de datos, creada en Matlab,
gracias a la función randi, con la que crearemos valores 0 y 1 pseudoaleatorios distribuidos uniformemente.
Siempre que queramos comparar sistemas en las mismas condiciones, usaremos la misma semilla para crear una
misma secuencia pseudoaleatoria y así estar en el mismo punto de partida.
Los datos iniciales creados por esa función constituyen la entrada de nuestro sistema, el cual está recogido en el
archivo Transmisor.m, siendo la figura 4-1 una buena representación. En este archivo se realizan todos los
procesos que se describen a continuación.
28
Desarrollo del sistema

Figura 4-1. Transmisor básico COFDM.

4.1.1.1. Codificador FEC

Este primer bloque del sistema Transmisor, recordando sus fundamentos, se encarga de añadir información
redundante a las señales que tiene como entrada y las muestra como salida.
En esta implementación, dicha redundancia está realizada de forma específica, siguiendo el estándar de DVB-
S2, usando un algoritmo llamado LDPC (Low Density Parity Check), trabajando sobre bloques de 64800 bits.
Este algoritmo basa su funcionamiento en la codificación de los datos de entrada a través de una matriz dispersa
de paridad con un ratio determinado, que marca el número de bits que salen por cada bit que entra, indicando el
nivel de protección que proporciona el bloque codificador.
Esto provoca que la salida del bloque FEC sean múltiplos de 64800 bits, y al seleccionar como ratio el valor 3/5,
estamos marcando que la entrada sean también múltiplos de 38800, por lo que el randi nombrado anteriormente
debe crear un vector de ese tamaño o múltiplo de él para su funcionamiento.

4.1.1.2. Interleaver

El entrelazador de nuestro sistema OFDM se caracteriza por su simpleza, basando su funcionamiento en una
reordenación de los elementos de la secuencia de entrada con una permutación determinada.
Esta permutación, a través de la función de Matlab randintrlvr, se realiza de forma pseudoaleatoria usando un
estado inicial establecido por una semilla establecida por archivo config.
Gracias a este bloque y el anterior se consigue reducir la tasa de error mediante la implementación de
información adicional y su recombinación, con lo que nuestra información transmitida será más inmune a los
errores en ráfaga.

4.1.1.3. Mapper

El bloque mapper implementado en Matlab trabaja con la secuencia de bits entrelazados que salen del bloque
anterior, y según el número de bits de la modulación, serán agrupados en símbolos de tamaño log2(M), siendo M
el tamaño de la constelación usada.
Las modulaciones usadas para nuestro sistema serán QAM, debido a su simplicidad de generación y se usarán
particularmente 3 tipos de QAM, de 4, 16 y 64 puntos, lo que provoca una división de los bits de entrada en
símbolos de 2, 4 y 6 bits en ese mismo orden.
Como particularidad de las constelaciones usadas, se ha realizado una normalización de energía de las mismas,
con la intención que un sistema 64QAM tenga la misma energía media que una 16 o 4-QAM.
A líneas generales, ese proceso descrito se corresponde con un convertidor serie-paralelo para poder realizar la
modulación, que tras ordenar los bits, los convertirá a valores enteros mediante codificación Gray.
Con la modulación elegida, Gray es la codificación más idónea, debido a que cada valor de la constelación
únicamente difiere de sus adyacentes en un bit, lo que en término de errores es mucho más eficiente que una
codificación binaria tradicional.
Una vez se tienen los valores enteros, se procede a su asociación a la constelación, dando como resultado los
vectores complejos en amplitud y cuadratura que serán pasados al bloque siguiente.

4.1.1.4. IFFT

Llegando al bloque esencial de las transmisiones OFDM, nuestra primera operación será pasar la señal por un
conversor serie-paralelo, con el objetivo de realizar las siguientes acciones, previas a la transformada inversa de
Fourier.
Una vez agrupada por bloques, esta señal se organizará de modo que no ocupará todas las portadoras, sino que
ocupará las centrales, dejando a un extremo y otro portadoras a cero para reducir las interferencias.
Nuestros símbolos están compuestos de un total de 128 portadoras, contando con un total de 30 portadoras a 0,
por lo que únicamente contienen información 98 de ellas.
Tras ello, de forma previa a la transformada, hay que tener en cuenta que Matlab considera el espectro de la
señal de forma inversa a los cálculos convencionales, por lo que es necesario ejecutar la función ifftshift.
Para pasar del dominio frecuencial al dominio temporal, como última operación de este bloque, realizamos la
función ifft sobre el tamaño determinado de 128 portadoras y dividiendo el resultado entre la raíz de ese número
para normalizar el resultado.

4.1.1.5. Prefijo Cíclico

Las últimas operaciones a realizar a esta señal que sale de la IFFT se realizan aquí, en este bloque, que como su
nombre indica, añade el prefijo cíclico, realizando la copia de la parte final de los símbolos OFDM y
copiándolos en su comienzo. La longitud elegida para este prefijo cíclico es de 12 muestras, estimando un
tamaño suficiente para poder evitar las ISI.
Tras este bloque se procede a la transmisión de las señales, que viajarán por el canal hasta su detección por el
receptor descrito a continuación.

4.1.2. Receptor OFDM


Una vez transmitidas las señales por el sistema descrito, es necesario hacer una recepción con el propósito de
comparar los datos con los que trabajan, tanto el receptor como el transmisor y así realizar las medidas expuestas
en el capítulo 5.
A continuación se hará una descripción de los bloques que componen este receptor con sus parámetros,
configuraciones y operaciones más importantes. En los anexos se puede ver el código en el archivo receptor.m.

Figura 4-2. Receptor básico COFDM.

4.1.2.1. Eliminación del Prefijo Cíclico

El primer bloque de este sistema receptor consiste en la eliminación del prefijo cíclico que se ha añadido justo
antes de la transmisión en el sistema expuesto anteriormente, por lo que contando con los mismos parámetros
contenidos en el archivo de configuración se eliminarán las 12 primeras muestras de los símbolos recibidos.
30
Desarrollo del sistema

4.1.2.2. FFT

El cambio de estas señales temporales a señales frecuenciales se realiza en este bloque, que de forma análoga a
la IFFT realiza esta transformación, eliminando la normalización introducida en su contiguo. Para ello multiplica
por la raíz del número de portadoras del símbolo.
Una vez realizada esta transformación, ya en el dominio de las frecuencias, volvemos a hacer un giro en los
espectros mediante fftshift, para que no haya problemas con el funcionamiento del software Matlab.

4.1.2.3. Demapper

El demapper es considerado uno de los bloques con más relevancia en los receptores debido a que es el
responsable de elegir el punto transmitido, según la constelación a partir de los valores recibidos.
La entrada de este bloque es la secuencia de valores complejos que salen del bloque FFT, valores que están
afectados por ruido y no linealidades producidos por la transmisión, lo que provoca que estos puntos no siempre
coincidan en los valores de la constelación ideal, por lo que es necesario estudiar un modo para la decisión del
punto transmitido a partir de esos valores de amplitud y cuadratura.
El método desarrollado en este sistema es un método de decisión suave, pues no discrimina el símbolo recibido
según su presencia en la región de decisión sin tener en cuenta más valores, sino que trabaja para dicha decisión
con un ratio llamado LLR (Log-Likelihood ratio).
El método LLR consiste en un algoritmo que calcula el ratio de las probabilidades de que un bit b haya sido un 0
transmitido con la probabilidad de que haya sido un 1 transmitido. Realiza los cálculos sobre la señal recibida r,
la cual tiene coordenadas (x,y).

Pr(𝑏 = 0|𝑟 = (𝑥, 𝑦) (4–1)


𝐿(𝑏) = log ( )
Pr(𝑏 = 1|𝑟 = (𝑥, 𝑦)

Si el valor LLR asociado a un bit es positivo, éste tendrá una alta probabilidad de ser 0 y, en caso contrario, si el
valor LLR es negativo, habrá una alta probabilidad de ser 1. A mayor valor absoluto de cada cálculo, mayor será
la probabilidad, por lo que los valores próximos a 0 son más propensos a errores.
Tras realizar este cálculo por cada bit, se realiza el paso inverso al realizado al comienzo del mapper, pasando
todos los datos a un vector para su paso por el siguiente bloque.

4.1.2.4. Deinterleaver

El bloque deinterleaver tiene como misión desentrelazar los valores LLR que proporciona el bloque demapper
como salida, de manera que se puedan volver a tener los datos en el orden original tal y como estaban dispuestos
antes del primer entrelazado, ocurrido en el bloque interleaver del transmisor.
Esta permutación se realiza de forma similar al entrelazado ya explicado, realizando un funcionamiento
pseudoaleatorio, basado en un estado inicial al que le pasamos la misma semilla proporcionada al interleaver.

4.1.2.5. Decodificador

Este último bloque del sistema receptor tiene la misión de convertir los valores LLR en valores binarios, por lo
que consiste en uno de los bloques fundamentales a la hora de recibir los datos correctamente.
El bloque FEC Decoder, alojado en el receptor, realiza una decodificación de los datos que tiene en su entrada
con el mismo ratio 3/5, quitando la información redundante, gracias a la misma matriz de paridad y trabajando a
su entrada con bloques múltiplos de 64800 datos y a su salida 38800, siendo totalmente complementario al
codificador.
Tras él, si la transmisión y recepción se ha realizado de forma correcta, se podrán comparar los resultados,
obteniendo la misma secuencia tanto a la entrada del transmisor como a la salida de este receptor.

4.2. Implementación del sistema óptico


Tras realizar el sistema transmisor y receptor OFDM, se realizan ejecuciones básicas de funcionamiento,
comprobando la correcta recepción de los datos con el objetivo de tener un sistema fiable para añadirle a
continuación las modificaciones necesarias para convertir este sistema en un O-OFDM.
Para ello se realizan los siguientes cambios en los bloques OFDM:

4.2.1. Mapper y demapper


Para hacer una adecuación del transmisor OFDM a uno O-OFDM es necesario hacer algunos cambios en los
bloques ya desarrollados, al igual que la aportación de un nuevo bloque encargado de modelar el dispositivo
óptico para la transmisión.
En nuestro sistema, se hará en primer lugar una modificación menor en el bloque mapper, añadiendo
condiciones en la entrada del mismo.
Como bien se ha explicado en su descripción, se realiza una conversión serie-paralelo al comienzo de este
bloque, pero hay prestar especial atención en tener los bits necesarios para hacer símbolos OFDM completos. En
el caso de O-OFDM, es necesario hacer esa comprobación de forma distinta, ya que debemos tener en cuenta las
portadoras que contienen datos únicamente.
Para ello se hace una diferenciación según si tenemos DCO-OFDM, Flip-OFDM o ACO-OFDM, debido a que
esta última configuración tiene la mitad de portadoras que las otras dos.
En el caso de que no hubiera bits suficientes para hacer símbolos completos se rellena con bits aleatorios hasta
llegar a completarlo. El motivo de usar bits aleatorios es debido a los picos de potencia que aparecen cuando hay
largas cadenas de 1s o 0s.
En el demapper en cambio, se realiza la eliminación de esos valores adicionales de una forma muy simple, ya
que se posee el número de elementos que entran en el deinterleaver, múltiplo de 64800, por lo que esta
eliminación se realiza cogiendo los primeros elementos del stream de datos, hasta llegar a ese número de
elementos consiguiendo así una correcta recepción de los datos.

4.2.2. IFFT y FFT


Tras realizar el mappeo de toda la información, seguimos con los cambios para adaptar el sistema OFDM a las
comunicaciones Li-Fi, por lo que la siguiente modificación se realiza en los bloques IFFT y FFT de la siguiente
forma:
Comenzando por la IFFT, el primer cambio viene tras la conversión serie-paralelo que usamos para tratar la
información. Esta modificación discrimina los tipos de modulación O-OFDM usados, para poner en el caso de
ACO-OFDM las portadoras pares a 0.
Una vez hecha esa diferenciación es cuando se realiza la simetría hermítica explicada en el capítulo 3, haciendo
los valores conjugados y traspuestos de la mitad superior de las portadoras para colocarlas en la mitad inferior,
de tal forma que contamos con todas las portadoras usadas para transmitir información completa.
Tras dicha operación, para completar el símbolo es cuando se le añaden los 0s a las portadoras 0 y N/2 además
de la creación del período de guarda añadiendo portadoras a 0 al comienzo y al final de dicho símbolo.
Por último, al igual que en OFDM se realiza el giro del espectro y la conversión al dominio temporal para su
paso al PC y tras él la transmisión.
32
Desarrollo del sistema

En el bloque FFT se realizan los cambios de forma análoga pero en orden inverso, por lo que en primer lugar se
realiza la fft y el giro del espectro. Tras estas operaciones es cuando eliminamos las portadoras a 0 que evitaban
la ISI así como la portadora situada en la posición 0 y N/2.
Una característica de estos símbolos unipolares y reales es que contienen la misma información dos veces
debido a la simetría hermítica, por lo que se tomarán esos dos valores similares y se hará su valor medio con el
objetivo de minimizar los errores. Tras la consecución de esos valores se eliminará la información hermítica por
ser redundante.
En el caso de ACO-OFDM, tras estas operaciones eliminamos las portadoras pares por no contener ninguna
información.

4.2.3. Cambios en el sistema transmisor


El sistema transmisor en sí mismo y no solo en los bloques que lo componen también sufre cambios para
adaptarse a las comunicaciones ópticas, por lo que es necesario describir los cambios efectuados que favorecen
el funcionamiento del mismo.
Una vez realizada la IFFT es necesario hacer de nuevo una discriminación de las distintas configuraciones O-
OFDM, para realizar los recortes que requiera cada uno y tras ello, añadir el prefijo cíclico, estando entonces la
señal preparada para ser pasada a la fuente óptica.
El caso más simple es DCO-OFDM, el cual tras su salida del bloque IFFT no requiere ningún recorte de valores,
por lo que es inmediato su paso por el bloque del prefijo cíclico.
Sin embargo no es tan inmediato en ACO-OFDM o en Flip-OFDM, pues estas configuraciones implican
recortes de los valores negativos de la señal. ACO-OFDM tras esa modificación de sus valores completa su
recorrido por el transmisor añadiendo el prefijo cíclico
Flip-OFDM además requiere un recorte de los valores positivos, por lo que crea dos símbolos OFDM por cada
uno existente, uno conteniendo la subtrama positiva y otro conteniendo la subtrama negativa.
Tras ello, estas subtramas se disponen unas detrás de otra para su transmisión consecutiva. Como conclusión se
añade el prefijo cíclico en ambas subtramas estando completas así las 3 configuraciones O-OFDM.
Como última modificación del código de este bloque se ha realizado una normalización de la potencia
transmitida, consiguiendo así que todas las configuraciones en las distintas modulaciones transmitan la misma
potencia, implicando unos resultados que se comentarán en el capítulo 6.

4.2.4. Dispositivos ópticos


Como último, pero no menos importante elemento del transmisor, nos encontramos con la fuente óptica, el
dispositivo que hará posible la transmisión de las señales luminosas para la comunicación con el receptor.
Este dispositivo se ha realizado mediante un modelado de un diodo LED de luz blanca existente en el mercado,
el Golden Dragon LW W5PM, creado por la marca OSRAM y sus principales características son las
siguientes:
Tabla 4–1. Parámetros del diodo LED modelado

Parámetro Valor
Temperatura de Min. -40 ºC
funcionamiento Max. 125 ºC
Min. 100 mA
Corriente directa IF
Max. 1000 mA
Min. 2,7 V
Tensión directa VF
Promedio 3,2 V
(IF = 350 mA)
Max. 3,7 V

Si observamos también su curva característica (Figura 4-3 (a)) se pueden establecer los límites máximos y
mínimos de funcionamiento del LED para nuestro sistema buscando siempre la máxima eficiencia.

Modelo lineal del LED


1100

1000

900

800

700
Corriente (mA)

600

500

400

300

200

100

0
2.8 3 3.2 3.4 3.6 3.8
Tensión (V)

Figura 4-3. Curva característica real (a) y modelado lineal (b) del LED

Teniendo en cuenta los valores máximos y mínimos de la corriente directa en la gráfica es inmediato observar
que el rango de funcionamiento para nuestro sistema se puede establecer perfectamente entre 3 y 3,6 V.
Para realizar el modelado de nuestro LED, consideraremos que la curva característica entre los valores 3 y 3,6V
elegidos forman una recta lineal (Figura 4-3 (b)), por lo que el transmisor debe tener un predistorsionador,
bloque que aplica la función inversa del diodo para ese comportamiento que supondremos ideal. El diseño de un
predistorsionador de estas características está resuelto en la literatura científica pero debido a su carácter
complejo no entraremos en detalles.
El modelo simplificado del LED también incluirá una zona de saturación en la zona alta de los valores de
corriente, siendo inexistentes valores más altos que 1000 mA. De forma similar, se ha incluido una zona de
saturación inferior, en la que no se podrá bajar de los 100 mA.
Una vez realizado el modelado del LED escogido es necesario hacer su implementación en Matlab en el
transmisor así como realizar el diseño de un fotodetector que funcione bajo las mismas características en el
receptor.
Comenzando por el diseño de esta fuente óptica, es necesario comentar que la señal proveniente de los demás
bloques del transmisor definida por la variable x, será modelada según la ecuación (4-2) para obtener la señal
transmitida y, realizando para ello las siguientes operaciones.

𝑦 = 𝛼𝑥 + 𝛽 (4–2)
34
Desarrollo del sistema

En primer lugar, tal y como se puede ver en esta ecuación se realiza una multiplicación por un coeficiente α,
nombrado también como ganancia, con el que buscaremos que la señal que nos llega como entrada se encuentre
dentro del rango de funcionamiento del diodo. Como la señal es mayor que ese rango, α será diseñada menor
que la unidad. Dicha α es un factor de gran importancia para los resultados del transmisor ya que la potencia
transmitida será proporcional a α2, por lo que nos conviene que tenga el mayor valor posible como se
comprobará en siguientes capítulos.
Tras ello, se le suma un valor de continua ß para situarnos en el valor óptimo del LED según el tipo de sistema,
siendo 3,3 V en el caso de DCO-OFDM para tener el mayor rango posible (posee valores positivos y negativos)
y el valor mínimo, 3 V en los demás casos, ya que a mayor rango, también será mayor la ganancia por la que
podremos multiplicar la señal.
Por último, antes de emitir la señal se realiza el truncamiento de los valores realizando así la protección del LED
y no superando nunca los valores mínimos y máximos diseñados en nuestro modelo, por lo que los valores
superiores a 3,6 V no superarán en ese valor y los inferiores a 3 V también se truncarán a ese valor mínimo.

Símbolo DCO-OFDM antes de la fuente óptica Símbolo DCO-OFDM tras la fuente óptica
4 3.7

3 3.6

3.5
2

3.4
Tensión (V)

Tensión (V)

1
3.3
0
3.2

-1
3.1

-2 3

-3 2.9
0 20 40 60 80 100 120 0 20 40 60 80 100 120
Portadoras Portadoras

Figura 4-4. Símbolo DCO-OFDM antes (a) y después (b) de su paso por la fuente óptica

En la figura 4-4 se tiene un ejemplo de funcionamiento para DCO-OFDM, comparando la señal justo antes de
entrar en el bloque óptico, y la señal que obtenemos en la salida. Observamos la diferencia de amplitud de
ambas señales, así como el nivel de continua añadido en 3,3 V o los valores truncados en 3 y 3,6 V, no
existiendo valores que superen dichos límites.

Símbolo ACO-OFDM antes de la fuente óptica Símbolo ACO-OFDM tras la fuente óptica
4.5 3.7

4
3.6
3.5
3.5
3
3.4
2.5
Tensión (V)

Tensión (V)

2 3.3

1.5
3.2
1
3.1
0.5
3
0

-0.5 2.9
0 20 40 60 80 100 120 0 20 40 60 80 100 120
Portadoras Portadoras

Figura 4-5. Símbolo ACO-OFDM antes (a) y después (b) de su paso por la fuente óptica
De forma análoga, podemos observar en la figura 4-5 el mismo funcionamiento para una configuración ACO-
OFDM, en la que vemos que la señal antes de su paso por la fuente óptica no tiene valores negativos debido al
recorte, además de ser una señal con una componente de continua por tener media mayor que cero. Por lo tanto
el parámetro ß tanto en estos sistemas como en Flip-OFDM se sitúa en el mínimo del rango de funcionamiento,
en 3V para cumplir nuestro objetivo de alcanzar una α máxima y con ello, la potencia.
En el caso del detector óptico, se realizan las operaciones de la ecuación (4-2) de forma inversa, por lo que a la
señal recibida se le resta el valor de continua añadido y tras ello se le divide entre el valor α, estando la señal así
lista para su procesamiento por los demás bloques del sistema receptor.
36
Desarrollo del sistema
5 PRUEBAS Y RESULTADOS

E n este capítulo, llegando a la parte fundamental de este proyecto, y por tanto de esta memoria, es donde se
exponen las pruebas realizadas para analizar las prestaciones de un sistema Li-Fi como el creado en el

n
capítulo anterior. Para ello, usaremos las medidas ya comentadas en el capítulo 2, habiendo sido desarrolladas
como el modelo del sistema en el mismo software, en Matlab.
Este apartado, será por tanto esencial para el último capítulo, en el que nos apoyaremos de las simulaciones aquí
expuestas, para realizar un estudio completo de los resultados obtenidos y con ello llegar hasta los objetivos
principales que han motivado el desarrollo del proyecto.
Para ver los análisis realizados, en primer lugar se expondrán los desarrollos y las descripciones de las pruebas
efectuadas. A continuación, usando las 3 configuraciones O-OFDM que se exponen en este documento, se
obtendrán las distintas simulaciones mediante cambios de parámetros, tales como las constelaciones usadas o el
rendimiento medido por la última prueba, EVM.

5.1. Cálculo de la PAPR


La primera medida de este capítulo, que se realiza en nuestro sistema, es el cálculo del PAPR; medida de
conocida importancia no sólo para este caso, sino para todos los sistemas que llevan implementado OFDM en
cualquiera de sus modalidades.
Este cálculo es uno de los más delicados en esos sistemas debido a que, la relación entre la potencia instantánea
y su media, es por lo general en estas configuraciones bastante alta, por lo que compararemos en primer lugar
esta medida con los distintos tipos de O-OFDM estudiados, y tras ello con las distintas modulaciones empleadas
en el desarrollo de este sistema (4,16 y 64-QAM).

|𝑥(𝑡)|2 (5–1)
𝑃𝐴𝑃𝑅 =
𝑃𝑎𝑣𝑔

Podemos encontrar este código en los anexos, en el archivo CalculaPAPR, con el que se calcula esta medida de
cada símbolo OFDM antes de ser convertido a señal óptica, con la peculiaridad de que se realiza tras
remuestrear los valores, para así tener mayor precisión.
Una vez completados los cálculos para todos los símbolos es cuando se representan los valores, usando para ello
una CCDF (Complementary Cumulative Distribution Function). Para la comprensión de este cálculo es
necesario recordar, a líneas generales, la definición de función de distribución.
Esta función consiste en la representación de la probabilidad de que una variable aleatoria X, sujeta a cierta ley
de distribución, se sitúe en la zona de valores menores o iguales a x, asociando por ello a cada valor de la
variable aleatoria la probabilidad acumulada hasta ese valor. Como los valores a evaluar son discretos, se
representa de la siguiente forma:
38
Pruebas y resultados

𝐹(𝑥) = ∑ 𝑓(𝑥𝑖 ) (5–2)


𝑥𝑖 ≤𝑥

Una vez explicadas las funciones de distribución, la implementación en Matlab de los cálculos de esos valores
de PAPR se realiza calculando la función ECDF (Empirical Cumulative Distribution Function), que devuelve la
función de distribución en los PAPR calculados de cada símbolo.
Convertir el resultado de los cálculos ECDF a su forma complementaria es tan simple como calcular la
complementaria de una variable de probabilidad, restarle su valor a 1, por lo que si la salida de dicha función es
representada como y, la salida de una CCDF será la siguiente.

𝑦 = 1−𝑦 (5–3)

Los resultados de estos cálculos nos darán una gráfica semilogarítmica en la que representaremos en el eje de
abscisas los valores PAPR, y en el eje de ordenadas la probabilidad de que cada valor de PAPR supere ese valor,
que toma la variable independiente.
Siguiendo entonces con los resultados de estos cálculos, se realizarán varias simulaciones para evaluar esta
medida de nuestro sistema, buscando la comparación tanto de los tres sistemas O-OFDM como de las
modulaciones escogidas, comenzando por la simulación que compara DCO-OFDM, ACO-OFDM y Flip-
OFDM con una modulación de 4-QAM.
Antes de proceder a comentar las gráficas, es necesario conocer que se tomarán como referencia los valores en
el valor de probabilidad de 10-3 , ya que todas las simulaciones de nuestro sistema tanto para PAPR como RCM
se efectúan sobre 1 millón de símbolos OFDM, lo que implica que tomamos para cada ejecución 5000 bloques
de datos que entran en el codificador, ya que es el parámetro que usamos para medir la cantidad de información
a transmitir.

CCDF Measurement - PAPR - (4QAM)


DCO-OFDM
0 ACO-OFDM
10 Flip-OFDM

-1
10
Probability

10 -2

10 -3

6 8 10 12 14 16 18
PAPR (dB)

Figura 5-1. Comparación del PAPR para 4-QAM.


Analizando la figura 5-1 representada sobre estas líneas, observamos que, implementando una modulación 4-
QAM sobre un sistema DCO-OFDM, tendrá un PAPR de 13,22 dB, un valor que respeta los valores
tradicionales que suele tener un sistema tradicional OFDM, 12 dB. En cambio si nos centramos las curvas verde
y azul, que representan a los sistemas Flip-OFDM y ACO-OFDM respectivamente, poseen un PAPR de 15,58
dB, y 15,79 dB, estando en torno a los 16 dB, siendo 2,5 dB aproximadamente superior a las medidas que nos
proporciona DCO-OFDM.
Si representamos de la misma forma el comportamiento de las 3 configuraciones bajo una modulación 16-QAM
tal y como podemos ver en la figura 5-2, se puede observar que el PAPR de DCO-OFDM ha sufrido un
decrecimiento mínimo de 0,1 dB, pasando a valer 13,12 dB. ACO-OFDM, de forma similar a esta configuración
ha sufrido un decrecimiento de 0,14 dB, dejando de forma independiente a Flip-OFDM, el cual se ha mantenido
en exactamente el mismo valor, 15,58 dB, por lo que ninguna de las 3 configuraciones ha sufrido un cambio
significativo, considerando así que se han mantenido iguales con respecto a 4-QAM.

CCDF Measurement - PAPR - (16QAM)


DCO-OFDM
0 ACO-OFDM
10 Flip-OFDM

-1
10
Probability

10 -2

10 -3

6 8 10 12 14 16
PAPR (dB)

Figura 5-2. Comparación del PAPR para 16-QAM.

De la misma forma que no han sufrido cambios en los valores del PAPR ninguno de los tres sistemas al
incrementar la modulación de 4-QAM a 16-QAM, se espera que ocurra lo mismo al incrementarse de nuevo a
una 64-QAM, de forma que representamos la gráfica que está recogida en la figura 5-3.
Por tanto, al observarla, vemos que DCO-OFDM no ha sufrido ningún decrecimiento, se ha mantenido en el
mismo valor, 13,12 dB, siendo distinto el caso de las otras dos configuraciones, bajando tanto ACO-OFDM
como Flip-OFDM medio decibelio cada una, descensos de décimas de decibelios que no son significativos, al
igual que no eran en el caso anterior. Podemos considerar estas variaciones sufridas por la sensibilidad del
programa y/o sistema.
Sin embargo, si podemos y debemos diferenciar la medida PAPR de DCO-OFDM de las otras configuraciones,
estando separada por 2,5 dB con respecto a los otros dos sistemas. Un PAPR más alto implica estadísticamente,
según su definición símbolos con picos más elevados con respecto a su potencia media, lo que llevado a
aspectos sobre las prestaciones de estos sistemas significa que las señales son menos uniformes, tienen mayores
picos, por lo que su paso por el diodo tendrá mayor índice de señal saturada y por consiguiente mayor distorsión,
creando por ello no linealidades, lo que puede derivar en mayores tasas de errores y de EVM.
40
Pruebas y resultados

CCDF Measurement - PAPR - (64QAM)


DCO-OFDM
0 ACO-OFDM
10
Flip-OFDM

-1
10
Probability

10 -2

10 -3

6 8 10 12 14 16
PAPR (dB)

Figura 5-3. Comparación del PAPR para 64-QAM.

5.2. Métrica Cúbica


Una vez concluido los cálculos de la medida del PAPR, comenzamos con los cálculos de la métrica cúbica, que
se han realizado mediante el archivo CalculaPAPR.m también contenido en el anexo D.
El motivo por el que calculamos esta medida ha sido comentado en el capítulo 2, por lo que en resumen
podemos afirmar que gracias a esta medida tendremos en cuenta no sólo únicamente los picos más altos de la
señal, como en el caso de PAPR, sino que usaremos para la medida los picos relativos, valores que también
poseen información relevante para nuestro análisis.

|𝑥(𝑡)| 3 (5–4)
𝑅𝐶𝑀(𝑥(𝑡))| 𝑑𝐵 = 20log (𝑟𝑚𝑠 [ ])
𝑟𝑚𝑠[𝑥(𝑡)]

Esta medida, a semejanza de PAPR, se realizará sobre 1 millón de símbolos OFDM con el mismo objetivo de
obtener la suficiente resolución en los cálculos. Su representación también se realizará gracias a la función
CCDF, en la cual en el eje de abscisas serán representados los valores RCM en dB y en el eje de ordenadas la
probabilidad de que haya valores RCM superior a ese valor en ese punto. Esta gráfica por tanto también será
semilogarítmica.
Siguiendo con las semejanzas que posee esta medida con el PAPR, la RCM se calcula en el mismo punto tras
generar la señal que será enviada a la fuente óptica, pero sin añadirle aún la ganancia ni el valor de DC.
Tras comentar como se realiza el cálculo y la simulación es momento de pasar a los resultados que obtenemos
con estos cálculos, por lo que comenzando por las medidas con una modulación 4-QAM procedemos a
comentar la representación de la gráfica 5-4.
CCDF Measurement - RCM - (4QAM)
DCO-OFDM
0 ACO-OFDM
10 Flip-OFDM

-1
10
Probability

10 -2

10 -3

5 10 15 20 25 30
RCM (dB)

Figura 5-4. Comparación de la RCM para 4-QAM.

Si nos fijamos en las curvas de los sistemas, vemos una cierta analogía a los valores obtenidos por la medida
PAPR, en la que los valores de la configuración DCO-OFDM son en comparación más pequeños que los
valores obtenidos por ACO-OFDM o Flip-OFDM, que siguen valiendo magnitudes parecidas entre ellos.
De forma específica para esta gráfica, podemos observar que la métrica cúbica obtenida para DCO-OFDM en la
probabilidad 10-3 es de 18,16 dB, con lo que podemos ver que es del orden de 5 dB mayor que la medida PAPR
para las mismas condiciones. En cambio los valores obtenidos por ACO-OFDM y Flip-OFDM son 25,11 dB y
24,96 dB respectivamente, también superiores a valores PAPR de las mismas condiciones, pero siendo el
incremento el doble que con DCO-OFDM, 10 dB.
Centrándonos únicamente en esta gráfica, se describe también que DCO-OFDM está distando de ACO-OFDM
y Flip-OFDM unos 6 dB, remarcando por tanto que estas dos últimas tienen valores muy parecidos para todas
las modulaciones.
Habiendo expuesto ya los resultados para una constelación de 4 puntos, procedemos a estudiar la gráfica
resultante de realizar la ejecución del sistema para una constelación mayor, 16 puntos, por lo que la figura 5-5
contiene las curvas que describiremos a continuación.
42
Pruebas y resultados

CCDF Measurement - RCM - (16QAM)


DCO-OFDM
0 ACO-OFDM
10 Flip-OFDM

-1
10
Probability

10 -2

10 -3

5 10 15 20 25 30
RCM (dB)

Figura 5-5. Comparación de la RCM para 16-QAM.

Procediendo entonces con la descripción de esta figura, situada sobre estas líneas, se percibe de inmediato que
sigue la misma organización y comportamiento que las gráficas ya estudiadas, por lo que es más rápido su
análisis.
DCO-OFDM posee un RCM de 17,92 dB, por lo que podemos afirmar que no ha cambiado su valor.
Únicamente ha bajado sobre 0,2 dB con la medida realizada con una modulación de 4-QAM, siendo de la
misma forma las medidas que dan las gráficas de ACO-OFDM, dando un resultado de 25,05 dB bajando 0,06
dB con su predecesora y Flip-OFDM, que baja 0,07 dB con respecto a la medida de 4-QAM, teniendo un valor
de 24,89 dB. En definitiva, son todos ellos cambios nada significativos.
Tras esta simulación, únicamente nos queda la representación y análisis de la última modulación, con la que
esperamos ver si ha habido alguna variación en las medidas calculadas o simplemente no variarán estos valores
RCM, al igual que no lo han hecho los valores PAPR cambiando de modulación.
Procediendo a ello, vemos en la figura 5-6 las tres curvas de distribución complementarias de estas medidas, en
la que podemos señalar los valores de las tres configuraciones O-OFDM, obteniendo por tanto los siguientes:
 17,96 dB para DCO-OFDM.
 24,72 dB para Flip-OFDM.
 25,08 dB para ACO-OFDM.
Si comparamos los valores obtenidos con los comentados anteriormente, observamos que la variación ha sido
desde 0,03 dB en el caso de ACO-OFDM hasta 0,17 dB en el caso de Flip-OFDM, por lo que podemos concluir
que tanto en 64-QAM no ha habido cambios con respecto las otras modulaciones, como que en las 3
modulaciones, 4, 16 y 64-QAM poseen los mismos valores de RCM.
Por tanto como conclusión de estas pruebas, comentamos que los valores de PAPR y RCM no son dependientes
de la modulación, pero sin embargo, el sistema que tiene los valores más bajos de ambas medidas ha sido DCO-
OFDM en comparación con los otros dos.
Este PAPR y RCM alto en esos sistemas indica por tanto que no sólo tienen una alta proporción el pico máximo
con la potencia promedio, sino que los picos más importantes también tienen una alta proporción, por lo que con
dos medidas de linealidad, una más exacta que otra, hemos llegado al mismo resultado.
ACO-OFDM y Flip-OFDM tendrán mayor distorsión a su paso por el amplificador previo del LED, ya que a
una mayor presencia de picos elevados, más valores serán saturados en el valor máximo de nuestro modelo 3,6
V. Al igual que se ha comentado al ver los resultados de PAPR, indicamos que a mayor presencia de no
linealidades, mayor será la probabilidad de recibir un bit erróneo.

CCDF Measurement - RCM - (64QAM)


DCO-OFDM
0 ACO-OFDM
10 Flip-OFDM

-1
10
Probability

10 -2

10 -3

5 10 15 20 25 30
RCM (dB)

Figura 5-6. Comparación de la RCM para 64-QAM.

5.3. Error-Vector Magnitude (EVM)


Una vez calculados tanto el PAPR como la RCM, se concluyen todas las medidas sobre la relación entre los
picos de potencia y la potencia promedio de la señal transmitida del sistema, por tanto siguiendo con las medidas
de nuestro proyecto, pero sobre un aspecto distinto, llegamos hasta el EVM con el cual calcularemos la
diferencia entre los puntos de la constelación emitidos y transmitidos, muy útil para los objetivos de este trabajo,
ya que en ausencia de ruido es una buena medida de la relación señal a distorsión, y por tanto para calcular la
linealidad.
Dicha medida se realiza con la señal saliente del bloque TX_mapper y la entrada del RX_demapper, por lo que
lo más fácil para su cálculo es pasar dichas señales a una función independiente con la que calcularemos dichos
valores.
Como bien se ha introducido en el capítulo 4, las señales que pasan del transmisor al bloque del LED para su
emisión pasan por un modelo que sigue una relación lineal en el centro de su rango dinámico, pero que añade
saturación en los extremos. Dicha saturación implica una distorsión en la señal de salida, que gracias a nuestro
modelo simplificado dependerá de α y ß.
Para nuestro experimento buscamos los parámetros (α y ß) del LED que nos ofrezca la distorsión que queremos.
Para ello marcamos un valor objetivo de EVM, en nuestro caso -20 dB, siendo el equivalente a 20 dB de SNR,
valor con el que se puede demodular perfectamente una señal 64-QAM, ya que es el peor caso de nuestro
sistema por tener las regiones de decisión más limitadas. Se espera de la misma forma no tener errores tras la
salida de los datos por el bloque decodificador.
44
Pruebas y resultados

La metodología usada será ir probando varios valores, hasta encontrar los que más se ajusten, tanto de ganancia
como de valor de continua. Para el experimento se ha considerado de antemano tomar el valor de ß 3,3 V para
DCO-OFDM, por ser un valor que está en la mitad del rango dinámico del LED, ya que las señales resultantes
de este tipo de sistemas tienen valores tanto positivos y negativos antes de la adición de dicho valor.
Para ACO-OFDM y Flip-OFDM se ha realizado un razonamiento similar, debido a que las señales que entren
en el dispositivo óptico serán únicamente con valores positivos. Por tanto antes de realizar la simulación se
espera que ß tenga un valor de 3 V para maximizar así el rango del diodo.
Estos valores se han elegido con la premisa de obtener la mayor α posible que cumpla el requisito de la EVM
marcado, maximizando así el rango del LED usado y por tanto la potencia de transmisión.
Comenzando por tanto con nuestro experimento, vemos los resultados que se obtienen al calcular el α del
sistema DC-OFDM en la figura 5-7, dispuesta a continuación.

Cálculo de a y ß para DCO-OFDM (-20EVM)


-4
a = 0,140
-6 a = 0,150
a = 0,153
a = 0,160
-8 a = 0,170

-10

-12
EVM (dB)

-14

-16

-18

-20

-22

-24
3 3.1 3.2 3.3 3.4 3.5 3.6
DC (V)

Figura 5-7. Obtención de α y ß a través del EVM para DCO-OFDM.

Según lo expuesto unas líneas más arriba, se puede advertir en la gráfica que la curva con mayor α que llega
hasta el valor EVM de -20 dB es la azul, que tiene un valor de 0,153. La ß, en cambio, es inmediata de obtener,
pues es el valor de tensión donde ese EVM es -20 dB, por tanto 3,3 V.
Para el caso de DCO-OFDM ya se tienen entonces los valores de α y ß que cumplen este valor de -20 dB, por lo
que a continuación se realiza la misma prueba con los sistemas ACO-OFDM y Flip-OFDM.
Tras estas líneas se pueden observar las figuras 5-9 y 5-10, que contienen los cálculos de α y ß que hacen que se
cumpla el objetivo de -20 dB de EVM tanto de ACO-OFDM como de Flip-OFDM y además siendo muy
similares entre ellas, por lo que se usará el mismo razonamiento para las dos.
En la primera de ellas, en la figura 5-9, vemos que la curva con mayor α que llega hasta superar -20 dB es la
azul con una α de 0,216. La ß es el punto de donde cruzamos este límite de EVM, por tanto consideramos 3 V.
En la segunda gráfica, en la 5-10, los cálculos son exactamente iguales, obteniendo una α de 0,216 y una ß de 3
V, por lo que tenemos en DCO-OFDM y ACO-OFDM los mismos valores.
Cálculo de a y ß para ACO-OFDM (-20 dB EVM)
0

-5

a = 0,200
a = 0,210
a = 0,216
-10
a = 0,220
EVM (dB)
a = 0,230

-15

-20

-25
3 3.1 3.2 3.3 3.4 3.5 3.6
DC (V)

Figura 5-8. Obtención de α y ß a través del EVM para ACO-OFDM

Cálculo de a y ß para Flip-OFDM (-20 dB EVM)


0

-5

a = 0,200
a = 0,210
a = 0,216
-10
a = 0,220
EVM (dB)

a = 0,230

-15

-20

-25
3 3.1 3.2 3.3 3.4 3.5 3.6
DC (V)

Figura 5-9. Obtención de α y ß a través del EVM para Flip-OFDM

Tras estos cálculos representamos en la figuras 5-10 un ejemplo de los puntos de la constelación recibidos
habiendo implementado el α y ß, que hemos obtenido gracias al EVM de -20 dB.
46
Pruebas y resultados

Constelación recibida 4-QAM Constelación recibida 16-QAM


1 1.5

0.8
1
0.6

0.4
0.5
0.2
Quadrature

Quadrature
0 0

-0.2
-0.5
-0.4

-0.6
-1
-0.8

-1 -1.5
-1 -0.5 0 0.5 1 -1.5 -1 -0.5 0 0.5 1 1.5
In-Phase In-Phase

Constelación recibida 64-QAM


1.5

0.5
Quadrature

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5
In-Phase

Figura 5-10. Constelaciones recibidas para 4-QAM, 16-QAM y 64-QAM a un nivel de -20 dB EVM

Tal y como vemos en las figuras, advertimos que los puntos recibidos no coinciden exactamente con los
transmitidos, pero siguen estando en la región de decisión de cada punto, por lo que la recepción se realiza de
forma correcta. De todas formas es fácilmente demostrable que la modulación más vulnerable al efecto de la
EVM es 64-QAM, por tener una región de decisión más pequeña, lo que provoca que sea más fácil que haya un
error de bit en dicha configuración.
Una vez realizados estos análisis, procedemos a calcular de la misma forma los parámetros de la fuente óptica de
los tres sistemas O-OFDM, para obtener una EVM de -10 dB y -15 dB. Los resultados de los cálculos de las α y
ß para los tres niveles EVM seleccionados están recogidos en la tabla 5-1 mostrada a continuación.

Tabla 5–1. Parámetros del modelo LED según valores EVM


DCO-OFDM ACO-OFDM Flip-OFDM
EVM
α ß α ß α ß
-20 dB 0,153 0,216 0,216
-15 dB 0,190 3,3 V 0,270 3,0 V 0,270 3,0 V
-10 dB 0,260 0,370 0,370

Con los resultados expuestos, comprobamos que a mayor EVM, mayor será la ganancia del modelo diseñado, lo
que se traduce a una mayor señal que llega hasta los límites de nuestro diodo y por tanto saturará, creando no
linealidades. El valor de continua, sin embargo, no varía con los niveles de EVM, ya que las señales seguirán
con la misma estructura comentada para la elección de la ß en el nivel de -20 dB.
Esta distorsión se traduce también como una diferencia entre los puntos transmitidos y recibidos, por lo que
representamos las constelaciones recibidas con un valor EVM de -10 dB en la figura 5-11, por ser el mayor
valor a contemplar y compararlo así con el menor estudiado que es -20 dB.
Podemos observar claramente que se vuelve a comprobar la relación entre distorsión y valor EVM, tal y como
advertimos en la dispersión de los puntos, viendo además que a más puntos de la constelación, hay mayor
probabilidad de error. Debemos informar por ello en este punto que la modulación 64-QAM en -10 dB de EVM
no es apta para su estudio por contener una alta tasa de error.

1 1.5

0.8
1
0.6

0.4
0.5
0.2
Quadrature

Quadrature
0 0

-0.2
-0.5
-0.4

-0.6
-1
-0.8

-1 -1.5
-1 -0.5 0 0.5 1 -1.5 -1 -0.5 0 0.5 1 1.5
In-Phase In-Phase

1.5

0.5
Quadrature

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5
In-Phase

Figura 5-11. Constelaciones recibidas para 4-QAM, 16-QAM y 64-QAM a un nivel de -10 dB EVM

5.4. Cálculo de la potencia por portadora (Pc)


Una vez calculadas las α y ß de todos los EVM deseados, para todas las configuraciones a estudiar en este
proyecto, podemos proceder a realizar un estudio de la potencia por portadora de nuestro sistema Li-Fi, por lo
que realizaremos simulaciones para obtener los resultados que serán comentados en el siguiente capítulo.
Para esta operación usaremos valores obtenidos en el bloque transmisor, mediante cálculos implementados en
una función llamada CalculaPotencia.m que se encuentra en el anexo del banco de pruebas, la cual nos dará
como resultado la potencia por portadora buscada tras su emisión en el LED.
Para su implementación y desarrollo, tendremos en cuenta la normalización de las magnitudes, usando como
referencia la potencia del sistema DCO-OFDM, por lo que los valores de ACO-OFDM y Flip-OFDM serán
relativos a ese sistema.
48
Pruebas y resultados

Tras poner en situación, comenzamos los cálculos después de añadir el prefijo cíclico, conociendo que la
constelación del mapper está normalizada, por lo que la potencia media por portadora ocupada, a partir de ahora
también denominada Pc, en nuestro sistema de referencia estará con valor unidad. No siendo el mismo caso de
ACO-OFDM ni Flip-OFDM, que estudiaremos a continuación comparando los espectros de sus portadoras.

DCO-OFDM ACO-OFDM
1.2 0.5

0.45
1
0.4

0.35
0.8
0.3
Potencia

Potencia
0.6 0.25

0.2
0.4
0.15

0.1
0.2
0.05

0 0
0 20 40 60 80 100 120 0 20 40 60 80 100 120
Portadoras Portadoras

Flip-OFDM
1

0.9

0.8

0.7

0.6
Potencia

0.5

0.4

0.3

0.2

0.1

0
0 20 40 60 80 100 120
Portadoras

Figura 5-12. Potencias por portadoras tras Prefijo Cíclico.

ACO-OFDM en el mismo punto con la misma configuración, no posee la misma potencia por portadora
ocupada, ya que de partida lleva la mitad de portadoras de información anuladas, por tanto tiene un valor de ¼.
Flip-OFDM, observando su espectro y calculando su valor medio de forma experimental obtenemos que tiene
una Pc de 0,32.

1 𝐹𝑙𝑖𝑝 (5–5)
1 = 𝑃𝑐𝐷𝐶𝑂 = 4𝑃𝑐𝐴𝐶𝑂 = 𝑃
0,32 𝑐

Tras la obtención de estos valores, es cuando en la transmisión se realiza la normalización de la potencia de la


señal transmitida a la unidad, dividiendo para ello a cada sistema por la raíz de su potencia de normalización.
Llamaremos a dicho valor Pnorm, siendo distintas en los tres sistemas, pero siguiendo también una relación entre
ellas. En cambio en el cálculo de la potencia, dividiremos por su valor sin hacer ninguna raíz.
Si consideramos de nuevo la Pnorm de DCO-OFDM como referencia, obtenemos que en el caso de ACO-OFDM
se reduce de nuevo a ¼, pero en este caso debido a que es dividido por dos por el hecho de tener la mitad de
portadoras ocupadas y dividido de nuevo entre 2 por haber hecho un recorte de todos los valores negativos,
bajando su potencia promedio por tanto a la mitad.
Flip,-OFDM en cambio únicamente divide entre 2 su valor de Pnorm, ya que tiene todas las portadoras de
información ocupadas, pero realiza un recorte en promedio de la mitad de los valores, sean negativos o positivos
cambiados de signo, por lo que baja al igual que el sistema anterior su potencia promedio a la mitad.

𝐷𝐶𝑂 = 4𝑃 𝐴𝐶𝑂 = 2𝑃 𝐹𝑙𝑖𝑝


𝑃𝑛𝑜𝑟𝑚 𝑛𝑜𝑟𝑚 𝑛𝑜𝑟𝑚
(5–6)

Una vez obtenidos todos los valores de potencia de las 3 configuraciones, sólo queda por multiplicar por el valor
de α2, ya que dicho valor de ganancia al pasar en términos de potencia se eleva al cuadrado. Pudiendo observar
de forma experimental la relación expuesta en la ecuación (5-7) gracias a los resultados de la tabla 5-1.

2
1 2 1 2 (5–7)
𝛼𝐷𝐶𝑂 = 𝛼𝐴𝐶𝑂 = 𝛼𝐹𝑙𝑖𝑝
2 2

Tras ello pasamos a realizar el cálculo y posterior comparación de ellas. Para dicho objetivo usaremos las
ecuaciones de la (5-8) a la (5-10), siendo los cálculos de DCO-OFDM, ACO-OFDM y Flip-OFDM
respectivamente.
2 2
𝐷𝐶𝑂
𝑃𝑐𝐷𝐶𝑂 𝛼𝐷𝐶𝑂 𝛼𝐷𝐶𝑂 (5–8)
𝑃𝑐𝑇𝑥 = 𝐷𝐶𝑂 = 𝐷𝐶𝑂
𝑃𝑛𝑜𝑟𝑚 𝑃𝑛𝑜𝑟𝑚
2
𝐴𝐶𝑂
𝑃𝑐𝐴𝐶𝑂 𝛼𝐴𝐶𝑂 (5–9)
𝑃𝑐𝑇𝑥 = 𝐴𝐶𝑂
𝑃𝑛𝑜𝑟𝑚
𝐹𝑙𝑖𝑝 2
𝐹𝑙𝑖𝑝 𝑃𝑐 𝛼𝐷𝐶𝑂 (5–10)
𝑃𝑐𝑇𝑥 = 𝐹𝑙𝑖𝑝
𝑃𝑛𝑜𝑟𝑚

Una vez expuestas las ecuaciones que usaremos para el estudio de las potencias por portadora transmitidas,
realizamos la comparación entre ellas, siguiendo con el uso de DCO-OFDM como referencia, a las cuales le
nombraremos como potencia por portadora transmitida normalizadas.
Por tanto el resultado de la ecuación (5-8) será normalizado a 1 como vemos en (5-11), ya que se divide entre si
mismo. Usaremos de la misma forma las ecuaciones (5-5), (5-6) y (5-7) para llegar a los siguientes resultados:
𝐷𝐶𝑂
𝑃𝑐𝑇𝑥 (5–11)
𝑃̂𝑐𝑇𝑥
𝐷𝐶𝑂
= 𝐷𝐶𝑂 = 1
𝑃𝑐𝑇𝑥
𝐴𝐶𝑂
𝑃𝑐𝑇𝑥 (5–12)
𝑃̂ 𝑐𝑇𝑥
𝐴𝐶𝑂
= 𝐷𝐶𝑂 = 2
𝑃𝑐𝑇𝑥
𝐹𝑙𝑖𝑝
𝐹𝑙𝑖𝑝 𝑃𝑐𝑇𝑥 (5–13)
𝑃̂ 𝑐𝑇𝑥 = 𝐷𝐶𝑂 = 1,28
𝑃𝑐𝑇𝑥

En la tabla 5-1 se realizarán esos cálculos, tanto los necesarios para obtener la potencia por portadora,
transmitida de cada sistema como la comparación entre ellas. Se realiza también así la comparación para las
distintas constelaciones como para los niveles de EVM, con el objetivo de hacer un estudio lo más exhaustivo
posible.
50
Pruebas y resultados

Tabla 5–2. Cálculo de la potencia por portadora de los distintos sistemas


DCO-OFDM ACO-OFDM Flip-OFDM
Beta = 3,3 Beta = 3 Beta=3
EVM M-QAM α PcTX P^cTX α PcTX P^cTX α PcTX P^cTX
4 0,153 0,0312 1 0,216 0,0623 1,9945 0,216 0,0398 1,2756
-20 16 0,153 0,0280 1 0,216 0,0560 1,9993 0,216 0,0357 1,2756
64 0,153 0,0276 1 0,216 0,0548 1,9872 0,216 0,0352 1,2756
4 0,190 0,0481 1 0,270 0,0973 2,0208 0,270 0,0622 1,2924
-15 16 0,190 0,0432 1 0,270 0,0875 2,0257 0,270 0,0558 1,2924
64 0,190 0,0426 1 0,270 0,0857 2,0134 0,270 0,0550 1,2924
4 0,260 0,0901 1 0,370 0,1827 2,0266 0,370 0,1168 1,2961
-10 16 0,260 0,0808 1 0,370 0,1642 2,0315 0,370 0,1048 1,2961
64

Como conclusión a este capítulo, describiremos la tabla 5-1 comparando sus resultados experimentales con los
obtenidos en las ecuaciones descritas anteriormente, por lo que haremos un análisis de las potencias por
portadora que transmite cada sistema O-OFDM con distintas configuraciones.
En primer lugar, vemos en líneas generales que se han cumplido las ecuaciones en los resultados de la tabla con
respecto a las relaciones entre los 3 sistemas, es decir, la potencia por portadora transmitida de ACO-OFDM es
el doble de DCO-OFDM y la PcTX de Flip es 1,28 veces más grande que la referencia.
Esto implica un comportamiento más robusto frente al ruido en el receptor. Específicamente la relación
portadora ruido (C/N) incrementa su valor en ACO-OFDM 3 dB frente a DC-OFDM. De la misma forma se
incrementa también esa relación en Flip-OFDM pero en menor medida.
De lo general a lo particular, es posible observar el incremento de PcTX según va aumentando el EVM, y el
razonamiento no es más que analizar del mismo modo el incremento que sufren la potencias por portadora al
incrementarse α, ya que a mayor EVM, hay mayor distorsión, provocado por una mayor saturación de la
señal.
Ese incremento de la señal está íntimamente relacionado con mayor potencia de portadora, tal y como se
comentó en el apartado relacionado con EVM. También se ha visto la proporcionalidad que tiene en las
ecuaciones, observando que la proporción entre los distintos sistemas no varía al modificar estos valores de
distorsión, ya que aumenta pero de forma inapreciable.
6 CONCLUSIONES

Nada puede venir de la nada.


- William Shakespeare -

E ste capítulo consiste en la última y más importante parte de esta memoria, ya que es el apartado donde
se describen y comentan los distintos resultados de las pruebas realizadas a lo largo de este documento.

n
Está formado por un análisis global de nuestro sistema, al que también añadiremos al final de este capítulo
una serie de posibles líneas futuras de investigación.
Este trabajo fin de grado expone un estudio de las prestaciones de sistemas de comunicación Li-Fi mediante
la creación de un modelo realizado en Matlab que sigue la estructura de los sistemas OFDM tradicionales al
que realizamos adaptaciones para comunicaciones ópticas.
Dicho sistema se ha implementado con modulaciones QAM y se le han añadido técnicas de codificación y
entrelazado para la corrección de errores en la recepción. Diseñado también de forma totalmente
configurable por el usuario, permite cambiar el tamaño de la FFT, los puntos de la constelación, la longitud
del prefijo cíclico o el ratio del codificador entre otras cosas.
La adaptación se hace mediante técnicas que se usan actualmente en los estándares de comunicaciones
ópticas inalámbricas, como son DCO-OFDM, ACO-OFDM y Flip-OFDM, a lo que debemos añadirle el
modelado del LED que usaremos como fuente óptica, del cual estudiamos su comportamiento no lineal.
Mediante distintas simulaciones y medidas tales como el cálculo del PAPR, la métrica cúbica o el EVM se
han comparado algunas prestaciones de este tipo de sistemas como la linealidad o potencia de transmisión,
cuyos resultados se comentan a continuación.
Tabla 6–1. Comparación de los sistemas O-OFDM
Potencia por
Tasa de
Sistema portadora
Transmisión
transmitida
DCO-OFDM R Pc
ACO-OFDM R/2 2Pc
Flip-OFDM R/2 1,28Pc
52
Conclusiones

En varios documentos usados para el desarrollo de esta memoria aparecen comparaciones entre estos tipos de
sistemas O-OFDM, o al menos entre dos de ellos, pero ninguno realiza esta comparación partiendo de una
misma potencia de transmisión, por ello se realizan las siguientes conclusiones a partir de los resultados
obtenidos en la tabla.
Comenzando por tanto por la comparación de las tasas de transmisión, es necesario indicar que aunque se tome
por referencia la tasa R de DCO-OFDM, estos sistemas tienen la mitad de tasa que un sistema OFDM
tradicional, debido a que sacrifican la mitad de las portadoras de información para realizar la simetría hermítica
y por tanto poder ser transmitida por un medio óptico unipolar.
ACO-OFDM tiene en cambio la mitad de tasa de transmisión que DCO-OFDM, debido al sacrificio de las
portadoras pares tal como viene explicado en el capítulo 3, por lo que para transmitir la misma cantidad de datos
necesita el doble de símbolos, provocando esta reducción de la tasa.
Flip-OFDM, al igual que este último sistema tiene la mitad de tasa de transmisión que DCO-OFDM, pero sin
embargo usa todas las portadoras de información. Entonces esta reducción de la tasa viene definida por el
recorte de los valores positivos y negativos que forman subtramas independientes.
Estas subtramas se deben unir de dos en dos para poder ser recibidas correctamente, por lo que al igual que
ACO-OFDM para transmitir la misma cantidad de datos que DCO-OFDM necesitará el doble de símbolos, y
por tanto la tasa de transmisión se reducirá a la mitad.
Siguiendo con esta comparación, comentamos que los valores de PAPR y RCM no son dependientes de la
modulación, pero sin embargo, el sistema que posee los valores más bajos de ambas medidas es DCO-OFDM
en comparación con los otros dos, siendo traducido en una menor distorsión de los picos de la señal.
Sin embargo, tanto ACO-OFDM como Flip-OFDM aparentan tener las mismas medidas de relaciones de
potencia (PAPR y RCM), lo que hace suponer que tendrán una distorsión parecida a su paso por el LED
modelado. Estos dos sistemas también tienen la misma ganancia en dicho modelo, lo que hace que sean sistemas
a niveles de linealidad bastante iguales.
Este PAPR y RCM alto en esos sistemas viene definido estadísticamente hablando por contener símbolos con
mayores picos con respecto a su potencia media debido a que las ganancias son considerablemente más grandes
que en DCO-OFDM, además que estos sistemas al tener la mitad de las portadoras a 0 hacen que su nivel medio
suba, y por tanto la potencia. Pero como este incremento en los picos es mayor al incremento subido en la
potencia media, provoca que las medidas tengan valores más altos.
Siguiendo por el EVM, es necesario comentar que ha sido una de las medidas que más han marcado el
desarrollo de este proyecto ya que ha sido usado para cuantificar la distorsión que ha sido añadida a los puntos
de la constelación y con ello la linealidad, habiendo concluido con ello en el anterior capítulo que a mayor
potencia de portadora transmitida producirá mayor ganancia y por tanto una mayor distorsión.
Aún viendo que DCO-OFDM parece más eficiente en términos de distorsión, es necesario hacer énfasis en
indicar que es la técnica con menor potencia por portadora transmitida, y por tanto una menor relación C/N en
recepción.
Por tanto debemos escoger si queremos un sistema con alta tasa de transferencia y poca potencia de transmisión
o sistemas con mucha potencia con la mitad de tasa.

Tras el análisis y presentación de los resultados que hemos obtenido con la realización de este proyecto se
aportan algunas líneas futuras de trabajo que no se han podido abordar por el alcance de este trabajo.
Uno de los aspectos que no se han estudiado es el comportamiento que tendría el estándar implementado con
las luminarias convencionales, debido a que hay que contemplar la adición de modulaciones sobre la
iluminación.
Este nivel de iluminación viene determinado por el valor medio de los símbolos O-OFDM, por tanto variaría
según el sistema implementado. Particularmente DCO-OFDM, al tener su valor medio en la mitad del rango
de funcionamiento para incrementar la iluminación debería subir ese valor medio, y por tanto reduciendo así
su rango de funcionamiento, viéndose reducida tanto la potencia como el alcance de nuestra transmisión.
De esta forma, se abre la posibilidad de realizar nuevos experimentos tras este desarrollo, tales como la
investigación de cómo actuarían las distintas configuraciones en las luminarias o la implementación vía
hardware de un sistema transmisor/receptor mediante dispositivos FPGA o micro controladores con el
objetivo de realizar una comparación con el modelado software desarrollado.
54
Conclusiones
REFERENCIAS

[1] ITU G.992.1. Unión Internacional de Telecomunicaciones, Julio 1999.

[2] R.W. Chang. Synthesis of band-limited orthogonal signals for multichannel data transmission, Bell
Systems Tech. Journal, Dec. 1966, vol. 45, 1775–1796.

[3] B. R. Saltzberg, Performance of an efficient parallel data transmission systems, IEEE Transactions on
Communications Technology, Dec. 1967, vol. 9, 723-728.

[4] S. B. Weinstein y P. M. Ebert, Data transmission by frequency-division multiplexing using the discrete
Fourier transform, IEEE Trans. Communications, Octubre 1971, vol. 19 (5), 628-634.

[5] A. Peled y A. Ruiz, Frequency domain data transmission usingreduced computational complexity
algorithms, In Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, Abril
1980, volume 5, 964-967.
[6] I. Kalet, The multitone channel, IEEE Transactions on Communications, Febrero 1989, vol. 37, 119-
124
[7] J.García Doblado, A. C. Oria Oria, V. Baena Lecuyer et al. Cubic Metric Reduction for DCO-OFDM
Visible Light Communication Systems. Journal of Lightwave technology, Mayo 2015, vol 30 (10).

[8] Global Internet Device Installed Base Forecast recuperado de www.gartner.com

[9] Esquilo, La Orestíada. Barcelona, Editorial Juventud, 1994.

[10] O Takahashi y T. Touge, Optical Wireless Network for Office Communication, JARECT, 1985/1986,
vol. 20, 217-228.

[11] M. D. Kotzin y A. P. van den Heuvel. A duplex infra-red system for in-building communications,
IEEE VTC, 1986, 179-185.

[12] R. L. Poulin, D. R. Pauluzzi y M.R. Walker, A Multi-Channel Infrared Telephony Demonstration


System for Public Access Applications, IEEE ICWC, 1992, 286-291.

[13] D.J. Barros, S. K. Wilson y J. M. Kahn, Comparison of Orthogonal Frequency-Divison Multiplexing


and Pulse-Amplitude Modulation in Indoor Optical Wireless Links. IEEE Transactions on
Communications, Enero 2012, vol 60, 153-163.

[14] N. Fernando, Y. Hong y E. Viterbo, Flip-OFDM for Unipolar Communication Systems. IEEE
Transactions on Communications, 2012, vol 60, 3726-3733.

[15] http://lificonsortium.org/technology.html
56
Referencias
ANEXOS

En estos Anexos se encuentra todo el código Matlab empleado en el desarrollo de este proyecto. Comienza por
la configuración del sistema en el anexo A, y continúa por el código del transmisor y receptor en los anexos B y
C respectivamente.
Dicho documento concluye con los archivos empleados para realizar las pruebas existentes en el capítulo 5.

A. Configuración del sistema


function [ config ] = config (value)

% Función que crea un struct con toda la configuración necesaria para el


correcto funcionamiento del sistema Transmisor

% ============ System selection ============


if value == 2;

config.Select.DCO = 0; % DCO-OFDM selection flag


config.Select.ACO = 1; % ACO-OFDM selection flag
config.Select.Flip = 0; % Flip-OFDM selection flag

elseif value == 3;

config.Select.DCO = 0; % DCO-OFDM selection flag


config.Select.ACO = 0; % ACO-OFDM selection flag
config.Select.Flip = 1; % Flip-OFDM selection flag

else

config.Select.DCO = 1; % DCO-OFDM selection flag


config.Select.ACO = 0; % ACO-OFDM selection flag
config.Select.Flip = 0; % Flip-OFDM selection flag
end
% ==========================================

% ============ Input parameters ============


config.Input.seed = 29; % Input sequency seed
config.Input.packets = 1; % Number of packets
% ==========================================

% ============= FEC parameters =============


config.FEC.ratio = 3/5; % Parity Check Matrix Ratio
config.FEC.size = 64800; % Size of FEC output
config.FEC.input = config.Input.packets * config.FEC.size * config.FEC.ratio;
% Size of FEC input
% ==========================================

% ========= Interleaver parameters =========


config.Interleaver.state = 31415; % Interleaver seed
% ==========================================

% ============ Mapper parameters ===========


config.Mapper.size = config.Input.packets * 64800; %
58
Anexos

Size of the mapper input


config.Mapper.M = 4; % Alphabet size
% ==========================================

% ============= IFFT parameters ============


config.FFT.size = 128; % FFT Size
config.FFT.zerovalues = 30; % Number of zero values in a IFFT symbol
% ==========================================

% ======== Cyclic Prefix parameters ========


config.CP.size = 12; % Cyclic Prefix size
% ==========================================

% ============ Diode parameters ============


config.Diode.upper = 3.6; % Diode Upper value
config.Diode.lower = 3; % Diode Lower value

if config.Select.DCO;

config.Diode.DC = 3.3; % Diode DC value


config.Diode.gain = 0.153; % Gain values

elseif config.Select.ACO;

config.Diode.DC = 3; % Diode DC value


config.Diode.gain = 0.216; % Gain values

else
% Flip - OFDM
config.Diode.DC = 3; % Diode DC value
config.Diode.gain = 0.216; % Gain values

end
% ==========================================

end
B. Código del transmisor Li-Fi
B.1. Transmisor.m
function
[TX_Input,TX_Coded,TX_Interleaved,TX_Mapped,TX_IFFTexit,TX_Output,Pnorm] =
Transmisor(CFG)
%Transmisor Li-Fi que devuelve las secuencias de:
% Entrada, Salida del Codificador, Interleaver, Mapper, IFFT y CP
% Devuelve tambien la potencia de la señal transmitida.

% ===== Generamos la señal de entrada del sistema ======


TX_Input = randi([0 1],CFG.FEC.input,1);
TX_Input = reshape(TX_Input,[],CFG.Input.packets);
% ======================================================

% ================== TX_Codificador ====================


TX_Coded = zeros(CFG.FEC.size,CFG.Input.packets);
for a=1:CFG.Input.packets

TX_Coded(:,a) = TX_Codificador(CFG,TX_Input(:,a));

end
% ======================================================

% ================== Paralelo - Serie ==================


TX_Coded = TX_Coded(:);
TX_Input = TX_Input(:);
% ======================================================

% =================== TX_Interleaver ===================


TX_Interleaved = TX_Interleaver(CFG, TX_Coded);
% ======================================================

% ====================== TX_Mapper =====================


TX_Mapped = TX_Mapper(CFG, TX_Interleaved);
% ======================================================

% ====================== TX_IFFT =======================


TX_IFFTexit = TX_IFFT(CFG, TX_Mapped);
% ======================================================

% Aquí es donde debemos hacer la separación entre positivos y negativos


% sabiendo si es DC, ACO o Flip OFDM

if (CFG.Select.DCO)

% ================== TX_CyclicPrefix ===================


TX_Output = TX_CyclicPrefix(CFG,TX_IFFTexit);
% ======================================================

elseif (CFG.Select.ACO)

% ========== Seleccionamos valores positivos ===========


index = find(TX_IFFTexit >= 0);
clipped = zeros(size(TX_IFFTexit));
clipped(index) = TX_IFFTexit(index);

posvalues = clipped;
% ======================================================
60
Anexos

% ================== TX_CyclicPrefix ===================


TX_Output = TX_CyclicPrefix(CFG,posvalues);
% ======================================================

else

% =============== Separamos la polaridad ===============


index = find(TX_IFFTexit >= 0);
clipped = zeros(size(TX_IFFTexit));
clipped(index) = TX_IFFTexit(index);
posvalues = clipped;

index = find(TX_IFFTexit < 0);


clipped = zeros(size(TX_IFFTexit));
clipped(index) = TX_IFFTexit(index);
negvalues = clipped;
% ======================================================

% ======== Invertimos la polaridad del negativo ========


negvalues = (-1).* negvalues;
% ======================================================

% ============= Juntamos todos los valores =============


allvalues = [posvalues,negvalues];
% ======================================================

% ==== Añadimos el prefijo ciclico a ambos paquetes ====


TX_Output = TX_CyclicPrefix(CFG,allvalues);
% ======================================================

end

% ============== Normalizamos la potencia ==============


Pnorm = mean(TX_Output(:) .* conj(TX_Output(:)));
TX_Output = TX_Output ./ sqrt(Pnorm);
% ======================================================

end

B.2. TX_Codificador.m
function [ output ] = TX_Codificador(config, input)
% Función Codificador

% ============ Genera la Parity Check Matrix ===========


H = dvbs2ldpc(config.FEC.ratio);
% ======================================================

% ==== Crea la secuencia de salida del Codificador =====


object = comm.LDPCEncoder(H);
output = step(object, input);
% ======================================================

end
B.3. TX_Interleaver.m
function [ output ] = TX_Interleaver(config, input)
% Realiza el interleaving aleatorio con la semilla proporcionada de la
% señal de entrada

output = randintrlv(input,config.Interleaver.state);

end

B.4. TX_Mapper.m
function [ output ] = TX_Mapper(config,input)
%Funcion Mapper QAM
% Se encarga de convertir de binario a entero la secuencia salida del
% Interleaver, completar valores
% y de hacer el Mapper de la secuencia.

% ====== Sacamos el nº de bits de la constelación ======


k = log2(config.Mapper.M);
% ======================================================

% Calcula el número de bits aleatorios a añadir para su correcta modulación


% y para que haya paquetes completos para hacer su IFFT

if (or(config.Select.DCO,config.Select.Flip))

tam = (config.FFT.size - config.FFT.zerovalues - 2)/2;


addsize =(k*tam)-mod(length(input),k*tam);

if(mod(addsize,k*tam) == 0)
addsize = 0;
end

else

tam = (config.FFT.size - config.FFT.zerovalues - 2)/4;


addsize =(k*tam)-mod(length(input),k*tam);

if(mod(addsize,k*tam) == 0)
addsize = 0;
end

end
% ======================================================

% ======== Añade bits a la secuencia de entrada ========


input = [input;randi([0 1],addsize,1,1)];
% ======================================================

% Aquí se agrupan los bits según el tamaño del alfabeto


input = reshape(input,k,[])';
% ======================================================

% =========== Convierte de binario a integer ===========


input = bi2de(input,'left-msb');
% ======================================================
62
Anexos

% ========== Realiza el Mapper de la secuencia =========


object = modem.qammod('M', config.Mapper.M, 'SymbolOrder', 'Gray', ...
'InputType', 'Integer');

% Normalizamos la energía de la constelación


energy = sqrt(object.Constellation .* conj(object.Constellation));
media = mean(energy);

output = modulate(object,input) ./ media;


% ======================================================

end

B.5. TX_IFFT.m
function [output] = TX_IFFT(config, input)
% Función que añade los ceros a las portadoras pares en ACO,
% Calcula la simetría hermítica
% y realiza la IFFT de la señal pasada por entrada.

% ================= En el caso de ACO ==================


if (config.Select.ACO)

% ============= Conversion Serie-Paralelo ==============


val = (config.FFT.size - config.FFT.zerovalues - 2)/4;
input = reshape(input,val,[]);
% ======================================================

% Añadimos ceros para las portadoras pares


input = [zeros(size(input)),input];

% Ponemos todos los valores en orden para colocar los ceros en su


% sitio.
input = reshape(input(:),[],2);
input = input.';
input = reshape(input(:),2*val,[]);

else

% ============= Conversion Serie-Paralelo ==============


val = (config.FFT.size - config.FFT.zerovalues - 2)/2;
input = reshape(input,val,[]);
% ======================================================

end
% ======================================================

% ========== Hacemos los valores traspuestos ===========


tras = conj(input);
hermit = flipud(tras);
% ======================================================

% Añadimos los valores hermitianos y los 0 de la posicion 0 y N/2


tam = size(input,2);
input = [zeros(1,tam);input;zeros(1,tam);hermit];
% ======================================================
% =========== Añade los 0 de las secuencias ============
ini = ceil(config.FFT.zerovalues/2);
fin = floor(config.FFT.zerovalues/2);
input = [zeros(ini,tam);input;zeros(fin,tam)];
% ======================================================

% ================= Realizamos la IFFT =================


input = ifftshift(input,1);
output = ifft(input,config.FFT.size) .* sqrt(config.FFT.size);
% ======================================================

end

B.6. TX_CyclicPrefix.m
function [ output ] = TX_CyclicPrefix(config, input )
% Realiza el Prefijo Cíclico de la señal pasada por entrada

% === Número de paquetes a hacer el prefijo cíclico ====


num = size(input,2);
% ======================================================

% ==== Cantidad de datos a hacer el prefijo cíclico ====


len = config.CP.size;
% ======================================================

% Inicializamos a 0 la salida para completarla a continuación


output = zeros(size(input,1) + len, num);
% ======================================================

% Realizamos el prefijo cíclico copiando las len ultimas muestras en las


% len primeras
output(1:len,:) = input((size(input,1) - (len - 1)):size(input,1),:);
output((len + 1):(size(input,1) + len),:) = input;
% ======================================================

end

B.7. TX_Diodo.m
function [output] = TX_Diodo(CFG, input)
% Funcion encargada de pasar la señal de entrada a los valores
% correspondientes a la transmision por un diodo.

% ====== Multiplicamos los valores por la ganancia =====


elec_signal = input .* CFG.Diode.gain;
% ======================================================

% =========== Se lo sumamos al dc del diodo ============


elec_signal = elec_signal + CFG.Diode.DC;
% ======================================================

% ================= Saturacion superior ================


index = find(elec_signal <= CFG.Diode.upper);
UpperClipped = ones(size(elec_signal)) .* CFG.Diode.upper;
UpperClipped(index) = elec_signal(index);
% ======================================================
64
Anexos

% ================= Saturacion inferior ================


index = find(UpperClipped >= CFG.Diode.lower);
LowerClipped = ones(size(UpperClipped)) .* CFG.Diode.lower;
LowerClipped(index) = UpperClipped(index);
% ======================================================

output = LowerClipped(:);

end
C. Código del receptor Li-Fi
C.1. Receptor.m
function [RX_Input,RX_Coded,RX_Interleaved,RX_Mapped,RX_FFTinput,RX_Output] =
Receptor (CFG,RX_Output,TX_mapped,Pnorm)
% Receptor OFDM al que se le pasa:
% Configuracion, Salida del transmisor, Secuencia del Mapper y
% Potencia dela señal
%
% Devuelve las señales:
% Salida del Receptor, Decodificador, Deinterleaver, Demapper, FFT y
% prefijo Ciclico.

% ============= Denormalizamos la potencia =============


RX_Output = RX_Output .* sqrt(Pnorm);
% ======================================================

% ======= Según el tipo de transmisiÛn hacemos =========


if (or(CFG.Select.DCO,CFG.Select.ACO))

% ============= Quitamos el prefijo Ciclico ============


RX_FFTinput = RX_CyclicPrefix(CFG,RX_Output);
% ======================================================

else

% ============= Quitamos el prefijo Ciclico ============


RX_Output = reshape(RX_Output,[],2);

% De los valores positivos


FFTinputPos = RX_CyclicPrefix(CFG,RX_Output(:,1));

% De los valores negativos


FFTinputNeg = RX_CyclicPrefix(CFG,RX_Output(:,2));
% ======================================================

% ================= Invertimos polaridad ===============


FFTinputNeg = (-1).* FFTinputNeg;
% ======================================================

% ============ Quitamos el retraso y sumamos ===========


RX_FFTinput = FFTinputPos + FFTinputNeg;
% ======================================================

end
% ======================================================

% Realizamos la FFT a la señal que recibimos por el receptor


RX_Mapped = RX_FFT(CFG,RX_FFTinput);
% ======================================================

% ================ Demodulamos la señal ================


RX_Interleaved = RX_Demapper(CFG,RX_Mapped,TX_mapped);
% ======================================================

% ======= Pasamos la señal por el deinterleaver ========


RX_Coded = RX_Deinterleaver(CFG,RX_Interleaved);
% ======================================================
66
Anexos

% Convertimos la señal en paquetes independientes para su procesamiento en


% el decodificador.
RX_Coded = reshape(RX_Coded,[],CFG.Input.packets);
% ======================================================

% ============= Realizamos el decodificado =============


RX_Input = zeros(CFG.FEC.input/CFG.Input.packets,CFG.Input.packets);
for i=1:CFG.Input.packets

%RX_Decodificador
RX_Input(:,i) = RX_Decodificador(CFG,RX_Coded(:,i));

end
% ======================================================

% ========= Hacemos conversion paralelo-serie. =========


RX_Coded = RX_Coded(:);
RX_Input = RX_Input(:);
% ======================================================

end

C.2. RX_Diodo.m
function [output] = RX_Diodo (CFG, input)
% Función que simula la recepción de datos por el fotoreceptor

% =============== Hacemos la detección =================


output = input - CFG.Diode.DC;
% ======================================================

% =============== Reconstruimos la señal ===============


if (or(CFG.Select.DCO,CFG.Select.Flip);
output = output ./ CFG.Diode.gain;
else
output = output .* 2 ./ CFG.Diode.gain;
end
% ======================================================

end

C.3. RX_CyclicPrefix.m
function [ output ] = RX_CyclicPrefix(config, input)
% Elimina el Prefijo Cíclico de la señal pasada por entrada

% ======== Hacemos la conversión serie-paralelo ========


CPnum = config.CP.size;
input = reshape(input,config.FFT.size + CPnum,[]);
% ======================================================

% Quitamos los valores añadidos por el prefijo cíclico


output = input((CPnum+1):(config.FFT.size + CPnum),:);
% ======================================================

end
C.4. RX_FFT.m
function [ output ] = RX_FFT(config, input)
% Función que realiza la FFT de la señal pasada por entrada.
% Quita el relleno de ceros y elimina la hermítica

% ================== Realizamos la FFT =================


SalidaFFT = fft(input,config.FFT.size) ./ sqrt(config.FFT.size);
SalidaFFT = fftshift(SalidaFFT,1);
% ======================================================

% ============ Quitamos el relleno de ceros ============


ini = ceil(config.FFT.zerovalues/2);
fin = floor(config.FFT.zerovalues/2);

output = SalidaFFT((ini+1):(end-fin),:);
% ======================================================

% ======= Quitamos el Cero de Continua y de N/2 ========


output = reshape(output,size(output,1)/2,[]);
output = output(2:end,:);
% ======================================================

% ==== Separamos en los valores reales y conjugados ====


tam = (config.FFT.size - config.FFT.zerovalues - 2);
aux = reshape(output,tam,[]);

realValues = aux(1:(tam/2),:);
conjValues = aux((tam/2)+1:end,:);
% ======================================================

% ========= Quitamos los valores traspuestos ===========


hermit = flipud(conjValues);
mirror = conj(hermit);
% ======================================================

% ========== Hacemos la media con el mirror ============


output = (realValues + mirror)./2;
% ======================================================

if config.Select.ACO;
% Eliminamos los 0 de las portadoras pares
output = reshape(output,2,[]);

% Sacamos los datos v·lidos


output = output(2,:).';
end

% ============= Conversión Paralelo-Serie ==============


output = output(:);
% ======================================================

end
68
Anexos

C.5. RX_Demapper.m
function [ output ] = RX_Demapper(config,input,TX)
%Funcion Demodulador QAM
% Se encarga de demodular la señal y convertirla de entero a binario

% ========== Obtenemos la varianza del ruido ===========


EVM = CalculaEVM(TX,input);
EVM = 10 ^ (EVM/10);
PTX = mean(TX .* conj(TX));
NoiseVar = EVM * PTX;
% ======================================================

% ================ Demodula la secuencia ===============


object = modem.qamdemod('M', config.Mapper.M , 'SymbolOrder', 'Gray', ...
'OutputType', 'Bit', 'DecisionType', 'LLR', 'NoiseVariance', NoiseVar);

% Normalizamos la energía de la constelación


energy = sqrt(object.Constellation .* conj(object.Constellation));
media = mean(energy);
object.NoiseVariance = NoiseVar * media;
output = demodulate(object, media .* input);
% ======================================================

% Quitamos la información adicional para su correcta recepción


output = output(1:config.Mapper.size);
% ======================================================

end

C.6. RX_Deinterleaer.m
function [ output ] = RX_Deinterleaver(config, input )
%Función Random Deinterleaver

output = randdeintrlv(input,config.Interleaver.state);

end

C.7. RX_Decodificador.m
function [ output ] = RX_Decodificador(config, input)
%Función Decodificador

% ============ Genera la Parity Check Matrix ===========


H = dvbs2ldpc(config.FEC.ratio);
% ======================================================

% ==== Crea la secuencia de salida del Decodificador ===


object = comm.LDPCDecoder(H);
output = step(object, input);
% ======================================================

end
D. Banco de pruebas
D.1. Transceptor.m
% Script para la ejecución del sistema Transmisor Receptor

% == Añadimos los directorios de las funciones a usar.==


addpath('TX');
addpath('RX');
% ======================================================

% ======= Cargamos la configuración del sistema ========

CFG = config(1); % Cargamos la configuración del sistema


% 1 -- DC-OFDM
% 2 -- ACO-OFDM
% 3 -- Flip-OFDM

rng(CFG.Input.seed);
% ======================================================

% ============== Transmitimos información ==============


[TX_input,TX_coded,TX_interleaved,TX_mapped,TX_IFFT,TX_CP,Pnorm] =
Transmisor(CFG);
[TX_output] = TX_Diodo(CFG,TX_CP);
% ======================================================

% ========= Calcula por portadora transmitida ==========


PcTx = CalculaPotencia(CFG,Pnorm);
% ======================================================

% =========== Calculamos la PAPR y el RCM ==============


PAPRSim = CalculaPAPR(TX_CP);
RCM = CalculaRCM(TX_CP);
% ======================================================

% ============ Calculamos la PAPR promedio =============


PAPRPromed = mean(PAPRSim);
% ======================================================

% ========== Guardamos los datos en el fichero =========


save('TX_file.mat','TX_input','TX_coded','TX_interleaved','TX_mapped','TX_IFFT'
,'TX_CP');
% ======================================================

% ============== Recibimos la información ==============


rng(CFG.Input.seed);
RX_CP = RX_Diodo(CFG,TX_output);
[RX_input,RX_coded,RX_interleaved,RX_mapped,RX_FFT,RX_CP] = Receptor(CFG,
RX_CP,TX_mapped,Pnorm);
save('RX_file.mat','RX_input','RX_coded','RX_interleaved','RX_mapped','RX_FFT',
'RX_CP');
% ======================================================

% ================= Calculamos el EVM ==================


EVM = CalculaEVM(TX_mapped,RX_mapped);
% ======================================================
70
Anexos

% =============== Representamos la CCDF ================


CalculaCCDF(PAPRSim,1);

pause;

CalculaCCDF(RCM,2);
% ======================================================

D.2. EVMExec.m
% Script para hallar alfa y beta y representar los valores de EVM en
% función de esos valores

% == Añadimos los directorios de las funciones a usar.==


addpath('TX');
addpath('RX');

CFG = config(3); % Cargamos la configuracion del sistema


% 1 -- DC-OFDM
% 2 -- ACO-OFDM
% 3 -- Flip-OFDM
% ======================================================

% = Creamos los valores de alfa y beta para el sistema =


alfa = zeros(1,5);

if CFG.Select.DCO;
alfa(1) = 0.14;
alfa(2) = 0.15;
alfa(3) = 0.153;
alfa(4) = 0.16;
alfa(5) = 0.17;
else
alfa(1) = 0.20;
alfa(2) = 0.21;
alfa(3) = 0.216;
alfa(4) = 0.22;
alfa(5) = 0.23;
end

beta = 3:0.01:3.6;
% ======================================================

% == Creamos la tabla donde almacenaremos los valores ==


tabla = zeros(length(beta),length(alfa)+1);
tabla(:,1) = beta';
% ======================================================

for a = 1:length(alfa)
for b = 1:length(beta)

% ======= Cargamos la configuración del sistema ========


CFG.Diode.DC = beta(b);
CFG.Diode.gain = alfa(a);
rng(CFG.Input.seed);
% ======================================================
% ============== Transmitimos información ==============
[TX_input,TX_coded,TX_interleaved,TX_mapped,TX_IFFT,TX_CP,Pnorm] =
Transmisor(CFG);
TX_output = TX_Diodo(CFG,TX_CP);
% ======================================================

% ============== Recibimos la información ==============


rng(CFG.Input.seed);
RX_output = RX_Diodo(CFG,TX_output);
[RX_input,RX_coded,RX_interleaved,RX_mapped,RX_FFT,RX_output] =
Receptor(CFG,RX_output,TX_mapped,Pnorm);
% ======================================================

% ================= Calculamos el EVM ==================


EVM = CalculaEVM(TX_mapped,RX_mapped);
% ======================================================

% ================ Guardamos los valores ===============


tabla(b,a+1) = EVM;
% ======================================================
end

end

% ============== Representamos los valores =============


lim = -20 * ones(size(tabla,1),1); % Representamos el valor -20 dB

plot(tabla(:,1),tabla(:,2),'--^r',tabla(:,1),tabla(:,3),'-og', ...
tabla(:,1),tabla(:,4),'--xb',tabla(:,1),tabla(:,5),'--sy', ...
tabla(:,1),tabla(:,6),'--hm', tabla(:,1),lim,'--k')

grid on;

if CFG.Select.DCO;
title('C·lculo de EVM para DCO-OFDM');
legend('a = 0,140','a = 0,150','a = 0,153','a = 0,160','a = 0,170')
elseif CFG.Select.ACO;
title('C·lculo de EVM para ACO-OFDM');
legend('a = 0,200','a = 0,210','a = 0,216','a = 0,220','a = 0,230')
else
title('C·lculo de EVM para Flip-OFDM');
legend('a = 0,200','a = 0,210','a = 0,216','a = 0,220','a = 0,230')
end

xlabel('DC (V)')
xlim([CFG.Diode.lower CFG.Diode.upper])
ylabel('EVM (dB)')
% ======================================================

D.3. Exec.m
% Script para la ejecución del Sistema para hallar RCM y PAPR
% y calcular la potencia por portadora
72
Anexos

% ===== Preparación del entorno para la ejecución ======


addpath('TX');
addpath('RX');

CFG = config(1);
% ======================================================

% === Número de veces que vamos a ejecutar el sistema ==


times = 5;
% ======================================================

for a = 1:3

CFG = config(a); % Cargamos la configuración del sistema


% 1 -- DC-OFDM
% 2 -- ACO-OFDM
% 3 -- Flip-OFDM
rng(CFG.Input.seed);

% Primera iteración donde creamos el vector de PAPR y RCM


index = 1;
[~,~,~,~,~,TX_output,Pnorm] = Transmisor(CFG);

PAPRSim = zeros(size(TX_output,2),times);
PAPRSim(:,index) = CalculaPAPR(TX_output);

RCM = zeros(size(TX_output,2),times);
RCM(:,index) = CalculaRCM(TX_output);
% ======================================================

% ================ Resto de iteraciones ================


for index = 2:times
rng(CFG.Input.seed);
[~,~,~,~,~,TX_output,Pnorm] = Transmisor(CFG);

PAPRSim(:,index) = CalculaPAPR(TX_output);
RCM(:,index) = CalculaRCM(TX_output);

end
% ======================================================

% ========= Calculamos la CCDF y la potencia ===========


if a==1;
[p_ydc,p_xdc] = CalculaCCDF(PAPRSim,0);
[r_ydc,r_xdc] = CalculaCCDF(RCM,0);
PcDC = CalculaPotencia(CFG,Pnorm);
elseif a==2;
[p_yaco,p_xaco] = CalculaCCDF(PAPRSim,0);
[r_yaco,r_xaco] = CalculaCCDF(RCM,0);
PcACO = CalculaPotencia(CFG,Pnorm);
else
[p_yflip,p_xflip] = CalculaCCDF(PAPRSim,0);
[r_yflip,r_xflip] = CalculaCCDF(RCM,0);
PcFLIP = CalculaPotencia(CFG,Pnorm);
end
% ======================================================

end
% ====== Calculamos la potencia en función de PcDC =====
PcACO = PcACO/PcDC;
PcFLIP = PcFLIP/PcDC;
PcDC = 1;
% ======================================================

% ================= Representamos PAPR =================

p_xdc = [6;p_xdc];
p_ydc = [1;p_ydc];

p_xaco = [6;p_xaco];
p_yaco = [1;p_yaco];

p_xflip = [6;p_xflip];
p_yflip = [1;p_yflip];

semilogy(p_xdc,p_ydc,'r--',p_xaco,p_yaco,'b--',p_xflip,p_yflip,'g--')
grid on;

if CFG.Mapper.M == 4;
title('CCDF Measurement - PAPR - (4QAM)');
elseif CFG.Mapper.M == 16;
title('CCDF Measurement - PAPR - (16QAM)');
else
title('CCDF Measurement - PAPR - (64QAM)');
end

xlabel('PAPR (dB)')
ylim([50e-5 2])
ylabel('Probability')
legend('DC-OFDM','ACO-OFDM','Flip-OFDM')
% ======================================================
pause;
% ================== Representamos RCM =================
r_xdc = [5;r_xdc];
r_ydc = [1;r_ydc];

r_xaco = [5;r_xaco];
r_yaco = [1;r_yaco];

r_xflip = [5;r_xflip];
r_yflip = [1;r_yflip];

semilogy(r_xdc,r_ydc,'r--',r_xaco,r_yaco,'b--',r_xflip,r_yflip,'g--')
grid on;

if CFG.Mapper.M == 4;
title('CCDF Measurement - RCM - (4QAM)');
elseif CFG.Mapper.M == 16;
title('CCDF Measurement - RCM - (16QAM)');
else
title('CCDF Measurement - RCM - (64QAM)');
end

xlabel('RCM (dB)')
ylim([50e-5 2])
ylabel('Probability')
legend('DC-OFDM','ACO-OFDM','Flip-OFDM')
% ======================================================
74
Anexos

D.4. CalculaPAPR.m
function [PAPRSim] = CalculaPAPR(input)
% Recibe una secuencia de datos y calcula su PAPR

% Realizamos el sobremuestreo para el cálculo de la PAPR


PAPRdata = resample(input,4,1);
% ======================================================

% ============ Calculamos PAPR por simbolos ============


PAPRSim = 10*log10(max(abs(PAPRdata).^2) ./ mean(abs(PAPRdata).^2));
% ======================================================

end

D.5. CalculaRCM.m
function [RCM] = CalculaRCM(input)
% A partir de una secuencia de datos calcula su RCM

% ============ Calculamos los valores RMS ==============


rmsValues = repmat(rms(input),size(input,1),1);
% ======================================================

% ================== Calculamos el RCM =================


RCM = 20 .* log10(rms((abs(input) ./ rmsValues).^3)).';
% ======================================================

end

D.6. CalculaCCDF.m
function [y,x] = CalculaCCDF(input,draw)
% Función que realiza la CCDF de los datos recibidos
% Según los parametros recibidos representamos o no

% draw = 0 no representa nada


% draw = 1 representa PAPR
% draw = 2 representa RCM

% =================== Paralelo-Serie ===================


input = input(:);
% ======================================================

% =========== Calculamos la ecdf y su inversa ==========


[y,x] = ecdf(input(:));
y = 1 - y;
% ======================================================

if draw ~= 0;
% ==================== Representamos ===================
semilogy(abs(x),y);
grid on;
title('CCDF Measurement');
if draw == 1;
xlabel('PAPR (dB)')
else
xlabel('RCM (dB)')
end

ylim([50e-5 2])
ylabel('Probability')
% ======================================================
end

end

D.7. CalculaEVM.m
function [EVM] = CalculaEVM(TX,RX)
% Recibe los datos mappeados del transmisor y del
% receptor y calcula su EVM

% ====== Calculamos la potencia de la señal del TX =====


PTX = mean(TX .* conj(TX));
% ======================================================

% ===== Calculamos la potencia de la señal de error ====


Perr = TX - RX;
Perr = mean(Perr .* conj(Perr));
% ======================================================

% ================= Calculamos su EVM ==================


EVM = 10 .* log10(Perr./PTX);
% ======================================================

end

D.8. CalculaPotencia.m
function [Pc] = CalculaPotencia(CFG,Pnorm)
% Calcula la potencia por portadora de la señal.

if CFG.Select.DCO;
Pc = (CFG.Diode.gain ^ 2) / Pnorm;
elseif CFG.Select.ACO;
Pc = (CFG.Diode.gain ^ 2) / (4 * Pnorm);
else
Pc = (0.32 * (CFG.Diode.gain ^ 2)) / Pnorm;
end

end
76
Anexos