Equa ion Chap e 1 Sec ion 1
P oyec o Fin de Ca e a
Ingenie ía de Telecomunicación
Implemen ación de un ansmiso / ecep o Li-Fi en
una FPGA
Au o : Ál a o Fe nández Suá ez
Tu o : Vicen e Baena Lecuye
Dp o. Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2019
P oyec o Fin de Ca e a
Ingenie ía de Telecomunicación
Implemen ación de un ansmiso / ecep o Li-Fi en
una FPGA
Au o :
Ál a o Fe nández Suá ez
Tu o :
Vicen e Baena Lecuye
P o eso i ula
Dp o. de Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2019
P oyec o Fin de Ca e a: Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Au o : Ál a o Fe nández Suá ez
Tu o : Vicen e Baena Lecuye
El ibunal nomb ado pa a juzga el P oyec o a iba indicado, compues o po los siguien es miemb os:
P esiden e:
Vocales:
Sec e a io:
Acue dan o o ga le la cali icación de:
Se illa, 2019
El Sec e a io del T ibunal
A mi amilia
A mis amigos
A mis maes os
Ag adecimien os
Aunque el iaje sea acciden ado, aunque el ba o y el pol o del camino pe cuda la piel, si has elegido bien a
us acompañan es nada e de end á. Y es que me gus a ía ag adece a mis compañe os de ba alla du an e odos
es os años, especialmen e a An onio con el que he compa ido an as buenas expe iencias du an e la ca e a, a
los p o eso es que me lo han enseñado odo y a los buenos amigos que me endie on una mano an es incluso
de cae , pe o quie o hace una mención dis inguida a mi amilia, a mis pad es y mi he mana, que me han
aguan ado cuando no debían y han sido la oca sob e la que me he man enido desde el comienzo de mi ida.
A odos, os doy las g acias.
Ál a o Fe nández Suá ez
Se illa, 2019
Resumen
En un mundo en el que las comunicaciones digi ales in aden cada ámbi o de la ida co idiana, con una
c ecien e demanda de banda ancha y de mejo es p es aciones pa a un mayo núme o de disposi i os (demanda
asociada con el su gi de nue as o mas de en e enimien o, an o en edes sociales como median e el
s eaming), encon amos a un espec o adioeléc ico cada ez más sa u ado, con cien os o miles de
disposi i os compi iendo po ancho de banda en luga es concu idos. Sin emba go, el desa ollo de la
ecnología VLC pa ece se un paso adelan e pa a la solución de es e p oblema, pues no sólo pe mi e asas de
ans e encia más al as y iene mayo espec o, sino que es más ba a o de p oduci que la ecnología empleada
ac ualmen e.
En es e p oyec o se explo a las en ajas y des en ajas de la ecnología VLC y su implemen ación en una placa
FPGA en VHDL, empleando una modulación OFDM y compa ando los esul ados con los ob enidos en su
modelo análogo en un lenguaje de más al o ni el: Ma lab.
ÍNDICE DE FIGURAS
Figu a 2-1 P es aciones del sis ema PRIME 3
Figu a 2-2 Modelo de capas de PRIME 3
Figu a 2-3 T ama ísica 4
Figu a 2-4 Bloques pa a la gene ación de la ama ísica de PRIME 5
Figu a 3-1 Esquema gene al de una FPGA Spa an 7
Figu a 3-2 Funcionamien o de FPGAs an i usible 8
Figu a 3-3 Ma iz de conexiones FPGA 9
Figu a 3-4 Spa an-3E 10
Figu a 3-5 Recu sos de los dis in os modelos de la amilia Spa an-3E 11
Figu a 3-6 A qui ec u a Spa an-3E 11
Figu a 3-7 Bloque RAM 12
Figu a 3-8 Bloque mul iplicado 12
Figu a 3-9 Pines pue o RS-232 13
Figu a 3-10 Con e so USB-TTL 13
Figu a 4-1 P opagación mul i ayec o 16
Figu a 4-2 Subpo ado as o ogonales en OFDM 17
Figu a 5-1 G á ica CSK 19
Figu a 5-2 T anscep o Li-Fi 23
Figu a 5-3 Compa ación de endimien o de DCO-OFDM 24
Figu a 5-4 Compa ación de endimien o de DCO-OFDM (con .) 25
Figu a 6-1 Es uc u a de bloques en Ma lab del sis ema 26
Figu a 6-2 P o ocolo RS-232 27
Figu a 6-3 Algo i mo sc amble 27
Figu a 6-4 Símbolos de Q-PSK 28
Figu a 6-5 Diag ama de lujo del mappe 28
Figu a 6-6 Diag ama de lujo de la IFFT 29
Figu a 6-7 Co espondencia en e bi s y ase de la demodulación 30
Figu a 7-1 Diag ama de bolas del con e so UART a bi 33
Figu a 7-2 Po ado as en DCO-OFDM 35
Figu a 7-3 Diag ama de bolas del mappe 35
Figu a 7-4 A qui ec u a Radix-2 36
Figu a 7-5 P o ocolo de lec u a de da os del bloque FFT 37
Figu a 7-6 P o ocolo de lec u a de da os del bloque FFT (con .) 37
Figu a 7-7 Bloque x _ds260 37
Figu a 7-8 Bloque Complex Mul iplie 39
Figu a 7-9 Pines de en ada y salida del mul iplicado 39
Figu a 7-10 In e up o L13 41
Figu a 7-11 Resumen de empleo de ecu sos 43
Figu a 8-1 Da os de en ada Ma lab y VHDL 44
Figu a 8-2 a)Salida del sc amble b)Salida de la IFFT sin sc amble 45
Figu a 8-3 Componen es eales e imagina ias de la salida del mappe 45
Figu a 8-4 a)Salida IFFT Ma lab b)Salida IFFT VHDL 46
Figu a 8-5 Resul ados de la consola de Ma lab 47
Figu a 8-6 Consola 48
1
1 INTRODUCCIÓN
1.1 Obje i o del p oyec o
El p icipal obje i o del p oyec o consis e en diseña en VHDL un emiso y un ecep o que module una señal
de en ada desde un pue o se ie siguiendo el es ánda PRIME incluyendo algunas excepciones que se án
desc i as en los apa ados subsecuen es. Es e diseño se in eg a ía en una FPGA, un disposi i o p og amable
que des aca po sus p ocesos concu en es al emplea exclusi amen e pue as lógicas.
An e io men e al diseño se ealiza una simulación de los esul ados empleando el lenguaje de p og amación
Ma lab, pa a pode co eja los con los ob enidos en el p og ama sin e izado en VHDL. En la solución inal,
empleando una consola de pue o se ie, como Te mi e o Pu y, se mos a á la uncionalidad del p oyec o
en iando un mensaje po es a y ecibiendo un eco de es e mismo mensaje.
1.2 Es uc u a de la memo ia
Con el obje i o de da un ans ondo del p oyec o an es de comenza a explica el p oceso de diseño, se
p opo cionan a ios apa ados en el que se mues an la base eó ica sob e la que se sopo a. Po an o se da
unas nociones sob e el sopo e ísico en el que se ha desa ollado el p oyec o, qué es VLC, OFDM y su
impo ancia en el mundo mode no. En apa ados pos e io es se de alla la implemen ación de los p og amas
desa ollados en Ma lab y VHDL, ce ando con un análisis de los esul ados y mos ando posibles líneas de
abajos u u os.
En o al la memo ia se compone de 8 capí ulos con los con enidos mos ados a con inuación:
1. In oducción: Se desc ibe b e emen e el p oyec o. También se p esen an los obje i os de és e, así
como la es uc u ación de la memo ia.
2. PRIME: Es e capí ulo se cen a en la desc ipción del p o ocolo PRIME, la base en la que se cimien a
el p oyec o.
3. FPGAs: El obje i o de es e apa ado es da una desc ipción de las FPGA, su impo ancia en la
ac ualidad y sus en ajas en e a los mic ocon olado es clásicos más es ablecidos en el me cado. Se
inaliza analizando los ecu sos, bloques impo an es y demás ca ac e ís icas de la FPGA empleada
en el abajo: una Spa an 3E S a e Ki .
4. OFDM: Se mues an las ca ac e ís icas de la modulación OFDM y se desc ibe los componen es
imp escindibles que con o man el sis ema.
Toda la glo ia p o iene de a e e se a comenza .
- Eugene F. Wa e-
In oducción
2
5. VLC: Se p opo ciona un ans ondo sob e las ligh communica ions, sus en ajas y una desc ipción
de la modulación DC-OFDM, la empleada en el p oyec o.
6. Ma lab: Empleando los concep os de apa ados an e io es se desa olla un sis ema en el lenguaje de
p og amación Ma lab, desc ibiendo cada bloque uncional del que se compone el sis ema, di idos en
dos ca ego ías: bloques del emiso y bloques del ecep o .
7. VHDL: Es e capí ulo se compone del desa ollo del mismo sis ema desc i o en el apa ado an e io en
VHDL, es uc u ado ambién de mane a simila . Es la pa e más undamen al de la memo ia, pues
de alla el sis ema sob e del que se ex aen los esul ados. Al inal del capí ulo se analizan los
wa nings y el endimien o del diseño.
8. Resul ados: Cimen ándose en los apa ados an e io es se mues an los esul ados del sis ema pa a
demos a su uncionamien o. G an pa e de las soluciones se ob ienen empleando la simulación de
Ma lab po su sencillez a la ho a de imp imi las, aunque la p ueba inal se ealiza sob e el modelo
comple o de VHDL.
9. Conclusiones: Se concluye haciendo una discusión inal sob e el endimien o del sis ema, el u u o de
las VLC y u u as líneas de abajo.
3
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
2 PRIME
RIME es el ac ónimo de “PoweRline In elligen Me e ing E olu ion”. Fue c eado en el 2007, siendo
publicado en el 2008 po PRIME Alliance. Es e p o ocolo abie o, no suje o a copy igh , se encuen a
en ocado pa a la medición de consumo ene gé ico, de agua y gas así como pa a o ece sopo e a edes
in eligen es.
Figu a 2-1 P es aciones del sis ema PRIME
La es uc u a del p o ocolo engloba 3 capas: ísica, mac y de ed. En la capa de ed pe mi e la u ilización de
IP 4 e IP 6. Es e abajo se cen a sob e la capa ísica, desc i a exhaus i amen e en la no ma.
Figu a 2-2 Modelo de capas de PRIME
La capa ísica ansmi e y ecibe MPDUs en e nodos ecinos usando OFDM (mul iplexación po di isión de
ecuencias o ogonales). Las azones p o is as en las especi icaciones pa a el uso de es a es modulación son la
obus ez del sis ema an e el uido y las g andes e iciencias espec ales que se puedan ob ene , incluso con
mon ajes de anscep o es ela i amen e simples. Además la capa ísica, así como su asa de ans e encia, se
puede adap a pa a consegui el mejo echazo posible al uido y la mayo iabilidad.
La modulación OFDM emplea la banda comp endida en e los 3 y los 95 kHz, desc i a con mayo
p o undidad en la no ma “EN 50065-1:2001+A1:2010 Sección 4.1”. Es a banda se encuen a ese ada pa a
P
Todas las desg acias de los homb es p o ienen de no
habla cla o.
- Albe Camus -
PRIME
4
dis ibuido as eléc icas. Sin emba go, es e ango p esen a p oblemas en líneas eléc icas de bajo ol aje en
ecuencias in e io es a 40 kHz, como ene un mayo ni el de uido o consumo de la línea. Pa a soluciona lo
se plan ea la u ilización de la banda de ecuencias que a desde los 41.992 kHz has a los 88.867 kHZ. Es o
se consigue median e la modulación OFDM de 97 po ado as equidis an es en el espec o (una de las
po ado as es la e e encia), ansmi iendo cada símbolo cada 2260 mic osegundos, po lo cual si se emplea
una FFT de 140 pun os, con ando con el p e ijo cíclico de 12 mues as, nos da un espacio empo al de 16
mic osegundos en e da os en iados po el canal.
2.1 Ca ac e ís icas del p oyec o
En es e p oyec o se han ealizado algunas modi icaciones con espec o a las especi icaciones de alladas en
PRIME, en luga de ansmi i 97 po ado as, de ellas 96 de da os, se manda án 96, y sólo 48 con end án
in o mación. El mo i o de es a modi icación se encuen a en que se es á empleando un solo led modulado en
in ensidad pa a el sis ema, po lo que no se puede ansmi i una señal compleja. De o a mane a debe íamos
u iliza es leds RGB, siendo cada g upo de colo es un símbolo dis in o. En una modulación OFDM ípica
abajamos con símbolos complejos, que cuen an con una pa e eal y o a imagina ia que deben se en iadas
simul áneamen e po el canal. Sin emba go si c eamos una unción he mí ica con el espec o de las 97
subpo ado as, es deci si en la pa e nega i a del espec o colocamos las po ado as conjugadas de la pa e
posi i a, una ez que se pase del dominio de la ecuencia al del iempo, la pa e imagina ia es nula, no
eniendo pues que ansmi i la.
El mape compa ible con PRIME es di e encial y pe mi e es ipos de cons elaciones: de dos (DBPSK), cua o
(DQPSK) y ocho pun os (D8PSK), lo que pe mi e asas máximas eó icas de 47kbps, 94kbps y 141kbps,
espec i amen e, sin ene en cuen a el p e ijo cíclico. En el p oyec o se emplea la cons elación de DQPSK, lo
que no da ía una asa de 94kbps, pe o como solo la mi ad de las po ado as se emplea pa a ansmi i da os, la
nue a asa es de 47kbps.
En el lado del ansmiso , la capa ísica ecibe una ama MAC y gene a una ama ísica que cons a de un
p eámbulo, una cabece a y da os, con los iempos de allados en la igu a.
Figu a 2-3 T ama ísica
El p eámbulo se emplea po mo i os de sinc onización. Pa a p o ee de la ene gía máxima, se emplea una
en elope signal en luga de símbolos OFDM, ya que se necesi a una señal que sea consis en e incluso en
p esencia de a enuación de ecuencias, como un il o paso banda. Pa a es o se emplea una señal de una
ecuencia modulada pulsada (chi p signal), de inida en la siguien e ó mula:
𝑆(𝑡)=𝐴 ∙ 𝑟𝑒𝑐𝑡(𝑡/𝑇)∙ cos [2𝜋(𝑓𝑡+1/2𝜇𝑡)]
Pa a gene a la ama ísica a pa i de la ob enida po la capa supe io en el p o ocolo PRIME se desc ibe,
median e un diag ama de bloques pa a mayo cla idad, una se ie de p ocesos. El p ime paso es CRC, la
comp obación de edundancia cíclica, as ello se ealiza una codi icación con olucional, un sis ema de
co ección que se ealiza en el ecep o . Luego, la cadena de bi s es alea o izada pa a e i a consecuciones
la gas de unos y ce os y el in e lea e mezcla los bi s con el in de epa i los e o es uni o memen e. El
siguien e p oceso es mapea la cadena de bi s, seguido de una modulación en OFDM median e la IFFT y en el
5
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
ecep o se ealiza el p oceso in e so pa a ob ene el aw da a. En el p oyec o se p escinde de la u ilización
an o del CRC como del FEC (la codi icación con olucional). Los bloques empleados son desc i os en mayo
p o undidad en apa ados pos e io es.
Figu a 2-4 Bloques pa a la gene ación de la ama ísica de PRIME
FPGAs
12
almacena g andes can idades de da os, mien as que la RAM dis ibuida se emplea pa a gua da pequeñas
can idades de da os en e las pis as de señales.
Cada bloque RAM es pa ame izable. Se pueden de ini : sus alo es iniciales, los alo es de salida
p ede e minados de los egis os, el amaño de los pue os, an o de en ada como de salida, la can idad de
egis os que con iene la memo ia, así como los modos de esc i u a.
Además se puede con igu a como memo ia mono pue o o de pue o doble. Los pue os se denominan A y B,
y pe mi en acceso independien e al mismo bloque de RAM. Cada pue o iene su conjun o de señales
dedicadas pa a los con oles de esc i u a y lec u a y en adas de eloj pa a la lec u a sínc ona.
En caso de que los amaños en bi s de los pue os no concue den, la memo ia hace au omá icamen e la
con e sión pa a el usua io, sacando palab as pequeñas cuando los da os han sido g abados po un pue o
mayo , y ice e sa, uniendo palab as pequeñas pa a adap a las al pue o mayo .
Figu a 3-7 Bloque RAM
3.3.2 Mul iplicado es dedicados
Los mul iplicado es se si úan jun o a los bloques de memo ia RAM, po lo an o, su disposición y nume ación
son los mismos. Su unción p incipal es la de ealiza mul iplicaciones en complemen o a dos pe o ambién se
les puede emplea pa a almacenamien o de da os y “ba el shi ing” que consis e en desplaza una palab a en
memo ia un núme o indicado de bi s. Las celdas lógicas ambién pueden c ea pequeños mul iplicado es
e icien es, que pueden emplea se en caso de que sob en ecu sos o al en mul iplicado es dedicados.
Figu a 3-8 Bloque mul iplicado
En la FPGA Spa an-3E los mul iplicado es se pueden emplea ambién pa a la ealización de ope aciones con
núme os complejos, ca ac e ís ica imp escindible du an e el abajo. Cada mul iplicado hace una ope ación
en e dos palab as de has a 18 bi s, con igu ables a la ho a de ins ancia el bloque, con una salida con una
p ecisión de has a 36 bi s, odas es as señales ambién en complemen os a dos. La o ma en la que se
13
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
implemen a en adas de un meno núme o de bi s es median e una ex ensión del signo, mien as que
ope aciones con en adas mayo es se log an combinando a ios mul iplicado es o e oalimen ando las
en adas con la salida. O a opción consis e en es ingi las en adas a alo es posi i os pa a ex ende el ango
numé ico de la salida.
Además cada mul iplicado iene dis in as señales de con ol, como el ese eo o la sinc onía pe o no son
empleadas du an e el desa ollo del abajo. Las sín esis de cie os p oyec os pueden emplea , sin el
conocimien o del diseñado , bloques mul iplicado es, po lo que hay que ene lo en cuen a du an e el
desa ollo.
3.3.3 O as ca ac e ís icas
O as ca ac e ís icas de i al impo ancia que se han implemen ado y se analiza á pos e io men e son las
siguien es:
P og amación NOR Flash pa alela.
2 pue os RS-232, uno macho y o o hemb a. Median e adap ado es RS-232/USB se conec a el
ansmiso y el ecep o con un PC y es ableciendo un ni el de aplicación en ambos ex emos de la
comunicación. Más adelan e es o pe mi i á comp oba con mayo acilidad si los da os mandados son
los co ec os.
Figu a 3-9 Pines pue o RS-232
Reloj de 50 MHz (oscilado ). Se emplea como e e encia undamen al a la ho a de sinc oniza las
asas de da os a la en ada y salida y el con ol de cuellos de bo ella, es ableciendo sob e es e eloj los
ciclos de espe a en los bloques más ápidos de la implemen ación.
232 pines de usua io. De es os pines se u iliza án uno pa a el eloj, o o pa a el ese , y inalmen e
o os dos pa a el p o ocolo RS-232.
64 MB de DDR SDRAM.
Figu a 3-10 Con e so USB-TTL
A pesa de con a con dos pue os RS-232 en la placa, se ha op ado po emplea un complemen o ex e no po
la sencillez que o ece a la ho a de ealiza las p uebas. Se ha usado un con e so USB To TTL con el
siguien e pinou :
FPGAs
14
TXD: Es el pin ansmiso del lado del PC, a conec ado al pin que se u iliza pa a ecibi los da os en
la FPGA.
RXD: Pin de ecepción del lado del PC.
GND: Pin de ie a. Es necesa io que se encuen e conec ado a la ie a de la FPGA, pa a suminis a
los ol ajes adecuados.
3V3 y 5V: Es os pines suminis an ol aje a los ci cui os a los que es á conec ado. Como la FPGA
cuen a ya con una uen e de alimen ación ex e na es os pines pe manecen desconec ados.
15
4 OFDM
4.1 De inición
a Mul iplexación po Di isión de F ecuencias O ogonales u OFDM (O hogonal F equency Di ision
Mul iplexing) es una écnica de ansmisión que consis e en el en ío de la in o mación median e la
modulación de un conjun o de po ado as en di e en es ecuencias, mapeándolas usando écnicas como QAM
o PSK. El espec o es di idido en sub-bandas o ogonales en e sí, haciendo coincidi los pun os de mayo
ampli ud de una sub-banda con pun os nulos de las o as.
A pesa de que o as écnicas como la F equency Di ision Mul iplexing (FDM) emplean un sis ema de a ias
po ado as a dis in as ecuencias, és as se encuen an equidis an es en el espec o y no en elazadas como en el
caso de OFDM, p o ocando que es as écnicas posean una meno e iciencia espec al. Po és a y o as
en ajas, el sis ema OFDM es empleado en nume osas aplicaciones en la ac ualidad, como en edes
inalámb icas Wi-Fi pa a mó iles conocido como MBWA, empleado en el es ánda IEEE 802.20, en DVB-T,
el es ánda eu opeo de ele isión e es e que ue a i icado en ma zo de 1997 po la ETSI.
La a ian e más empleada de OFDM es su e sión codi icada (Coded-OFDM), que emplea dis in os bloques
enca gados de co egi los posibles allos gene ados en el mensaje po las dis o siones que induce el medio en
el que se ansmi e la señal. Dis inguimos cua o bloques uncionales: el FEC ( o wa d e o co ec ion), que,
como codi icado con olucional, in oduce bi s de pa idad, el sca mble , que alea o iza la ama, el
en elazado , que dis ibuye el e o uni o memen e al segmen a la in o mación en caso de que se p oduzca un
allo, el mapeado o mappe , que ealiza una modulación sob e la en ada, di e encial en el caso de es e
abajo, y la FFT, que pe mi e pasa del espacio de la ecuencia a la del iempo.
4.2 His o ia
La Mul iplexación po Di isión de F ecuencia O ogonal su ge pa a compensa las abas que in oducen los
medios dispe si os p ocu ando e i a el aumen o de la complejidad del sis ema en el aspec o ha dwa e.
El o igen de OFDM p o iene de aplicaciones de uso mili a que abajaban di idiendo el espec o disponible
en múl iples subpo ado as. En ansmisiones en la que no exis e “ isión di ec a”, que sucede cuando en e el
ecep o y el ansmiso exis en e lexiones o abso ciones de la señal que implica una deg adación de la señal
ecibida, se mani ies an e ec os indeseados como pueden se la a enuación plana, la a enuación selec i a en
ecuencia o la in e e encia in e simbólica. Es os e ec os se man ienen bajo con ol con el W-OFDM que es
una ecnología p opiedad de Wi-LAN, que ecibió, en 1994, la pa en e pa a comunicaciones inalámb icas de
dos ías y banda ancha (OFDM/WOFDM). Es a pa en e es la base pa a los es ánda es 802.11a, 802.11g,
802.11.
Los sis emas W-OFDM inco po an además es imación de canal, p e ijos cíclicos y códigos Reed-Solomon de
co ección de e o es.
La p ime a cons ancia que se iene sob e OFDM da a de mediados de los años 60, cuando R.W. Chang
L
Uno no puede discu i con un eo ema ma emá ico.
- S ephen Hawking-
OFDM
16
publicó un a ículo sob e la sín esis de señales limi adas en banda pa a ansmisiones mul icanal. Chang
p esen ó una se ie de p incipios pa a la ansmisión simul ánea de mensajes a a és de un canal lineal limi ado
en banda, e i ando los pe judiciales e ec os de i ados de la In e e encia en e Símbolos (ISI) y en e canales
(ICI). Poco después de que Chang publica a sus es udios, Sal zbe g ealizó un análisis del compo amien o de
es os sis emas, concluyendo que:
“La es a egia de diseño de un sis ema e icien e debe cen a se más en educi la dia onía en e canales
adyacen es que en el pe eccionamien o indi idual de los mismos, dado que la dis o sión po dia onía iende a
se dominan e”.
Una mayo con ibución a OFDM ue la ealizada en 1971 po Weins ein y Ebe , quienes usa on la
T ans o mada Disc e a de Fou ie (DFT) pa a desa olla la modulación y demodulación en banda base. Es e
abajo no se o ien ó hacia el “pe eccionamien o indi idual” de los canales sino hacia un p ocesamien o
e icien e, eliminando los bancos de oscilado es co espondien es a las dis in as subpo ado as.
Pa a comba i la ISI e ICI usa on an o un espacio de gua da en e símbolos, como un en en anado po coseno
alzado en el dominio empo al. Su sis ema no consiguió alcanza una pe ec a o ogonalidad en e subcanales,
pe o es oda ía a día de hoy la mayo con ibución apo ada a OFDM.
O o impo an e adelan o ue lle ado a cabo po Peled y Ruiz en 1980, quienes in oduje on el uso del p e ijo
cíclico (CP) o ex ensión cíclica, esol iendo el p oblema de la o ogonalidad. En luga de usa un espacio de
gua da acio, lo ellena on con una ex ensión cíclica del símbolo OFDM.
Así se puede simula el desa ollo de la con olución cíclica del canal, lo cual implica la o ogonalidad sob e
los canales dispe si os cuando la longi ud del p e ijo cíclico sea mayo que la espues a impulsi a del canal.
Ac ualmen e OFDM no sólo se usa en las edes inalámb icas LAN 802.11a, sino en las 802.11g, en
comunicaciones de al a elocidad po ía ele ónica como las ADSL y en di usión de señales de ele isión
digi al e es e en Eu opa, Japón y Aus alia.
Du an e los úl imos años, la acep ación del OFDM como ecnología de base pa a el 802.16ª, que es un
es ánda de IEEE pa a edes de á ea me opoli ana inalámb ica que puede p o ee ex ensión inalámb ica pa a
acceso de “úl ima milla” de banda ancha en ins alaciones de cable y DSL. El mismo cub e un ango de
ecuencias de 2 a 11 GHz y alcanza has a 50 kilóme os lineales, b indando conec i idad de banda ancha
inalámb ica sin necesidad de que exis a una línea di ec a de isión a la es ación de base.
La elocidad de ansmisión de da os puede llega a 70 Mbps. Una es ación de base ípica puede albe ga has a
seis sec o es. La calidad de se icio es á in eg ada den o del MAC, pe mi iendo la di e enciación de los
ni eles de se icio.
4.3 Ca ac e ís icas de OFDM
En cualquie comunicación inalámb ica que ome luga , la señal se debe á mo e po un medio con obs áculos
en los que se di ac a á y e leja á an es de llega a su obje i o, pues las señales no consis en en un ayo
di igido de emiso a ecep o sino que se componen de una onda que se p opaga en odas di ecciones. Es deci ,
la p opagación es mul i ayec o.
Figu a 4-1 P opagación mul i ayec o
17
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Podemos dis ingui dos ipos de medio en una p opagación mul i ayec o. Po una pa e el medio pod ía
compo a se como un canal Ricean, si exis e isión di ec a en e emiso y ecep o . En es e caso, al habe
camino di ec o, la po encia de la p ime a señal ecibida se á mucho mayo que la del es o. Sin emba go en
caso de no habe la , nos encon amos an e un canal Raylegh, en el que cualquie e lexión puede ene mayo
po encia que el p ime mensaje ecibido. En o as palab as, al ecep o llegan a ios ecos de la misma señal,
po ando los p ime os un alo signi ica i o de ene gía y siendo el es o de ellos desp eciable.
Pa iendo del e a do que haya en e las éplicas, encon amos dos posible escena ios:
El e a do di e encial supe a el iempo de símbolo. En es e escena io se nos p esen a una se ie de
pulsos independien es que no in e ie en en e ellos. Pa a econs ui la señal lo que se emplea es un
ecep o conocido como de ipo Rake, que alinea en el iempo las di e en es éplicas y las suma en
ase.
El e a do di e encial es in e io al iempo de símbolo. En es e caso la in e e encia en e los símbolos
(ISI) se acen úa, encon ándose el ecep o con una señal ue emen e dis o sionada. Se necesi a
emplea un ecualizado pa a demodula es e mensaje, cuya complejidad depende á comple amen e del
medio.
A medida que se aumen a el ancho de banda de ansmisión el pe iodo de símbolo disminuye, y llega un
momen o en que la complejidad del ecep o Rake se uel e excesi a, siendo más en ajoso desde un pun o de
is a de implemen ación u iliza o o sis ema de modulación: OFDM.
.
Figu a 4-2 Subpo ado as o ogonales en OFDM
Como se ha desc i o an e io men e, la in o mación no se manda sob e una única po ado a sino sob e
múl iples sub-po ado as, que se encuen en lo su icien emen e alejadas en ecuencia, epa iendo la
in o mación en cada una de ellas. De es a o ma nos asegu amos que la elocidad de ansmisión sea la mayo
posible, y la de cada sub-po ado a más len a, simpli icando el p oblema de p opagación mul i ayec o. Lo que
di e encia a OFDM de o os p ocedimien os de mul iplexación en ecuencia es la o ogonalidad, pues el
espaciamien o empleado en e po ado as es óp imo. Es e espaciamien o consis e en que la sepa ación
espec al en e po ado as consecu i as es siemp e la misma e igual al in e so del pe iodo de símbolo. La
o ogonalidad p opo ciona una en aja añadida: un mecanismo pa a elimina , o educi an o como se quie a,
el p oblema de la in e e encia po p opagación mul i ayec o. Es e mecanismo consis e en amplia la du ación
co espondien e al pe iodo de símbolo median e un iempo de gua da supe io al máximo e a do di e encial
en e los ayec os signi ica i os, conocido como p e ijo cíclico.
OFDM
18
4.4 Ven ajas y des en ajas del uso de OFDM
Pa iendo de las ca ac e ís icas desc i as en el apa ado an e io podemos sin e iza las de en una lis a de
en ajas:
Realizan un uso e icien e del espec o.
Al di idi el canal en subcanales de banda es echa, el sis ema se hace más obus o an e caídas
selec i as en ecuencia.
Eliminan el e ec o del ISI g acias a la inse ción del CP.
Usando una de e minada codi icación de canal y en elazado el sis ema puede esponde an e pé didas
de da os du an e la ansmisión.
La ecualización es más sencilla que en los sis emas de po ado a única
Es compu acionalmen e e icien e debido al uso de la FFT.
Sis ema más obus o an e p opagación mul i ayec o.
U ilizando OFDM jun o a écnicas de modulación di e encial, desapa ece la necesidad de ealiza una
es imación de canal. Pues a pesa de que se a enúe la señal, las subpo ado as conse an la di e encia
de ase.
Y des en ajas:
La al a po encia de pico espec o a la po encia media o PAPR: Cuan a más subpo ado as con iene la
ansmisión OFDM, más posibilidades hay que el pico de po encia sea muy al o. Si es o sucede y los
p eampli icado es no es án p epa ados pa a ello, p oduci án dis o sión en la señal, al pode ac ua
es os ampli icado es como limi ado es.
La sensibilidad an e la al a de sinc onización ecuencial es pésima pa a el sis ema, pues o que un
desplazamien o en ecuencia en e subpo ado as acaba con la o ogonalidad, empeo ando el SNR.
4.5 Modelo de un anscep o OFDM
Al comienzo del capi ulo se han mencionado los bloques más ecuen es que componen un sis ema OFDM.
Sin emba go, a con inuación se lis an y de allan los imp escindibles pa a su uncionamien o.
4.5.1 Mappe
El mappe es el bloque enca gado de con e i el bi s eam que ecibe po la en ada en una conca enación de
símbolos a su salida. No malmen e se suele ep esen a la codi icación de es os símbolos en el plano complejo
y en un diag ama llamado cons elación. El núme o de elemen os en la cons elación depende del núme o de
bi s (k) de acue do a la siguien e ó mula: 𝑀=2
4.5.2 IFFT
Viendo una señal OFDM en el iempo se ap ecia que en el pe iodo de la po ado a más baja caben a ios
pe iodos de las o as po ado as, alineadas odas en ase, mien as que en la ep esen ación espec al el máximo
de cada po ado a coincide con un nulo de las demás. En p incipio, pod ía pa ece que modula y demodula
una señal OFDM eque i ía an as cadenas ansmiso as y ecep o as como po ado as u iese el múl iplex. Si
es o uese así, el sis ema se ía in iable, pues un múl iplex de decenas o cen ena es de po ado as implica ía
19
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
equipos e minales con decenas o cen ena es de cadenas anscep o as. A o unadamen e, sólo se equie e una
cadena en cada sen ido de ansmisión, que modula o demodula odas las po ado as a la ez.
𝑠(𝑡)=𝐶𝜑(𝑡)
𝜑(𝑡)= 𝑒(∆)𝑟𝑒𝑐𝑡(𝑡)
𝑠(𝑡)=𝐶𝑒/
Si se examina las ecuaciones an e io es, se comp ueba que una señal OFDM es la ans o mada in e sa de
Fou ie de los coe icien es Cl, y, en consecuencia, los coe icien es son la ans o mada di ec a de s( ). Po
consiguien e, la acción de modula y demodula odas las po ado as a la ez de una señal OFDM consis e
básicamen e en aplica los algo i mos de la ans o mada ápida de Fou ie , muy conocidos y áciles de
implemen a en los p ocesado es digi ales.
En lo que se e ie e a la modulación de las po ado as, el símbolo phi(k), en un múl iplex OFDM cada
po ado a se modula con una in o mación di e en e empleando una modulación común, como QPSK, que es
la que se u iliza en el p oyec o.
Al inal de es e bloque se cogen un de e minado núme o de mues as inales, dependiendo del medio y del
núme o de subpo ado as y se añaden al comienzo de la ansmisión. Es lo conocido como p e ijo cíclico.
En el ecep o la ex ensión cíclica es ex aída y la señal esul an e se demodula median e la aplicación de un
bloque DFT. La inse ción del p e ijo cíclico es comúnmen e acep ada como la o ma de e i a la ISI y
p ese a la o ogonalidad en e los onos.
La mo i ación pa a añadi un p e ijo al símbolo OFDM es la siguien e: como o ma de elimina la
in e e encia que se p oduce en e símbolos, po lo que hemos de desplaza lo lejos de la zona donde se
encuen a el e aso de la señal p eceden e. Como solución se deja á un pequeño espacio de gua da en e los
símbolos pa a e i a es e enómeno.
19
5 VLC
5.1 De inición
LC ambién conocido como Comunicación median e Luz Visible es un subg upo en las
comunicaciones óp icas inalámb icas que emplea la luz isible en una banda de ecuencias en e 400 y
800 Thz. O o é mino con el que se le denomina comunmen e es Li-Fi, ya que, al igual que el Wi- i, pe mi e
c ea una ed inalámb ica de al a elocidad.
El ejemplo más simple de un sis ema VLC se ía el empleo de una bombilla que pa padee a al as ecuencias,
po lo que, al ojo humano, la luz da sensación de con inuidad, pe o simul aneamen e es á emi iendo un
mensaje con su cadencia de pa padeo. De es a mane a el sis ema VLC cumple un doble p opósi o: ilumina y
ansmi e in o mación.
Una de las p incipales o mas de codi icación empleada es la Colo Shi Keying(CSK), una modulación en
in ensidad. Es la más inmedia a, ya que la señal gene ada oma un colo ins an áneo igual a la suma de las es
in ensidades de los LED. Las señales moduladas se mue en po una a iada gama de colo es, cada uno
co espondien e a un símbolo dis in o. Sin emba go, la a iación ins an ánea ansmi ida en él no es pe cep ible
po los se es humanos, dada la baja sensibilidad de nues a is a, con un iempo de e esco de an solo unos
0.01 segundos. Po lo cual, a simple is a, el LED pa ece oma un colo cons an e.
Figu a 5-1 G á ica CSK
Es a ecnología puede emplea luo escen es, pe o sus elocidades de desca gas son a ios ó denes de
magni ud in e io es a las conseguida empleando una bombilla LED (10 Kb/s en e a 500 Mb/s) a dis ancias
co as, aunque con es a misma ecnología, a dis ancias de 1 a 2 kilóme os, sólo se consiguen unos 10 Mb/s.
El auge de las bombillas LED, en pa e debido a que la ab icación de halógenos ue in e umpida
inde inidamen e en Eu opa en el 1 de sep iemb e de 2018, ha pe mi ido que se desa olle es a o ma de
V
Una son isa es la luz en u en ana que le dice a o os
que hay una pe sona gene osa y que se p eocupa en u
in e io .
- Denis Wai ley-
MATLAB
26
26
6 MATLAB
6.1 In oducción
l sis ema a implemen a es el p ocesamien o de una comunicación LiFi. Pa a ello el sis ema debe
con a con un ecep o y ansmiso OFDM simples, que se i án pa a alimen a a un d i e óp ico. Es e
ansmiso ecibe su bi s eam de un con e so UART-bi y el ecep o ealiza el p oceso in e so.
El sis ema inal se debe desa olla sob e una FPGA Spa an 3E, pe o an es de implemen a el sis ema inal en
VHDL se deben ealiza las simulaciones en un lenguaje en el que el desa ollo del sis ema sea más sencillo e
in ui i o con el obje o de comp oba si el plan eamien o de la solución pensada es la co ec a.
Una ez comp obado que la solución p oducida en Ma lab es la co ec a, dicho de o a o ma, que los bi s
ecibidos son los mismos que los en iados, se pueden emplea los di e sos esul ados in e medios p oducidos
en cada bloque como e e encia pa a el modelo en VHDL, que po la mayo complicación del lenguaje -al se
de más bajo ni el- se di icul a en ocasiones su depu ación.
El modelo VHDL se encuen a limi ado en cie os bloques po el núme o de bi s de egis os y de ope andos,
especialmen e en cie os bloques, como en la IFFT y FFT, eniéndolos en cuen a du an e el diseño pa a que el
sis ema sea implemen able en la placa aco de con los ecu sos que és a posee. Po an o cuando se compa en
los esul ados in e medios de ambas simulaciones en los bloques ci ados, las soluciones encon adas en
VHDL se án una ap oximación de las ob enidas en Ma lab. Lo que debe se igual, sin ninguna clase de
cambio, es el bi -s eam inal en ambos sis emas.
6.2 Desc ipción del sis ema
El sis ema inal a implemen a en la FPGA se encuen a di idido en un ecep o y un ansmiso que cuen an
con la siguien e es uc u a de bloques:
E
Haz las cosas lo más simple que puedas, pe o no e
limi es a lo simple.
- Albe Eins ein-
UART o
Bi
Sc amble In e lea e Mappe IFFT DAC
Bi o
UART
De-
sc amble
De-in e lea e De-mappe FFT ADC
Figu a 6-1 Es uc u a de bloques en Ma lab del sis ema
27
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Es uc u a de bloques de emiso y ecep o
Los bloques que componen al ansmiso y ecep o son ins anciados en el a chi o p incipal main.m. En es e
p ime iche o se gene a una secuencia, siguiendo el o ma o UART. Es e iche o ambién se enca ga de
ealiza cie o p ocesamien o a los da os de salida de cie os bloques, así como de i e a en e símbolos OFDM
comple os, mandándolos uno po uno.
6.2.1 Con e so UART a bi
En el o ma o UART, si el bi de en ada pe manece en 1, és a pe manece en eposo. Cuando cambia a 0, es e
bi ecibe el nomb e bi s a e indica el comienzo de la secuencia. Dependiendo de la ama que p e endemos
emplea , a es e bi s a le suceden de 8 a 10 bi s que con ienen el mensaje, clausu ados po un bi s op, a ‘1’,
de ol iendo a la línea al es ado de eposo.
Figu a 6-2 P o ocolo RS-232
La o ma más sencilla de implemen a lo en ma lab es i desca ando los 1s du an e el es ado de eposo has a
llega al bi s a , ins an e en el que se cogen los siguien es 8 elemen os de la ma iz, ya que los mensajes
ansmi idos en la ama se án del amaño de un by e. Es e p oceso se epi e cíclicamen e has a llega al inal
de la ma iz.
6.2.2 Sc amble
El obje i o de es e bloque es el de alea o iza la señal de en ada, simulando el uido blanco. De es a mane a se
e i a g andes picos de salida en la IFFT cuando se conca enan un g an núme o de ce o o unos. Exis en
muchos mé odos pa a log a lo, sin emba go mien as que haya consis encia en la o ma empleada an o en el
emiso como en el ecep o odos son álidos. El p oceso que se u iliza en el p oyec o p o iene del es ánda
PRIME, que de ine el sc amble como una ope ación XOR en e la cadena de en ada y o a p ede e minada
po el algo i mo.
Figu a 6-3 Algo i mo sc amble
La cadena gene ada po el algo i mo puede cambia se sencillamen e si se comienza con un egis o inicial
dis in o.
6.2.3 In e lea e
Debido al des anecimien o de cie as ecuencias ( ading), las subpo ado as de OFDM se p esen an en el
ecep o a dis in as ampli udes. Es os des anecimien os en el espec o causan que cie os g upos de
subpo ado as sean menos iables. Po lo an o, el e o en luga de se epa ido alea o iamen e a lo la go de la
MATLAB
28
28
señal se concen a en g upos de po ado as. Una pe mu ación en el emiso dis ibuye los e o es
uni o memen e a lo la go de la cadena, pues con el in e lea e se asegu a de sepa a los bi s adyacen es.
En ma lab se implemen a el algo i mo de allado en PRIME, consis en e en ealiza una ansposición de la
ma iz de da os, aunque ambién se puede log a adjudicando un nue o índice a cada elemen o según la
siguien e ó mula:
𝑣(𝑘)=𝑤 (𝑁)(𝑘 𝑚𝑜𝑑 𝑠)+𝑓𝑙𝑜𝑜𝑟𝑘
𝑠 𝑘=0,1,…,𝑁− 1
Donde es el ec o con las mues as o iginales, w el ec o de salida, k un i e ado , s el amaño del subg upo
y Ncbps el núme o de mues as.
6.2.4 Mappe
El mappe aduce el bi s eam ecibido a la en ada en los símbolos que les co esponde de su cons elación.
Los bi s necesa ios po símbolo, dependen de la cons elación y se calculan median e la ó mula log2(M),
siendo M el núme o de símbolos en la cons elación. La modulación elegida en es e p oyec o es Q-PSK (4
símbolos), po lo que los bi s se ag upan en pa ejas. Los dis in os símbolos de la cons elación se encuen an en
el eje, pa a mayo simplicidad, como mos ado en la igu a:
Figu a 6-4 Símbolos de Q-PSK
La modulación en OFDM es di e encial, po lo an o cada pa eja de bi s indican la di e encia de ase con
espec o a la pa eja an e io y no el símbolo en sí mismo. La codi icación de los bi s se encuen a en g ay,
o ma o que pe mi e una disminución del po cen aje de e o es, al cambia de alo sólo un bi en e dos
símbolos con iguos. Al pasa de 01 a 10 en bina io cambian ambos bi s de alo , po lo que si se p oduce un
e o en el símbolo ansmi ido, duplicas la asa de e o . Además cie os algo i mos que incluyen un solo bi
de pa idad, que consis e en una ope ación XOR de los bi s de la ama, al con a con el mismo núme o de 1s o
0s en la ama, al modi ica se dos bi s en luga de 1, no puede de ec a el e o .
La implemen ación del bloque pasa po ealiza una con e sión de g ay a bina io, o o gando a cada símbolo un
núme o na u al en e o, de 0 a 3. Con ando con la unción cumsum() (suma acumula i a) y la ope ación módulo
de 4, se log a que la ase en e dos símbolos con iguos en la salida sea la deseada. El p oceso es el mos ado en
el diag ama de lujo:
Una úl ima conside ación a ene en cuen a es que la po ado a inicial posee el alo “-1”, po lo que la
g ay a
bina io
suma
acumula i a
a
módulo
de 4
bi s eam x
Figu a 6-5 Diag ama de lujo del mappe
29
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
p ime a pa eja de bi s debe se modulada en ase con una po ado a a 180º. Así que si po ejemplo la p ime a
po ado a a ansmi i iene una ase de 90º, es deci , oma el alo “+i”, la po ado a modulada debe ene una
ase 90º+180º=270º, omando el alo de “-i” en el plano complejo.
6.2.5 IFFT
La i es la pa e del sis ema que ans o ma los símbolos desde el dominio de la ecuencia a dominio del
iempo. Ma emá icamen e, la solución de una ans o mada de Fou ie sob e un conjun o de pun os, es la
misma solución que la disc e ización de la mul iplicación de las ampli udes de los símbolos po cosenos y
senos de dis in a ecuencia, al se in iable el implemen a an os oscilado es, la ans o mada de Fou ie es el
camino al e na i o que se oma.
La IFFT empleada en es e p oyec o es de 128 pun os, po lo que se necesi an a la en ada 128 po ado as.
Todas aquellas po ado as que se encuen en acías, se deben inicializa a 0. Pa a que ma lab in e p e e
co ec amen e el o den de las po ado as, se debe pasa como a iable a la unción i shi () la ma iz que
con iene los 128 pun os. La unción i shi simplemen e eo dena los elemen os de la ma iz, poniendo la
ecuencia cen al como po ado a ce o.
El espec o que se ansmi e es he mí ico, lo que quie e deci que las po ado as nega i as son conjugadas de
su simé ica posi i a, omando como e e encia la po ado a cen al, que oma siemp e el alo ce o. Al pasa
un espec o he mí ico po la IFFT, la salida solo cons a de pa e eal, lo que simpli ica mucho el p oceso de
ansmisión al ai e, pues sólo hay que mul iplica es a ampli ud po un coseno que se enca gue de desplaza al
espec o en ecuencia.
An es de se ansmi ido, se en ía un p e ijo cíclico al comienzo de la ansmisión, compues o de las úl imas
12 mues as OFDM que se p esen an a la salida de laIFFT. Como se explicó en el apa ado de OFDM, el
p e ijo cíclico es undamen al pa a educi d ás icamen e la in e e encia en e símbolos (ISI).
6.2.6 FFT
T as a a esa el medio que sepa a el emiso y el ecep o , la FFT inalmen e acaba ecibiendo la señal. Debido
a que el bloque an e io unió las doce úl imas mues as al comienzo como p e ijo cíclico, es su p ime a labo
elimina lo, simplemen e desca ando las p ime as mues as que co esponden a dicho p e ijo.
Una ez eliminado, pa iendo de la suposición de que el d i e del ecep o se ha enca gado de habe
p eampli icado las mues as y po lo an o no eniendo en cuen a la posible a enuación o dis o sión que ha
podido causa el medio, se in oducen las po ado as OFDM en la FFT. Una de las p incipales ca ac e ís icas
de la ans o mada de Fou ie y su in e sa, es que al ealiza la ans o mación in e sa a con inuación de la
di ec a se ob ienen las a iables de en ada de la in e sa.
En es e momen o ya se ha conseguido el espec o desplazado con la po ado a cen al como la p ime a
subpo ado a, pues en el bloque de IFFTse ealizó el cambio in e so. Pa a de ol e el espec o a la si uación
o iginal de la que pa imos, es deci , la salida que encon ábamos en el mappe , se debe llama a la unción
shi , que se enca ga de ealiza el desplazamien o in e so, luego de elimina las po ado as a ce o que se
enca gaban de ellena los 128 pun os con los que con aba la IFFT en los que no se ansmi ía in o mación.
Lo que queda es un espec o en el que la pa e nega i a del mismo es el conjugado de la pa e posi i a, po lo
que de ambas pa es se puede deduci la misma in o mación, aunque en caso de la pa e nega i a hay que
conjuga la. Lo mejo es queda se con la pa e nega i a po que, apa e de que los signos de la pa e imagina ia
son ú iles pa a p ocesos pos e io es, ya se encuen an o denadas las dis in as po ado as.
i _shi i p e ijo
cíclico
símbolo
complejo x
Figu a 6-6 Diag ama de lujo de la IFFT
MATLAB
30
30
6.2.7 Demappe
En el demappe se ealiza la demodulación di e encial de las po ado as que han pasado po la salida del
bloque an e io . Debido a que en el mappe se incluía una po ado a de alo -1 al comienzo, en el demappe la
di e encia de ase se calcula a pa i de es a po ado a inicial.
La o ma más di ec a de log a lo es calculando el ángulo de cada po ado a, ealiza es as sucesi as, y luego
dependiendo del ángulo, pe enece ía a un símbolo o a o o. Pe o p ime o hay que calcula el ángulo de las
ec as, po que dependiendo de és e, se debe inclui en uno de los cua o cuad an es c eados po las ec as
diagonales. La o ma más sencilla de calcula el ángulo es median e la ó mula
an(𝑥−𝑥
𝑦−𝑦)
Aunque en Ma lab es ac ible implemen a lo de es e modo, en VHDL eque i ía el uso de un Co dic pa a
calcula el ángulo de cada ec o . Es e es un p oceso cos oso, pues debe i e a a ias eces pa a o ece un
esul ado iable, y su exac i ud, po an o, depende del núme o de ciclos que se ejecu a el Co dic. El
uncionamien o del mismo es explicado con mayo de enimien o en el apa ado de VHDL. La o ma más
iable es en onces median e la mul iplicación de las po ado as de en ada con la conjugada de la an e io .
Se pa e de la siguien e ó mula:
𝐶=(𝑎−𝑗𝑏)(𝑎+𝑗𝑏)(1+𝑗)
Siguiendo la deducción an e io se puede ob ene la ase de cada demodulación, po lo que se puede clasi ica
dependiendo de la ase ob enida. La disc iminación de los símbolos es mucho más sencilla con una aslación
en ase de 45º, que se consigue al mu iplica los po 1+j. Solamen e se debe ene en cuen a el signo de la pa e
eal e imagina ia del símbolo pa a sabe a qué cuad an e co esponde y po an o a qué pa eja de bi s equi ale.
Sin emba go, es a ase modi ica el módulo del símbolo. An e io men e el módulo e a uni a io, pe o al
mul iplica po el complejo 1+j, ob iene el módulo de és e, sq (2), ap oximadamen e 1.41, aunque es o no
in e ie e en el uncionamie o del módulo.
Figu a 6-7 Co espondencia en e bi s y ase de la demodulación
6.2.8 Dein e lea e
El bloque debe de ol e los índices iniciales a cada elemen o que pe mu ó el in e lea e ecupe ando así el
o den o iginal. La única peculia idad de es e dein e lea e es que el p oceso no consis e an solo en una
31
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
ansposición, pues la ma iz es de 94 elemen os y la única disposición ec angula que pe mi e es e núme o es
de 2x47, insu icien es pa a c ea un in e lea e uncional, po lo que en el emiso se ellenó la cadena con dos
ce os con el in de llega a los 96 da os, que pe mi en una dis ibución de 8x12 o 12x8. Es e padding hay que
ene lo en cuen a al calcula los índices de los úl imos bi s de la ma iz.
6.2.9 Desc amble
Dos de las p opiedades de la ope ación XOR son que al ealiza es a ope ación en e una cadena de ce os y
una cadena cualquie a, se ob iene es a úl ima como esul ado y la segunda p opiedad es que si se iene como
ambos ope ando a la misma cadena el esul ado se á un s ing de ce os. Debido a es as ca ac e ís icas el de-
sc amble es exac amen e igual al sc amble .
6.2.10 Con e so bi a UART
En es a pa e del ecep o , se debe ealiza la ope ación opues a a su análogo en el emiso . Sin emba go, la
o ma de implemen a se es muy dis in a.
P ime amen e se debe di idi el bi s eam de en ada po g upos de 8 elemen os, es deci , en by es, y se añade
un bi s a y un bi s op al comienzo y al inal de la di isión, la cual a su ez se añade al ec o de salida. Es
ecomendable añadi algún bi de eposo en e paque e y paque e, es deci , man ene la línea a ‘1’, pa a
asegu a nos de que el sis ema que aya a p ocesa la salida no con unda un bi s op y un bi s a que apa ezcan
con iguos.
La o ma más sencilla de ep esen a lo en ma lab es ealizando un eshape a la ma iz de en ada, di idiéndolo
en 12 paque es de 8 elemen os. Se añaden 4 ec o es columnas al comienzo y al inal de la ma iz, y po
úl imo se con ie e a un ec o ila, en el que se conca enan odas las ilas de la ma iz an e io .
VHDL
32
32
7 VHDL
na ez ealizada una p ime a simulación en ma lab y ob eniendo los esul ados deseados, se p ocede a
implemen a el diseño en el lenguaje desc ip i o hdl.
Como se explicó en el apa ado an e io , el diseño pensado en ma lab debe se lo más idedigno posible al que
se desa olla á pa a la pga, diseño en el cual ha de ene se muy en cuen a los ecu sos empleados, pues son
muy limi ados si los compa amos con un pc mode no, así como las es icciones de iempo pa a pode cumpli
los equisi os del sis ema.
Al igual que en el modelo en ma lab, di idimos el p oyec o en un ansmiso y un ecep o . Sin emba go las
in e aces son muy dis in as.
El ese del sis ema es asínc ono y el eloj es único pa a odo el sis ema, aunque pa a cie os pun os del sis ema
necesi a un eloj algo más len o que el máximo del sis ema.
Va ios esul ados in e medios son gua dados en memo ias am bipue a pa a pode se esc i as po un bloque y
leídas po o o. En ningún caso se pe mi e la mul iesc i u a en un bloque de memo ia.
Todo el sis ema cuen a con un con ol de lujo hacia delan e, que se log a median e un bi da a_ alid a la salida
de cada bloque, indicando cuando el da o p esen ado a la salida es el co ec o.
Cie os bloques comple ados se encuen an ya p ep og amados que se enca gan de ealiza aquellos p ocesos
de g an complejidad como ans o madas de Fou ie o mul iplicado es de núme os complejos.
7.1 Módulos de la pa e del emiso
7.1.1 Con e so UART a bi
U
Somos lo que hacemos de o ma epe ida.
- A is ó eles-
UART2bi
clk s
da a
ou
da a
in d
ou
Figu a 7-1 Bloque UART2bi
33
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
T as ap e a el bo ón de ese el bloque comienza en Reposo, es ado en el que espe a que la línea de
en ada es é a ‘1’, indicando de es a mane a que hay un pue o se ie conec ado a la placa, pasando al
siguien e es ado.
El es ado idle iene dos unciones, po una pa e espe a a que la línea de en ada se uel a a ce o,
indicando que se es á ansmi iendo una ama, a anzando a B_s a , y po o o lado, en caso de que ya
enga almacenado un bloque de bi s as espe a un cie o núme o de ciclos de eloj p ocede a en ia
los da os gua dados.
Los es ados B_s a , Bi s y B_s op gua dan has a 47 by es leídos de la ama de en ada en un ec o o
egis o in e no al con e so , cap ándola a un baud a e de 230400.
En En ío se ansmi e el egis o ellenado en es ados an e io es al sc amble en bloques de 94 bi s,
can idad necesa ia pa a o ma un símbolo OFDM empleando la modualción DCO. En o al se epi e
es e p oceso 4 eces pues se en ía en o al 376 bi s o 47 by es.
7.1.2 Sc amble
Su implemen ación en VHDL es la explicada en la pa e de Ma lab. Cuen a con un egis o que median e
ope aciones con él mismo alea o iza la salida p opo cionada po el bloque. El sc amble cuen a con una
máquina de es ados muy simple, en el p ime o de los es ados espe a po una nue a en ada álida y en el
segundo se p ocesa el bi de en ada.
Reposo Idle Bi s B_s a B_s op
En ío
Figu a
7
-
2
Diag ama de bolas del con e so UART a bi
sc amble
clk s
da a
ou
da a
in
d
ou
d
in
Figu a 7-3 Bloque sc amble
VHDL
34
34
7.1.3 In e lea e
El in e lea e pe manece leyendo los bi s en iandos po el sc amble gua dándolos en una memo ia adyacen e,
en un ec o columna, leído luego o denadamen e po el mappe . Al con a io de lo is o en Ma lab, como se
ha mencionado an e io men e, no ecibe odos los da os seguidos debido a la na u aleza concu en e de las
FPGA, de ahí la necesidad del uso de una RAM a la salida. T as p ocesa los da os el in e lea e p opo ciona
los bi s al mappe espe ando los ciclos que a da el mappe en gene a una salida, po lo que se debe inclui un
es ado de espe a en la máquina de es ados.
En el p o ocolo PRIME el in e lea e gene a una ma iz ec angula con los da os de en ada que luego
anspone, con el obje i o de epa i los bi s consecu i os po la ma iz de salida. Sin emba go, al ene 94
bi s, no se puede c ea una ma iz ec angula con los di iso es de dicho núme o que los epa a lo su icien e .
La solución es c ea una ma iz de [12x8] (de 96 bi s) quedando los dos úl imos elemen os a 0 y anspone la
ma iz, leyendo la ma iz po columnas de izquie da a de echa e igno ando el úl imo elemen o de las dos
columnas inales.
O o mé odo posible pa a el in e lea e puede se el c ea una secuencia alea o ia que con u ie a los núme os
del 1 al 94, una sola ez cada uno, y emplea la como índice pa a coloca los elemen os de en ada en la ma iz
de salida, pe o se eligió el p ime mé odo po se más idedigno a PRIME.
7.1.4 Mappe
Memo ia mappe
Es una memo ia de bloque de doble acceso. Las di ecciones y buses de da os A pe enecen al mappe , que es
el único bloque enca gado de la esc i u a. Pa a asegu a nos de es e hecho, sólo es e bloque iene acceso al pin
in e lea e
clk s
da a
mem
da a
in
d
ou
d
in add
Figu a 7-4 Bloque in e lea e
in e lea e
clk s
in
da a
in
d
ou
d
in
add da a
mem
Figu a 7-5 Bloque mappe
35
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
de WE de la memo ia, ac i o a ‘1’.
Los buses de da os y di ecciones B de la memo ia son empleados po la IFFT.
En es a memo ia, a la salida del mappe , se gua dan las modulaciones de las po ado as. Los da os an sólo
ienen un amaño de 3 bi s, pues los posibles alo es de la po ado a es án gua dados como 0(0+0j), 1(1+0j),
2(0+1j), 3(-1+0j) y 4(0-1j). De es a o ma los da os ocupan muchos menos ecu sos que si conec á amos
di ec amen e a la IFFT una memo ia con un bus del amaño de los da os de en ada de és a, que son de 10 bi s.
La memo ia con iene 128 palab as de 3 bi s. Es o es debido al núme o de pun os de la IFFT, ambién de 128.
En dichas palab as iene ep esen ada la o ma del espec o que se pasa a la IFFT. Las 15 po ado as iniciales
y las 16 úl imas, así como la cen al, son po ado as acías, po an o de alo 0+0j. Las po ado as a la
izquie da de la ecuencia cen al, que ocupa la posición 64 en la memo ia, son el conjugado de las po ado as
de la de echa, donde se encuen an las modulaciones ealizadas po el mappe .
Figu a 7-6 Po ado as en DCO-OFDM
Mappe
El mappe es á diseñado a pa i de una máquina de es ados. El p ime o de ello es simplemen e una
inicialización de memo ia, con el obje i o de que la p ime a po ado a, an o de la pa e posi i a del espec o
como su conjugada se encuen e siemp e en el símbolo inicial de -1+0j. Es a pa e del p oceso se ejecu a as
baja el ese en dos ciclos y no se uel e a ejecu a du an e el es o del iempo de p og ama.
El siguien e es ado es de lec u a, que consis e en gua da en un egis o auxilia la ama de bi s p o enien e
del bloque an e io . Pa a que el mappe acep e la en ada el inpu da a_ alid (da o álido) debe de es a a ‘1’.
Una ez que se han ecogido una pa eja de bi s en el egis o auxilia , se p ocede a su modulación. Como en el
modelo de ma lab, dos bi s co esponden a un símbolo en conc e o, y pa a se modulado debe pasa po los
siguien es p ocesos: con e sión de g ay a bina io, suma de ase al símbolo an e io , mapeo del nue o símbolo,
cálculo de su conjugado y gua dado en memo ia.
El decodi icado de g ay a bina io, debido a lo i ial que esul a esol e lo pa a dos bi s, simplemen e se
implemen a un bloque de condicionales anidados.
La modulación di e encial se ealiza median e una suma acumula i a de las ases, sumando la nue a ase a la
gua dada en o o egis o. Si iéndose de que el núme o de símbolos es una po encia de dos, se puede emplea
el desbo damien o del egis o de ase pa a mo e se po los símbolos cíclicamen e.
Una ez ob enido el símbolo en la cons elación, es gua dado en memo ia, a pa i de la posición 66 en o den
ascenden e, a la de echa de la ecuencia cen al. A su ez se calcula su conjugado y se gua da a pa i de la
posición 62 en o den descenden e. Debido a que la cons elación empleada es la Q-PSK, el cálculo de la
conjugada consis e en in e cambia el segundo símbolo de la cons elación po el cua o y ice e sa (1j po -1j).
Lec u a G ay a bin Pa e pos Modulación Pa e neg
Figu a 7-7 Diag ama de bolas del mappe
VHDL
42
42
Xs :790 - "C:/Use s/W-10/Desk op/ eposi o io/Reco e ed da a 07-29 21_08_06/A chi os
bo ados/LIBROS/#2/ g_o dm_ inal/UART_bi _s eam. hd" line 108: Index alue(s) does no ma ch
a ay ange, simula ion misma ch.
Es e a iso hace e e encia a una señal que se emplea como índice de una ma iz, ya que el alo de la
señal puede llega a excede el máximo núme o de los elemen os. Sin emba go es á con olado den o
del diseño pa a que se man enga den o de unos alo es pe mi idos.
Xs :753 - "C:/Use s/W-10/Desk op/ eposi o io/Reco e ed da a 07-29 21_08_06/A chi os
bo ados/LIBROS/#2/ g_o dm/bloque_i . hd" line 77: Unconnec ed ou pu po ' d' o componen
'i '.
NgdBuild:440 - FF p imi i e 'bloq_i /i _comp/blk000001b4/blk00000294' has unconnec ed ou pu
pin
NgdBuild:443 - SFF p imi i e 'bloq_i /i _comp/blk0000054 ' has unconnec ed ou pu pin
NgdBuild:452 - logical ne 'bloq_ / _comp/blk00000189/sig000005 a' has no d i e
En la página de Xilinx de allan que no odos los pines de salida necesi an se conec ados, y que se
puede igno a es e a iso si los pines que se mues an no se necesi an en el diseño. Todos los pines
mos ados pe enecen a salidas y en adas de los bloques i y que no in e ie en en el
uncionamien o del diseño pues no es án incluidos en es e.
PhysDesignRules:812 – Dangling pin <DOA1> on block: <dein e _mem/U0/xs _blk_mem_
gene a o /gna i ebmg.na i e_blk_mem_gen/ alid.cs / amloop[0]. am. /s3_ini . am/sp am. am.A>:<
RAMB16_RAMB16A>.
Al igual que en el a iso an e io en la p opia página de Xilinx se dice que cuando se emplea una
memo ia de bloque y la implemen ación emplea una o más BRAM16/32 puede que algunos pines
queden lo ando. Es o depende del amaño de la am y es con olado po el sin e izado y no a ec a a
la uncionalidad, po lo que el wa ning se puede ob ia .
43
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Figu a 7-21 Resumen de empleo de ecu sos
En la igu a 6-11 apa ece un esumen de los ecu sos empleados po la FPGA pa a pode en u a el p og ama.
Como se explicó en el capí ulo 2 la Spa an 3E es á o mada po un g an núme o de CLBs compues as a su
ez po LUTs (look-up ables), que uncionan como ablas de e dad y lip- lops que uncionan como egis os
de los es ados an e io es. Los lip- lops y LUTs empleados no ienen po qué es a en el mismo slice, de ahí a
que el po cen aje de slices ocupados sea mayo de 31% o 44%.
Cuando se ha u ilizado g an pa e de los ecu sos de la FPGA, el sin e izado se encuen a obligado a
empaque a la mayo can idad de lógica, mos ándose el po cen aje de la línea “Numbe o Slices con aining
un ela ed logic” mayo que ce o, indicando que la placa no es capaz de segui las es icciones de iempo
indicadas siendo la labo del diseñado el asegu a se de que se cumplan. En es e caso, al se el po cen aje del
0%, no supone un p oblema.
El núme o de memo ias empleadas son en o al 7 po debajo del lími e o al, aunque se debe ene en cuen a
que cada una de ellas emplea un mul iplicado , y en es e p oyec o suponen la mi ad de los mul iplicado es
usados.
En cualquie caso, como ninguno de los ecu sos se ace ca al 100% de la capacidad de la placa, el p og ama se
puede en u a en la FPGA sin ninguna anomalía que haya que depu a .
Resul ados
44
44
8 RESULTADOS
n es e apa ado se ealiza una discusión sob e los esul ados ob enidos en Ma lab y en VHDL. En el
capí ulo se compa an los esul ados ob enidos en ambos sis emas empleando pequeños sc ip s de
Ma lab, los más complejos se expond án con mayo de enimien o, pe o el p ocedimien o básico, en la mayo
pa e de las p uebas, consis e en ex ae los ec o es de esul ados del modelo de VHDL en un a chi o que
luego es ans o mado a una ma iz en Ma lab con la que luego se puede ope a .
VHDL pe mi e la posibilad en sus es _bench el pode lee y egis a señales en a chi os, lo cual es muy ú il a
la ho a de hace comp obaciones del uncionamien o del sis ema, a pesa de que ya cuen a con una in e az
g á ica bas an e e icaz. En el Anexo C ienen ecopilados los sc ip s an o en Ma lab como en VHDL
empleados en es e capí ulo.
8.1 Bloque de con e sión del o ma o UART a bi
En es e p ime a ase la limi ación de la p ecisión numé ica de las FPGAs, causadas po escasez de ecu sos, no
a ec a a los esul ados, que son iguales , pues son ope aciones de pocos bi s. Ex ayendo los esul ados
ob enidos en la simulación, y copiándolas en una ma iz en Ma lab, se puede demos a an o ma emá ica
como g á icamen e, ecu sos que se emplea án du an e el es o de es e apa ado.
Como se dis ingue en la igu a, los bi s ex aídos de es e bloque son dos by es de in o mación y el es o del
paque e se ellena de ce os con el obje i o de simpli ica el es udio de los esul ados que se an ob eniendo y
no ene la gos pe iodos de simulación.
Figu a 8-1 Da os de en ada Ma lab y VHDL
E
Locu a es hace la misma cosa una y o a ez
espe ando ob ene di e en es esul ados.
- Albe Eins ein-
45
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
La ep esen ación elegida es un g á ico de ba as. Los únicos alo es que puede oma la salida son unos o
ce os, ya que se es á abajando con bi s indi iduales en es e p ime bloque.
8.2 Sc amble
Como se ha explicado epe idamen e en apa ados an e io es, la unción del sc amble es la de alea o iza la
señal. Al se p ocesado el esul ado median e ope aciones lógicas, no exis e ninguna di e encia en e el s eam
de salida del sis ema en Ma lab y en VHDL. En los esul ados de la IFFT se puede obse a la in luencia de
es e bloque sob e las señales que an a se emi idas po el ai e. En caso de que es e bloque no exis ie a, si
enemos una señal que no a ía lo su icien e, al aplica le la ans o mada in e sa de Fou ie , nos da á como
esul ado un g an pico en las bajas ecuencias como mues a la igu a:
Figu a 8-2 a)Salida del sc amble b)Salida de la IFFT sin sc amble
8.3 Mappe
En la desc ipción del sis ema en VHDL se hizo mención de que en el mappe los da os libe ados no son
símbolos, sino que a cada símbolo de la cons elación Q-PSK le co esponde dos bi s, po ello la salida son
núme os en e 1 y 4. Como la mayo pa e de los da os son ce os, la modulación di e encial p o oca que odos
los símbolos al inal sean el mismo.
Sin emba go la compa ación aho a con los esul ados no es an i ial como en el bloque an e io . Pa a
ealiza la de o ma idedigna se debe ealiza una con e sión de los da os, de los núme os a los símbolos.
C eando una ma iz con odos los símbolos o denados, se emplean los esul ados del sis ema VHDL como
índices de dicha ma iz, ob eniendo el siguien e esul ado, idén ico al suplido po Ma lab:
Figu a 8-3 Componen es eales e imagina ias de la salida del mappe
Resul ados
46
46
Aquí ienen ep esen adas las 49 po ado as. La g á ica supe io es la pa e eal del símbolo y la in e io es la
imagina ia. Una de los equisi os pa a que la modulación di e encial uncione es ene una p ime a po ado a
que si a de e e encia. En es e mappe la p ime a po ado a iene el alo de -1, con una ase 180º.
8.4 IFFT
En es e bloque se equie e una cuidadosa elección de la con igu ación de la IFFT ins anciada, pues un mal
ajus e del módulo causa una se e a dis o sión en los esul ados ob enidos. La IFFT es á escalada con la
ecomendación que hace la documen ación pa a una ans o mada de 128 pun os, y se ha elegido una
esolución en la en ada de 10 bi s. En p incipio se in en ó ealiza con unos ocho bi s, pe o la espues a
quedaba demasiado dis an e de la ob enida en Ma lab. Uno de los mo i os p incipales po lo que se ansmi e
una unción he mí ica es po que el esul ado de la ans o mada sólo cons a de pa e eal, y aunque incluso
empleando 10 bi s exis e pa e imagina ia en la salida en VHDL, es desp eciable, a ios ó denes de magni ud
in e io a la mayo pa e de las po ado as y al in y al cabo es lo que se busca en es a ans o mada, el e i a
en ia la pa e imagina ia.
A ni el de ep esen ación los núme os emi idos po y uno y o o modelo son muy dispa es en e sí, aunque
compa en cie as p opiedades en e ellos que hace llega a la conclusión de que son casi los mismos da os
pe o in e p e ados de mane a dis in a. Si omamos la p ime a mues a y la no malizamos, es deci , le
o o gamos el alo unidad, y di idimos el módulo del es o de las mues as con espec o a es a p ime a,
encon amos que la espues a de ambos sis emas son indi inguibles a p ime a is a como mues a la igu a:
Figu a 8-4 a)Salida IFFT Ma lab b)Salida IFFT VHDL
c)Compa ación en e salidas
Sin emba go, como se ha señalado en el diag ama, sí que exis e di e encias en e dos mues as cualesquie a
po mínimo que sea. En algunas suponen e o es absolu os de an solo cen ésimas.
47
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Hay di e en es o mas de calcula el e o o da una medida de cuan a di e encia en e ambos ec o es. En es e
apa ado se ha op ado po medi el módulo del ec o de los e o es, o dicho de o a mane a, ob ene la aíz de
la suma de los e o es al cuad ado. Además se ha hecho una segunda medición de la simili ud de ambos
ec o es, calculando an o el coseno, como el ángulo que exis e en e ellos.
No malizando ambos ec o es con el p ime elemen o de cada uno pa a que puedan se compa ables,
calculando la media cuad ada del e o de ambos, así como del ec o de Ma lab y di idiendo ambos,
ob enemos el e o ela i o del sis ema que es del 5,44%, como se mues a en el código al inal del
subapa ado. Como p ueba adicional, si ealizamos una mul iplicación escala de ambos ec o es y di idimos
en e el módulo de ambos ob enemos un indicado con alo es en e -1 y 1 que mues a lo pa ecido que son. Si
aplicamos la ó mula a la salida de Ma lab y de VHDL encon amos que los ec o es ienen una simili ud de
0.9985, lo que quie e deci que o man un ángulo de 0.054 adianes.
La conclusión a la que se llega es que la con igu ación de la IFFT es la co ec a, debido a la simili ud en
espues as a la IFFT de Ma lab.
%%Se calculan los ec o es no malizados con espec o al p ime elemen o
%%de cada ec o
sal_i _ma lab_no m=sal_i _ma lab(13:end)/sal_i _ma lab(13)
sal_i _ hdl_no m=salida_i _ hdl/salida_i _ hdl(1)
%%Cálculo de la media cuad ada del e o
e o _ ms= ms(sal_i _ma lab_no m-sal_i _ hdl_no m)
%%Cálculo de la media cuad ada del ec o de ma lab
ma lab_ ms= ms(sal_i _ma lab_no m)
%%E o po cen ual
e o _ ela i o=e o _ ms/ma lab_ ms
%%Coseno del ángulo en e los dos ec o es
indice=sal_i _ma lab_no m*(sal_i _ hdl_no m')/(no m(sal_i _ma lab_no m)
* no m(sal_i _ hdl_no m))
Figu a 8-5 Resul ados de la consola de Ma lab
8.5 Demappe
Debido a las pequeñas di e encias que hay en el sis ema VHDL, al ene ecu sos bas an e limi ados, an o a
ni el de lógica p og amable como de iempo, el algo i mo empleado en an o la simulación como en la
sin e ización pasa po desplaza la señal en el plano imagina io -45º. G acias a es e cambio en la señal de
en ada no solo se puede anula el e o p o ocado po el sis ema sino que ambién al debido al uido
ambien al, dando esul ados consis en es e idén icos en ambos sis emas.
Resul ados
48
48
8.6 Consola de Pue o Se ie
Una ez comp obada la solución bloque a bloque pa a obse a las coincidencias en e ambos modelos, se
ealiza una p ueba inal pa a comp oba la uncionalidad de l p og ama sin e izado y en u ado en la FPGA. El
obje i o p incipal del p oyec o e a el c ea un emiso y ecep o que pe mi ie a el en ío de mensajes de has a
47 by es p opo cionado po un pue o se ie pa a luego, as a a esa el sis ema se expulsado de nue o al
pue o se ie pe o en es a ocasión como en ada en luga de salida. Pa a ello se ha empleado Te mi e, un
p og ama que cap a amas po un pue o se ie y las ans o ma en ca ac e es ASCII. La en aja que
p opo ciona es e p og ama an e o as consolas es que Te mi e pe mi e en ia y ecibi desde la misma consola
simpli icando la exposición g á ica de los esul ados.
Figu a 8-6 Consola
En la Figu a 7-5 las cadenas de colo azul son los esc i os desde la consola, el mensaje que se pasa desde el
PC al emiso del sis ema, mien as que los ca ac e es de colo e de son las ecibidas desde la FPGA. Como se
puede obse a el sis ema en ía al ecep o 47 by es que pueden o no es a acíos. En caso de es a los se
deno a median e el símbolo [00].
49
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
9 CONCLUSIONES
as e alua los dis in os apa ados de la memo ia se llega a la conclusión que la ecnología VLC oda ía
se encuen a en las p ime as ases de su desa ollo po lo que oda ía no es comple amen e iable. En
especial si enemos en cuen a la di icul ad de los úl imos años en c ea un anscep o de amaño educido que
haga un uso e icien e de la ene gía, aunque una ez encida es a di icul ad, la écnica a anza á a pasos
agigan ados pues g an pa e de las ins alaciones de VLC consis i ían en añadi le es modi icaciones a la
ilumina ia LED que ya exis e y es cada ez más p ominen e en los hoga es y en ámbi os indus iales y
come ciales. Se puede espe a que enun u u o ce cano se haga un uso cada ez más ex endido de es as edes
en g andes negocios, como cen os come ciales en el que deben p opo ciona una conexión iable y ápida a
una g an can idad de usua ios, aunque nue amen e encon amos el escollo de las dimensiones del anscep o ,
pues g an núme o de los disposi i os empleados que demandan comuniciones digi ales comp enden
disposi i os mó iles, po lo que es mi imp esión que e emos una g an apues a en es a ecnología po pa e de
la indus ia mó il.
En cuan o al p oyec o explicado en es a memo ia, mis conclusiones inales es que se ha ob enido un emiso y
ecep o empleando la modulación OFDM siguiendo el p o ocolo PRIME, c eando una señal en la que se
p io iza la iabilidad de es a, mo i o po el que se le ha incluido los bloque de sc amble e in e lea e . El
esul ado es que se puede en ia un núme o exac o de by es a pesa de que cada paque e OFDM es á
compues o po 94 subpo ado as, c eando un bu e que espe a a ios símbolos OFDM.
9.1 Líneas de abajos u u os
Una de las p incipales modi iciones que se pueden ealiza a es e p oyec o es la inclusión de un módulo ADC
y un DAC que pe mi a anspo a las señales en e dis in os disposi i os.
O o u u o abajo a ni el de ha dwa e consis i ía en diseña dos ci cui os: un ansmiso y un ecep o Li-Fi,
que pe mi a a la señal iaja po el ai e. Las bases del ci cui o se ía un o odiodo y un ampli icado que
dis o sione la señal lo menos posible, pe mi iendo el mayo bi a e posible.
A ni el so wa e, una ez ya implemen ada una capa ísica iable, al habe con e ido la señal al es ánda RS-
232 (pue o se ie), se ha conseguido aduci la capa ísica a una no ma ampliamen e u ilizada po lo que
desa olla aplicaciones al ededo del sis ema se simpli ica mucho. Se pod ía c ea una pla a o ma que
pe mi ie a la ansmisión de dis in os a chi os, mul imedia especí icamen e, po que a mi pa ece el u u o de
es a ecnología debe ía con ia en el se icio de s eaming debido a las al as asas de ans e encia que pe mi e.
T
Sólo cabe p og esa cuando se piensa en g ande, sólo
es posible a anza cuando se mi a lejos.
- José O ega y Gasse -
Bibliog a ía
50
50
BIBLIOGRAFÍA
Chun Ghiu Lee. (2011). Vi ual Ligh Communica ions.
Xilinx. (2018). DS312 Spa an-3E FPGA Family Da a Shee .
P ime Alliance Technical G oup. D a Speci ica ion o Powe Line In elligen Me e ing E olu ion.
Xilinx. (2011). Spa an-3E FPGA S a e Ki Boa d Use Guide.
Xilinx. (2010). DS260 LogiCORE IP Fas Fou ie T ans o m 7.1 .
Sanjana C Saju. (2015). Compa ison o ACO-OFDM and DCO-OFDM in IM/DD Sys ems.
I ica S e ano ić. (2017). OFCOM-Repo .
Xilinx. (2011). DS291 LogiCORE IP Complex Mul iplie 3.1.
La i Ullah Khan. (2017) Visible ligh communica ion: applica ions, a chi ec u e, s anda diza ion and
esea ch challenges.
Jie Lian, Yan Gao, Peng Wu, Dianbin Lian. (2019). O hogonal F equency Di ision Mul iplexing Techniques
Compa ison o Unde wa e Op ical Wi eless Communica ion Sys ems.
ISI s ICI | di e ence be ween ISI and ICI. h ps://www. wi eless-wo ld.com/Te minology/ISI- s-ICI.h ml.
Wha is OFDM: O hogonal F equency Di ision Mul iplexing. h ps://www.elec onic no es.com /a icles
/ adio/mul ica ie -modula ion/o dm-o hogonal- equency-di ision-mul iplexing-wha -is- u o ial-
basics.php.
Di e ence be ween FDM and OFDM | FDM s OFDM. h ps://www. wi eless-wo ld.com/A icles/di e ence
-be ween-FDM-and-OFDM.h ml.
RS-232 s. TTL Se ial Communica ion. h ps://www.spa k un.com/ u o ials/215.
51
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
58
58
59
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
60
60
Sc amble . hd
61
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
62
62
In e lea e . hd
63
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
64
64
65
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Mappe . hd
Anexo B: Código VHDL
66
66
67
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
74
74
Mul iplicado _bloque. hd
75
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
76
76
77
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
78
78
Dein elea e . hd
79
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
80
80
81
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Bi 2UART. hd
Anexo B: Código VHDL
82
82
83
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo B: Código VHDL
90
90
91
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
Anexo C: Código de las p uebas
92
92
ANEXO C: CÓDIGO DE LAS PRUEBAS
P uebas.m
%%llamada al MAIN
main;
%%El sc ip p ocede a hace las p uebas
%%Análisis de las salidas UART2bi
ou pu _ua 2bi _ hdl= able2a ay( ichsalidaua 2bi hdl)';
igu e('Name','En ada Ma lab','Numbe Ti le','o ');
ba (inpu _sc amble ,1,'b');
xlim([0 95])
xlabel("Mues as")
ylabel("Valo del bi ")
se (gc ,'colo ','whi e')
se (gca,'YLim',[0 1.75])
se (gca,'YTick',(0:1:2))
igu e('Name','En ada VHDL','Numbe Ti le','o ');
ba (ou pu _ua 2bi _ hdl,1,'b');
xlim([0 95])
xlabel("Mues as")
ylabel("Valo del bi ")
se (gc ,'colo ','whi e')
se (gca,'YLim',[0 1.75])
se (gca,'YTick',(0:1:2))
ua 2bi _comp= isequal(inpu _sc amble ,ou pu _ua 2bi _ hdl);
%%Análisis de las salidas Sc amble
igu e('Name','Salida sc amble Ma lab','Numbe Ti le','o ');
ba (inpu _in e lea e ,1,'b');
xlim([0 95]);
xlabel("Mues as")
ylabel("Valo del bi ")
se (gc ,'colo ','whi e')
se (gca,'YLim',[0 1.75])
se (gca,'YTick',(0:1:2))
ou pu _sc amble _ hdl= able2a ay( ichsalidasc amble hdl)';
igu e('Name','Salida sc amble VHDL','Numbe Ti le','o ');
ba (ou pu _sc amble _ hdl,1,'b');
xlim([0 95]);
xlabel("Mues as")
93
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
ylabel("Valo del bi ")
se (gc ,'colo ','whi e')
se (gca,'YLim',[0 1.75])
se (gca,'YTick',(0:1:2))
sc amble _comp= isequal(ou pu _sc amble _ hdl,inpu _in e lea e );
%%Análisis de las salidas In e lea e
igu e('Name','Salida in e lea e Ma lab','Numbe Ti le','o ');
ba (inpu _mappe ,1,'b');
xlabel("Mues as")
ylabel("Valo del bi ")
xlim([0 95])
se (gc ,'colo ','whi e')
se (gca,'YLim',[0 1.75])
se (gca,'YTick',(0:1:2))
se (gc ,'colo ','whi e')
ou pu _in e lea e _ hdl= able2a ay( ichsalidain e lea e hdl)';
igu e('Name','Salida in e lea e VHDL','Numbe Ti le','o ');
ba (ou pu _in e lea e _ hdl,1,'b');
xlabel("Mues as")
ylabel("Valo del bi ")
xlim([0 95])
se (gc ,'colo ','whi e')
se (gca,'YLim',[0 1.75])
se (gca,'YTick',(0:1:2))
se (gc ,'colo ','whi e')
in e lea e _comp= isequal(inpu _mappe ,ou pu _in e lea e _ hdl);
%%Análisis salidas Mappe
igu e('Name','Salida mappe Ma lab','Numbe Ti le','o ');
ax1 = subplo (2,1,1);
ba (ax1, eal(ou pu _mappe ),1,'b');
se (gc ,'colo ','whi e')
ylim([-1.9 1.9])
xlabel("Mues as")
ylabel("Valo del bi ")
ax2 = subplo (2,1,2);
ba (ax2,imag(ou pu _mappe ),1,'b');
ylim([-1.9 1.9])
xlabel("Mues as")
ylabel("Valo del bi ")
se (gc ,'colo ','whi e')
aux_ou pu _mappe _ hdl= able2a ay( ichsalidamappe hdl)';
eg = [1 1i -1 -1i];
ou pu _mappe _ hdl(1:101)= eg(aux_ou pu _mappe _ hdl);
ou pu _mappe _ hdl=[ou pu _mappe _ hdl(7) ou pu _mappe _ hdl(8:2:end)];
Anexo C: Código de las p uebas
94
94
igu e('Name','Salida mappe VHDL','Numbe Ti le','o ');
ax1 = subplo (2,1,1);
ba (ax1, eal(ou pu _mappe _ hdl),1,'b');
se (gc ,'colo ','whi e')
ylim([-1.9 1.9])
xlabel("Mues as")
ylabel("Valo del bi ")
ax2 = subplo (2,1,2);
ba (ax2,imag(ou pu _mappe _ hdl),1,'b');
ylim([-1.9 1.9])
xlabel("Mues as")
ylabel("Valo del bi ")
se (gc ,'colo ','whi e')
mappe _comp= isequal(ou pu _mappe , ou pu _mappe _ hdl);
%%Análisis salidas IFFT
igu e('Name','Salida IFFT Ma lab(no malizada)','Numbe Ti le','o ');
ba (inpu _ (13:end)/inpu _ (13),1,'b');
se (gc ,'colo ','whi e')
xlabel("Mues as")
ylabel("Salida no malizada")
xlim([0 128])
%%Se calculan los ec o es no malizados con espec o al p ime elemen o
%%de cada ec o
salida_i _ hdl= able2a ay( ichsalidai hdl)';
sal_i _ma lab_no m=inpu _ (13:end)/inpu _ (13);
sal_i _ hdl_no m=salida_i _ hdl/salida_i _ hdl(1);
igu e('Name','Salida IFFT VHDL(no malizada)','Numbe Ti le','o ');
ba (salida_i _ hdl/salida_i _ hdl(1),1,'b');
se (gc ,'colo ','whi e');
xlabel("Mues as");
ylabel("Salida no malizada");
xlim([0 128]);
%%Cálculo de la media cuad ada del e o
e o _ ms_i = ms(sal_i _ma lab_no m-sal_i _ hdl_no m);
%%Cálculo de la media cuad ada del ec o de ma lab
ma lab_ ms_i = ms(sal_i _ma lab_no m);
%%E o po cen ual
e o _ ela i o_i =e o _ ms_i /ma lab_ ms_i ;
%%Coseno del ángulo en e los dos ec o es
indice_i =sal_i _ma lab_no m*(sal_i _ hdl_no m')/(no m(sal_i _ma lab_
no m)* no m(sal_i _ hdl_no m));
%%Análisis salidas FFT
igu e('Name','Salida FFT Ma lab(no malizada)','Numbe Ti le','o ');
ax1 = subplo (2,1,1);
ba (ax1, eal_pa / eal_pa (1),1,'b');
95
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
xlabel("Mues as");
ylabel("Salida no malizada");
ylim([-2 2]);
ax1 = subplo (2,1,2);
ba (ax1,imag_pa /imag_pa (2),1,'b');
xlabel("Mues as");
ylabel("Salida no malizada");
ylim([-2 2]);
se (gc ,'colo ','whi e');
salida_ _ eal_ hdl= able2a ay( ichsalida hdl(2:end,1))';
salida_ _imag_ hdl= able2a ay( ichsalida hdl(2:end,2))';
igu e('Name','Salida FFT VHDL(no malizada)','Numbe Ti le','o ');
ax1 = subplo (2,1,1);
ba (ax1,salida_ _ eal_ hdl/salida_ _ eal_ hdl(1),1,'b');
xlabel("Mues as");
ylabel("Salida no malizada");
ylim([-2 2]);
ax1 = subplo (2,1,2);
ba (ax1,salida_ _imag_ hdl/salida_ _imag_ hdl(2),1,'b');
xlabel("Mues as");
ylabel("Salida no malizada");
ylim([-2 2]);
se (gc ,'colo ','whi e');
sal_ _ma lab_no m_ eal= eal_pa / eal_pa (1);
sal_ _ma lab_no m_imag=imag_pa /imag_pa (2);
sal_ _ hdl_no m_ eal=salida_ _ eal_ hdl/salida_ _ eal_ hdl(1);
sal_ _ hdl_no m_imag=salida_ _imag_ hdl/salida_ _imag_ hdl(2);
%%Cálculo de la media cuad ada del e o
e o _ ms_ _ eal= ms(sal_ _ma lab_no m_ eal-sal_ _ hdl_no m_ eal);
e o _ ms_ _imag= ms(sal_ _ma lab_no m_imag-sal_ _ hdl_no m_imag);
%%Cálculo de la media cuad ada del ec o de ma lab
ma lab_ ms_ _ eal= ms(sal_ _ma lab_no m_ eal);
ma lab_ ms_ _imag= ms(sal_ _ma lab_no m_imag);
%%E o po cen ual
e o _ ela i o_ _ eal=e o _ ms_ _ eal/ma lab_ ms_ _ eal;
e o _ ela i o_ _imag=e o _ ms_ _imag/ma lab_ ms_ _imag;
%%Coseno del ángulo en e los dos ec o es
indice_ _ eal=sal_ _ma lab_no m_ eal*(sal_ _ hdl_no m_ eal')/(no m(sal_
_ma lab_no m_ eal)* no m(sal_ _ hdl_no m_ eal));
indice_ _imag=sal_ _ma lab_no m_imag*(sal_ _ hdl_no m_imag')/(no m(sal_
_ma lab_no m_imag)* no m(sal_ _ hdl_no m_imag));
%%Análisis salidas Demappe
igu e('Name','Salida demappe Ma lab','Numbe Ti le','o ');
Anexo C: Código de las p uebas
96
96
ba (inpu _dein e lea e ,1,'b');
se (gc ,'colo ','whi e');
ylim([0 1.9]);
xlim([0 95]);
xlabel("Mues as");
ylabel("Valo del bi ");
aux_ou pu _demappe _ hdl= able2a ay( ichsalidademappe hdl);
eg = [0 0; 0 1; 1 0; 1 1];
ou pu _demappe _ hdl= eshape( eg(aux_ou pu _demappe _ hdl'+1,:)', [1 94]);
igu e('Name','Salida demappe VHDL','Numbe Ti le','o ');
ba (ou pu _demappe _ hdl,1,'b');
se (gc ,'colo ','whi e')
ylim([0 1.9]);
xlim([0 95]);
xlabel("Mues as");
ylabel("Valo del bi ");
demappe _comp=isequal(ou pu _demappe _ hdl, inpu _dein e lea e );
%%Análisis salidas Dein e lea e
igu e('Name','Salida dein e lea e Ma lab','Numbe Ti le','o ');
ba (inpu _desc amble ,1,'b');
se (gc ,'colo ','whi e')
ylim([0 1.9]);
xlim([0 95]);
xlabel("Mues as");
ylabel("Valo del bi ");
ou pu _dein e lea e _ hdl= able2a ay( ichsalidadein e lea e hdl)';
igu e('Name','Salida dein e lea e VHDL','Numbe Ti le','o ');
ba (ou pu _dein e lea e _ hdl,1,'b');
se (gc ,'colo ','whi e')
ylim([0 1.9]);
xlim([0 95]);
xlabel("Mues as");
ylabel("Valo del bi ");
isequal(ou pu _dein e lea e _ hdl, inpu _desc amble );
%%Análisis salidas Desc amble
igu e('Name','Salida desc amble Ma lab','Numbe Ti le','o ');
ba (ou pu _desc amble ,1,'b');
se (gc ,'colo ','whi e')
ylim([0 1.9]);
xlim([0 95]);
xlabel("Mues as");
ylabel("Valo del bi ");
ou pu _desc amble _ hdl= able2a ay( ichsalidadesc amble hdl)';
igu e('Name','Salida desc amble VHDL','Numbe Ti le','o ');
ba (ou pu _desc amble _ hdl,1,'b');
se (gc ,'colo ','whi e')
97
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA
ylim([0 1.9]);
xlim([0 95]);
xlabel("Mues as");
ylabel("Valo del bi ");
desc amble _comp=isequal(ou pu _desc amble _ hdl, ou pu _desc amble );
Top_module_ es _bench. hd
Anexo C: Código de las p uebas
98
98
99
Implemen ación de un ansmiso / ecep o Li-Fi en una FPGA