INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS”
INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
“APLICACIÓN DE RADIO COGNITIVO PARA TÉCNICAS DE CODIFICACIÓN Y CONTROL DE ERROR”
T E S I S
QUE PARA OBTENER EL TÍTULO DE: INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
PRESENTA:
JOSÉ VLADIMIR HERRERA SÁNCHEZ
ASESORES:
M. EN C. DAVID VÁZQUEZ ÁLVAREZ
M. EN C. GABRIELA SÁNCHEZ MELÉNDEZ ING. LUIS GUILLERMO LÓPEZ GONZÁLEZ
MÉXICO, D.F, 2008
AGRADECIMIENTOS A mis padres Ramón y Tere. Por su infinito amor, su apoyo incondicional y comprensión que me han alentado en todo el camino para la culminación de mi carrera profesional, porque siempre fueron y serán el pilar para alcanzar todos mis objetivos y cumplir todas mis metas, por sus sacrificios, desvelos y consejos que sin duda los valoré y ahora han dado frutos. A mi hermana Montse. Por su gran cariño, apoyo y confianza, porque creyó en mí y siempre tuvo las palabras correctas para seguir adelante y no claudicar a lo largo de esta meta y también a su nueva familia Toño y Edson “Chiquitín” que siempre me dieron ánimos para seguir adelante. A mi tío Tomás. Que me brindó su apoyo cuando más lo necesite, me ayudo a levantarme y me alentó para que no desertará en los tropiezos que enfrenté en los principios de mi carrera. A mis maestros, asesores de tesis y amigos M. en C. David Vázquez Álvarez y M. en. C. Gabriela Sánchez Meléndez. Que creyeron en mí, por su infinita paciencia y sus valiosas enseñanzas, por los consejos antes de cada congreso y sobre todo en el examen final, porque más que un proyecto fue un trabajo en equipo donde se convirtió en una de las experiencias más importantes de mi vida.
A la ESIME y sus profesores. Por sus enseñanzas, experiencias y conocimientos que marcaron una de las etapas más bellas de mi vida, la de ser estudiante, por que sigan formando excelentes profesionistas y nunca pierdan el amor por la enseñanza a las nuevas generaciones. A mis amigos. Alejandro (+), Juan, Dulce, Liliana y a todos mis compañeros de ICE, por la amistad que formamos a lo largo de este tiempo en la que nos apoyamos mutuamente para logra nuestra meta esperando que nuestra amistad perdure por muchos años. A todos ellos mi respeto y agradecimiento.
GRACIAS.
J. VLADIMIR HERRERA SÁNCHEZ
I
ÍNDICE.
CAPÍTULO 1. Comunicaciones Móviles e Inalámbricas.
1.1 Introducción …………………………………………………………………………2
1.2 Comunicaciones Móviles …………………………………………………………...2
1.3 Servicios de Comunicaciones Móviles ……………………………………………...3
1.3.1 Telefonía Móvil Terrestre …………………………………………………….3
1.3.2 Telefonía Móvil Vía Satélite ………………………………………………….8
1.3.3 Redes Móviles Privada ………………………………………………………..8
1.3.4 Radiolocalización GPS ………………………………………………………..9
1.3.5 Internet Móvil …………………………………………………………………9
1.4 Comunicaciones Inalámbricas ……………………………………………………..10
CAPÍTULO 2. Radio Definido por Software y Radio Cognitivo.
2.1 Introducción ………………………………………………………………………..14
2.2 Radio Definido por Software ……………………………………………………...14
2.3 La Arquitectura de un Radio Definido por Software ……………………………...15
2.4 Características y Beneficios de un Radio Definido por Software …………………19
2.5 Radio Cognitivo …………………………………………………………………...22
2.5.1 Introducción ………………………………………………………………….22
2.6 ¿Qué es el Radio Cognitivo? ………………………………………………………23
2.7 Tipos de Radios Cognitivos ……………………………………………………….24
2.8 La Arquitectura del Radio Cognitivo ……………………………………………...28
2.8.1 La Estructura del Motor Cognitivo y el Dominio del Conocimiento ………..30
2.9 Las Características y los Beneficios de un Radio Cognitivo ………………………32
CAPÍTULO 3. Revisión de Técnicas de Codificación y Control de Error.
3.1 Introducción ………………………………………………………………………..37
3.2 Técnicas de Control de Error ………………………………………………………39
3.3 Códigos de Bloque ...................................................................................................40
3.3.1 Códigos de Bloque Lineal ...............................................................................41
3.3.2 Códigos de Distancia Mínima (Códigos Hamming) .......................................43
3.3.3 Códigos Cíclicos .............................................................................................46
3.3.4 Códigos Bose-Chaudhuri-Hocquenghem (BCH) ............................................51
3.3.5 Códigos Reed-Solomon (RS) ..........................................................................52
3.4 Códigos Convolucionales ………………………………………………………….52
CAPÍTULO 4. Implementación, Pruebas y Resultados.
4.1 Implementación de Códigos de Bloque ……………………………………………56
4.1.1 Codificador Cíclico (7,4) ……………………………………………………..56
4.1.2 Decodificador Cíclico (7,4) …………………………………………………..59
4.1.3 Codificador BCH (15,11) …………………………………………………….62
II
4.1.4 Decodificador BCH (15,11) ………………………………………………….64
4.1.5 Codificador Hamming (7,4) ………………………………………………….67
4.1.6 Decodificador Hamming (7,4) ……………………………………………….68
4.1.7 Implementación del Motor Cognitivo para Codificador ……………………..71
4.1.8 Implementación del Motor Cognitivo para Decodificador …………………..72
Conclusiones. …………………………………………………………………………...75
Anexo.
A. Programas que implementan el concepto de Radio Cognitivo …………...……….77
B. Artículos presentados en congresos ……………………………………………….98
Glosario. ………………………………………………………………………………..118
Bibliografía. ……………………………………………………………………………122
III
Objetivo
Diseñar un módulo de software utilizando el concepto de Radio Cognitivo para la
utilización de Técnicas de Codificación y Control de Error.
Objetivos Específicos
Revisión de los conceptos de comunicaciones móviles e inalámbricas.
Revisión de los conceptos de Radio Definido por Software y Radio Cognitivo.
Revisión de diferentes técnicas de codificación y control de error.
Utilizar el lenguaje C++ para implementar diferentes técnicas de codificación y
control de error bajo el concepto de Radio Cognitivo.
Justificación
Las comunicaciones móviles han tenido una evolución importante en los últimos
años provocando cambios sociales, comerciales y tecnológicos, lo que ha permitido tener
el acceso a una amplia gama de medios de comunicación, contenidos y aplicaciones que a
su vez han propiciado el desarrollo de nuevas formas y métodos para la transmisión de
información de un lugar a otro.
Esto se debe principalmente a los constantes avances de la tecnología en las
comunicaciones móviles (generaciones de telefonía celular y transmisión de datos), que ha
tenido en los últimos 15 años una increíble evolución, desde que surgió la primera
generación (1G), la cual comenzó a finales de los 70´s, caracterizado por usar sistemas
analógicos y su uso estrictamente limitado para voz, en los 90´s comenzó a operar la
segunda generación (2G) la cual se caracterizó por ser digital lo que permitió brindar
servicios digitales enfocados a voz y datos.
En Japón, posteriormente en el 2001 surgió con gran éxito y aceptación la
tecnología de tercera generación conocida popularmente como 3G; y que se caracteriza
principalmente por la velocidad de la transmisión de datos con acceso inalámbrico a
Internet de banda ancha para brindar servicios como videoconferencias, aplicaciones
multimedia y televisión, mediante tecnologías como WCDMA, TD-SCDMA, GSM GPRS
y CDMA2000.
Por ejemplo en México, a pesar de las constantes evoluciones, y de las nuevas y
múltiples aplicaciones que han surgido, los proveedores de telefonía celular se han visto en
la necesidad de actualizarse más rápidamente en cuestión de nuevos equipos y servicios, un
ejemplo de esto ha sido la compañía Iusacell que se ha caracterizado por ser una de las
primeras compañías en ofrecer nuevos servicios y tecnologías en el mercado la cual fue
IV
pionera al introducir la tercera generación en el país en el 2004 mientras que en otras
compañías como Telcel se acaba de implementar la 3G a principios del 2008.
Actualmente en el desarrollo de la cuarta generación (4G), China se propone como
candidato pionero en esta generación, ya que se encuentra haciendo las primeras pruebas de
telefonía móvil 4G y se estima que se comercializara hasta el 2010. Dentro de los
problemas que se enfrentan por la constante evolución de las comunicaciones móviles es
que han surgido un sin número de estándares y técnicas de acceso (GSM, CDMA, TDMA,
PDC, WCDMA, TD-SCDMA, GSM-GPRS Y CDMA2000) que han facilitado el uso
eficiente de la utilización del espectro pero que necesitan ser soportados por distintas
industrias de terminales y de estaciones base.
Para darle una solución a estos problemas, han surgido tecnologías que han
empezado a desarrollarse y que están siendo aceptadas y apoyadas por la Industria de la
Tecnología de las Comunicaciones prueba de esto es la aplicación del Radio Cognitivo en
sistemas de comunicaciones móviles el cual está ayudando a su vez a la evolución del
Radio Definido por Software ya que anteriormente la mayoría de estas transmisiones se
basaba principalmente en hardware y con muy pocas aplicaciones de software; y que
conjuntamente estas dos tecnologías podrían evitar el actual caos en las técnicas de acceso
y la falta de flexibilidad de las bandas radioeléctricas no autorizadas, lo que permitirá que
existan arquitecturas flexibles y adaptables a sistemas móviles avanzados.
Entre las características del Radio Definido por Software (RDS) se encuentra el uso
de dispositivos lógicos programables que ayudan a mejorar el procesamiento de la señal,
necesario para la transmisión y recepción de la información, además de que resuelve mucho
de los problemas causados por las múltiples interferencias entre usuarios. Algunas de las
ventajas que ofrece el RDS es que su software puede ser fácilmente actualizado, el RDS
puede detectar las interferencias y satisfacer múltiples necesidades entre las estaciones base
y las terminales. Ya que permite la digitalización en radiofrecuencia de las señales,
mediante el Muestreo (discretizar en tiempo una señal analógica), Cuantificación
(discretizar en amplitud una señal analógica) y Codificación (conversión de una señal
analógica a una señal digital representada por un grupo de pulsos digitales con un sistema
de código binario) de las señales para su posterior Modulación (conjunto de técnicas para
transportar información sobre una onda portadora) que son esenciales para la transmisión
y recepción de información lo que permitirá usar una amplia variedad de tecnologías de
acceso, y soportar las diferentes redes, lo que propiciará el desarrollo de terminales móviles
(3G y 4G) que podrán incorporar múltiples interfases físicos o definidos por software y
permitir la conmutación entre diferentes tecnologías de acceso además de facilitar la
integración de múltiples arquitecturas de redes de comunicación y su reconfigurabilidad de
software de protocolos apoyándose en el uso del Radio Cognitivo.
El radio cognitivo es concebido como un punto al cual debe de evolucionar el radio
definido por software, el radio cognitivo es un radio inteligente que es capaz de escoger los
mejores caminos para enrutar datos, es capaz de escoger la mejor radiofrecuencia a utilizar,
de entender la actividad de la red, la actividad del usuario, seleccionar y usar las formas de
onda, frecuencia, y protocolos correctos para apoyar de manera eficiente al usuario y la red,
todas estas características se logran basándose en la observación de varios factores internos
V
y externos de la radio, tales como el espectro de la radio frecuencia, el comportamiento del
usuario y el estado de la red, con el fin de comunicarnos eficazmente y eficientemente, el
radio cognitivo nos asegurará que el usuario podrá establecerse en un roaming mundial
donde podremos comunicar y transmitir información a pesar de los cambios en la cobertura,
conectividad y la carga en el sistema de comunicaciones.
Por todo lo antes mencionado es de suma importancia tener las bases teóricas y
prácticas que se deben tomar en cuenta para el diseño de un modulo de software que tenga
la capacidad de seleccionar y utilizar diferentes Técnicas de Codificación y Control de
Error para un sistema de comunicaciones, y utilizarlas para la implementación de un Radio
Definido por Software, basándose en el concepto de Radio Cognitivo.
- 1 -
CAPÍTULO 1
CCOOMMUUNNIICCAACCIIOONNEESS MMÓÓVVIILLEESS
EE
IINNAALLÁÁMMBBRRIICCAASS
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 2 -
Capítulo 1
Comunicaciones Móviles e Inalámbricas.
En este capitulo se revisarán los diversos tipos de comunicaciones móviles e
inalámbricas existentes, sus características, los estándares que han surgido, y las nuevas
tecnologías que se están implementando, lo que reflejará la gran evolución que se ha tenido
en los últimos años y las dificultades que se están presentando; además se revisarán los
avances que se han tenido en la tecnología inalámbrica que actualmente han traído como
consecuencia que se tenga una gran demanda para tener acceso a Internet disponible en
cualquier momento.
1.1 Introducción _________________________________________________________________________
Las comunicaciones han tenido en los últimos 15 años grandes avances tecnológicos
lo que ha propiciado grandes cambios sociales y comerciales en la forma de comunicarse y
de transmitir información de manera rápida y óptima, ya que su evolución comenzó siendo
un servicio analógico para después transformarse a un servicio digital además de que se
agregaron otros grandes beneficios para los usuarios (identificador de llamadas, transmisión
de datos, mensajes cortos, Internet, videoconferencias, etc.) de tal forma que se tenga una
comunicación total, todo esto se han desarrollado de tal forma que se ha convertido en un
servicio ampliamente utilizado pero que a su vez a requerido de constantes avances
tecnológicos lo que ha originado que se tengan un sin número de estándares y no se tenga
actualmente un estándar a nivel mundial para comunicaciones móviles generando
constantemente grandes inversiones en cuestión de terminales y estaciones base, sin
embargo uno de los grandes beneficios que se han obtenido a pesar de todo lo anterior es
que este tipo de comunicaciones actualmente esta disponible para cualquier usuario, lo que
ha permitido que tenga el acceso a una amplia gama de medios de comunicación y
aplicaciones, lo que ha permitido que el usuario pueda comunicarse rápidamente y
eficientemente de forma móvil e inalámbrica.
1.2 Comunicaciones Móviles
_______________________________________________________________
Las comunicaciones siempre han tenido como objetivo primordial transmitir o
mover información de un lugar a otro, por lo que sus principales formas en que lleva acabo
su comunicación son por cable o por aire, donde a veces estas dos opciones llegan a
participar en un mismo proceso comunicativo (radio, TV y telefonía).
Las comunicaciones móviles se caracterizan principalmente porque el emisor o el
receptor están en movimiento y para su funcionamiento utiliza la comunicación vía radio,
lo que permite tener la posibilidad de trasladar información de un sitio a otro de forma
dinámica y cubrir grandes distancias en lo que respecta a su cobertura, dentro de las
principales ventajas y desventajas de las comunicaciones móviles se pueden mencionar las
siguientes:
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 3 -
Ventajas:
Movilidad en sus extremos de conexión.
Proporcionan gran ancho de banda.
No se llevan acabo obras civiles.
Excluye casi por completo la utilización de cables.
Cubre grandes distancias de transmisión.
Desventajas:
Mayor inmunidad a amenazas externas (ruido o interferencias).
Competencia por el espectro de radiofrecuencias con otras fuentes.
Dificultad en la transmisión debido a obstáculos (edificios, árboles, etc.) y a la
orografía, con respecto al área de cobertura [1].
1.3 Servicios de Comunicaciones Móviles _________________________________________________________________________
Entre los servicios de comunicaciones móviles más desarrollados son:
1.3.1 Telefonía Móvil Terrestre
En este tipo de servicios, se utilizan estaciones terrestres que se encargan de
monitorear la posición de cada terminal encendida, posteriormente pasa el control de una
llamada que este en curso a otra estación y esta a su vez envía la llamada a la terminal de
destino.
Cada estación tiene un área de cobertura, es decir, es una zona en que las
comunicaciones de una terminal a otra se pueden hacer en buenas condiciones. Las zonas
de cobertura teóricamente son hexágonos regulares o celdas como se muestra en la Figura
1.1 pero toman muy distintas formas debido a obstáculos en el medio además de que las
celdas se pueden empalmar unas con otras, es por eso, que cuando un móvil se llega a
localizar cerca de los límites entre dos celdas, el móvil tomara la estación que le ofrezca
mayor nivel de señal.
Fig. 1.1.- Zonas de cobertura ó celdas.
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 4 -
Los primeros sistemas de telefonía móvil terrestre de 1era
Generación (1G), la
cual comenzó a finales de los setentas y que en México comenzó a principios de los
ochentas, se caracterizó por ser analógico, sus terminales eran muy voluminosos, su
cobertura se limitaba solo a grandes ciudades y a las principales carreteras y su uso era
estrictamente para voz, además de que empezó a operar en la banda de 800-900 MHz,
utilizando un ancho de banda limitado a 20 MHz. Cada estación trabajaba con un rango de
frecuencias lo que limitaba a un numero máximo de llamadas simultáneas que podía
soportar, puesto que a cada llamada se le asignaba un par de frecuencias diferente una para
cada sentido de la comunicación, ya que su método de acceso al medio se realizaba por
medio de FDMA (Frequency Division Multiple Access / Acceso Múltiple por División de
Frecuencia) es decir que divide el ancho de banda disponible entre varios canales donde
cada canal se le asigna a los distintos usuarios que ocupan una parte del ancho de banda de
la frecuencia total, por lo que era muy ineficiente, insegura e imprecisa.
Entre las tecnologías más sobresalientes de esta generación destacan NMT (Nordic
Mobile Telecommunications/Telefonía Móvil Nórdica) y TACS (Total Access
Communications System / Sistema de Comunicación de Acceso Total) implantado en
Europa, AMPS (Advanced Mobile Phone System/Sistema Telefónico Móvil Avanzado) en
USA y NAMTS (Nippon Advanced Mobile Telephone System/Sistema Telefónico Móvil
Avanzado Nipón) en Japón, todos estos estándares se sintetizan en la tabla 1.1 [1-3], [7].
NAMTS (Sistema
Telefónico Móvil
Avanzado Nipón)
AMPS (Sistema Telefónico
Móvil Avanzado)
NMT (Telefonía Móvil
Nórdica)
TACS (Sistema de
Comunicación de
Acceso Total)
ESTÁNDARES
JAPONESES
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS
NAMTS (Sistema
Telefónico Móvil
Avanzado Nipón)
AMPS (Sistema Telefónico
Móvil Avanzado)
NMT (Telefonía Móvil
Nórdica)
TACS (Sistema de
Comunicación de
Acceso Total)
ESTÁNDARES
JAPONESES
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS
Tabla 1.1.- Estándares de la telefonía móvil de primera generación.
Los sistemas de telefonía móvil terrestre de 2da
Generación (2G) comenzaron a
operar en los noventas se caracterizaron por ser digitales, el tamaño de sus terminales se
hicieron cada vez más pequeños, su espectro de radiofrecuencias opera en bandas de 1850-
1970 MHz lo que origino que sus coberturas se extendieran, se comenzó a transmitir datos,
se introduce el envío de mensajes SMS (Short Message Service / Servicio de Mensajes
Cortos) y la compatibilidad entre los servicios mejora.
Para establecer y mantener las comunicaciones entre las terminales móviles y las
estaciones base de la red, surgieron estándares como GSM (Global System for Mobile
Communications / Sistema Global para las Comunicaciones Móviles) implantado en
Europa y en la mayoría de los países del resto del mundo; en México fue adoptada por las
compañías Telcel y Telefónica Movistar, CDMA (Code Division Multiple Access / Acceso
Múltiple por División de Código) y TDMA (Time Division Multiple Access / Acceso
Múltiple por División de Tiempo) en USA; en México las compañías Unefon, Iusacell y
Pegaso adoptaron el estándar CDMA y PDC (Personal Digital Cellular / Celular Digital
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 5 -
Personal) introducidos por NTT DoCoMo que solo se utilizó en Japón, estos estándares se
sintetizan de manera más general en la tabla 1.2 [1-3], [7].
PDC (Celular Digital
Personal)
CDMA (Acceso Múltiple por
División de Código)
TDMA (Acceso Múltiple por
División de Tiempo)
GSM (Sistema
Global para las
Comunicaciones
Móviles)
ESTÁNDARES
JAPONESES
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS
PDC (Celular Digital
Personal)
CDMA (Acceso Múltiple por
División de Código)
TDMA (Acceso Múltiple por
División de Tiempo)
GSM (Sistema
Global para las
Comunicaciones
Móviles)
ESTÁNDARES
JAPONESES
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS
Tabla 1.2.- Estándares de la telefonía móvil de segunda generación.
A finales de los noventas empezaron a surgir sistemas de telefonía móvil terrestre
de Generación 2.5 (2.5G), que servían de puentes entre la segunda generación y la
telefonía móvil de tercera Generación UMTS (Universal Mobile Telecommunications
System / Sistema Universal de Telecomunicaciones Móviles), que intentó estandarizar las
comunicaciones móviles a nivel mundial.
En los sistemas 2.5G surgieron estándares como HSCSD (High Speed Circuit
Switched Data Service / Servicio de Datos de Circuito Conmutado de Alta Velocidad) y
GPRS (General Packet Radio System / Sistema General de Paquetes por Radio) utilizados
en Europa y EDGE (Enhanced Data Rates for GSM Evolution / Tasa de Datos Mejoradas
para la Evolución de GSM) en USA; en México siguen ofreciendo estos servicios mediante
las tecnologías GPRS, HSCSD y EDGE por parte de Telcel.
Una de las características principales de los sistemas de telefonía móvil 2.5G fue la
velocidad de la información o velocidad de transmisión de datos, que se convirtió en una
prioridad en esa generación debido a que se estaban incorporando mejoras y nuevas
tecnologías para que posteriormente se evolucionara a la telefonía móvil 3G, ejemplos de
estos casos fueron los estándares GPRS que alcanzaron los 115 Kbps, mientras que EDGE
los 384 Kbps, una de las características del sistema EDGE es que permitió que los
operadores de GSM y TDMA integraran a sus redes este sistema mientras que Japón fue
directo a la telefonía móvil de tercera Generación (3G) en el 2001, estos estándares se
sintetizan en la tabla 1.3 [1-4], [7].
EDGE (Tasa de Datos
Mejoradas para la Evolución
de GSM )
GPRS (Sistema
General de Paquetes por
Radio )
HSCSD (Servicio de
Datos de Circuito
Conmutado de Alta
Velocidad )
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS
EDGE (Tasa de Datos
Mejoradas para la Evolución
de GSM )
GPRS (Sistema
General de Paquetes por
Radio )
HSCSD (Servicio de
Datos de Circuito
Conmutado de Alta
Velocidad )
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS
Tabla 1.3.- Estándares de la telefonía móvil de generación 2.5.
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 6 -
Posteriormente los sistemas de telefonía móvil terrestre de 3ra
Generación (3G)
empezaron a operar en el 2001, el primer país en implementar una red comercial 3G a gran
escala fue Japón, por NTTDoCoMo, en Europa y parte de Asia operaron en el 2002, los
sistemas de telefonía móvil terrestre utilizan CDMA (Code Division Multiple Access /
Acceso Múltiple por División de Código ) para compartir el espectro entre usuarios y su
ancho de banda es superior a los 5MHz, lo cual permite incrementar las velocidades de
descarga de datos y ser superiores a los 3 Mbps e incrementa el desempeño en general de
los equipos, otra de las características de la 3G es que permite tener una transmisión de
datos con acceso inalámbrico a Internet de banda ancha para brindar servicios como
videoconferencias, videollamadas, aplicaciones multimedia y televisión mediante
tecnologías como WCDMA (Wideband-Code Division Multiple Access / Acceso Múltiple
por División de Código de Banda Ancha ) implementados en Europa y Japón, TD-SCDMA
(Time Division Synchronus Code Division Multiple Access / Sincronización por División de
Tiempo mediante el Acceso Múltiple por División de Código) en China, GSM GPRS
(Global System for Mobile Communications General Packet Radio System / Sistema Global
para las Comunicaciones Móviles mediante el Sistema General de Paquetes por Radio) y
CDMA2000 en América, estos estándares se sintetizan en la tabla 1.4.
En México, a pesar de las constantes evoluciones y de las nuevas y múltiples
aplicaciones que han surgido, los proveedores de telefonía celular (Iusacell, Telcel,
Telefónica Movistar, Unefon y Nextel) se han visto en la necesidad de actualizarse más
rápidamente en cuestión de nuevos equipos y servicios, un ejemplo de esto ha sido la
compañía Iusacell que sea caracterizado por ser una de las primeras compañías en ofrecer
nuevos servicios y tecnologías en el mercado la cual fue pionera al introducir la tercera
generación en el país en el 2004 ofreciendo la tecnología CDMA 2000, mientras que otras
compañías como Telcel se acaba de implementar la 3G a principios del 2008 mediante la
tecnología GSM GPRS.
TD-SCDMA
(Sincronización por
División de Tiempo
mediante el Acceso
Múltiple por División
de Código)
CDMA 2000 (Acceso Múltiple
por División de Código 2000)
GSM GPRS (Sistema Global
para las Comunicaciones Móviles
mediante el Sistema General de
Paquetes por Radio)
WCDMA (Acceso
Múltiple por División
de Código de Banda
Ancha)
ESTÁNDARES
CHINOS
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS Y
JAPONESES
TD-SCDMA
(Sincronización por
División de Tiempo
mediante el Acceso
Múltiple por División
de Código)
CDMA 2000 (Acceso Múltiple
por División de Código 2000)
GSM GPRS (Sistema Global
para las Comunicaciones Móviles
mediante el Sistema General de
Paquetes por Radio)
WCDMA (Acceso
Múltiple por División
de Código de Banda
Ancha)
ESTÁNDARES
CHINOS
ESTÁNDARES
NORTEAMERICANOS
ESTÁNDARES
EUROPEOS Y
JAPONESES
Tabla 1.4.- Estándares de la telefonía móvil de tercera generación
En la actualidad, existen 164 redes comerciales en 73 países usando la tecnología
WCDMA, los sistemas de tercera generación se están convirtiendo en la forma más
habitual de acceso a Internet y esta permitiendo la transmisión de todo tipo de
comunicaciones (voz, datos, imágenes, video, televisión). Los estándares vistos en estas
primeras tres generaciones de la telefonía móvil se resumen en la Figura 1.2 y en la Figura
1.3 donde se sintetizan las características principales de cada generación [2-4], [7], [8].
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 7 -
• NMT
• TACS
• AMPS
• NAMTS
1G
• GSM
• CDMA
• TDMA
• PDC
2G
• GPRS
• HSCSD
• EDGE
2.5G
• WCDMA
• CDMA 2000
• GSM GPRS
• TD-SCDMA
3G
Fig. 1.2.- Estándares de la telefonía móvil desde la primera generación hasta la tercera
generación.
SERVICIOS ANALÓGICOS• Servicios de voz
• Cobertura limitada
• Baja calidad de
servicio (QoS)
• Bajo nivel de
estandarización
• Baja velocidad de
transmisión
• Conmutación de
circuitos
1G
SERVICIOS DIGITALES• Servicios de voz y SMS
• Cobertura extensa
• Gran (QoS)
• Fuerte estandarización
• Baja velocidad de
transmisión
• Conmutación de
circuitos
2G
SERVICIOS MULTIMEDIA• Servicios de voz y datos
• Cobertura extensa
• Gran (QoS)
• Fuerte estandarización
• Alta velocidad de
transmisión
• Conmutación de
paquetes
3G
Fig. 1.3.- Características de la telefonía móvil desde la primera generación hasta la tercera
generación.
En los sistemas de telefonía móvil terrestre de 4ta
Generación (4G), todavía está
por definirse, pero ya se está trabajando en las características que deberá cumplir este tipo
de tecnología, mientras tanto China se propone como candidato pionero en esta generación,
en Shangai se llevan acabo los primero ensayos en el mundo con tecnología móvil de cuarta
generación, completamente desarrollada por investigadores del país, la cual transmite datos
hasta 50 veces más rápido que la 3G, se pretende comercializar en el 2010.
Japón también está experimentando con las tecnologías de cuarta generación,
estando la empresa de telefonía NTTDoCoMo a la vanguardia, esta empresa ha presentado
los primeros móviles de cuarta generación que están desarrollando aunque de momento se
trata solo de prototipos.
Entre las características que podrían tener la 4G en base a lo ya establecido, sería
acceso a Internet desde el teléfono móvil a una velocidad de 100 Mbps en movimiento y 1
Gbps en reposo, utilizando un ancho de banda aproximadamente de 20MHz, manteniendo
una calidad de servicio (QoS) de punta a punta y de alta seguridad todo manejado bajo
TCP/IP, lo que propiciará que la 4G funcione como una red con la tecnología de Internet
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 8 -
combinada con otros usos y tecnologías como Wi-Fi (Wíreless-Fidelity / Fidelidad
Inalámbrica) y Wi-Max (Worldwide Interoperability for Microwave Access /
Interoperabilidad Mundial para Acceso por Microondas) lo que permitirá a la 4G tener
una gama de tecnologías y protocolos que permitirán el máximo rendimiento de
procesamiento con la red inalámbrica más barata sustituyendo la comunicación o el acceso
vía radio de tipo CDMA al uso del RDS (Radio Definido por Software) para su
optimización, en la Figura 1.4 se muestran algunas de las características que podría ofrecer
la 4G [2], [5-8].
SERVICIOS MULTIMEDIA• Servicios de voz, audio y video
en tiempo real
• Establecer un Roaming Mundial
• Gran QoS
• Fuerte estandarización
• Máxima velocidad de
transmisión (100Mbps-1Gbps)
• Conmutación de paquetes (IP)
4G
Fig. 1.4.- Características de la telefonía móvil de cuarta generación.
1.3.2 Telefonía Móvil Vía Satélite
En este tipo de comunicación las estaciones están en los satélites, que en su mayoría
suelen ser de órbita baja, es decir que se localizan a no más de 800km de la Tierra. Su
cobertura cubre casi todo el planeta por lo que es una de las principales ventajas que
presentan en comparación con la telefonía móvil terrestre, entre las desventajas que tiene
este servicio de comunicación son: mayor volumen de la terminal utilizada que se refleja
en los precios de las llamadas y sus terminales.
Entre los operadores que ofrecen este servicio a nivel mundial son: Iridium y
GlobalStar, el primero esta a punto de comenzar el derribo de sus satélites, debido a las
grandes deudas que ha contraído mientras que GlobalStar sus teléfonos se conectan a las
redes terrestres si la cobertura de estos se lo permite y sino recurren a los satélites, lo que
provoca que su costo sea muy variado y limitado para otras funciones.
Existen otros sistemas que están a punto de operar en los próximos años como son
ICO, Skybridge y Teledesic que aparte de prestar servicios de telefonía prestaran servicios
como acceso a Internet de alta velocidad y radiobúsqueda.
1.3.3 Redes Móviles Privadas
Es un servicio de telefonía móvil que solo se presta a un grupo de personas en una
determinada zona geográfica, también se le conoce como radiocomunicación en grupo
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 9 -
cerrado. Existen dos modalidades de este servicio. En la primera cada grupo de usuarios
utiliza una determinada frecuencia. Y en la segunda el sistema se encarga de asignar las
frecuencias libres para los diferentes grupos.
Entre los primeros sistemas se destaca EDACS (Enhanced Digital Access
Communications System / Realce al Acceso a Sistema de Comunicación Digital), que es
controlado por un equipo fabricado por ERICSSON, muy utilizado por bomberos, equipo
de salvamento, policías y ambulancias; es un sistema muy seguro, capaz de establecer
comunicación en condiciones muy adversas.
1.3.4 Radiolocalización GPS
La radiolocalización sirve para conocer la posición de un receptor móvil. El sistema
más conocido es el GPS (Global Positioning System / Sistema de Posicionamiento Global)
que está constituido por una constelación de 24 satélites, divididos en 6 planos orbitales de
4 satélites cada uno. Cada satélite emite una señal con su posición y su hora, codificada con
su propio código, lo que permite saber de que satélite se recibe la transmisión, su velocidad
le permite pasar por un punto determinado de la tierra dos veces al día. La distribución de
los satélites permite averiguar la latitud, longitud, altura y tener una referencia del tiempo
donde un receptor es el encargado de recoger las señales de los satélites y procesarlas, entre
las aplicaciones más comunes para el GPS son el control de flotas de camiones, taxis,
autobuses, navegación marítima y aérea.
1.3.5 Internet Móvil
El servicio de telefonía móvil con acceso a Internet, comenzó con la aparición de
WAP (Wireless Application Protocol / Protocolo de Aplicaciones Inalámbricas) ideada por
las compañías Nokia, Ericsson, Motorola y Phone, que permitió acceder a diversos
contenidos y servicios de Internet desde un móvil a través de conexiones inalámbricas,
además puede funcionar sobre tecnologías móviles de segunda y tercera generación, los
teléfonos WAP cuentan con un navegador especial (micro-browser o micro-navegador) y
un gateway conectado a Internet, que interpreta páginas escritas en una versión reducida de
HTML, denominada WML diseñado para pantallas pequeñas, el único inconveniente es que
los gráficos se reducen al mínimo.
Entre las aplicaciones más importantes de los teléfonos WAP son el acceso a
noticias, pago de compras, e-mail y avisos, etc. lo que convirtió a los móviles en agendas
personales, laptops y demás dispositivos de mano.
En Japón, NTT DoCoMo lleva en los últimos años prestando servicios de telefonía
móvil con acceso a Internet. Este servicio es conocido como i-mode que ha tenido gran
éxito y aceptación en el país, i-mode no utiliza WAP, sino que utiliza un HTML compacto
que lo hace que se adapte a las páginas Web de las terminales móviles, la gran ventaja es
que los teléfonos WAP pueden soportar este tipo de servicios [9].
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 10 -
1.4 Comunicaciones Inalámbricas _________________________________________________________________________
Este tipo de comunicación se caracteriza porque no utiliza un medio físico de
propagación alguno, por lo que utiliza la modulación de ondas de radiofrecuencia de baja
potencia mediante una banda específica de uso libre, para transmitir entre dispositivos, los
cuales se propagan por el espacio sin necesidad de un medio físico que comunique cada
uno de los extremos de la transmisión, cabe aclarar que los dispositivos físicos sólo están
presentes en los emisores y receptores de la señal, por ejemplo: Laptops, PDAs (Personal
Digital Assistant / Asistente Digital Personal), teléfonos celulares, etc. Este tipo de
comunicaciones que normalmente no tienen una regulación (comunicaciones de corta
distancia), u ondas de radiofrecuencia de alta potencia que requieren normalmente de un
permiso para poder transmitir a una frecuencia específica (comunicaciones de larga
distancia), lo que permite tener la posibilidad de conectar varios dispositivos entre sí o
conectar a una red sin necesidad de cables, entre las aplicaciones básicas de las
comunicaciones inalámbricas son:
Dar movilidad a los usuarios de telefonía fija para que puedan efectuar sus
llamadas.
Conectar dispositivos entre si.
La idea de establecer una nueva generación de dispositivos inalámbricos tiene la
finalidad de establecer capacidades para realizar llamadas de voz con cobertura mundial,
obtener y cargar información desde Internet, hacer posible la transferencia de datos por
medio de protocolos IP, hacer posible la transmisión en línea de voz, video y audio.
Para poder realizar esto, los principales fabricantes de infraestructura y dispositivos
de comunicación inalámbrica han desarrollado consorcios que buscan lograr los sistemas
operativos y aplicaciones de software, además de que propiciará el desarrollo de futuros
dispositivos inalámbricos y su uso en el soporte de las comunicaciones, entre las principales
redes inalámbricas o protocolos destacan:
El estándar DECT (Digital Enhanced Cordless Telecommunications /
Telecomunicaciones Inalámbricas Mejoradas Digitalmente), implementado en Europa y
que fue uno de los primeros estándares para los teléfonos inalámbricos digitales y fueron
utilizados para transferencias inalámbricas de datos, donde su radio de operación era de 25
hasta 100mts, posteriormente se trabajo en terminales duales DECT-GSM, lo que permito
utilizar las redes de telefonía fija en caso de que se estuviera cerca de las bases que
controlan la parte DECT, y las redes de telefonía móvil GSM en el resto de las
circunstancias.
La herramienta Wireless o tecnología WAP (Wireless Application Protocol /
Protocolo de Aplicaciones Inalámbricas) que es un protocolo o estándar abierto
internacionalmente para aplicaciones que utilizan las comunicaciones inalámbricas, por
ejemplo el acceso a servicios de Internet desde un teléfono móvil, es decir, se trata de la
especificación de un entorno de aplicación y de un conjunto de protocolos de
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 11 -
comunicaciones para normalizar el modo en que los dispositivos inalámbricos, se pueden
utilizar para acceder a correo electrónico, grupo de noticias y otros.
i-mode (Mobile Internet Service / Servicio de Internet Móvil) es un conjunto de
tecnologías y protocolos diseñados para poder navegar a través de minipáginas diseñadas
específicamente para dispositivos móviles como celulares o PDAs el cual está diseñado
para ser empleado con los móviles de última generación. Se utiliza para mostrar las páginas
un lenguaje muy parecido al HTML normal pero modificado para los teléfonos móviles.
Wi-Fi (Wíreless-Fidelity / Fidelidad Inalámbrica) o red de área local inalámbrica
(WLAN / Wíreless Lan-Red Inalámbrica), es un conjunto de estándares para redes
inalámbricas, el cual es utilizado en redes locales inalámbricas pero actualmente también es
utilizado para acceder a Internet, lo que permite acceder a redes privadas de empresas. Fue
diseñada para ambientes inalámbricos internos y con capacidad sin línea de vista de muy
pocos metros.
Wi-Max (Worldwide Interoperability for Microwave Access / Interoperabilidad
Mundial para Acceso por Microondas) es un estándar de transmisión inalámbrica de datos,
que proporciona accesos concurrentes en áreas de hasta 48 Km. de radio y a velocidades de
hasta 70 Mbps, utilizando tecnología que no requiere visión directa con las estaciones base.
Wi-Max es un concepto parecido a Wi-Fi, pero con mayor cobertura y conectividad de
banda ancha, fue diseñado como una solución de última milla en redes metropolitanas
(MAN) para prestar servicios a nivel comercial.
Bluetooth (Bluetooth / Diente Azul), es utilizado para la conexión de dispositivos,
se trata de una iniciativa completamente privada, en la que están involucradas empresas,
como Ericsson, Toshiba, IBM, Motorola, Qualcomm, Lucent, Compaq, utilizando la banda
de los 2.4 GHz que permite enlazar dispositivos vía radio situados a distancias de entre
10cm y 10mts, permitiendo que los ordenadores, laptops, cadenas de música, y otros
dispositivos puedan conectarse entre sí a través de estas terminales.
En el desarrollo de dispositivos de acceso inalámbrico con el protocolo WAP y la
tecnología Bluetooth también tiene fines como disminuir la interferencia entre los
receptores y hacerlos compatibles en una sola plataforma para el intercambio de archivos y
la comunicación.
Sin embargo, también existen ventajas y desventajas en la comunicación
inalámbrica como son:
Ventajas:
Movilidad para conectarse y comunicarse vía Internet.
Gran capacidad y cobertura de red.
Constituye una eficaz y poderosa herramienta que permite la transferencia de voz,
datos y video, sin la necesidad de utilizar cables para establecer la conexión.
Capítulo 1 ___ Comunicaciones Móviles e Inalámbricas
- 12 -
Desventajas:
El desarrollo de esta tecnología es mucho más lenta en comparación con los
sistemas de telefonía móvil.
Problemas en la propagación de múltiples destinos, es decir que cuando se transmite
información de un lugar a otro, la señal se separa y empieza a rebotar en objetos
(árboles, autos, edificios, etc.) en su camino.
Existe interferencia de usuarios múltiples, es decir los usuarios interfieren unos con
otros.
En un futuro las aplicaciones aumentarán con la transmisión de audio y video en
tiempo real especialmente para los servicios médicos, televisión móvil, conferencias y
video musical donde será necesario ampliar el ancho de banda, para que los equipos tengan
una mayor calidad, eficiencia y fidelidad [10-14].
En este capítulo se presentaron las diferencias que existen entre las comunicaciones
móviles e inalámbricas, sus características, ventajas, desventajas y los múltiples estándares
que han surgido lo que ha originado la necesidad de implementar nuevas tecnologías para
que se aproveche el acceso a las ondas de radio debido a la necesidad de implementar
Internet en los nuevos sistemas de telefonía móvil, esto origina que se tengan tecnologías
que ayuden a solucionar este problema y se tenga una optimización ordenada del espectro
de radiofrecuencia que facilite la comunicación, del cual ha surgido una tecnología que ha
empezado a desarrollarse, la cual solucionará problemas como interferencias, sustituirá la
forma de acceso que se tienen de tipo CDMA, nos referimos a la utilización de radio
cognitivo orientado a un Radio Definido por Software (RDS) en el siguiente capítulo se
explicara su arquitectura y funcionamiento el cual se está tomando en cuenta para las
nuevas generaciones de sistemas de telefonía celular en el caso particular de la
implementación de Internet del cual se tendrá que hacer un uso eficiente del espectro de
radiofrecuencias para satisfacer las necesidades a nivel mundial en cuestión de las
comunicaciones móviles actuales.
- 13 -
CAPÍTULO 2
RRAADDIIOO DDEEFFIINNIIDDOO PPOORR SSOOFFTTWWAARREE
YY
RRAADDIIOO CCOOGGNNIITTIIVVOO
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 14 -
Capítulo 2
Radio Definido por Software y Radio Cognitivo.
En este capitulo se definirá el concepto de Radio Definido por Software, la
importancia que tiene en las comunicaciones móviles e inalámbricas, sus características, la
arquitectura y la definición de cada uno de los elementos que la componen, las aplicaciones
que se establecerán para una cuarta generación en sistemas de telefonía móvil y finalmente
las características a una evolución hacia el establecimiento de un Radio Cognitivo.
2.1 Introducción _________________________________________________________________________
Dentro de los problemas que se enfrenta por la constante evolución de las
comunicaciones móviles, es el surgimiento de un sin número de estándares (GSM, CDMA,
TDMA, PDC, WCDMA, TD-SCDMA, GSM-GPRS y CDMA200) y técnicas de acceso al
medio (FDMA, CDMA, WCDMA), que han facilitado el uso eficiente de la utilización del
espectro pero que necesitan ser soportados por distintas industrias de terminales y de
estaciones base. Además de que se ha generado una gran demanda en la conectividad
inalámbrica de Internet pero con múltiples servicios, por ejemplo la integración de servicios
para ofrecer una perfecta cobertura global y un control sobre la calidad de servicio (QoS),
todo esto mediante protocolos o estándares (WAP, i-mode, Wi-Fi, Wi-Max, Bluetooth) que
propiciarán el desarrollo de futuros dispositivos inalámbricos y utilizarlos en el soporte de
las comunicaciones.
Para darle una solución a estos problemas, han surgido tecnologías que han
empezado a desarrollarse y que están siendo aceptadas y apoyadas por la industria de la
tecnología de las comunicaciones prueba de esto es el Radio Definido por Software (RDS).
Ya que anteriormente la mayoría de estas transmisiones se basaba principalmente en
hardware y con muy pocas aplicaciones de software; el cual tendrá aplicaciones en sistemas
de comunicaciones móviles para que posteriormente el RDS evolucione al establecimiento
de un Radio Cognitivo, estas dos tecnologías podrían evitar el actual caos en las técnicas de
acceso y la falta de flexibilidad de las bandas radioeléctricas no autorizadas, lo que
permitirá que existan arquitecturas flexibles y adaptables a sistemas móviles avanzados.
2.2 Radio Definido por Software
_______________________________________________________________
La radio es un sistema de comunicación inalámbrica el cual emplea la transmisión
de información por medio de ondas radioeléctricas propagadas por el espacio, donde el
propósito de un radio es propiciar movilidad y la creación de redes para facilitar la
comunicación; anteriormente la mayoría de estas transmisiones se basaban en hardware y
con muy pocas aplicaciones de software.
El Radio Definido por Software (RDS) es un término acuñado por Joe Mitola en
1991 para referirse a la clase de “radios” que son reprogramables o reconfigurables, es
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 15 -
decir, una misma pieza de hardware puede realizar diferentes funciones en diferente tiempo
[15-16].
Esta clase de radio acepta información de tráfico programable y de control con el fin
de soportar cualquier rango de frecuencias e interactuar en el medio mediante aplicaciones
de software es decir su funcionalidad permite que se actualice o se reconfigure mediante
software esto debido a la gran variedad de diferentes tipos de enlace de radio que están en
servicio, las diferentes frecuencias de funcionamiento, las diferentes técnicas de
modulación para imprimir información sobre las ondas de radio y los diferentes formatos
de codificación de la información o protocolos.
El RDS mejorará las técnicas de modulación, la detección y corrección de errores,
los procesos de código, funciones de seguridad en comunicaciones y requerimientos en la
forma de onda, todo lo anterior podrá ser fácilmente programable ya sea para transmitir y
recibir una amplia gama de frecuencias utilizando una variedad de formatos de transmisión
utilizados en todo el mundo, el control sobre la radiofrecuencia lo que deriva la flexibilidad
a través de software y el cual podrá aplicarse a equipos tales como las estaciones base de
los sistemas de telefonía móvil debido a que se incluyen en ellas grandes infraestructuras
fijas además también existen otras áreas de máximo interés como es el caso en las
aplicaciones militares y de defensa.
El Radio Definido por Software propiciará la creación de una revolución en las
comunicaciones inalámbricas basadas en tecnologías de radio reconfigurable y hacer frente
a muchas de las problemáticas que enfrenta la industria inalámbrica tales como la
incompatibilidad en los estándares de telefonía móvil y las diferencias en los servicios que
ofrecen los diferentes operadores que compiten en el mercado por lo que se debe de
considerar la integración de múltiples arquitecturas de comunicaciones además de que no
solo se debe tomar en cuenta el nivel de hardware sino también la parte del software que
establecerá los pasos a seguir para realizar una comunicación eficiente [15-16], [18].
2.3 La Arquitectura de un Radio Definido por Software
_______________________________________________________________
Anteriormente los equipos receptores y transceptores de radiocomunicaciones
estaban constituidos por múltiples componentes electrónicos, los cuales a su vez formaban
parte de circuitos sintonizadores, etapas de frecuencia intermedia, amplificadores, filtros,
osciladores, etc., es decir estaban constituidos por hardware, pero se pensó en introducir la
posibilidad de controlar los equipos de radio desde una computadora, añadiéndole al equipo
de radio puertos de comunicación o interfaces para la conexión a la PC.
El RDS se caracteriza por que la parte del hardware es mínima, y la mayor parte de
las funciones del equipo se definen por software es decir un radio con plataforma común en
hardware y su funcionalidad depende de las modificaciones o actualizaciones en su
software lo que permite que se adapte a las necesidades de cada usuario, un RDS debe tener
un control de sí mismo, de soportar un rango amplio de frecuencias, de interactuar con el
aire, manejar cambios dentro del sistema de redes, de soportar múltiples protocolos, de que
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 16 -
se reconfigure por sí mismo basándose en el sistema con el que interactúa y las funciones
que este soporte. Debe tener la capacidad por medio de su software de hacer correcciones
en su modulación, en la detección y corrección de errores, en los procesos de código,
establecer un control en el acceso a la radiofrecuencia todas estas capacidades se deriva de
la flexibilidad a través de su software al usar una plataforma estática del hardware [19-20].
Para todo lo antes mencionado el RDS usa dispositivos digitales programables para
mejorar el procesamiento de la señal necesarios para transmitir y recibir información en
banda base a radiofrecuencias, el procesado digital se realiza mediante software utilizando
herramientas como:
Procesadores Digitales de Señales / Digital Signal Processors (DSP´s).
Arreglos de Compuertas de Campo Programables / Field Programable Gate Array
(FPGA´s).
Aplicación de Circuitos Integrados Específicos / Application Specific Integrated
Circuits (ASIC´s).
Todos basados en software para proveer de funcionalidad del procesamiento de la
señal requerido, el RDS definirá el esquema de modulación a emplear (AM, FM, PM,
SSB) [19], [21].
Una arquitectura básica de un RDS se muestra en la Figura 2.1.
(7)
Unidad
de
proces
a
miento
E/S
(UES)
(1)
Unidad
de
enlace
INFRAESTRUCTURA COMUM
(2)
Unidad
de
radio
frecuen
cia
(URF)
(3)
Unidad
de
frecuen
cia
Interme
dia
(UFI)
(4)
Unidad
A/D y
D/A
(CAD/
CDA)
(6)
Unidad
de
control
de
trans
misión
(UCT)
(8)
Unidad
de
procesa
miento de tempori
zación de
extremo a
extremo
(UPT)
(5)
Unidad
de
banda
base
(UBB)
SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE
TR
AN
SM
ISO
RR
EC
EP
TO
R
(7)
Unidad
de
proces
a
miento
E/S
(UES)
(1)
Unidad
de
enlace
INFRAESTRUCTURA COMUM
(2)
Unidad
de
radio
frecuen
cia
(URF)
(3)
Unidad
de
frecuen
cia
Interme
dia
(UFI)
(4)
Unidad
A/D y
D/A
(CAD/
CDA)
(6)
Unidad
de
control
de
trans
misión
(UCT)
(8)
Unidad
de
procesa
miento de tempori
zación de
extremo a
extremo
(UPT)
(5)
Unidad
de
banda
base
(UBB)
SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE
TR
AN
SM
ISO
RR
EC
EP
TO
R
Fig. 2.1.- Arquitectura básica propuesta de un radio definido por software.
UNIDAD DE ANTENA.- Es el elemento que realiza la adaptación desde el medio
en que se generan las ondas al medio en el que se propagan, y viceversa por lo que se
requiere de una antena omnidireccional, de baja pérdida y de banda ancha, debido a que
pueden ser usadas por una variedad de sistemas de comunicaciones inalámbricas.
Aunque generalmente es un elemento pasivo, es posible utilizar sistemas activos
para que se tenga una configuración dinámica y adaptablemente a zonas especiales donde la
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 17 -
emisión y recepción es máxima, lo que permite aumentar la capacidad del sistema mediante
una reutilización más densa de las frecuencias disponibles esto lo hace mediante
tecnologías de procesamiento de señales basada en arreglos de antenas haciendo posible
seleccionar el funcionamiento del RDS de acuerdo a la aplicación y realiza la selección
óptima del algoritmo de procesamiento, lo que propiciara una ganancia para minimizar
interferencias, multicaminos y ruido.
El software de antena es capaz de realizar acceso múltiple por división de espacio
(SDMA), en el cual la antena configura el haz en la dirección de los usuarios elegidos. El
acceso múltiple se consigue cambiando la dirección del haz de la antena, o por cancelación
de interferencia, en donde el software de antena configura la dirección hacia el usuario
deseado o bien asigna nulos en la dirección de interferencias o de usuarios no deseados.
UNIDAD DE PROCESAMIENTO DE LA SEÑAL DE RF (URF).- Es conocida
como la etapa frontal de radiofrecuencia (RF), en el lado de la transmisión (URF), las
señales vienen de la unidad de frecuencia intermedia (UFI) o de la unidad de banda base y
son convertidas a una banda de frecuencia más elevada, estas señales de RF son
amplificadas y transmitidas a la unidad de antena es decir se produce una amplificación de
la señal entregada por las etapas anteriores hasta el nivel de potencia suficiente para su
transmisión por el medio físico.
En la recepción, las señales recibidas por la unidad de antena se amplifican a un
nivel constante que es conveniente para el procesamiento de la señal y son convertidas
directamente hacia abajo a una banda de frecuencia intermedia FI o bien a banda base es
decir su función es convertir la señal de radio recibida, transfiriéndola a frecuencias muy
inferiores. El procesamiento de la señal de esta etapa se hace con un circuito analógico
(filtros de banda seleccionables en el paso de la antena), además de que la señal se recibe
con una gran atenuación, su nivel debe de incrementarse miles de veces y sin agregar ruido,
antes de poder procesarla en los circuitos siguientes.
Por lo que la linealidad o eficiencia del amplificador de RF y el método de
conversión a bandas de frecuencia más bajas en el receptor son puntos de análisis
principales debido a las altas frecuencias empleadas.
UNIDAD DE PROCESAMIENTO DE SEÑAL DE FRECUENCIA
INTERMEDIA (UFI).- Es conocida como la unidad (UFI) donde en el transmisor las
señales de la unidad de conversión analógica a digital y digital a analógica (CAD/CDA) son
convertidas hacia arriba a señales de banda de FI, amplificadas y transferidas a la URF es
decir se procesa la señal a una frecuencia inferior y después es convertida a un valor final
para su posterior amplificación en la aplicación de la antena.
En la recepción, la mayor parte de la amplificación en recepción se produce a una
frecuencia inferior conocida también como frecuencia intermedia donde las señales de la
unidad de URF son amplificadas a un nivel adecuado para el procesamiento de la señal en
la UFI y directamente convertidas hacia abajo a una frecuencia adecuada es decir donde la
unidad de procesamiento de la señal de RF realiza una conversión o adaptación de la
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 18 -
frecuencia recibida a valores más manejables para la unidad CAD/CDA o unidad de banda
base.
Cuando las señales de varios sistemas son recibidas en el receptor se debe generar
las frecuencias apropiadas para convertir la frecuencia intermedia en frecuencias de trabajo,
donde la banda de frecuencia requerida se debe seleccionar usando un filtro analógico para
su amplificación en la etapa de frecuencia intermedia.
UNIDAD DE CONVERSIÓN A/D Y D/A (CAD/CDA).- En una primera etapa la
señal digital de la unidad de banda base es convertida a una señal analógica usando un
CDA, y transferida a una unidad de banda de frecuencia superior (UFI o URF), donde el
procesamiento de la señal es realizado en un software usando DSP´s, FPGA´s o ASIC´s y
esto se lleva internamente en los convertidores A/D, para convertirlas posteriormente a
señales de audio equivalentes para su posterior amplificación y conducirlas a la salida de la
antena.
En el receptor las señales de la UFI o de la URF se amplifican a un nivel adecuado
para el CAD. Es decir, se incluyen convertidores analógico-digitales (CAD), que digitaliza
las señales que se encuentran presentes en las entradas de la tarjeta, lo que posteriormente
generara un flujo continuo de bits que representaran digitalmente las señales analógicas de
entrada. La señal estabilizada es entonces muestreada por un CAD y enseguida convertida a
una señal digital.
UNIDAD DE PROCESAMIENTO DE LA SEÑAL DE BANDA BASE (UBB).-
En esta unidad los datos se modulan digitalmente y se transfieren a la unidad CAD/CDA
del transmisor. Los datos transmitidos se recuperan a través del uso de la señal muestreada
de la unidad CAD/CDA y usando el procesamiento de señal digital en el receptor. En la
UBB del transmisor, los bloques referidos a la trama, codificación mapeo/modulación y el
filtro de transmisor son los bloques clave. Ya que esta parte contiene toda la información
presente en la señal original, por lo que debe mantenerse en la señal convertida, en un
ancho de banda determinado y reducido.
Por otra parte, en la UBB del receptor los bloques como el filtro receptor, código y
sincronización de símbolo, tasa de conversión de muestreo (remuestreo),
demapeo/demodulación y bloque de decodificación son claves en esta sección. Además, en
ésta sección se encuentra el bloque de compensación de atenuación (ecualización) y el
bloque de eliminación de interferencia para eliminar las señales no deseadas y reducir el
ruido. En la mayoría de los casos, la UBB está configurada por varia unidades DSPH
(hardware de procesamiento de señales digitales) tales como DSP, FPGA o ASIC. La
configuración de las BBUs puede ser modificada cambiando el DSPS (software de
procesamiento de señales digitales).
UNIDAD DE CONTROL DE TRANSMISIÓN (UCT).- En el caso del
transmisor la UCT configura el formato de flujo de bits de entrada a la UBB a través del
ajuste del protocolo de transmisión de la capa de control de acceso al medio MAC.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 19 -
En el caso del receptor, los datos detectados de la UBB son verificados de acuerdo
al formato de datos detectados del protocolo de transmisión de la capa MAC. Si el número
de errores de bits en los datos detectados es grande, se requiere entonces una retransmisión.
Además de éste control de transmisión, esta unidad maneja también tareas de
codificación. En la mayoría de los casos, la UCT se puede configurar a través de una serie
de DSPHs, y todos los bloques componentes podrían también ser descritos usando DSPS. A
través de la modificación de DSPS, la UCT puede configurar el protocolo de transmisión a
conveniencia del usuario.
UNIDAD DE PROCESAMIENTO DE ENTRADA/SALIDA (UES).- En la
estación móvil, todos los datos de información vienen de un equipo portátil, de una terminal
PDA (asistente digital personal) o de una computadora personal, y todos los datos recibidos
regresan a éstas terminales o computadoras. Las unidades de entrada/salida y de
sincronización tienen el propósito de realizar conexiones flexiblemente con las terminales
externas.
UNIDAD DE PROCESAMIENTO DE TEMPORIZACIÓN EXTREMO A
EXTREMO (UPT).- Controla el retraso de transmisión entre el transmisor y el receptor.
En la mayoría de los RDS, se usan varios programas de software, los cuales describen todos
los componentes de telecomunicaciones dentro de los lenguajes usados por el DSPS, y
estos lenguajes se usan para configurar los componentes sobre la unidad DSPH. Este
software puede fácilmente modificarse para adaptar los requerimientos de un sistema
particular [19-20].
Como se ha visto, cada elemento de procesamiento en un RDS tiene su propio
conjunto de módulos de software para su aplicación lo que origina que se tenga en todos los
módulos la capacidad de procesamiento de la señal para que sea aplicable al RDS mediante
un control sobre la información y su funcionalidad. La ventaja de un RDS es que se le
puede atribuir a su sistema cambios entorno a su software de aplicación sin ningún tipo de
cambio, sustitución o modificación en el hardware.
El RDS dará una solución a la incompatibilidad entre los estándares de telefonía
móvil y las técnicas de acceso al medio, pero ha surgido un nuevo concepto o evolución del
RDS, se trata del radio cognitivo el cuál se convertirá en una referencia para desarrollar
futuras aplicaciones que se podrían establecer para una cuarta generación de
comunicaciones móviles.
2.4 Características y beneficios de un Radio Definido por Software
_______________________________________________________________
Se espera que en el desarrollo de terminales móviles para una cuarta generación
(4G) se tenga mayores niveles de flexibilidad en el que se incorporen múltiples interfaces,
físicos o definidos mediante software, permita a los usuarios acceder entre las diferentes
tecnologías de acceso y cambiar entre los diferentes estándares celulares e interconectarse a
otros servicios de red sin importar las áreas de cobertura; ya que las características más
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 20 -
relevantes que definirán los sistemas 4G son la movilidad global (Roaming Mundial), la
portabilidad del servicio y las mejoras en la gestión de los recursos de forma integrada para
asegurar la Calidad de Servicio (QoS) que el usuario demande.
El Radio Definido por Software (RDS) tiene como propósito integrar una cobertura
global libre de irregularidades a través de cualquier región geográfica, establecer interfaces
con diferentes sistemas y estándares que proveen de servicios completos y libres de
irregularidades.
Es decir tener un “Teléfono Móvil Multimodo”, que sea fácil de gestionar, que sea
capaz de ofrecer flujos de datos de diferentes niveles de calidad, que se tenga una QoS
necesaria para soportar adecuadamente los diferentes tipos de aplicaciones; ya que la
utilización de una reconfigurabilidad deberá permitir incrementar la habilidad de la
terminal para alcanzar la calidad de servicio requerida, el RDS tiene que comunicarse,
manejar cambios dentro del sistema de redes emitidos en los protocolos usando
arquitecturas del radio software en el cual el radio se reconfigure a sí mismo basándose en
el sistema en el que esté interactuando y las funciones que soporte, propiciando a que los
estándares celulares converjan globalmente [17-18].
El uso de tecnologías reconfigurables y procesos de descarga de software, permite
plantear el desarrollo de terminales 4G los cuales ofrecerán configuraciones optimizadas
para aplicaciones concretas dependiendo de la interfaz del aire que se este utilizando lo que
a su vez propiciara el desarrollo de nuevas arquitecturas para las estaciones base y la red de
soporte de las comunicaciones. La flexibilidad en la arquitectura le permite a países
proveedores de servicios mejorar la infraestructura y comercializar servicios nuevos
rápidamente, sin olvidar que el usuario debe tener la habilidad de seleccionar al proveedor
de la red y así como también los servicios que necesite. Entre los factores más importantes
que propician a que se acepte la implementación del RDS son:
Reconfigurabilidad.- El RDS permite la existencia simultánea de múltiples
módulos de software, empleando diferentes estándares en el mismo sistema lo que
permite la configuración dinámica únicamente a través de la selección apropiada del
módulo de software para poder funcionar todo esto es posible tanto en los equipos
portátiles como en la infraestructura de los equipos.
Conectividad Ubicua.- La capacidad que tiene el usuario para acceder
transparentemente a cualquier servicio, en cualquier lugar y en cualquier momento,
lo que permite fácilmente la realización del roaming mundial, lo que hace esta
tecnología es facilitar la realización de sistemas de radio de arquitectura abierta.
Multifuncionalidad.- La capacidad de reconfiguración del RDS para que pueda
soportar una variedad casi infinita de capacidades de servicio de un sistema
(Bluetooth, WLAN, WPAN, etc.).
Movilidad Mundial (Roaming Mundial).- Debido al número de estándares
existentes y la incompatibilidad entre ellos, el RDS tendrá la habilidad de operar
con algunos o preferentemente con todos los estándares en diferentes regiones
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 21 -
geográficas del mundo, lo que ha influenciado el crecimiento del concepto de radio
definido por software.
Compactación y eficiencia de uso de potencia.- La propuesta del RDS ofrece
diseños compactos, lo que permite un manejo eficiente de la potencia,
especialmente cuando el número de sistemas se incrementa.
Facilidad de manufactura.- La digitalización de la señal antes de entrar en la
cadena del receptor puede resultar en un diseño que incorpore significativamente
pocas partes, lo que da como consecuencia un inventario reducido para el
fabricante.
Facilidad de actualización.- Durante el transcurso de la implementación, los
servicios requieren actualizarse o en su caso deben introducirse nuevos servicios.
Tales cambios deben realizarse sin la interrupción o la desestabilización de la
operación de la infraestructura actual [18], [24].
El reto principal del RDS es brindarle al usuario un teléfono móvil que utilice
cualquier servicio en cualquier región del mundo, lo cual es posible sólo reconfigurando el
aparato receptor para cualquier estándar de telefonía móvil usado en la región respectiva,
haciendo un uso dinámico de descarga de software para cubrir el estándar necesitado de la
interfaz de aire, es decir una actualización por aire para la implementación rápida de
programas mejorados del software y las características nuevas que vayan surgiendo, con la
habilidad para cambiar un sinnúmero de parámetros del sistema en tiempo real [22].
El RDS propicia un eficaz mecanismo para el diseño y la aplicación de dispositivos
que se pueden mejorar mediante la actualización de programas, entre las grandes ventajas y
aplicaciones tecnológicas destacan:
Ventajas: Intercambio transparente de datos, en tiempo real y sin rupturas.
Calidad en la transferencia de datos como de procesos ejecutándose en diferentes
plataformas.
Ejecución y monitoreo coordinado en tiempo real de los datos o servicios de
aplicación y la adaptación de los mismos
Gestión de eventos y errores.
Dispositivos de comunicaciones de seguridad pública que puedan comunicarse con
cualquier número de organismos distintos de los específicos de las bandas asignadas
a cada uno.
Teléfonos celulares que puedan usar cualquier variedad de redes, bandas de
frecuencia y aplicaciones [22-23].
Al disponer de terminales de usuario reconfigurables por software permitirá que
exista un roaming mundial con diferentes grados de implementación, el disponer de
estaciones bases reconfigurables y actualizadas por software representa una ventaja
económica y competitiva. Lo que propiciará el desarrollo y el despliegue en la evolución en
las comunicaciones por lo que el RDS se convertirá en una base fundamental para el
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 22 -
desarrollo de la 4G de comunicaciones móviles, debido a las grandes capacidades y
servicios que se pretenden ofrecer al usuario, un esquema donde se presenta la evolución y
la implementación del RDS en las comunicaciones móviles e inalámbricas se ve en la
Figura 2.2 [15], [24].
2G
1G
• Teléfono móvil
• Tecnología analógica
• Macro células
3G
• Voz digital, envío de mensajes
y servicio de datos
• Bucle inalámbrico fijo, servicio
LAN inalámbrico
• Celular digital y PCS
• Macro, micro y pico células
4G
• Gran realce en los servicios
de comunicación de datos
• Banda angosta y servicios
Multimedia de banda ancha
• Espectro superior para aplicaciones
de banda ancha
• Macro, micro y pico células
RDS Y LA EVOLUCIÓN DE LAS REDES INALÁMBRICAS
• Gran mejoramiento en la
tasa de bits Multimedia
Ca
pa
cid
ad
es y
se
rvic
ios
1980 1990 2000 2010 2020
Radio Definido por Software
Fig. 2.2.- El RDS y su evolución en las comunicaciones móviles e inalámbricas.
2.5 Radio Cognitivo _______________________________________________________________
2.5.1 Introducción
_________________________________________________________________________
La tecnología del radio cognitivo introduce un revolucionario mecanismo de
comunicación inalámbrica en sus terminales y segmentos de red, a fin de que puedan
aprender de su ambiente y adaptarse a la forma más apropiada inteligentemente es decir el
radio cognitivo será autónomo y capaz de ajustar sus configuraciones para cambios en el
ambiente con tal que el servicio cubra las necesidades exactas del usuario. El radio
cognitivo es concebido como un punto al cual debe de evolucionar el radio definido por
software, el radio cognitivo es un radio inteligente que es capaz de escoger los mejores
caminos para enrutar datos, es capaz de escoger la mejor radiofrecuencia a utilizar, de
entender la actividad de la red, la actividad del usuario, seleccionar y usar las formas de
onda, frecuencia, y protocolos correctos para apoyar de manera eficiente al usuario y la red,
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 23 -
todas estas características se logran basándose en la observación de varios factores internos
y externos del radio, tales como el espectro de radiofrecuencia, el comportamiento del
usuario y el estado de la red, con el fin de comunicarnos eficaz y eficientemente, el radio
cognitivo asegura que el usuario podrá establecerse en un roaming mundial donde
podremos comunicar y transmitir información a pesar de los cambios en la cobertura,
conectividad y la carga en el sistema de comunicaciones [25], [27].
2.6 ¿Qué es el Radio Cognitivo?
_______________________________________________________________
Definimos un radio cognitivo como un dispositivo inteligente de comunicación que
se da cuenta tanto de su ambiente como de las necesidades aplicativas y se puede
reconfigurar para optimizar la calidad de servicio. Después de esta definición, proveemos
una solución del nodo de radio cognitivo con una capa inteligente de conciencia, razonando
y aprendiendo lo necesario para optimizar su función bajo situaciones dinámicas e
imprevisibles. Esa capa inteligente está realizada por un sistema de software llamado motor
cognitivo. El motor cognitivo puede ser aplicado para diferentes plataformas de radio
reconfigurable por su interconexión general de radio. El motor cognitivo implanta un doble
ciclo de cognición como su centro de aprendizaje. El ciclo cognitivo integra la detección,
el reconocimiento del ambiente por parte del radio, el razonamiento basado en casos, la
creación de soluciones y su mejor solución. El conocimiento del radio esta definido y
conocido mediante la implementación de una base de datos para soportar y reforzar lo
aprendido a través del ciclo cognitivo.
Será apropiado para aplicaciones diversas, en las cuales la solución del radio
cognitivo se enfatizará en sistemas con una arquitectura de plataformas independientes y el
motor cognitivo tiene una base de algoritmos de estructura accesible y modular, lo cual
puede ser fácilmente reconfigurado para el objetivo del problema. Basado en esta estructura
general del nodo de radio cognitivo, un funcionamiento completamente público y seguro
del nodo de radio cognitivo (RCPS) es proveer un prototipo de interoperabilidad pública
universal para una comunicación segura.
La investigación del radio cognitivo es multidisciplinaria, combinando
comunicaciones inalámbricas, ingeniería de radio, mecanismos de aprendizaje, regulación
del espectro de radiofrecuencias, la aplicación de servicios, y muchos otros aspectos. La
tecnología del radio cognitivo involucra tres campos principales, el dominio de operación,
el dominio del radio y el dominio del usuario:
El dominio de operación.- Contiene información regulable, tal como un plan de
frecuencia, transmitir en los límites de la intensidad y de la interferencia, eso es
interpretado como un conjunto de reglas de estructuras jerárquicas (dispuestas por
prioridades) usados como límites en el área operacional de la radio. El conocimiento
del dominio de operación se usa para garantizar la seguridad y la legalidad de las
operaciones del radio cognitivo.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 24 -
El dominio del usuario.- Define ambos desde las preferencias de acceso al servicio
y los requisitos de ejecución de ambos es decir el proveedor del servicio y el usuario
final. Principalmente incluye objetivos como la disponibilidad de acceso, el tipo de
servicio y la Calidad de Servicio (QoS). El radio cognitivo necesita interpretar tales
objetivos, encontrarlos y adaptarlos a su operación.
El dominio del radio.- Consiste principalmente en el ambiente y la plataforma del
radio. Lo correspondiente a la parte externa y a su autoconocimiento, están
combinados para proveer los mecanismos de razonamiento en dos formas: Ya sea
proveer de los objetivos en caso de que algunas capacidades de la radio sean
utilizadas bajo la observación de las condiciones del ambiente o si no de las
restricciones o las limitaciones de los recursos del radio.
El radio cognitivo (RC) dará soporte al sistema de redes de forma eficiente en el
espectro de radiofrecuencia, dónde los dispositivos dinámicamente se adapten a sus
ambientes operativos, mejorando la eficiencia en el uso de ancho de banda debido a su
habilidad para aprender y adaptarse al conocimiento local y global acerca del ambiente del
espectro, además sientan su ambiente local, los cambios de ruta, las observaciones de
cambios con otros radios cognitivos y eventualmente las acciones sobre este conocimiento
compartido para dar soporte a la adaptación [28-30].
2.7 Tipos de Radios Cognitivos _________________________________________________________________________
Existen tres tipos de radios cognitivos (RCs) que en particular pueden adaptar su
tecnología de comunicaciones y consecuentemente deben poder observar e interactuar con
una variedad de redes existentes de radio. Esto significa que los RCs deberán poder
intercambiar frecuentemente información entre ellos en términos de la implementación así
como también con los sistemas inalámbricos existentes.
A. Radio IEEE802.22
El panorama del IEEE802.22 espera que una terminal móvil (TM) seleccione su
espectro de radiofrecuencia preferente a partir de los espectros disponibles provistos por
una estación base (EB). Hay tres clases de componentes involucradas, terminales móviles
(TM1-6), estaciones base (EB1-3) y una fuente de base de datos (BD) del radio. Todas las
estaciones base consultan a la base de datos durante la fase de inicialización para
información sobre recursos e identificar un canal candidato después de sensoriarlo y
confirmar si se encuentra vacante, después una estación base establece comunicación sobre
el canal confirmado. Una terminal móvil escanea una lista predefinida de canales o de todos
los canales para encontrar uno que este disponible cuando trata de establecer comunicación
y conectarse con al menos una estación base, luego obtiene los recursos de esos parámetros
tal como la identificación de los canales de enlace superior e inferior o de los niveles de
intensidad, lo anteriormente mencionado está representado en la Figura 2.3.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 25 -
OPERACIÓN & DATOS
EB3EB1EB2
TM1 TM3
TM5
TM2
TM4TM6
FUENTE DE
BASE DE DATOS
DEL RADIO
Fig. 2.3.- Panorama para el radio IEEE802.22.
Las estaciones base y las terminales móviles están en un estado de comunicación
después de la inicialización y ambos periódicamente reportan su información sobre los
recursos a la base de datos. La lista de información recomendada incluye la localización de
la terminal móvil, su nivel de intensidad, su banda de transmisión, su formato de
modulación y la relación señal a ruido (RSR). La base de datos reconfigura ambos, es decir
las estaciones base y las terminales móviles después de obtener esta información. Cada
estación base puede controlar a la terminal móvil a la que le este prestando el servicio,
administrar el uso del espectro de radiofrecuencia para evitar interferencias y configurar de
manera más poderosa y eficiente la modulación y la codificación teniendo acceso a la base
de datos.
El radio cognitivo IEEE802.22 usa ambas informaciones (el espectro de
radiofrecuencia y la base de datos) dependiendo de la posición y la información
independiente de la posición. Aunque una terminal móvil deterministicamente seleccione a
una estación base a partir de las estaciones bases disponibles y se enlace para consultar
información, no hay negociación o coordinación entre las terminales móviles y las
estaciones base en este escenario [30].
B. Múltiples Radios con Funciones Cognitivas
Este escenario visualiza la integración de un radio, como un chip radiodifusor
acoplado a estándares Wi-Fi / Wi-MAX, que estará incrustado en las terminales móviles y
las estaciones base para permitir respuestas radiodifusoras flexibles. Una terminal móvil
selecciona su radio preferente para comprobar las características del sistema de radio que
son proporcionadas por el operador.
Una terminal móvil con funciones radio cognitivas, el cual está esquematizado en la
Figura 2.4, primero detecta a los radios, encuentra a los candidatos y consulta la base de
datos para comprobar si hay algún conflicto potencial (por ejemplo, problemas de
terminales ocultos). La base de datos recopila información de comunicación, desde las TMs
/ EBs e informa a las terminales móviles que radio es el apropiado seleccionar en el área.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 26 -
La terminal móvil reconfigura el control de acceso al medio (MAC) / nivel físico (PHY)
para el radio seleccionado e inicia la autentificación siguiendo el protocolo especificado por
el sistema del radio.
Centro de la red
Fuente de
base de datos
del radio
CR
Operador Único
Control del nodo
cognitivoAdministración del
nodo cognitivo
Estación base cognitiva
Red de acceso
(3GPP/2)
Red de acceso
(Wi-MAX)
Red de acceso
(Wi-Fi)
TM
Función cognitiva en terminal móvil
Cuerpo del área
de red (CAR)
Fig. 2.4.- Panorama para múltiples radios con funciones radio cognitivas.
Este panorama también usa información dependiente de la posición para seleccionar
el sistema del radio y la red de acceso, para establecer referencias para el operador de la
información que esta localizada independientemente.
Una terminal móvil tendría ambos estándares Wi-Fi y Wi-MAX y el control de
acceso al medio (MAC) / nivel físico (PHY), con una “capa de convergencia" encima de
los controles de acceso al medio (MAC) y el sensor del espectro de radiofrecuencia en la
terminal, lo que detectaría la presencia de otros radios, y esta información le permitiría a la
capa de control de acceso al medio (MAC) / nivel físico (PHY) ser seleccionada para
cualquier sistema de radio mejorando los beneficios de la terminal para consultar la base de
datos. La terminal móvil esta bien posicionada a manera de coordinar el cuerpo del área de
red (CAR) que selecciona la más adecuada comunicación de largo alcance para enviar los
datos del sensor a la red [30].
C. Radio Re-configurable con Función Cognitiva
El radio reconfigurable involucra tecnologías de RDS y RC y se reorganiza por sí
mismo dentro de un sistema de radio que experimenta menos interferencia entre otros
sistemas de radio usados en una misma área. Un componente del RDS, por ejemplo, está
hecho de una unidad de procesamiento digital de señales (DSP) con FPGA´s y puede ser
configurado como cualquier dispositivo de radio cargando módulos de software para el
control de acceso al medio (MAC) / nivel físico (PHY) dentro de los FPGA´s. Una vez que
la configuración tiene éxito, el dispositivo es agregado para integrarse bajo el enlace del
RDS como se muestra en la Figura 2.5.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 27 -
Capa de integración
Base de datos
Administración
de la calidad
del radio
Administración
del perfil
Administración de
las funciones del RDS
Administración de la
configuración del radio
Administración de la
selección del radio
Administración del
análisis de la calidad
Administración de la
detección del espectro
PerfilCAM1
PHY1
RF
RDS
Agregar el enlace al RDSAgregar el enlace al RDS
RF
RDS
CAMn
PHYn
IP
Radio Definido por Software (RDS) para W-CDMA,
IEEE802.11a/b, y transmisiones digitales terrestres
Tarjeta FPGA
Combinación de
las 3 tarjetas
Tarjeta CPU
Tarjeta RF
Componentes del RDS
(un software conmutador que pueda cambiar
de diversos sistemas de comunicación)
Se despliegue
en el móvil
Fig. 2.5.- Funciones del RDS y el RC.
La dirección del RDS consiste de una administración de la configuración del radio,
de la administración en la selección del radio, un análisis de la calidad y de una dirección
que detecte el espectro de radiofrecuencia con su administración de la base de datos (BD) y
la adición de interfaces.
La administración de la configuración del radio inicializa el dispositivo RDS,
después de instalar los módulos FPGA y activa el sensor del espectro de radiofrecuencia
para monitorear la calidad del radio. El sensor del espectro recoge los datos del espectro
para comprobar los datos en el componente RDS, sin generar interferencia para la fluidez
de datos empleando el dispositivo.
El análisis de la calidad prueba la intensidad de señal y las reglas de codificación
básica (RCB) de los datos recogidos y detectados por el sensor para comprobar la calidad
radiodifusora y enviar la información al selector del radio en caso de cualquier cambio que
se espere. El selector de radio consulta la administración de la base de datos siguiendo el
perfil, determina un cambio de enlace en caso de que sea apropiado, y pregunta al enlace
del RDS para agregar los cambios al radio.
Este panorama permite una reconfiguración flexible del radio y se espera menos
interferencia de otros dispositivos de radio para establecer referencias en la base de datos
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 28 -
(BD) en la red. La información depende de la posición en que se encuentre en la red y se
establecen referencias frecuentemente, por el cual se espera una gran cantidad de tráfico por
el enorme número de terminales [30].
2.8 La Arquitectura del Radio Cognitivo
_______________________________________________________________
La arquitectura del sistema del radio cognitivo en una plataforma independiente está
definido por un paquete de algoritmos mediante software llamado Motor Cognitivo con una
interfaz general de radio. Dentro del motor cognitivo los módulos funcionales son
diferentes y están definidos para tener en cuenta las capacidades cognitivas incluyendo
conciencia, razonamiento, creación de soluciones y su optimización y el control adaptable
del radio.
Una solución general del radio cognitivo está definida en la forma del paquete del
software que pueda trabajar con plataformas de radio reconfigurable para proveer
funcionabilidad cognitiva. Este paquete de software, llamado motor cognitivo, consta de un
conjunto de mecanismos generales de aprendizaje y algoritmos de aplicaciones específicas
y puedan ser aplicadas para plataformas de radio con implementación de hardware. Como
se muestra en el bloque de la arquitectura del sistema del radio cognitivo representado en
forma de diagrama en la Figura 2.6, el motor cognitivo maneja recursos y adapta la
operación del radio para optimizar su función.
Algoritmos cognitivos
Algoritmos de aplicación
Radioparámetros
Plataforma independiente
para servicios API
Adaptación Detector/Sensor
Radio transmisor
Interfaz de aire
Capa 1
Capa 2
Capa 3
Capa 4
Capa 5
Software Software
Figura 2.6.- Modelo de un sistema de radio cognitivo.
La interacción entre el motor cognitivo y la plataforma de radio es a través de un
estándar de interfase entre ellos, el radio cognitivo puede ser presentado conforme a la lista
[28-29].
Un paquete de algoritmos mediante software, denominado motor cognitivo, es
diseñado y revestido en la plataforma de hardware del radio. El motor cognitivo
maneja los recursos del radio para lograr funcionalidades cognitivas y adaptar las
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 29 -
operaciones de radio para optimizar su función. El motor cognitivo le permite al
radio proveer de funcionalidades cognitivas combinando los procesos de los
mecanismos de aprendizaje con la operación radiodifusora.
El centro de los mecanismos de aprendizaje son diseñados para permitir
capacidades cognitivas para aplicaciones inalámbricas. Reforzando el aprendizaje y
su óptima evolución, son principios claves para el diseño del centro de aprendizaje.
Un doble ciclo de cognición es implantado en el centro de aprendizaje.
Cualquier radio con un nivel apropiado de reconfigurabilidad puede soportar y
puede ser controlado por el motor cognitivo por medio de una interfaz con la
plataforma independiente del radio. Dado que el motor cognitivo no es una
plataforma específica, el conocimiento general y el aprendizaje pueden ser
aplicados para una variedad de problemas de aplicaciones.
La funcionabilidad cognitiva se enfoca desde la capa 1 hasta la 3, para lograr en
esas capas una intersección óptima, los algoritmos generales de cognición pueden
ser extendidos a las capas superiores y configurarlos para encontrar diversos
requisitos para aplicaciones específicas.
Un radio cognitivo puede trabajar individualmente o conjuntamente en la
administración de recursos y la optimización de sus funciones. La estructura de
aprendizaje del radio cognitivo consta de tres pasos: El reconocimiento, el
razonamiento y la adaptación, el cuál puede ser flexiblemente implementado ya sea
de forma centralizada como un nodo de radio cognitivo completamente funcional.
En la Figura 2.7 se muestra un modelo general en el cual se ve la independencia del
hardware del diseño principal de la solución del radio cognitivo, lo cual posibilita tender un
puente sobre los mecanismos de aprendizaje con el funcionamiento del radio. La
plataforma de interfaz independiente tiene dos flexibilidades de diseño o propósito: dar
soporte a los mecanismos generales de aprendizaje y a los algoritmos específicos de
aplicación; y dar soporte y reconfigurabilidad a las plataformas de radio como las del RDS
[29].
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 30 -
Ambiente inalámbrico
Plataforma de radio
Funcionamiento de API
Radio API
Dominio de radio
Reconocimiento
Dominio de radio
Adaptación
Toma de decisiones
Centro de aprendizaje
Transparencia
Dominio específico
del radioProcedimiento del
proceso
Dominio
independiente
Proceso
existencial
Figura 2.7.- El modelo general de la interfase de radio.
2.8.1 La estructura del motor cognitivo y el dominio del conocimiento
Aunque el motor cognitivo puede trabajar con cualquier radio que puede
proporcionar o necesitar una reconfigurabilidad, la plataforma del radio definido por
software es la más preferente por su máximo grado de flexibilidad y reconfigurabilidad. El
radio le pasa la información al motor cognitivo con un formato paramétrico estándar,
nombrado como perfil. El motor cognitivo toma una decisión y le pasa la decisión también
en el formato del perfil al radio, logrando así las condiciones para su actuación.
Para segmentar el conocimiento, las funciones cognitivas pueden ser modularizadas.
De esa manera el motor cognitivo puede ser diseñado con una estructura accesible, lo cual
es importante para modular los algoritmos específicos para una tarea específica, mientras se
mantenga un diseño general. El motor cognitivo consta de los siguientes conjuntos
importantes de módulos:
Módulos modeladores del ambiente.- Manejan el reconocimiento y el conjunto de
información para dominios específicos. El radio, el usuario y los dominios de
operación (incluyendo seguridad) son modelados, interpretados y son reportados
para el centro de aprendizaje.
Módulos creadores de soluciones.- Es el núcleo que genera una solución viable
según el panorama actual del problema en sí (incluyendo el ambiente, los objetivos
del usuario, los recursos disponibles, etc.).
Módulos para la base de conocimientos.- Está contenida en el dominio de una
base de datos que relaciona esos datos como información situacional, criterios de
funcionamiento y como principios generales de razonamiento y aprendizaje.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 31 -
Módulo para el motor cognitivo.- Provee una interconexión entre sí mismo y cada
dominio. Para el dominio del radio, una plataforma de radio con una interfaz
independiente está construida con la cual el motor cognitivo pueda monitorear,
configurar y controlar diferentes hardwares de radio sin cambiar su propio
algoritmo [28].
Para el sistema del radio cognitivo, el diseño del dominio de conocimiento debe
permitir mecanismos de razonamiento y aprendizaje para las aplicaciones de radio. Donde
se puedan elegir metodologías eficientes para la observación y modelado del dominio de la
información útil y se abstraiga tal información con una representación general para los
mecanismos de razonamiento y aprendizaje, y así poder establecerlo como el centro de
aprendizaje en el sistema de Radio Cognitivo. Además de implementar un idioma adecuado
para describir tal dominio de conocimiento para la transferencia de información entre
unidades inteligentes.
La representación del dominio del conocimiento es llamado un perfil. Se debe
entender que en el sistema del radio cognitivo está considerado como el centro del radio,
los usuarios y los dominios de práctica, definimos los siguientes perfiles del dominio del
conocimiento relacionados con la interfaz de la radio:
El perfil del ambiente del radio: Contiene la información reconocida del ambiente
del radio, incluyendo la ocupación del espectro de energía, del formato de la forma
de onda en los canales de interés, y las oportunidades disponibles del enlace.
El perfil del desempeño: Contiene un conjunto de parámetros métricos como la
evaluación de la función del radio, las reglas de codificación básica, el rendimiento
específico de los datos, consumo de poder, etc. Esta métrica esta en una plataforma
independiente y así puede ser aplicada a los diferentes sistemas de radio hardware.
La definición del perfil de la plataforma del radio: Contiene la lista de recursos
funcionales de radio disponibles, su relatada capacidad de procesamiento en
términos del rango dinámico y los modos de operación, y sus características
funcionales como dependencias, manejador reglas, etc.
Perfil de la forma de onda: Contiene el nivel de las funciones de comunicación
representadas por las especificaciones de la forma de onda como la frecuencia
trasportadora, el esquema de modulación, la forma del pulso, la tasa del símbolos, el
esquema de codificación, el formato de la unidad de la información, los protocolos
de control de acceso al medio, etc.
El perfil de la configuración de la plataforma de radio: Contiene el conjunto de
parámetros para la configuración de la plataforma de radio que implica los
requerimientos de la forma de onda y las operaciones de enlace. La configuración
de plataformas específicas y los ajustes internos están sujetos a las funcionalidades
requeridas del radio.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 32 -
El dominio del conocimiento representado en la forma del dominio de los perfiles
permite la independencia de la metodología del procesamiento de la información sobre el
contenido específico de la información. Para el sistema de radio cognitivo, se asegura que
las estructuras generales de los mecanismos del razonamiento y aprendizaje pueda ser
diseñados y aplicados a través de dominios múltiples. Un ejemplo del razonamiento y los
procesos de decisión del radio cognitivo con perfiles de dominios múltiples es mostrado en
la Figura 2.8.
Definición del perfil de
la plataforma de radio
Perfil de la forma de onda
Perfil de la configuración
del radio
Perfil del ambiente
de radio Perfil de servicio
al usuario
Perfil de operación
Motor cognitivoCodificación
Área operacional
Crear solución
Formular solución
Figura 2.8.- Radio cognitivo con perfiles de dominio.
El motor cognitivo toma la definición del perfil del radio para establecer el espacio,
tomar el ambiente, los planes de acción y los perfiles del usuario para formar las
dimensiones y los límites de su cobertura para darle el soporte y tomar del ambiente del
radio, el plan de acción y los perfiles del usuario para formar los objetivos del
funcionamiento y los razonamientos asociados, a fin de dar una solución viable que pueda
ser proyectado y optimizado. La solución generada es entonces formulada dentro de la
forma de onda y los perfiles de la configuración del radio con un formato estándar que
puede ser aplicada a las diversas plataformas de radio [29].
2.9 Las características y los beneficios de un Radio Cognitivo.
_______________________________________________________________
Este sistema es un concepto que se esta volviendo muy importante entre los
dispositivos móviles y los sistemas de comunicaciones inalámbricos por dos razones
fundamentales:
Realza la eficiencia del espectro de radiofrecuencias, mejora su acceso, haciendo
asignaciones dinámicas del canal, lo que le permite reconocer los diferentes tipos de
tráfico de información, estableciendo prioridades dinámicas, e integrar rasgos de
seguridad lo que se evitaría en gran medida la interferencia entre redes.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 33 -
Permite establecer radios inteligentes con sistemas que se configuran solos, que se
auto adapten al entorno, que establezcan cambios en sus funciones dependiendo de
las necesidades del usuario y el estado de la red [25], [27].
El radio cognitivo podría propiciar que se tenga que aumentar el ancho de banda, ya
que conforme se establecen las evoluciones de dispositivos móviles e inalámbricos, estos
tienen que compartir una cantidad finita del espectro de radiofrecuencias, el radio
cognitivo puede establecer una mejor manera de utilizar el espectro, de descubrir
frecuencias que sean raramente usadas y se la asigne a servicios específicos sobre las cuales
se puedan llegar a transmitir y recibir información, propiciando el progreso hacia la
flexibilidad de bandas de radiofrecuencia no reglamentadas.
Las capacidades del radio cognitivo permitirá que todos los sistemas inalámbricos
puedan localizar cualquier banda libre del espectro de radiofrecuencia a su alcance y
conectarse a ella, este radio cognitivo debe configurar sus funciones de comunicación
constantemente para satisfacer las demandas de las redes de transmisión y recepción de los
usuarios, mediante dispositivos detectores de alta calidad y algoritmos para intercambiar los
datos de detección del espectro entre nodos.
El Radio cognitivo evitara las congestiones en la transmisión, propiciara el
mejoramiento del roaming mundial, estructurará códigos configurables para recibir y
transmitir nuevos protocolos de comunicación y la interferencia entre sistemas que ira
evolucionando para propiciar mejoras continuas entre el radio cognitivo y el radio definido
por software [26]. Las principales ventajas que se establecen con un Radio Cognitivo son
las siguientes:
Beneficios para los consumidores:
Plataforma común para múltiples usos.
Acceso a una amplia gama de aplicaciones y contenidos multimedia.
Capacidad para traspasar los limites del operador y lograr una verdadera movilidad.
Ofrece la posibilidad de agregar un conjunto de características y servicios con un
fácil mecanismo de actualización para una variedad de dispositivos móviles.
Aumenta la vida útil de un equipo y provee una ganancia segura contra la
obsolescencia.
Beneficios para los operadores:
Capacidad para desplegar nuevos servicios adaptados a los diferentes niveles de
usuarios que utilicen una plataforma de hardware común.
Prueba de mercado más rápida y sencilla de nuevos servicios y diferenciación de
otros operadores.
Reduce los costos a través de un largo ciclo de vida de móviles, la reducción de
componentes, y software con actualizaciones más rápidas de la estación base.
Capacidad de ofrecer a todos los usuarios el mismo conjunto de funciones y
servicios independientemente del estándar utilizado.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 34 -
Ayuda a lograr "acceso abierto" al proporcionar un conjunto de APIs (Application
Programming Interface / Interfaz de Programación de Aplicaciones) claramente
definidos.
Ayuda a quitar el papel del "proveedor de servicio" a partir del "proveedor de la
red", lo cual puede crear sustancialmente nuevas fuentes de recursos.
Provee interoperabilidad entre organizaciones de seguridad públicas para encargarse
de asuntos relacionados con los diversos sistemas de radio.
Beneficios para los fabricantes:
El fabricar una plataforma común se cubren muchos mercados, interfaces de aire
digital y bandas de frecuencias. Ofrece capacidad para expandir un nuevo y
adyacente mercado con soluciones de red común.
Un real uso de técnicas avanzadas para la utilización del espectro radioeléctrico
usando antenas inteligentes y procesamiento de señales.
Permite una adición flexible de nuevas características y de fácil adaptación para
asociarse con ASPs (Active Server Pages / Páginas Activas del Servidor) & ISPs
(Internet Service Provider / Proveedor de Servicios de Internet) para realzar la
fluidez de su ingreso.
Capacidad de mejorar los servicios, funciones y mecanismos de seguridad.
Bajo costo del producto debido a la reducción de los componentes.
Mayor rendimiento y menor consumo de energía para las funciones avanzadas tales
como video / gráficos en tiempo real y aplicaciones.
La habilidad para absorber mercados adyacentes con una misma plataforma que
soporte diferentes interfaces digitales de aire y bandas de frecuencia.
Permite que sobre el medio los productos y servicios se mejoren – provee la
habilidad para realzar, reprogramar o reconfigurar dispositivos del usuario.
Permite sobre el medio ajuste de productos y mejora de servicios.
Provee la habilidad para conseguir en parte una manera fluida el acceso a Internet
inalámbrico.
Se transfiere un software más cercano al hardware, por consiguiente se incrementa
su importancia.
Facilita el apoyo de todas las nuevas tecnologías emergentes (WAP, Bluetooth)
[15].
En este capítulo se presentaron las tecnologías que se están desarrollando para la
implementación de una cuarta generación de comunicaciones móviles, que es el caso del
Radio Definido por Software, cuál es su propuesta, para qué sirve, la arquitectura que la
compone, su funcionamiento, y los beneficios que se obtendrán, además de su evolución
hacia el Radio Cognitivo, las características e innovaciones que esta tendrá y para que estas
tecnologías se desarrollen se debe tomar en cuenta, tanto la manufactura de sistemas
inalámbricos, sistemas móviles y los proveedores de servicios inalámbricos deben
responder a los cambios como sucedan, mejorando los sistemas para que incorporen las
últimas innovaciones o centrarse en los defectos de los sistemas como se descubran.
Capítulo 2 ___ Radio Definido por Software y Radio Cognitivo
- 35 -
El RDS y su evolución como Radio Cognitivo va a fomentar el desarrollo y
despliegue de una evolución de las comunicaciones inalámbricas basadas en tecnologías de
radio reconfigurable, lo que permitirá tener arquitecturas flexibles y adaptables a los
sistemas inalámbricos avanzados, pero también sin olvidar que el usuario debe tener la
habilidad de seleccionar los proveedores y servicios que necesite. Y con el objetivo de este
trabajo es necesario revisar algunas técnicas de codificación y control de errores en especial
los códigos de bloque, que se analizarán en el siguiente capítulo para la posterior
implementación de algunas de ellas estableciendo como base fundamental el concepto de
Radio Cognitivo.
- 36 -
CAPÍTULO 3
RREEVVIISSIIÓÓNN DDEE TTÉÉCCNNIICCAASS DDEE
CCOODDIIFFIICCAACCIIÓÓNN YY CCOONNTTRROOLL DDEE
EERRRROORR
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 37 -
Capítulo 3 Revisión de Técnicas de Codificación y Control de Error.
Una vez que se conoce el concepto y la arquitectura de un Radio Definido por Software y su evolución como un Radio Cognitivo, es conveniente proponer algunas técnicas de control de error para la implementación de un motor cognitivo capaz de seleccionar entre diversos tipos de código. El primer paso consiste en conocer el concepto de codificación y decodificación, describir algunos tipos de código de bloque, para así escoger algunos de ellos para su implementación. 3.1 Introducción _________________________________________________________________________
Las operaciones básicas de procesamiento de señales en un sistema de comunicación digital son: codificación de la fuente, codificación de canal y modulación digital en el lado del transmisor, como se muestra en el diagrama a bloques de la Figura 3.1, así como los procesos inversos en el lado receptor. Los códigos para detección y corrección de errores corresponden a la codificación de canal.
Codificador de lafuente
Codificador de canal
Moduladordigital
Fig. 3.1.- Procesos de la señal en el lado transmisor de un sistema de comunicaciones.
La tarea que encara el diseño de un sistema digital de comunicaciones es proveer una instalación al costo más conveniente para transmitir información desde un extremo del sistema a una velocidad y nivel de confiabilidad y calidad aceptables para el usuario en el otro extremo. Los dos parámetros principales del sistema con que se cuentan para el diseño de un sistema de comunicación digital son la potencia de la señal transmitida y el ancho de banda del canal. Otro de los parámetros que mide el desempeño de un sistema de comunicación digital es la tasa de error binaria (BER) para un cierto valor, establece la razón entre la energía de la señal por bit y la densidad espectral de potencia del ruido ( ob NE / ). En la práctica llegamos con frecuencia a un esquema de modulación y
descubrimos que no es posible proporcionar una calidad de datos aceptable (es decir, un desempeño de errores suficientemente bajo). Generalmente, debido al ruido del canal de transmisión, la única manera de proporcionar un valor de BER aceptable y cambiar la calidad de los datos de problemática a aceptable consiste en utilizar la Codificación de Control de Error.
El control de error es parte del área de la “Teoría de la Información”, cuando se detecta un error existen dos métodos para corregirlo y se divide en:
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 38 -
• Detección de Error.- Le permite al receptor detectar si hubo algún error en la información transmitida y en su caso rechaza la información recibida y solicita la retransmisión de la información.
• Corrección de Error.- Este tipo de control de error le permite al receptor reconstruir o corregir parte de los datos recibidos al encontrar la palabra código válida más próxima al mensaje recibido si hubo algún tipo de pérdida de información.
Actualmente se emplean dos formas de control de errores. Una de las técnicas es
conocida como ARQ (Acknowledgment Request / Solicitud de Confirmación), ya que el receptor comprueba los datos recibidos y si hubo error solicita una retransmisión, de lo contrario retorna una confirmación de recepción correcta. La otra técnica se conoce como FEC (Forward Error Correction / Corrección de Errores Directa), es utilizado en los sistemas de comunicaciones que operan en tiempo real y sirve para la integridad de los datos. La FEC se fundamenta en el uso controlado de redundancia en la palabra código transmitida tanto para la detección como corrección de los errores en los que se incurre durante el curso de la transmisión por un canal ruidoso. La Figura 3.2 muestra el modelo de un sistema de comunicación digital que utiliza un procedimiento de este tipo.
Fuentediscreta
Codificadorde canal
ModuladorCanal de la
forma de ondaDetector
Decodificadorde canal
Usuario
Ruido
Canal discreto
Fig. 3.2.- Modelo simplificado del sistema de comunicación (Codificación y Modulación efectuadas por separado).
En el modelo, las operaciones de codificación del canal y modulación se efectuarán
por separado en el transmisor; lo mismo ocurre en las operaciones de detección y decodificación en el receptor. La fuente discreta genera información en la forma de símbolos binarios. El codificador del canal en el trasmisor acepta los bits del mensaje y agrega redundancia de acuerdo con una regla preestablecida, produciendo de ese modo datos codificados a una tasa de bits más alta. El decodificador del canal en el receptor explota la redundancia para decir cuales bits del mensaje se transmitieron realmente. La meta combinada del codificador y el codificador de canal reside minimizar el efecto del ruido del canal. Es decir, se minimiza el numero de errores entre la entrada del codificador del canal (obtenida de la fuente) y la salida del decodificador del canal (entregada al usuario).
En un esquema de modulación fijo, la adición de redundancia en los mensajes codificados implica la necesidad de aumentar el ancho de banda de la transmisión. Además, el uso de la codificación de control de error añade complejidad al sistema, en especial en la puesta en práctica de las operaciones de decodificación en el receptor. De ese modo, los compromisos del diseño en el uso de la codificación de control de error para lograr un
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 39 -
desempeño de errores aceptable incluyen consideraciones del ancho de banda y la complejidad del sistema [32], [34-35]. 3.2 Técnicas de Control de Error _______________________________________________________________
La función principal de las técnicas de control de error es introducir redundancia controlada permitiendo que los mensajes transmitidos que hayan sido corrompidos sean corregidos antes de ser procesados. Con esta redundancia controlada solo un subconjunto de todos los posibles mensajes (secuencia de bits) contiene mensajes válidos. Este subconjunto de posibles mensajes transmitidos se llama código y a los mensajes válidos que lo forman los llamamos codewords / palabras código.
Existen muchos códigos diferentes de corrección de errores que podemos usar. Históricamente, estos códigos se han clasificado en códigos de bloque y códigos de convolución. El rasgo distintivo para esta clasificación particular es la presencia o ausencia de memoria en los codificadores de los dos códigos.
Códigos de Bloque.- Para generar un código de bloque ( )kn, , el codificador del canal acepta información en bloque en sucesivos de k bits; en cada bloque agrega kn − bits redundantes que se relacionan algebraicamente con los k bits de mensaje, produciendo por ello un bloque codificado completo de n bits, donde kn > . El bloque de n bits se denomina una palabra de código y n se llama la longitud del bloque del código. El codificador del canal produce bits a razón de ( ) sRknR /0 = , donde sR es la tasa de bits de
la fuente de información. La razón adimensional nkr /= se conoce como la tasa de código, donde 10 << r . La tasa de bits 0R , proveniente del codificador, se denomina tasa
de datos del canal. Así, la tasa de código es una razón adimensional, en tanto que la tasa de datos producida por la fuente y del canal se mide en ambos casos en bits por segundo.
Código de Convolución.- La operación de codificado puede verse como la convolución en tiempo discreto de la secuencia de entrada con la respuesta al impulso del codificador. La duración de la respuesta al impulso es igual a la memoria del codificador. En consecuencia, el codificador es un código convolucional y opera sobre la secuencia del mensaje entrante, empleando una “ventana de deslizamiento” igual en duración a su propia memoria. Lo que significa que en un código convolucional, a diferencia de un código de bloque, el codificador de canal acepta bits de mensaje con una secuencia continua, por lo que genera una secuencia de bits codificados a una tasa más alta. Sin embargo, cuando la eficiencia del ancho de banda es de interés principal, el método más efectivo para poner en práctica la corrección de codificación directa del control de error consiste en combinarla con la modulación, con una sola función, según se muestra la Figura 3.3.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 40 -
Fuentediscreta
Codificador/ModuladorCanal de la
forma de ondaDetector/Decodificador Usuario
Ruido
Fig. 3.3.- Modelo simplificado del sistema de comunicación (Codificación y Modulación combinadas).
En un método de estas características, la codificación se redefine como un proceso
de imponer ciertos patrones sobre la señal transmitida. Cada técnica de control de error implica el uso de un codificador de canal en el transmisor y de un algoritmo de decodificación en el receptor [31], [35].
Los códigos que se describen en este capítulo son binarios, los cuales consisten únicamente en los símbolos 0 y 1. En un código de este tipo, las funciones de codificación implican operaciones de aritmética binaria de suma y multiplicación módulo 2 efectuadas sobre palabras de código en el código. Por tanto, las reglas para la suma módulo 2 que en sí es la operación OR EXCLUSIVA en la lógica son como sigue:
A ⊕ B = F 0+0 = 0 1+0 = 1 0+1 = 1 1+1 = 0
Las reglas para la multiplicación módulo 2 que es la operación AND, son las
siguientes:
AB = F 0x0 = 0 1x0 = 0 0x1 = 0 1x1 = 1
3.3 Códigos de Bloque _______________________________________________________________
La característica más destacada de los códigos bloque es que cada bloque de n bits o palabra código generada en el codificador depende solamente del correspondiente bloque de k bits generado por la fuente de información, siendo por la tanto una codificación sin memoria. Este tipo de códigos podemos verlos como k2 palabras código direccionadas por los mensajes de entrada. Para representarlos se utiliza la notación ( )kn, . Los códigos bloque pueden ser lineales o no lineales.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 41 -
En este tipo de codificación, la secuencia de datos a transmitir se divide en bloques de bits que se introducen juntos en el codificador. La salida es otro bloque de bits que ya contiene redundancia [33]. 3.3.1 Códigos de Bloque Lineal
Se dice que un código es lineal si cualesquiera dos palabras de código pueden sumarse en aritmética módulo 2 para producir una tercera palabra código en el código. Considerando entonces un código de bloque lineal ( )kn, , en el cual k bits de los n bits de código son siempre idénticos a la secuencia del mensaje que se va a transmitir. Los kn − bits en la porción restante se calculan a partir de los bits de mensaje de acuerdo con la regla de codificación preestablecida que determina la estructura matemática del código. Por tanto, estos ( )kn, bits se conocen como bits de paridad. Un código lineal se define mediante una asignación lineal del espacio de mensajes de entrada al espacio de palabras código, y puede representarse como un producto de matrices. Los códigos lineales se denominan también códigos de comprobación de paridad, pues la palabra código se obtiene a partir de sumas módulo dos de subconjuntos de los bits de entrada.
Los códigos de bloque en los cuales se transmiten los bits del mensaje en una forma inalterada se denominan códigos sistemáticos es decir son un tipo de bloques lineales y se caracterizan porque parte de la palabra código coincide con el mensaje de k bits. Los ( )kn, bits restantes son bits de paridad y se utiliza para aplicaciones que requieren tanto detección como corrección de errores, el uso de códigos de bloque sistemáticos simplifica la puesta en práctica del codificador. Considere que 110 ,.....,, −kmmm constituyen un bloque de k bits
de mensaje arbitrarios. De ese modo tenemos k2 bloques de mensajes distintos. Supongamos que esta secuencia de bits de mensaje se aplica a un codificador de bloques lineal, produciéndose una palabra de código de n bits cuyos elementos se denotan por medio de 110 ,.....,, −nccc . Sean 110 ,.....,, −−knbbb los ( )kn, bits de paridad en la palabra
código. Para que el código posea una estructura sistemática, una palabra de código se divide en dos partes, una de las cuales la ocupan los bits de mensaje y la otra los bits de paridad. Tenemos la opción de enviar los bits de mensaje de una palabra código antes de los bits de paridad o viceversa. La primera opción se ilustra en la Figura 3.4.
0 1 1, , . . . . . , n kb b b − − 0 1 1, , . . . . . , km m m −
Bits de paridadn-k dígitos
Bits de mensajek dígitos
REDUNDANCIAREDUNDANCIAREDUNDANCIAREDUNDANCIA MENSAJEMENSAJEMENSAJEMENSAJE
Fig. 3.4.- Estructura de la palabra código sistemática.
La estructura matemática del código de bloques lineal ( )kn, , puede escribirse en una forma compacta utilizando la notación de matrices. Por lo que definimos el vector de
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 42 -
mensaje de 1 por k, o vector de información m, el vector de paridad b de 1 por ( )kn − y el vector c de 1 por n de la manera siguiente:
m = [ ]110 ,.....,, −kmmm ……………… (3-1)
b = [ ]110 ,.....,, −−knbbb ……………… (3-2)
c = [ ]110 ,.....,, −nccc ……………… (3-3)
De ese modo podemos reescribir el conjunto de ecuaciones simultáneas definiendo los bits de paridad en la forma de matriz compacta:
b = mP ……………… (3-4)
Donde P es la matriz de coeficientes de k por ( )kn, definida por:
=
−−−−−
−−
−−
1,11,10,1
1,11110
1,00100
knkkk
kn
kn
ppp
ppp
ppp
P
L
MMM
L
L
……………… (3-5)
Donde ijp es 0 o 1.
A partir de las definiciones dadas en las ecuaciones (3-1)-(3-3), vemos que es posible expresar c como un vector renglón dividido en términos de los vectores m y b en la forma siguiente:
c = [ ]mbM ……………… (3-6)
Por lo tanto, al sustituir la ecuación (3-4) en la (3-6) y factorizar el vector de mensaje común m, obtenemos
c = m[ ]kIPM ……………… (3-7) donde I k es la matriz identidad de k por k:
=
1 0 0
0 1 0
0 0 1
L
MMM
L
L
kI ……………… (3-8)
Y definimos la matriz generadora de k por n.
[ ]kIPG M= ……………… (3-9)
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 43 -
La matriz G generadora de la ecuación (3-9) se dice que es un código de comprobación de paridad y queda completamente caracterizado por G, donde kI es la
matriz identidad de dimensión k x k y P es la matriz de paridad. Si denominamos m al vector fila que contiene los k bits del mensaje y c al vector fila que contiene la palabra código de n bits, utilizando la definición de la matriz G generadora, podemos simplificar la ecuación (3-7) como:
c = mG ……………… (3-10)
Donde las sumas que se producen al multiplicar las matrices son módulo dos. La propiedad de linealidad se refleja también en el hecho de que la suma de dos palabras código cualesquiera es otra palabra código. Esta propiedad básica de los códigos de bloque lineales se llama cerradura.
Definiremos ahora la matriz H, o matriz de comprobación de paridad del código, a partir de la cual será posible decodificar los vectores recibidos. Considere que H denota una matriz de ( )kn − por n, definida como:
H = [ ]Tkn PI M− ……………… (3-11)
Donde TP es una matriz de ( )kn − por k, que representa a la transpuesta de la
matriz de coeficientes P, e knI − es la matriz identidad de ( )kn − por ( )kn − . En aritmética
módulo 2 tenemos que =+ TT PP 0, donde 0 denota una matriz nula de ( )kn − por k (es decir, una matriz que tiene ceros en todos sus elementos, por tanto se puede definir que:
HGT = 0 ……………… (3-12)
De manera equivalente, tenemos que GHT = 0, donde cero es una nueva matriz nula. Al multiplicar después ambos miembros de la ecuación (3-10) por HT, la transpuesta de H, y al utilizar la ecuación (3-12) se obtiene:
0==
T
TT
cH
mGHcH ……………… (3-13)
Así podremos utilizar H para comprobar si un vector recibido es una palabra código
y al conjunto especificado por 0=TcH se asigna el nombre de ecuación de verificación de paridad [31-33], [35]. 3.3.2 Códigos de Distancia Mínima (Código Hamming)
Un código Hamming es clasificado como un código de bloque lineal porque tiene como entrada un grupo (bloque) de m bits de datos, a los cuales se le agrega un grupo de k bits de paridad de acuerdo a reglas preestablecidas, dando como salida un grupo de n bits comúnmente llamado palabra código. Asimismo, se dice que es lineal porque satisface la condición de que cualquier par de palabras código al ser sumadas en módulo dos produce
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 44 -
otra palabra código existente dentro del conjunto empleado para codificar los posibles mensajes. Además, se dice que es sistemático porque los bits de paridad se agregan sin alterar la posición de los bits del mensaje.
Considerando un par de vectores de código c1 y c2 que tienen el mismo número de elementos. La distancia de Hamming ( )21,ccd entre tal par de vectores de código se define como el número de localidades en las cuales difieren sus elementos respectivos.
El peso de Hamming w(c) de un vector de código c se define como el número de elementos distintos de cero en el vector de código. De manera equivalente, es posible establecer que el peso de Hamming de un vector de código corresponde a la distancia entre el vector de código y el vector de código de puros ceros, es decir el peso de Hamming es obtenido con el número de bits que difieren los vectores de las palabras código con respecto al vector de puros ceros y nos sirve para conocer el número de unos en un vector código.
La distancia mínima mínd de un código de bloques lineal se define como la distancia
de Hamming más pequeña entre cualquier par de vectores de código en el código. Es decir, la distancia mínima es la misma que el peso de Hamming más pequeño de la diferencia entre cualquier par de vectores de código. Por tanto, es posible establecer que la distancia mínima de un código de bloques lineal es el peso de Hamming más pequeño de los vectores de código distintos de cero en el código. La distancia mínima mínd se relaciona con la
estructura de la matriz H de verificación de paridad del código de una manera fundamental. Si la matriz H se expresa en términos de sus columnas de la manera siguiente:
H = [ ]nhhh ,.....,, 21 ……………… (3-14)
Entonces, para que un vector de código c satisfaga la condición de 0=TcH , el vector c debe tener unos en posiciones tales que los renglones correspondientes de HT sumen el vector cero. Sin embrago, por definición, el número de unos en un vector código es el peso de Hamming de dicho vector. Asimismo, el peso de Hamming más pequeño de los vectores de código distintos de cero es código de bloques lineal es igual a la distancia mínima del código. Por tanto, la distancia mínima de un código de bloques lineal se define mediante el número mínimo de renglones de la matriz HT cuya suma es igual al vector cero. La distancia mínima de un código de bloques lineal mínd , es un parámetro importante
del código. Específicamente determina la capacidad de corrección de errores de este último.
Los códigos Hamming comúnmente son empleados en aplicaciones donde ocurre un solo error por bloque, como por ejemplo en el proceso de escritura y lectura de una memoria RAM de una computadora.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 45 -
Fig. 3.5.- Memoria RAM y Mother Board utilizan código Hamming en su interior.
Una familia de estos códigos tiene los siguientes parámetros que se muestran en la tabla 3.1:
Tamaño del bloque 12 −= mn bits Bits de paridad ( )3; ≥−= mknm bits
Tamaño del mensaje 12 −−= mk m bits Distancia mínima 12 +≥ tdmín bits
Errores a corregir t bits
Tabla 3.1.- Parámetros del código Hamming.
Como se observa en los parámetros, el número de errores t que se pueden corregir por bloque de palabra código está relacionado con la distancia Hamming d. Donde esta distancia es el número de bits distintos entre los vectores que representan las palabras código. Considerando, por ejemplo, el código de Hamming (7, 4) con n = 7 y k = 4, correspondiendo a m = 3. La siguiente matriz representa una matriz generadora apropiada para el código de Hamming (7, 4):
=
43421321
kIP
G
1 0 0 0:1 0 1
0 1 0 0:1 1 1
0 0 1 0:1 1 0
0 0 0 1:0 1 1
……………… (3-15)
La correspondiente matriz de verificación de paridad esta dada por:
=
−
43421321T
kn PI
H
1 1 1 0:1 0 0
0 1 1 1:0 1 0
1 1 0 1:0 0 1
………………(3-16)
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 46 -
Con k = 4 hay 2k = 16 palabras de mensajes distintas, la cual para una palabra de mensaje determinada, la palabra código correspondiente se obtiene utilizando la ecuación c = mG. Por tanto, la aplicación de dicha ecuación produce las 16 palabras de código que se enlistan en la tabla 3.2.
Mensajes Palabras Código ( 0 0 0 0 ) ( 0 0 0 0 0 0 0 ) ( 0 0 0 1 ) ( 1 0 1 0 0 0 1 ) ( 0 0 1 0 ) ( 1 1 1 0 0 1 0 ) ( 0 0 1 1 ) ( 0 1 0 0 0 1 1 ) ( 0 1 0 0 ) ( 0 1 1 0 1 0 0 ) ( 0 1 0 1 ) ( 1 1 0 0 1 0 1 ) ( 0 1 1 0 ) ( 1 0 0 0 1 1 0 ) ( 0 1 1 1 ) ( 0 0 1 0 1 1 1 ) ( 1 0 0 0 ) ( 1 1 0 1 0 0 0 ) ( 1 0 0 1 ) ( 0 1 1 1 0 0 1 ) ( 1 0 1 0 ) ( 0 0 1 1 0 1 0 ) ( 1 0 1 1 ) ( 1 0 0 1 0 1 1 ) ( 1 1 0 0 ) ( 1 0 1 1 1 0 0 ) ( 1 1 0 1 ) ( 0 0 0 1 1 0 1 ) ( 1 1 1 0 ) ( 0 1 0 1 1 1 0 ) ( 1 1 1 1 ) ( 1 1 1 1 1 1 1 )
Tabla 3.2.- Código de Hamming (7, 4).
Cabe resaltar que el más pequeño de los pesos de Hamming para las palabras de
código distintas de cero es 3, se puede decir que la distancia mínima del código es 3. En realidad, los códigos de Hamming tienen la propiedad de que la distancia mínima 3=mínd ,
independientemente del valor asignado al número de bits de paridad m [32], [34-35]. 3.3.3 Códigos Cíclicos
Los códigos cíclicos forman una subclase de códigos de bloques lineales. Una ventaja de los códigos cíclicos sobre la mayor parte de los otros tipos de código es que son más fáciles de codificar. Además, los códigos cíclicos poseen una estructura matemática perfectamente definida, la cual ha conducido al desarrollo de esquemas de decodificación muy eficientes para ellos.
Se afirma que un código binario será cíclico si exhibe dos propiedades fundamentales:
1. Propiedad de linealidad: La suma de cualesquiera dos palabras de código en el código es también una palabra de código.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 47 -
2. Propiedad cíclica: Cualquier corrimiento cíclico de una palabra de código en el código también es una palabra de código.
La propiedad 1 renuncia el hecho de que el código cíclico es un código de bloques
lineal (es decir, puede describirse como un código de verificación de paridad). Para desarrollar las propiedades algebraicas de los códigos cíclicos, utilizamos los elementos
110 ,.....,, −nccc de una palabra de código para definir el polinomio del código.
( ) 1
12
210 ..... −−++++= n
n XcXcXccXc ……………… (3-17)
Cada potencia de X en el polinomio ( )Xc representa un corrimiento a tiempo de
un bit. Por tanto, la multiplicación del polinomio ( )Xc por X puede verse como un corrimiento hacia la derecha. De ese modo es posible establecer formalmente la propiedad cíclica en notación de polinomios de la forma siguiente: Si ( )Xc es un polinomio de código, entonces el polinomio también es un polinomio de código para todo corrimiento cíclico i;
( ) ( ) ( ) ( )1mod += nii XXcXXc ……………… (3-18) el término mod es la abreviación de módulo. La forma especial de la multiplicación de polinomio descrita en la ecuación (3-18) se conoce como módulo de multiplicación 1+nX . Se dice que un código es cíclico cuando cualquier desplazamiento en lazo cerrado de una palabra código da como resultado otra palabra código existente dentro del conjunto empleado para codificar los posibles mensajes. Los códigos cíclicos son empleados en aplicaciones de telefonía para comunicación de voz IP.
Fig. 3.6.- Telefonía para comunicación de voz IP, código cíclico en su interior.
Polinomio Generador. El polinomio 1+nX y sus factores desempeñan un papel fundamental en la
generación de códigos cíclicos. Sea ( )Xg un polinomio de grado kn − que es un factor de
1+nX ; como tal, ( )Xg es el polinomio de menor grado en el código. En general, ( )Xg puede expandirse del modo siguiente:
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 48 -
( ) ∑−−
=
−++=1
1
1kn
i
knii XXgXg ……………… (3-19)
Donde el coeficiente ig es igual a 0 o 1. De acuerdo con esta expansión, el
polinomio ( )Xg tiene dos términos con coeficiente 1 separados por 1−− kn términos. El
polinomio ( )Xg recibe el nombre de polinomio generador de un código cíclico.
Polinomio de Verificación de Paridad. Un código cíclico ( )kn, está especificado en forma única por su polinomio
generador ( )Xg de orden ( )kn − . Un código de este tipo se específica también en forma única mediante otro polinomio de grado k, que se denomina polinomio de verificación de paridad, definido por
( ) ∑−
=
++=1
1
1k
i
kii XXhXh ……………… (3-20)
donde los coeficientes ih son 0 o 1. El polinomio generador ( )Xg es equivalente a la
matriz generadora G como una descripción del código. En forma correspondiente, el polinomio de verificación de paridad, denotado por ( )Xh , es una representación equivalente de la matriz de verificación de paridad H.
Codificador para Códigos Cíclicos. El procedimiento de codificación para un código cíclico ( )kn, en una forma
sistemática y consistente en un registro de corrimiento realimentado lineal con ( )kn − etapas, y se representa por medio del codificador de la Figura 3.7.
Flip-flop Flip-flop Flip-flop Flip-flop…..
g1 g2
Compuerta
…..1−−kng
SumadorMódulo 2
Bits del mensaje
Bits deparidad
Palabrade
código
Fig. 3.7.- Codificador de un modo cíclico ( )kn, .
Las cajas de la Figura 3.7 representan flip-flops o elementos de retardo unitario. El flip-flop es un dispositivo que reside en uno de dos posibles estados denotados por 0 y 1.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 49 -
Un reloj externo controla la operación de todos los flip-flops. Cada vez que el reloj marca, el contenido de los flip-flops (inicialmente establecido en el estado 0) se corren hacia la dirección de las flechas. Además de los flip-flops, el codificador incluye un segundo conjunto de elementos lógicos, es decir, sumadores, los cuales calculan las sumas módulo 2 de sus respectivas entradas. Por último, los multiplicadores multiplican sus respectivas entradas por los coeficientes asociados.
La operación de codificador que se muestra en la Figura 3.7 procede de la manera siguiente:
1) La compuerta se activa. Por tanto, los k bits de mensaje se corren hacia el canal. Tan rápido como los k bits de mensaje han entrado al registro de corrimiento, los ( )kn − bits resultantes en el registro forman los bits de paridad.
2) La compuerta se desactiva, interrumpiendo las conexiones de realimentación. 3) Los contenidos del registro de corrimiento se leen en el canal.
Cálculo del Síndrome. Recordando que si el síndrome es cero, no hay errores de transmisión en la palabra
recibida. Si, en cambio, el síndrome es distinto de cero, la palabra recibida contiene errores de transmisión que es necesario corregir. En el caso de un código cíclico en la forma sistemática, consideramos que la palabra recibida se representa por medio de un polinomio de grado 1−n o menor, como se indica
( ) 1110 ..... −
−+++= nn XrXrrXr ……………… (3-21)
sea ( )Xq el cociente y ( )Xs el residuo, los cuales resultan de dividir ( )Xr entre el
polinomio generador ( )Xg . Por tanto, es posible expresar ( )Xr en la forma siguiente:
( ) ( ) ( ) ( )XsXgXqXr += ……………… (3-22)
El residuo ( )Xs es un polinomio de grado 1−− kn o menor, que es el resultado de interés. Se le denomina polinomio del síndrome debido a que sus coeficientes integran el síndrome s de ( )kn − por 1. La Figura 3.8 muestra un calculador de síndrome donde los
bits recibidos se alimentan de las ( )kn − etapas del registro de corrimiento realimentado desde la izquierda.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 50 -
Flip-flop Flip-flop…..
g2
Compuerta
…..1−−kng
SumadorMódulo 2
Flip-flop
g1
Bitsrecibidos
Fig. 3.8.- Calculador del síndrome para código cíclico ( )kn, .
Tan pronto como los bits recibidos se han corrido hacia el registro de corrimiento, sus contenidos definen al síndrome s.
El polinomio del síndrome ( )Xs tiene las siguientes propiedades útiles: 1) El síndrome de un polinomio de palabra recibida es también el síndrome del
correspondiente polinomio de error. Dado que un código cíclico con polinomio ( )Xc se envía por un canal ruidoso, el
polinomio de la palabra recibida se define mediante
( ) ( ) ( )XeXcXr += ……………… (3-23) donde ( )Xe es el polinomio de error.
2) Sea ( )Xs el síndrome de un polinomio de palabra recibida ( )Xr . Entonces, el
síndrome de ( )XXr , un corrimiento cíclico de ( )Xr , es ( )XXs . Al aplicar este corrimiento cíclico en ambos miembros de la ecuación (3-22)
obtenemos: ( ) ( ) ( ) ( )XXsXgXXqXXr += ……………… (3-24)
( )XXs es el residuo de la división de ( )XXr entre ( )Xg . Por tanto, el síndrome de
( )XXr es ( )XXs .
3) El polinomio de síndrome ( )Xs es idéntico al polinomio de error ( )Xe ,
suponiendo que los errores están confinados a los ( )kn − bits de verificación de
paridad del polinomio de la palabra recibida ( )Xr . El polinomio de error ( )Xe y el polinomio del síndrome ( )Xs son el mismo. La
corrección del error puede conseguirse sumando simplemente el polinomio del síndrome ( )Xs al polinomio de la palabra recibida ( )Xr [31], [34-35].
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 51 -
3.3.4 Códigos Bose-Chaudhuri-Hocquenghem (BCH)
Los códigos BCH constituyen una de las clases más importantes y poderosas de códigos de bloques lineales. Los códigos BCH binarios más comunes, conocidos como códigos BCH primitivos, están caracterizados por cualesquiera enteros positivos 3≥m y
( ) 2/12 −< mt mediante los siguientes parámetros mostrados en la tabla 3.3.
Longitud del bloque 12 −= mn Bits Bits de paridad kn − Bits
Tamaño del mensaje mtnk −≥ Bits Distancia mínima 12 +≥ tdmín Bits
Errores a corregir t Bits
Tabla 3.3.- Parámetros del código BCH.
Cada código BCH es un código de corrección de t errores en el sentido de que puede detectar y corregir hasta t errores aleatorios por palabra de código. Además, en longitudes de bloque de unos cuantos cientos de bits o menos, los códigos BCH son de los mejores para un mismo tamaño de bloque, índice de código y tasa de código (relación entre el bloque de entrada y el bloque de salida).
Algunos códigos comunes se expresan en la forma ( )tkn ,, en BCH, para proporcionar una idea de su capacidad, en la tabla 3.4 se presentan los parámetros de código y los polinomios generadores correspondientes a códigos BCH de bloques binarios de longitud hasta de 125 − [34-35].
n k t Polinomio Generador ( )Xg
7 4 1 1 011 15 11 1 10 011 15 7 2 111 010 001 15 5 3 10 100 110 111 31 26 1 100 101 31 21 2 11 101 101 001 31 16 3 1 000 111 110 101 111 31 11 5 101 100 010 011 011 010 101 31 6 7 11 001 011 011 110 101 000 100 111 Notación: n = longitud del bloque, k = número de bits del mensaje, t = número máximo de errores detectables.
Tabla 3.4.- Código BCH binarios de longitud hasta de 125 − .
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 52 -
3.3.5 Códigos Reed-Solomon (RS)
Los códigos Reed-Solomon constituyen una subclase importante de códigos BCH no binarios; se abrevian en ocasiones como códigos RS. El codificador para un código RS difiere de un codificador binario en el sentido de que éste opera sobre bits múltiples en vez de bits individuales. Específicamente, un código RS ( )kn, se utiliza para codificar
símbolos de m bits en bloques consistentes de 12 −= mn símbolos, donde 1≥m . Un código RS de corrección de t errores tiene los siguientes parámetros que se muestran el la tabla 3.5.
Longitud del bloque 12 −= mn símbolos Tamaño de paridad tkn 2=− símbolos Tamaño del mensaje k símbolos
Distancia mínima 12 += tdmín símbolos
Errores a corregir t símbolos
Tabla 3.5.- Parámetros del código Reed-Solomon.
La longitud de bloque del código RS es una unidad menor que el tamaño de un símbolo de código, y la distancia mínima es mayor en uno que el número de símbolos de verificación de paridad. Los códigos RS usan con gran frecuencia la redundancia, las longitudes de bloque y los tamaños del símbolo pueden ajustarse fácilmente para alojar una amplia gama de tamaños de mensaje. Además, los códigos RS ofrecen un extenso intervalo de tasa de código que es posible elegir para optimizar el desempeño. Los códigos RS son útiles cuando los errores ocurren en ráfagas, como en los sistemas de audio digital de discos compactos [34-35].
Fig. 3.9.- Sistemas de audio digital (CD´s y DVD´s) código Reed-Solomon en su interior.
3.4 Códigos Convolucionales. _______________________________________________________________
La codificación convolucional es una técnica de codificación para el control de error que genera una secuencia codificada de bits a partir de una secuencia de entrada de bits de información. La secuencia codificada de salida se genera a partir de cada bit de la secuencia de entrada y no de bloques como en el caso de códigos RS. La salida del codificador, además de depender del bit actual de entrada, depende de los bits de entrada anteriores, en un proceso continuo que crea redundancia.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 53 -
El codificador tiene memorias internas para recordar los bits de entradas anteriores. A mayor cantidad de memorias, mayor posibilidad de disminuir el error, con la desventaja de mayor calidad de bits redundantes, mayor retardo del producto y de la complejidad de cálculos que agrega cada memoria. Sin embargo, hay aplicaciones en que los bits del mensaje vienen en forma serial y no en bloques grandes; en este tipo de situaciones, es probable el empleo de codificación convolucional.
Un código convolucional genera bits redundantes utilizando convoluciones módulo 2, el codificador de un código convolucional binario puede considerarse como una máquina de estado finito que consiste en un registro de corrimiento de M etapas con conexiones preestablecidas a n sumadores módulo 2 y a un multiplexor que pone en serie las salidas de los sumadores. Una secuencia de entrada, correspondiente a un mensaje de L bits produce una secuencia de salida codificada de longitud ( )MLn + bits. De manera que la relación entre la entrada y la salida, conocida como la tasa de código esta dada por:
( )MLn
Lr
+= ……………… (3-25)
Por lo común, tenemos ML >> . Por tanto, la tasa de código se simplifica en:
nr
1≅ ……………… (3-26)
La longitud de restricción de un código convolucional, expresada en términos de
bits de mensaje, se define como el número de corrimientos sobre el cual un bit de un solo mensaje puede influir en las salidas del codificador. En un codificador con un registro de corrimiento de M etapas, la memoria del codificador es igual a M bits de mensaje y se requieren 1+= MK corrimientos para que un bit de mensaje entre al registro de corrimiento y finalmente salga. La Figura 3.10 muestra un codificador convolucional con
2=n y 3=K . De este modo, la tasa de código de este codificador es 1/2. El codificador de la Figura 3.10 opera sobre la secuencia de mensaje entrante, un bit a la vez.
Flip-flopFlip-flop
SumadorMódulo 2
Trayectoria 1
Trayectoria 2
EntradaSalida
Fig. 3.10.- Codificador convolución de tasa ½ y longitud de restricción.
Capítulo 3 ___ Revisión de Técnicas de Codificación y Control de Error
- 54 -
Cada trayectoria que conecta la salida con la entrada de un codificador convolucional puede caracterizarse en términos de su respuesta al impulso, definida como respuesta de esa trayectoria a un símbolo 1 aplicada en su entrada, con cada flip-flop del codificador inicializado en el estado cero. Podemos caracterizar cada trayectoria en términos de un polinomio generador cuyos coeficientes son los elementos de la respuesta al impulso. De manera correspondiente, el polinomio generador de la i-ésima trayectoria esta definido por:
( ) ( ) ( ) ( ) ( ) ( ) MiM
iiii DgDgDggDg ++++= .....2210 ……………… (3-27)
Donde D denota la variable de retardo unitario y los coeficientes
( ) ( ) ( ) ( )iM
iii gggg ,.....,,, 210 son iguales a 0 o 1. Estos códigos son buenos para utilizar en canales
con baja probabilidad de error. Un código convolucional queda especificado por tres parámetros ( )Kkn ,, :
n = número de bits de la palabra codificada. k = número de bits de la palabra de datos. K = memoria del código o longitud restringida.
Los códigos convolucionales son ampliamente usados en enlaces de radio en línea
de vista y en comunicaciones móviles, tales como la telefonía celular [31], [34-35].
Fig. 3.11.- Teléfono celular, código convolucional en su interior.
En este capítulo se hizo una revisión de los códigos de bloque y en especial la de los códigos cíclicos, que nos servirán para la implementación, ya que como se analizó anteriormente estos tipos de código dentro de las ventajas que tienen es que son fáciles de implementar usando una circuitería basada en registros de desplazamiento y que tienen una estructura algebraica bien definida por lo que serán los códigos que implementaremos para construir los diferentes módulos de software para la parte de control de error de un motor cognitivo que sea capaz de seleccionar entre diferentes tipos de códigos.
- 55 -
CAPÍTULO 4
IIMMPPLLEEMMEENNTTAACCIIÓÓNN,, PPRRUUEEBBAASS
YY
RREESSUULLTTAADDOOSS
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 56 -
Capítulo 4 Implementación, Pruebas y Resultados.
Una vez que se han revisado algunas técnicas de codificación y control de error en bloques lineales, procederemos a la implementación de 3 códigos diferentes, el código cíclico (7,4), el código BCH (15,11) y el código Hamming (7,4), los cuales utilizan decodificación Meggitt. Primeramente se realizara la implementación de cada código para posteriormente juntarlos en una base de datos para el motor cognitivo en el cual se pueda elegir entre los diferentes códigos implementados.
4.1 Implementación de Códigos de Bloque _________________________________________________________________________
Para realizar la implementación de un módulo de software utilizando el concepto de Radio Cognitivo se propone para la programación de los circuitos utilizar lenguajes de programación de alto nivel, por lo que se utilizará C++.
Como primer paso se desarrollaron las funciones del transmisor para simular el funcionamiento de tres diferentes codificadores, de igual forma se desarrollaron las funciones del lado del receptor para posteriormente establecerlos en una base de datos para el motor cognitivo, donde se tenga la capacidad de elegir entre los diferentes codificadores establecidos, entre los cuales se obtuvieron los siguientes:
� Codificador Cíclico (7,4) � Decodificador Cíclico (7,4) � Codificador BCH (15,11) � Decodificador BCH (15,11) � Codificador Hamming (7,4) � Decodificador Hamming (7,4)
4.1.1 Codificador Cíclico (7,4)
A continuación se muestra el diagrama general para implementar un codificador cíclico en la Figura 4.1, el cual es la base de la implementación del codificador, posteriormente la Figura 4.2 muestra el diagrama del circuito codificador cíclico (7,4).
Flip-flop Flip-flop Flip-flop Flip-flop…..
g1 g2
Compuerta
…..1−−kng
SumadorMódulo 2
Bits del mensaje
Bits deparidad
Palabrade
código
Fig. 4.1.- Codificador general cíclico ( )kn, .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 57 -
SumadorMódulo 2
Flip-flop Flip-flop
Palabracódigo
Flip-flop
Compuerta
Bits del mensaje
Bits deparidad
Fig. 4.2.- Codificador cíclico ( )4,7 .
Una vez teniendo el circuito codificador cíclico (7,4) mediante el polinomio
generador ( )xg se procedió a generar el circuito del codificador cíclico (7,4) basado en
( )xh que se muestra en la Figura 4.3, el cual se estableció como base para su implementación mediante software, donde se puede establecer la creación de módulos de software mediante el conocimiento del hardware específico para dicha codificación. Posteriormente en la Figura 4.4 se presenta el diagrama de flujo que ayudo a la creación del circuito codificador (7,4).
SumadorMódulo 2
Bits deparidad
Flip-flop Flip-flop Flip-flopBits del mensaje
Flip-flop
Compuerta 2
Compuerta 1
Palabracódigo
Fig. 4.3.- Codificador cíclico ( )4,7 basado en h(x).
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 58 -
CODIFICADOR CICLICO
U[K], V[N]
cont=0,i,j
i>N-K-1
V[i]=U[N-K-cont]
cont++
V[i]=U[3]^U[2]^U[1]
U[j]=U[j-1]
U[j]=U[j-1]
F
NO
NO
NO
SISI
SI
i=N-1;i>=0;i--
j=N-K;j>=1;j--
Fig. 4.4.- Diagrama de flujo para el codificador cíclico ( )4,7 .
En esta función se implementa un algoritmo para utilizar el codificador cíclico (7,4), el cual utiliza un polinomio generador ( ) 13 ++= xxxg , a partir de ese polinomio se puede
calcular ( ) 124 +++= xxxxh que servirá para generar el circuito del codificador basado
en ( )xh , donde se tendrá una función que recibe el valor del vector de información U[K]= 4 elementos, el vector de información U[K] entra al registro de corrimiento, posteriormente se calculan los bits de redundancia que son establecidos en el circuito para que se añada a la palabra código, es decir se utilizan los 4 bits de información o del mensaje original, se calculan los 3 bits de redundancia que se van a añadir al vector información los cuales nos darán el control de error y se imprime la palabra codificada V[N] de 7 bits.
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 59 -
Esta implementación nos da un codificador cíclico (7,4) y el resultante del programa se muestra en la Figura 4.5, en el que se obtenemos la palabra código de un vector de información.
Fig. 4.5.- Resultante de la implementación del codificador cíclico ( )4,7 . 4.1.2 Decodificador Cíclico (7,4)
Una vez establecido el codificador es necesario implementar su decodificador donde podamos recuperar a partir de la palabra código la información que el transmisor nos ha mandado, pero la implementación del decodificador va a tener la capacidad de detectar y corregir un error cuando se llegué a presentar en el momento de recepción de la información.
También es importante mencionar que los otros códigos van a estar establecidos con las mismas características, a continuación se muestra el diagrama para el cálculo del Síndrome de un código cíclico y su decodificador Meggitt, se muestra en la Figura 4.6, el cual es la base para la implementación del decodificador.
x3r(x)
rn-1n-Etapas de Buffer
0S 1S 2S
r(x) )(ˆ xv
1ˆ −ne
Fig. 4.6.- Síndrome y Decodificador Meggitt para el código cíclico( )kn, .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 60 -
Función del decodificador cíclico (7,4).
“ASIGNACION DELVECTOR RECIBIDO,INICIALIZACION DEL
BUFFER Y SINDROME”
SI
DECODIFICADOR CICLICOV[N], VCR[N]
s[3], Aux[3], R[N], BUF[N],BUFX[N], i, j
i=0,j=N-1; i<N; i++,j--
R[j]=V[i]
NO
SI
i=0; i<7; i++
BUF[i]=0
NO
SI
i=0; i<3; i++
S[i]=0
NO
ITERACION R(X) SINDROME BUFFER
“VECTORCORREGIDO”
NONO
“CORRECION DEPALABRA CODIGO”
“ASIGNACIONDE S Y BUFFER”
“CALCULO DEL SINDROME”
SI
SI
i=0; i<14; i++
i<=6
i=0; i<N; i++
VCR[i]=BUF[i]
NO
NO
NO
SI
F
Aux[0]=S[0]Aux[1]=S[1]Aux[2]=S[2]
S[0]=Aux[2]^R[i]S[1]=Aux[0]^Aux[2]S[2]=Aux[1]
SI
j=0; j<7; j++
BUFX[j]=BUF[j]
BUF[0]=R[i]BUF[1]=BUFX[0]BUF[2]=BUFX[1]BUF[3]=BUFX[2]BUF[4]=BUFX[3]BUF[5]=BUFX[4]BUF[6]=BUFX[5]
ITERACION R(X) SINDROME BUFFER
Aux[0]=S[0]Aux[1]=S[1]Aux[2]=S[2]
S[0]=Aux[2]^(Aux[0]&!Aux[1]&Aux[2])S[1]=Aux[0]^Aux[2]S[2]=Aux[1]
SI
j=0; j<7; j++
BUFX[j]=BUF[j]
BUF[0]=BUFX[6]^(Aux[0]&!Aux[1]&Aux[2])BUF[1]=BUFX[0]BUF[2]=BUFX[1]BUF[3]=BUFX[2]BUF[4]=BUFX[3]BUF[5]=BUFX[4]BUF[6]=BUFX[5]
ITERACION R(X) SINDROME BUFFER
Fig. 4.7.- Diagrama de flujo para el decodificador cíclico ( )4,7 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 61 -
En la función del decodificador se implementa un algoritmo que utiliza un decodificador Meggitt basándose en el calculo del Síndrome por medio de ( )xg , primeramente debemos inicializar los elementos del buffer y el Síndrome con cero para saber si no hay errores en la transmisión de la palabra codificada de lo contrario es necesario detectarlo y corregirlo, su implementación se baso en el circuito de la Figura 4.5 el cual nos ayuda a realizar el calculo del Síndrome mediante el registro de la palabra código para determinar los siete primeros valores del Síndrome, pero hace falta la detección y corrección, aquí es donde se implementa el decodificador Meggitt el cual corrige el error en la palabra código y se le asignara el vector corregido a VCR y recuperar la información ya decodificada.
En la Figura 4.8 observamos la simulación que se realizo en C++, donde se presenta el decodificador cíclico (7,4), la detección y corrección de un error.
Fig. 4.8.- Resultante de la implementación del decodificador cíclico ( )4,7 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 62 -
4.1.3 Codificador BCH (15,11)
A continuación se muestra la tabla 4.1 para el código Bose-Chaudhuri-Hocquenghem-BCH (15,11), en la cual se presentan los parámetros de código que están expresados por los valores de n, k y t y los polinomios generadores correspondientes a códigos BCH de bloques binarios, el cual se tomo de base para la implementación del codificador. n k t Polinomio Generador ( )Xg
7 4 1 1 011 15 11 1 10 011 15 7 2 111 010 001 Notación: n = longitud del bloque, k = número de bits del mensaje, t = número máximo de errores detectables.
Tabla 4.1.- Códigos BCH binarios con su respectivo polinomio generador.
Diagrama de flujo de la función del codificador BCH (15,11).
SI
CODIFICADOR BCHU[K], V[N]
bb[N-K], g[5]={1,1,0,0,1},retro,i,j
i=0;i<N:i++
bb[i]=0
i=K-1;i>=0;i--
retro=U[i]^bb[N-K-1]
retro!=0
j=N-K-1;j>0;j--
g[i]!=0
bb[j]=bb[j-1]^retro bb[j]=bb[j-1]
bb[0]=g[0]&&retro
j=N-K-1;j>0;j--
bb[j]=bb[j-1]
bb[0]=0
i=0;i<N-K;i++
V[i]=bb[i]
i=0;i<K;i++
V[i+N-K]=U[i]
NO
NO
NO
NO
NO
NO
NO
NO
SI
SISI
F
SI
SI
SI
SI
Fig. 4.9.- Diagrama de flujo del codificador BCH ( )11,15 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 63 -
En la función del codificador BCH se implementa un algoritmo para utilizar el codificador BCH mediante el polinomio( ) 13 ++= xxxg el cual debido a su funcionamiento solo se tendrá que hacer cambios a los valores del vector de información U[K] y la palabra codificada V[N] los cuales facilitan el calculo de los bits de redundancia bb[] mediante la introducción del polinomio generador para posteriormente obtener la palabra codificada V[N].
El resultante del programa para el codificador BCH se muestra en la Figura 4.10, en el que se obtenemos una palabra código de 15 bits a partir de un vector de información de 11 bits.
Fig. 4.10.- Resultante de la implementación del codificador BCH ( )11,15 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 64 -
4.1.4 Decodificador BCH (15,11)
A continuación es necesario implementar su decodificador, que debe tener la capacidad de detectar y corregir un error que se presente en la palabra código, a partir del diagrama del circuito decodificador Meggitt que se muestra en la Figura 4.11, es posible realizar su implementación en software una vez conociendo las características del hardware, por tanto se establece como base para la implementación del decodificador BCH (15,11).
g1
r(x) rn-115-Etapas de Buffer
0S 1S 3S2S
entrada
entrada)(ˆ xv
1ˆ −ne
( ) 41 xxxg ++=
Fig. 4.11.- Decodificador Meggitt para código BCH ( )11,15 .
A continuación se muestra el diagrama de flujo de la función del decodificador BCH (15,11). Posteriormente en la Figura 4.13 se presenta la simulación realizada en C++, del decodificador BCH (15,11), la detección y la corrección de un solo error.
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 65 -
NONO
“VECTORCORREGIDO”
i<=14
i=0; i<N; i++
VCR[i]=BUF[i]
NO
NO
SI
F
Aux[0]=S[0]Aux[1]=S[1]Aux[2]=S[2]Aux[3]=S[3]
S[0]=Aux[3]^R[i]S[1]=Aux[0]^Aux[3]S[2]=Aux[1]S[3]=Aux[2]
j=0; j<N; j++
BUFX[j]=BUF[j]
BUF[0]=R[i] BUF[7]=BUFX[6]BUF[1]=BUFX[0] BUF[8]=BUFX[7]BUF[2]=BUFX[1] BUF[9]=BUFX[8]BUF[3]=BUFX[2] BUF[10]=BUFX[9]BUF[4]=BUFX[3] BUF[11]=BUFX[10]BUF[5]=BUFX[4] BUF[12]=BUFX[11]BUF[6]=BUFX[5] BUF[13]=BUFX[12]
BUF[14]=BUFX[13]
ITERACION R(X) SINDROME BUFFER
S[0]=Aux[3]^(Aux[0]&!Aux[1]&Aux[2]&Aux[3])S[1]=Aux[0]^Aux[3]S[2]=Aux[1]S[3]=Aux[2]
j=0; j<N; j++
BUFX[j]=BUF[j]
BUF[0]=BUFX[14]^(Aux[0]&!Aux[1]&!Aux[2]&Aux[3])BUF[1]=BUFX[0] BUF[8]=BUFX[9]BUF[2]=BUFX[1] BUF[9]=BUFX[10]BUF[3]=BUFX[2] BUF[10]=BUFX[11]BUF[4]=BUFX[3] BUF[11]=BUFX[12]BUF[5]=BUFX[4] BUF[12]=BUFX[13]BUF[6]=BUFX[5] BUF[13]=BUFX[14]BUF[7]=BUFX[6] BUF[14]=BUFX[15]
“CORRECION DE PALABRA CODIGO”
“ASIGNACION DE S Y BUFFER”
“CALCULO DEL SINDROME”i=0; i<14; i++
NO
Aux[0]=S[0]Aux[1]=S[1]Aux[2]=S[2]Aux[3]=S[3]
SI SI SI
SI
ITERACION R(X) SINDROME BUFFER
NO
NO
NO
DECODIFICADOR BCHV[N], VCR[N]
s[N-K], Aux[N-K], R[N], BUF[N]BUFX[N], i, j
i=0,j=N-1; i<N; i++,j--
R[j]=V[i]
i=0; i<N; i++
BUF[i]=0
i=0; i<N-K; i++
S[i]=0
ITERACION R(X) SINDROME BUFFER
“ASIGNACION DELVECTOR RECIBIDO,INICIALIZACION DEL
BUFFER Y SINDROME”
SI
SI
SI
Fig. 4.12.- Diagrama de flujo del decodificador BCH ( )11,15 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 66 -
En esta función se implementa un algoritmo el cual utiliza un decodificador Meggitt (15,11) basándose en el calculo del Síndrome por medio de ( )xg , donde primeramente debemos inicializar los elementos del buffer y el Síndrome con cero para saber si no hay errores en la transmisión de la palabra codificada además de realizar el calculo del Síndrome, posteriormente se implementa el decodificador Meggitt el cual se baso en el circuito de la Figura 4.11 el cual detecta y corrige el error en la palabra código y la asigna al vector corregido VCR para recuperar la información.
Fig. 4.13.- Resultante de la implementación del decodificador BCH ( )11,15 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 67 -
4.1.5 Codificador Hamming (7,4)
A continuación se muestra el circuito del codificador Hamming (7,4), el cual se tomo de base para la implementación, se muestra en la Figura 4.14 para la generación de las palabras código del codificador Hamming.
U1A74136N U2A
74136N
3U0
U1
U2
U3
U3A74136N
U4A74136N
6
U5A74136N
U6A74136N
2
4
5
8
11
7
10
9
V0
V1
V2
V3
V4
V5
V6
Fig. 4.14.- Circuito codificador Hamming ( )4,7 .
Diagrama de flujo de la función del codificador Hamming (7,4).
CODIFICADOR HAMMIING
U[K], V[N]
V[0]=U[0]^U[2]^U[3]
V[1]=U[0]^U[1]^U[2]
V[2]=U[1]^U[2]^U[3]
V[3]=U[0]
V[4]=U[1]
V[5]=U[2]
V[6]=U[3]
F
Fig. 4.15.- Diagrama de flujo del codificador Hamming ( )4,7 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 68 -
En esta función se implementa un algoritmo para utilizar el codificador Hamming (7,4), el cual a partir del circuito digital establecido en la Figura 4.14 se puede calcular, donde primeramente se recibe el arreglo de los cuatro elementos de información U[K] que simulan las entradas del circuito codificador para posteriormente formar el otro arreglo de siete elementos que se establezcan como la palabra codificada V[N] que simulan la salida del codificador, es decir donde el vector de información U[K] nos ayuda a establecer las operaciones suma módulo 2 (XOR) para el establecimiento de los bits de redundancia que se van a añadir al vector información y posteriormente se imprima la palabra codificada V[N] para su transmisión.
El resultante del programa para el codificador Hamming se muestra en la Figura 4.16, en el que se obtiene a partir del vector información de 4 bits una palabra código de 7 bits.
Fig. 4.16.- Resultante de la implementación del codificador Hamming ( )4,7 . 4.1.6 Decodificador Hamming (7,4)
Una vez establecido el codificador es necesario implementar su decodificador donde podamos recuperar a partir de la palabra código la información que el transmisor nos ha mandado, va a tener la capacidad de detectar y corregir un error que se llegué a presentar en la palabra código en el momento de la recepción.
A continuación se muestra el diagrama de flujo de la función del decodificador Hamming (7,4).
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 69 -
“DETERMINAVALORES
DEL SINDROME”NO
DECODIFICADOR HAMMINGV[N], VCR[N]
S[N-K], e[16][17], suma,i, j, k
k=0; k<3; k++
S[0]=V[0]^V[3]^V[5]^V[6]S[1]=V[1]^V[3]^V[4]^V[5]S[2]=V[2]^V[4]^V[5]^V[6]
S[k]=k
S[0]==1 || S[1]==1 || S[2]==1
E[16][4]={0,0,0,0, 1,0,0,0,0,0,0,1, 1,0,0,1,0,0,1,0, 1,0,1,0,0,0,1,1, 1,0,1,1,0,1,0,0, 1,1,0,0,0,1,0,1, 1,1,0,1,0,1,1,0, 1,1,1,0,0,1,1,1, 1,1,1,1}
VCR[0]=V[0]VCR[1]=V[1]VCR[2]=V[2]VCR[3]=V[3]VCR[4]=V[4]VCR[5]=V[4]VCR[6]=V[6]
NOSI
SI
NOSI
NO
“CALCULAVALOR DE E[2]”
i=0; i<16; i++
suma=E[i][0]^E[i][2]^E[i][3]
S[0]==1
suma==0
e[i][0]=1 e[i][0]=0
NOSIsuma==0
e[i][0]=0
NOSI
suma=E[i][0]^E[i][1]^E[i][2]
S[1]==1
suma==0
e[i][1]=1
NO
NO
SI
SIsuma==0
e[i][1]=0
NOSI
suma=E[i][1]^E[i][2]^E[i][3]
S[2]==1
suma==0
e[i][2]=1
NO
NO
SI
SIsuma==0
e[i][2]=0
NOSI
e[i][0]=1
e[i][1]=0 e[i][1]=1
e[i][2]=0 e[i][2]=1
“CALCULAVALOR DE E[0]”
“CALCULAVALOR DE E[1]”
SI
e[i][3]=E[i][0]e[i][4]=E[i][1]e[i][5]=E[i][2]e[i][6]=E[i][3]
“DETECCION Y
CORRECCIONDE
ERROR”
acumula, renglon
i=0; i<16; i++
acumula=0
j=0; j<7; j++
e[i][j]==1
acumula==1
renglon=i
NO
NO
NO
NO
SI
F
ITERACION VECTOR ERROR NUM.DE1
acumula=acumula+1
e[i][j]
EL VECTOR ERRORES LA FILA:
SI
SI
SI
VCR[0]=V[0] ^e[renglon][0]VCR[1]=V[1] ^e[renglon][1]VCR[2]=V[2] ^e[renglon][2]VCR[3]=V[3] ^e[renglon][3]VCR[4]=V[4] ^e[renglon][4]VCR[5]=V[4] ^e[renglon][5]VCR[6]=V[6] ^e[renglon][6]
SI
Fig. 4.17.- Diagrama de flujo del decodificador Hamming ( )11,15 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 70 -
En la función del decodificador se implementa un algoritmo que utiliza las ecuaciones para el Síndrome de detección de errores (4-1) el cual ayuda a saber si el mensaje recibido presenta algún error y poder corregirlo;
65422
54311
65300
eeeeS
eeeeS
eeeeS
+++=+++=+++=
……………… (4-1)
posteriormente se establece un vector error e[0] que ayudara a corregir el error en la palabra código y establecer una matriz con los resultados de las correcciones de errores y así recuperar la información decodificada. En la Figura 4.18 se observa la simulación realizada en C++, donde se presenta el decodificador Hamming (7,4), y su característica de detección y corrección de un error.
Fig. 4.18.- Resultante de la implementación del decodificador Hamming ( )4,7 .
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 71 -
4.1.7 Implementación del Motor Cognitivo para Codificador
De esta forma se implementaron tres diferentes tipos de codificadores para códigos de bloque lineales:
� Codificador Cíclico (7,4) � Codificador BCH (15,11) � Codificador Hamming (7,4)
Posteriormente se establecieron en una base de datos para el diseño del motor
cognitivo que como se revisó en el capítulo 2, es de suma importancia para el soporte de los mecanismos de aprendizaje en el Radio Cognitivo el cual tendrá la capacidad de elegir entre las diferentes técnicas de codificación.
A continuación se muestra la implementación principal del motor cognitivo para
codificador de la parte del transmisor mediante un diagrama de flujo que es mostrado en la Figura 4.19 implementando el concepto de Radio Cognitivo y la simulación realizada en C++.
SI
CASO 4CASO 3CASO 2CASO 1
I
u[K], KK, v[N], NN, opc
DO
CODIFICADOR COGNITIVO1.- CODIFICADOR CÍCLICO2.- CODIFICADOR BCH3.- CODIFICADOR HAMMING4.- SALIR
opc
SELECTOR (opc)
cc=4n1=7
LeeInformacion (cc, u)
ImprimePalabra (cc, u)
CodificadorCiclico (cc, u, n1, v)
ImprimeCodigo (n1, v)
bch=11n2=15
LeeInformacion (bch, u)
ImprimePalabra (bch, u)
CodificadorBCH (bch, u, n2, v)
ImprimeCodigo (n2, v)
ch=4n3=7
LeeInformacion (ch, u)
ImprimePalabra (ch, u)
CodificadorHamming (u, v)
ImprimeCodigo (n3, v)
ADIOS
opc!=4
F
DEFAULT
NO
OPCIÓNINCORECTA
Fig. 4.19.- Diagrama de flujo de la base de datos del motor cognitivo: Codificador Cognitivo.
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 72 -
Fig. 4.20.- Resultante de la implementación del menú: Codificador Cognitivo. 4.1.8 Implementación de Motor Cognitivo para Decodificador
En lo que respecta a la parte de decodificación se implementaron tres diferentes tipos de decodificadores para códigos de bloque lineales con la capacidad de corrección de un solo error:
� Decodificador Cíclico (7,4) � Decodificador BCH (15,11) � Decodificador Hamming (7,4)
Posteriormente se establecieron en una base de datos para el diseño del motor
cognitivo que servirá para el soporte de los mecanismos de aprendizaje en el Radio Cognitivo el cuál tendrá la capacidad de elegir entre las diferentes técnicas de decodificación y control de error el cual es mostrado en la Figura 4.21 mediante un diagrama de flujo para el decodificador del lado del receptor tomando como base el concepto de Radio Cognitivo.
A continuación se muestra la implementación principal del motor cognitivo para decodificador mediante un diagrama de flujo y la simulación realizada en C++.
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 73 -
NOSI
CASO 2 CASO 4CASO 3
I
U[K], V[N], VCR[N], e, R[K], opc
DO
DECODIFICADOR COGNITIVO1.- DECODIFICADOR CÍCLICO2.- DECODIFICADOR BCH3.- DECODIFICADOR HAMMING4.- SALIR
opc
SELECTOR (opc)
dc=4n1=7
LeeInformacion (dc, V)
ImprimePalabra (dc, V)
IntroduceError (V, e-1)
ImprimeError (dc, V)
opc!=4
F
DecodificadorCicl (dc,V, VCR)
ImprimeCodigo (dc, VCR)
RecuperaInfoCicl (R, VCR)
ImprimePalabraInfo (n1, R)
dbch=15n2=11
LeeInformacion (dbch, V)
ImprimePalabra (dbch, V)
IntroduceError (V, e-1)
ImprimeError (dbch, V)
DecodificadorBCH (dbch,V, VCR)
ImprimeCodigo (dbch, VCR)
RecuperaInfoBCH (R, VCR)
ImprimePalabraInfo (n2, R)
dham=4n3=7
LeeInformacion (dham,V)
ImprimePalabra (dham,V)
IntroduceError (V, e-1)
ImprimeError (dham, V)
DecodificadorHamm (V, VCR)
ImprimeCodigo (dham,VCR)
RecuperaInfoHamm (R, VCR)
ImprimePalabraInfo (n3, R)
CASO 1DEFAULT
OPCIÓNINCORECTA
ADIOS
Fig. 4.21.- Diagrama de flujo de la base de datos del motor cognitivo: Decodificador Cognitivo.
Fig. 4.22.- Resultante de la implementación del menú: Decodificador Cognitivo.
Capítulo 4 ___ Implementación, Pruebas y Resultados
- 74 -
Como se ha visto en este capítulo, la implementación de técnicas de codificación y
control de errores tanto para el codificador como para el decodificador es posible gracias a esa capacidad de poder convertir las funciones de hardware en software lo que ayuda a la realización de una fácil autoreconfiguración además de que se pueden implementar múltiples técnicas de control de errores e implementarlas con la base que nos brinda el Radio Definido por Software pero ahora bajo el concepto y su evolución como Radio Cognitivo, el cual se implementó mediante una base de datos que sirve para el diseño del motor cognitivo y para futuros mecanismos de aprendizaje.
Ya que una de las principales características de esta nueva tecnología, es la de tener
la capacidad de elegir entre diferentes tipos de codificación y control de error para aplicarlas dependiendo de las necesidades del usuario y del ambiente operativo en el que se encuentre, ayudado del diseño e implementación de algoritmos cognitivos lo que establece grandes ventajas en la evolución en el área del las comunicaciones móviles e inalámbricas.
___ Conclusiones
- 75 -
Conclusiones
En este trabajo se logró implementar tres diferentes tipos de códigos y establecerlos
para las funciones tanto de transmisión como de recepción mediante un switch selectivo,
que cumple con el concepto del Radio Cognitivo, dentro de los códigos implementados se
encuentran los códigos cíclicos, los códigos BCH y los códigos Hamming, los que nos
brindan una visión general para entender el gran trabajo que se realiza en el procesamiento
de señales y su control en el área de las comunicaciones.
Se puede establecer varios aspectos sobre la implementación realizada en este
trabajo por una parte los códigos cíclicos son más fáciles de implementar en relación a los
otros tipos de código, esto debido a las características que presentan como poseer una
estructura matemática bien definida lo que da como consecuencia, que se tenga una
estructura general para n longitudes de información, además de la propiedad de corrimiento
cíclico que facilita tanto su implementación como la seguridad de su eficiencia, pero a
pesar de eso los demás códigos también presentan sus ventajas como son los códigos BCH
que mediante el establecimiento del polinomio generador se pueden obtener diferentes
códigos para diferentes longitudes de información simplemente cambiando algunos
parámetros del polinomio, por otra parte en los códigos Hamming mediante el diseño y la
implementación del circuito electrónico se obtiene la palabra código de una forma rápida y
concreta pero no cuenta con una estructura más general como la de los códigos cíclicos. Es
por eso que en el análisis de estos códigos de bloque nos ayuda a establecer que en general
los códigos cíclicos presentan menos complicaciones para su implementación debido a las
características anteriormente mencionadas y a la estructura general que presentan
En lo que respecta a la parte de la decodificación se puede afirmar que presentan un
mayor grado de complejidad debido a los registros de corrimiento que depende de la
longitud del código, al cálculo del Síndrome, y a los diferentes circuitos de corrección de
errores que se establecen para la decodificación de cada código pero gracias a la
decodificación Meggitt que emplea registros de corrimiento para establecer una forma más
fácil de implementación, el aseguramiento de la detección y corrección de error es posible
realizar su implementación, a pesar de que los programas establecidos solo corrigen un
error son muy eficientes y se pueden establecer mejoras para la detección de un número
mayor de errores, ya que a pesar de que se tiene una estructura general para cada tipo de
decodificador solo es necesario cambiar algunos parámetros para establecer otros
decodificadores de diferente longitud.
Este trabajo refleja en general la importancia sobre el procesamiento de las señales y
de las nuevas formas que se están desarrollando para la solución de los problemas actuales
en las comunicaciones móviles e inalámbricas, de la grandes expectativas que se tienen
para el establecimiento de nuevas generaciones de comunicaciones móviles basadas en
tecnologías de Radio Definido por Software y su evolución como Radio Cognitivo, a pesar
de las características que implica todo el proceso de comunicación el cual debido a los
componentes y al establecimiento de algunas etapas específicas en el sistema de
comunicaciones es difícil poder establecer todo el proceso de comunicación mediante
software, pero esta tecnología abarca etapas muy importantes que benefician a que se tenga
___ Conclusiones
- 76 -
un control más preciso de la información, a una mayor eficiencia en la transmisión de datos
debido a las nuevas exigencias en los servicios y aplicaciones en tiempo real por parte de
los usuarios por lo que es imposible solicitar una retransmisión de la información ya que
afectaría importantes objetivos sobre la calidad que se desea seguir brindando en las
comunicaciones móviles.
Por todo lo antes mencionado es importante que se conozcan las nuevas tecnologías
que se están desarrollando, para que se sigan desarrollando nuevas aplicaciones y servicios
donde finalmente los usuarios se puedan comunicar de una forma más eficiente y segura ya
que el área de las comunicaciones se ha caracterizado por los importantes avances que ha
tenido en los últimos años, y sobre todo siempre va existir esa necesidad de comunicarnos
de una manera más rápida y eficiente, donde habrá nuevos problemas que enfrentar y a los
cuales se le tendrá que dar solución debido al auge que se ha establecido en el ámbito de las
comunicaciones móviles e inalámbricas.
Finalmente es por eso que al Radio Cognitivo se le tiene una gran expectativa ya
que puede hacer surgir una verdadera revolución en las comunicaciones que propiciara al
surgimiento de múltiples capacidades y servicios, por lo que es importante seguir de cerca
los avances en este tipo de tecnología ya que como se vio en este trabajo se tiene grandes
ventajas además de que va a dar solución a los problemas de incompatibilidad de estándares
de telefonía móvil, a las técnicas de acceso al medio y el establecimiento de un uso más
eficiente y controlado del espectro de radiofrecuencia que originara a tener un dispositivo
universal que se autoreconfigure por sí mismo lo que marcará de manera trascendental el
avance hacia el surgimiento de una comunicación total.
Recomendaciones para trabajos futuros
Este trabajo solo se centro en algunas técnicas de codificación por lo que sería
factible seguir desarrollando otros tipos de codificadores como los códigos convolucionales
que son de suma importancia por su aplicación en telefonía celular, además de que se
pueden desarrollar otras etapas del sistema de comunicación que se pueden implementar
mediante software como lo es la digitalización de las señales mediante procesos como el
muestreo, cuantificación y modulación ya que estos procesos también se pueden
programar.
Además de que se pueden implementar en otros lenguajes de programación de alto
nivel como MATLAB y VHDL, para posteriormente implementarlo en una tarjeta FPGA o
en otro dispositivo lógico programable se tenga todos estos procesos de digitalización de la
señal sin olvidar que se debe establecer con capacidades cognitivas ya que es una de las
principales características del Radio Cognitivo, por lo que este trabajo es solo la base en el
desarrollo de la digitalización de las señales en la parte de la codificación y sería interesante
desarrollar otras etapas del sistema de comunicación como la modulación.
- 77 -
ANEXO A
PPRROOGGRRAAMMAASS QQUUEE IIMMPPLLEEMMEENNTTAANN
EELL CCOONNCCEEPPTTOO DDEE
RRAADDIIOO CCOOGGNNIITTIIVVOO
- 78 -
Anexo A. Programas que implementan el concepto de radio
cognitivo.
1. Programa desarrollado para simular un Codificador Cognitivo mediante los
siguientes codificadores: Codificador Cíclico (7,4), Codificador BCH (15,11) y
Codificador Hamming (7,4).
/*
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
PROGRAMA QUE SIMULA UN CODIFICADOR COGNITIVO
ASESOR: M. EN C. DAVID VAZQUEZ ALVAREZ
HECHO POR: JOSE VLADIMIR HERRERA SANCHEZ
*/
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define K 100
#define N 100
/*
SIMULACION DE UN CODIFICADOR COGNITIVO
N: LONGITUD DE LA PALABRA CODIGO
K: LONGITUD DE LA PALABRA A CODIFICAR
U(X): VECTOR DE INFORMACION O PALABRA A CODIFICAR
V(X): PALABRA CODIFICADA
*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE LEE EL VECTOR DE INFORMACION U(X) ////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void LeeInformacion(int KK, int U[K])
{
int i;
cout<<"\n\n\n\t INTRODUCE EL VECTOR DE INFORMACION U(X): \n\n";
for(i=0; i<KK; i++)
{
cout << "\t\t\tU[" << i << "]= ";
cin >> U[i];
}
}//FIN DE FUNCION
- 79 -
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE IMPRIME LA PALABRA A CODIFICAR /////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ImprimePalabra(int KK, int U[K])
{
cout<<"\n\n VECTOR INFORMACION:\n\n\t\t\t";
for(int i=0; i<KK; i++)
{
cout<<U[i];
}
}//FIN DE FUNCION
/*** CODIFICADOR CICLICO (7,4) ***/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION EN DONDE SE IMPLEMENTA UN ALGORITMO ////////////////////////////////
///// PARA UTILIZAR UN CODIFICADOR CICLICO (7,4) ///////////////////////////////////////////
///// UTILIZANDO UN POLINOMIO G(X) = X^3 + X + 1, /////////////////////////////////////////////
///// A PARTIR DE G(X), CALCULAMOS H(X) = X^4 + X^2 + X + 1 ////////////////////////////
///// PARA IMPLEMENTAR EL CIRCUITO DEL CODIFICADOR BASADO ////////////////
///// EN H(X) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CodificadorCiclico(int KK, int U[K],int NN, int V[N])
{
int cont=0, i;
//CALCULA LOS BITS DE REDUNDANCIA Y LOS AÑADE EN
//V(X) QUE ES LA PALABRA CODIGO
for (i=NN-1; i>=0; i--)
{
//DEJA LOS ULTIMOS CUATRO BITS DE INFORMACION
if(i > NN-KK-1)
{
V[i]=U[NN-KK-cont];
cont++;
}
//CALCULA LOS BITS DE REDUNDANCIA B(X)
else
{
//CIRCUITO BASADO EN H(X) PARA OBTENER LOS BITS DE
REDUNDANCIA
V[i] = U[3] ^ U[2] ^ U[1];
for(int j=NN-KK; j>=1; j--)
{
U[j] = U[j-1];
}
U[0] = V[i];
}
}
- 80 -
}//FIN DE FUNCION
/*** CODIFICADOR BCH (15,11) ***/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION EN DONDE SE IMPLEMENTA UN ALGORITMO ////////////////////////////////
///// PARA UTILIZAR UN CODIFICADOR BCH (15,11) //////////////////////////////////////////////
///// UTILIZANDO UN POLINOMIO G(X) = X^3 + X + 1, /////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CodificadorBCH(int KK, int U[K],int NN, int V[N])
{
/*
CALCULA LOS BITS DE REDUNDANCIA bb[], LOS COEFICIENTES DE b(x).
*/
int bb[K];
int g[5]={1,1,0,0,1};
int i, j;
int retro;
for (i = 0; i < NN - KK; i++)
{
bb[i] = 0;
} /*INICIALIZA TODOS LOS VALORES DEL VECTOR DE
REDUNDANCIA EN 0*/
for (i = KK - 1; i >= 0; i--)
{
retro = U[i] ^ bb[NN - KK - 1];
if (retro != 0)
{
for (j = NN - KK - 1; j > 0; j--)
if (g[j] != 0)
bb[j] = bb[j - 1] ^ retro;
else
bb[j] = bb[j - 1];
bb[0] = g[0] && retro;
}
else
{
for (j = NN - KK - 1; j > 0; j--)
bb[j] = bb[j - 1];
bb[0] = 0;
}
}
for (i = 0; i < NN - KK; i++)
{
V[i] = bb[i];
- 81 -
}
for (i = 0; i < KK; i++)
{
V[i + NN - KK] = U[i];
}
}//FIN DE FUNCION
/*** CODIFICADOR HAMMING (7,4) ***/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION EN DONDE SE IMPLEMENTA UN ALGORITMO ////////////////////////////////
///// PARA UTILIZAR UN CODIFICADOR HAMMING (7,4) ///////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CodificadorHamming(int U[K], int V[N])
{
V[0] = U[0] ^ U[2] ^ U[3];
V[1] = U[0] ^ U[1] ^ U[2];
V[2] = U[1] ^ U[2] ^ U[3];
V[3] = U[0];
V[4] = U[1];
V[5] = U[2];
V[6] = U[3];
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE IMPRIME LA PALABRA CODIFICADA //////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ImprimeCodigo(int NN, int V[N])
{
cout<<"\n\n PALABRA CODIGO:\n\n\t\t\t";
for(int i=0; i<NN; i++)
{
cout<<V[i];
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION PRINCIPAL-CODIFICADOR COGNITIVO ///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void main(void)
{
int KK, u[K], NN, v[N], opc;
clrscr();
do
{
cout<<"\n\n\t*** MENU: CODIFICADOR COGNITIVO ***";
- 82 -
cout<<"\n\n\n\t 1.-Codificador C¡clico";
cout<<"\n\n\n\t 2.-Codificador BCH";
cout<<"\n\n\n\t 3.-Codificador Hamming";
cout<<"\n\n\n\t 4.-Salir";
cout<<"\n\n\n\t Elige una opci¢n: ";
cin>>opc;
switch(opc)
{
case 1:
int cc=4, n1=7;
LeeInformacion(cc,u);
ImprimePalabra(cc,u);
CodificadorCiclico(cc, u, n1, v);
ImprimeCodigo(n1, v);
break;
case 2:
int bch=11, n2=15;
LeeInformacion(bch,u);
ImprimePalabra(bch,u);
CodificadorBCH(bch, u, n2, v);
ImprimeCodigo(n2, v);
break;
case 3:
int ch=4, n3=7;
LeeInformacion(ch,u);
ImprimePalabra(ch,u);
CodificadorHamming(u, v);
ImprimeCodigo(n3, v);
break;
case 4:
cout<<"\n\n\t\t\t\t**ADIOS**";
break;
default:
cout<<"\n\t\t\t**OPCION INCORRECTA";
cout<<"\n\t\t\t VERIFICA TU OPCION**";
break;
}//FIN DE SWITCH
}//FIN DE DO
while (opc!=4);
getch();
}//FIN DE MAIN
- 83 -
2. Programa desarrollado para simular un Decodificador Cognitivo mediante los
siguientes decodificadores: Decodificador Cíclico (7,4), Decodificador BCH (15,11)
y Decodificador Hamming (7,4).
/*
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
PROGRAMA QUE SIMULA UN DECODIFICADOR COGNITIVO
ASESOR: M. EN C. DAVID VAZQUEZ ALVAREZ
HECHO POR: JOSE VLADIMIR HERRERA SANCHEZ
*/
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define N 100
#define K 100
/*
SIMULACION DE UN DECODIFICADOR COGNITIVO
N: LONGITUD DE LA PALABRA CODIGO
K: LONGITUD DE LA PALABRA A CODIFICAR
U(X): VECTOR DE INFORMACION O PALABRA A CODIFICAR
V(X): PALABRA CODIFICADA
S(X): SINDROME
RX(X): PALABRA CODIGO CON ERROR
R(X): PALABRA DECODIFICADA Y CORREGIDA
*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE LEE LA PALABRA CODIGO V(X) ///////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void LeeInformacion(int NN, int V[N])
{
int i;
cout<<"\n\n\n\t INTRODUCE LA PALABRA CODIGO V(X): \n\n";
for(i=0; i<NN; i++)
{
cout << "\t\t\tV[" << i << "]= ";
cin >> V[i];
}
}//FIN DE FUNCION
- 84 -
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE IMPRIME LA PALABRA CODIGO //////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ImprimePalabra(int NN, int V[N])
{
cout<<"\n\n VECTOR CODIGO:\n\n\t\t\t";
for(int i=0; i<NN; i++)
{
cout<<V[i];
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE INTRODUCE UN ERROR A LA PALABRA CODIGO //////////////////
///// SELECCIONANDO EL BIT EN DONDE SE QUIERE APLICAR EL ERROR //////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void IntroduceError(int V[N], int e)
{
if(V[e] == 0)
{
V[e] = 1;
}
else
{
V[e] = 0;
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE IMPRIME LA PALABRA CODIGO CON EL ERROR ////////////////////
///// INTRODUCIDO ////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ImprimeError(int NN, int V[N])
{
int i;
cout<<"\n\n PALABRA CODIGO CON ERROR:\n\n\t\t\t";
for(i=0; i<NN; i++)
{
cout<<V[i];
}
}//FIN DE FUNCION
- 85 -
/*** DECODIFICADOR CICLICO (7,4) ***/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION EN DONDE SE IMPLEMENTA UN ALGORITMO ////////////////////////////////
///// PARA UTILIZAR UN DECODIFICADOR MEGGIT UTILIZANDO ////////////////////////
///// UTILIZANDO EL CALCULO DEL SINDROME POR MEDIO DE G(X) //////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void DecodificadorCicl(int NN,int V[N], int VCR[N])
{
int S[3], Aux[3], R[N], RX[N], BUF[N], BUFX[N];
int i, j;
//ASIGNAMOS AL VECTOR R(X) QUE ES EL VECTOR RECIBIDO EL VECTOR
V(X)
for (i=0, j=NN-1; i<NN; i++, j--)
{
R[j] = V[i];
}
//INCIALIZAMOS CON CERO LOS ELEMENTOS DEL VECTOR BUFFER
for(i=0; i<7; i++)
{
BUF[i] = 0;
}
//INICIALIZAMOS CON CERO LOS ELEMENTOS DEL SINDROME
for (i=0; i<3; i++)
{
S[i] = 0;
}
//IMPRIME LOS VALORES INICIALES DEL SINDROME Y DEL BUFFER
cout<<"\n\n ITERACION\t\tR(X)\t\tSINDROME\tBUFFER\n";
cout<<"\n\t0\t\t-
\t\t"<<S[0]<<S[1]<<S[2]<<"\t\t"<<BUF[0]<<BUF[1]<<BUF[2]<<BUF[3]<<BUF[4]<<B
UF[5]<<BUF[6];
getch();
//REALIZA EL CALCULO DEL SINDROME
for (i=0; i<14; i++)
{
//ESTA PARTE PONE EN LOS REGISTROS LA PALABRA CODIGO Y
DETERMINA LOS PRIMEROS 7 VALORES DEL SINDROME, HASTA R(X)
if(i<=6)
{
//ASIGNAMOS A UN AUXILIAR LOS VALORES DE S
Aux[0] = S[0];
- 86 -
Aux[1] = S[1];
Aux[2] = S[2];
S[0] = Aux[2] ^ R[i];
S[1] = Aux[0] ^ Aux[2];
S[2] = Aux[1];
//ASIGNA AL BUFFER
for(j=0; j<7; j++)
{
BUFX[j] = BUF[j];
}
BUF[0] = R[i];
BUF[1] = BUFX[0];
BUF[2] = BUFX[1];
BUF[3] = BUFX[2];
BUF[4] = BUFX[3];
BUF[5] = BUFX[4];
BUF[6] = BUFX[5];
//IMPRIME EN PANTALLA LOS VALORES DEL SINDROME Y EL
BUFFER
cout<<"\n\t"<<i+1<<"\t\t"<<R[i]<<"\t\t"
<<S[0]<<S[1]<<S[2]<<"\t\t"<<BUF[0]<<BUF[1]<<BUF[2]<<BUF[3]<<BUF[4]<<BUF[5
]<<BUF[6];
getch();
}
else
{
//CORRECCION DE LA PALABRA CODIGO
//ASIGNAMOS A UN AUXILIAR LOS VALORES DE S
Aux[0] = S[0];
Aux[1] = S[1];
Aux[2] = S[2];
S[0] = Aux[2] ^ (Aux[0] & !Aux[1] & Aux[2]);
S[1] = Aux[0] ^ Aux[2];
S[2] = Aux[1];
//ASIGNA AL BUFFER
for(j=0; j<7; j++)
{
BUFX[j] = BUF[j];
}
BUF[0] = BUFX[6] ^ (Aux[0] & !Aux[1] & Aux[2]);
BUF[1] = BUFX[0];
BUF[2] = BUFX[1];
- 87 -
BUF[3] = BUFX[2];
BUF[4] = BUFX[3];
BUF[5] = BUFX[4];
BUF[6] = BUFX[5];
//IMPRIME EN PANTALLA LOS VALORES DEL SINDROME Y LA
PALABRA CORREGIDA
cout<<"\n\t"<<i+1<<"\t\t-"<<"\t\t"
<<S[0]<<S[1]<<S[2]<<"\t\t"<<BUF[0]<<BUF[1]<<BUF[2]<<BUF[3]<<BUF[4]<<BUF[5
]<<BUF[6];
getch();
}
}
//ASIGNA EL VECTOR CORREGIDO EN EL BUFFER A VCR
for(i=0; i<NN; i++)
{
VCR[i] = BUF[i];
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE RECUPERA LA INFORMACION DECODIFICADA /////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void RecuperaInformacionCicl(int U[K], int R[N])
{
U[0] = R[3];
U[1] = R[4];
U[2] = R[5];
U[3] = R[6];
}//FIN DE FUNCION
/*** DECODIFICADOR BCH (15,11) ***/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION EN DONDE SE IMPLEMENTA UN ALGORITMO ////////////////////////////////
///// PARA UTILIZAR UN DECODIFICADOR MEGGIT (15,11) ///////////////////////////////////
///// UTILIZANDO EL CALCULO DEL SINDROME POR MEDIO DE G(X) //////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void DecodificadorBCH(int NN,int V[N], int VCR[N])
{
int S[N], Aux[N], R[N], BUF[N], BUFX[N];
int i, j;
//ASIGNAMOS AL VECTOR R(X) QUE ES EL VECTOR RECIBIDO EL VECTOR
V(X)
for (i=0, j=NN-1; i<NN; i++, j--)
{
- 88 -
R[j] = V[i];
}
//INICIALIZAMOS CON CERO LOS ELEMENTOS DEL VECTOR BUFFER
for(i=0; i<NN; i++)
{
BUF[i] = 0;
}
//INICIALIZAMOS CON CERO LOS ELEMENTOS DEL SINDROME
for (i=0; i<NN; i++)
{
S[i] = 0;
}
//IMPRIME LOS VALORES INICIALES DEL SINDROME Y DEL BUFFER
cout<<"\n\n ITERACION\t\tR(X)\t\tSINDROME\tBUFFER\n";
cout<<"\n\t0\t\t-
\t\t"<<S[0]<<S[1]<<S[2]<<S[3]<<"\t\t"<<BUF[0]<<BUF[1]<<BUF[2]<<BUF[3]<<BUF[
4]<<BUF[5]<<BUF[6]<<BUF[7]<<BUF[8]<<BUF[9]<<BUF[10]<<BUF[11]<<BUF[12]<
<BUF[13]<<BUF[14];
getch();
//REALIZA EL CALCULO DEL SINDROME
for (i = 0; i <30; i++)
{
//ESTA PARTE PONE EN LOS REGISTROS LA PALABRA CODIGO Y
DETERMINA LOS PRIMEROS 15 VALORES DEL SINDROME, HASTA R(X)
if(i <= 14)
{
//ASIGNAMOS A UN AUXILIAR LOS VALORES DE S
Aux[0] = S[0];
Aux[1] = S[1];
Aux[2] = S[2];
Aux[3] = S[3];
S[0] = Aux[3] ^ R[i];
S[1] = Aux[0] ^ Aux[3];
S[2] = Aux[1];
S[3] = Aux[2];
//ASIGNA AL BUFFER
for(j=0; j<NN; j++)
{
BUFX[j] = BUF[j];
}
- 89 -
BUF[0] = R[i];
BUF[1] = BUFX[0];
BUF[2] = BUFX[1];
BUF[3] = BUFX[2];
BUF[4] = BUFX[3];
BUF[5] = BUFX[4];
BUF[6] = BUFX[5];
BUF[7] = BUFX[6];
BUF[8] = BUFX[7];
BUF[9] = BUFX[8];
BUF[10] = BUFX[9];
BUF[11] = BUFX[10];
BUF[12] = BUFX[11];
BUF[13] = BUFX[12];
BUF[14] = BUFX[13];
//IMPRIME EN PANTALLA LOS VALORES DEL SINDROME Y EL
BUFFER
cout<<"\n\t"<<i+1<<"\t\t"<<R[i]<<"\t\t"
<<S[0]<<S[1]<<S[2]<<S[3]<<"\t\t"<<BUF[0]<<BUF[1]<<BUF[2]<<BUF[3]<<BUF[4]<<
BUF[5]<<BUF[6]<<BUF[7]<<BUF[8]<<BUF[9]<<BUF[10]<<BUF[11]<<BUF[12]<<BU
F[13]<<BUF[14];
getch();
}
else
{
//CORRECCION DE LA PALABRA CODIGO
//ASIGNAMOS A UN AUXILIAR LOS VALORES DE S
Aux[0] = S[0];
Aux[1] = S[1];
Aux[2] = S[2];
Aux[3] = S[3];
S[0] = Aux[3] ^ (Aux[0] & !Aux[1] & !Aux[2] & Aux[3]);
S[1] = Aux[0] ^ Aux[3];
S[2] = Aux[1];
S[3] = Aux[2];
//ASIGNA AL BUFFER
for(j=0; j<NN; j++)
{
BUFX[j] = BUF[j];
}
BUF[0] = BUFX[14] ^ (Aux[0] & !Aux[1] & !Aux[2] & Aux[3]);
BUF[1] = BUFX[0];
- 90 -
BUF[2] = BUFX[1];
BUF[3] = BUFX[2];
BUF[4] = BUFX[3];
BUF[5] = BUFX[4];
BUF[6] = BUFX[5];
BUF[7] = BUFX[6];
BUF[8] = BUFX[7];
BUF[9] = BUFX[8];
BUF[10] = BUFX[9];
BUF[11] = BUFX[10];
BUF[12] = BUFX[11];
BUF[13] = BUFX[12];
BUF[14] = BUFX[13];
//IMPRIME EN PANTALLA LOS VALORES DEL SINDROME Y LA
PALABRA CORREGIDA
cout<<"\n\t"<<i+1<<"\t\t-"<<"\t\t"
<<S[0]<<S[1]<<S[2]<<S[3]<<"\t\t"<<BUF[0]<<BUF[1]<<BUF[2]<<BUF[3]<<BUF[4]<<
BUF[5]<<BUF[6]<<BUF[7]<<BUF[8]<<BUF[9]<<BUF[10]<<BUF[11]<<BUF[12]<<BU
F[13]<<BUF[14];
getch();
}
}
//ASIGNA EL VECTOR CORREGIDO EN EL BUFFER A VCR
for(i = 0; i < NN; i++)
{
VCR[i] = BUF[i];
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE RECUPERA LA INFORMACION DECODIFICADA /////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void RecuperaInformacionBCH(int U[K], int R[N])
{
U[0] = R[4];
U[1] = R[5];
U[2] = R[6];
U[3] = R[7];
U[4] = R[8];
U[5] = R[9];
U[6] = R[10];
U[7] = R[11];
U[8] = R[12];
U[9] = R[13];
U[10] = R[14];
- 91 -
}//FIN DE FUNCION
/*** DECODIFICADOR HAMMING (7,4) ***/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION EN DONDE SE IMPLEMENTA UN ALGORITMO ////////////////////////////////
///// PARA UTILIZAR UN DECODIFICADOR HAMMING (7,4) //////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void DecodificadorHamm(int V[N], int VCR[N])
{
int S[N], e[16][7];
int i, j, k, suma;
//DETERMINA LOS VALORES DEL SINDROME
S[0] = V[0] ^ V[3] ^ V[5] ^ V[6];
S[1] = V[1] ^ V[3] ^ V[4] ^ V[5];
S[2] = V[2] ^ V[4] ^ V[5] ^ V[6];
cout<<"\n\n VALORES DEL SINDROME:\n";
for(k = 0; k < 3; k++)
{
cout<<"\n\t\t\t S["<<k<<"]="<<S[k];
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(S[0] == 1 || S[1] == 1 || S[2] == 1)
{
int E[16][4] = {0,0,0,0,
0,0,0,1,
0,0,1,0,
0,0,1,1,
0,1,0,0,
0,1,0,1,
0,1,1,0,
0,1,1,1,
1,0,0,0,
1,0,0,1,
1,0,1,0,
1,0,1,1,
1,1,0,0,
1,1,0,1,
1,1,1,0,
1,1,1,1};
for(i = 0; i < 16; i++)
{
//CALCULA EL VALOR DE E[0]
suma = E[i][0] ^ E[i][2] ^ E[i][3];
- 92 -
if(S[0]==1)
{
if(suma == 0)
{
e[i][0] = 1;
}
else
{
e[i][0] = 0;
}
}
else
{
if(suma == 0)
{
e[i][0] = 0;
}
else
{
e[i][0] = 1;
}
}
//CALCULA EL VALOR DE E[1]
suma = E[i][0] ^ E[i][1] ^ E[i][2];
if(S[1] == 1)
{
if(suma == 0)
{
e[i][1] = 1;
}
else
{
e[i][1] = 0;
}
}
else
{
if(suma == 0)
{
e[i][1] = 0;
}
else
{
e[i][1] = 1;
}
}
- 93 -
//CALCULA EL VALOR DE E[2]
suma = E[i][1] ^ E[i][2] ^ E[i][3];
if(S[2] == 1)
{
if(suma == 0)
{
e[i][2] = 1;
}
else
{
e[i][2] = 0;
}
}
else
{
if(suma == 0)
{
e[i][2] = 0;
}
else
{
e[i][2] = 1;
}
}
e[i][3] = E[i][0];
e[i][4] = E[i][1];
e[i][5] = E[i][2];
e[i][6] = E[i][3];
}//CIERRA EL PRIMER FOR
//IMPRIME LA MATRIZ CON LOS RESULTADOS DE CORRECCION DE
ERROR Y DETECTA EL VECTOR ERROR CON MENOS ERRORES UNO
int acumula, renglon;
cout<<"\n\n\t MATRIZ CON LAS POSIBLES CORRECCIONES\n";
cout<<"\n\n\t\tITERACION VECTOR ERROR NUM. DE 1";
for(i = 0; i < 16; i++)
{
acumula = 0;
cout<<"\n\t\t "<<i<<" ";
for(j = 0; j < 7; j++)
{
if(e[i][j] == 1)
{
acumula = acumula + 1;
}
- 94 -
cout<<e[i][j];
}
if(acumula == 1)
{
renglon = i;
}
cout<<" "<<acumula;
getch();
}//CIERRA EL PRIMER FOR
cout<<"\n\n\t EL VECTOR ERROR ES LA FILA: "<<renglon;
VCR[0] = V[0] ^ e[renglon][0];
VCR[1] = V[1] ^ e[renglon][1];
VCR[2] = V[2] ^ e[renglon][2];
VCR[3] = V[3] ^ e[renglon][3];
VCR[4] = V[4] ^ e[renglon][4];
VCR[5] = V[5] ^ e[renglon][5];
VCR[6] = V[6] ^ e[renglon][6];
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}//FIN DEL IF
else
{
VCR[0] = V[0];
VCR[1] = V[1];
VCR[2] = V[2];
VCR[3] = V[3];
VCR[4] = V[4];
VCR[5] = V[5];
VCR[6] = V[6];
}//FIN DEL ELSE
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE RECUPERA LA INFORMACION DECODIFICADA /////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void RecuperaInformacionHamm(int U[K], int R[N])
{
U[0] = R[3];
U[1] = R[4];
U[2] = R[5];
U[3] = R[6];
}//FIN DE FUNCION
- 95 -
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE IMPRIME LA PALABRA CODIFICADA //////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ImprimeCodigo(int NN,int V[N])
{
cout<<"\n\n PALABRA CODIGO:\n\n\t\t\t";
for(int i=0; i<NN; i++)
{
cout<<V[i];
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION QUE IMPRIME LA INFORMACION /////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ImprimePalabraInfo(int KK,int U[K])
{
cout<<"\n\n VECTOR INFORMACION:\n\n\t\t\t";
for(int i=0; i<KK; i++)
{
cout<<U[i];
}
}//FIN DE FUNCION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///// FUNCION PRINCIPAL-DECODIFICADOR COGNITIVO //////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void main(void)
{
int U[K], V[N], VCR[N], e, R[K], opc;
clrscr();
do
{
cout<<"\n\n\t*** MENU: DECODIFICADOR COGNITIVO ***";
cout<<"\n\n\n\t 1.-Decodificador C¡clico";
cout<<"\n\n\n\t 2.-Decodificador BCH";
cout<<"\n\n\n\t 3.-Decodificador Hamming";
cout<<"\n\n\n\t 4.-Salir";
cout<<"\n\n\n\t Elige una opci¢n: ";
cin>>opc;
switch(opc)
{
case 1:
int dc=7, n1=4;
LeeInformacion(dc,V);
ImprimePalabra(dc,V);
- 96 -
// PREGUNTA EN QUE BIT SE DESEA PROVOCAR EL ERROR
cout<<"\n\n EN QUE BIT DESEAS INTRODUCIR EL ERROR,
[1,2,3,4,5,6,7].....";
cin>>e;
IntroduceError(V,e-1);
ImprimeError(dc,V);
DecodificadorCicl(dc,V,VCR);
ImprimeCodigo(dc,VCR);
RecuperaInformacionCicl(R,VCR);
ImprimePalabraInfo(n1,R);
break;
case 2:
int dbch=15, n2=11;
LeeInformacion(dbch,V);
ImprimePalabra(dbch,V);
// PREGUNTA EN QUE BIT SE DESEA PROVOCAR EL ERROR
cout<<"\n\n EN QUE BIT DESEAS INTRODUCIR EL ERROR,\n\n\t
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].....";
cin>>e;
IntroduceError(V,e-1);
ImprimeError(dbch,V);
DecodificadorBCH(dbch,V,VCR);
ImprimeCodigo(dbch,VCR);
RecuperaInformacionBCH(R,VCR);
ImprimePalabraInfo(n2,R);
break;
case 3:
int dham=7, n3=4;
LeeInformacion(dham,V);
ImprimePalabra(dham,V);
// PREGUNTA EN QUE BIT SE DESEA PROVOCAR EL ERROR
cout<<"\n\n EN QUE BIT DESEAS INTRODUCIR EL ERROR,
[1,2,3,4,5,6,7].....";
cin>>e;
IntroduceError(V,e-1);
ImprimeError(dham,V);
DecodificadorHamm(V,VCR);
ImprimeCodigo(dham,VCR);
RecuperaInformacionHamm(R,VCR);
ImprimePalabraInfo(n3,R);
break;
case 4:
cout<<"\n\n\t\t\t\t**ADIOS**";
break;
- 97 -
default:
cout<<"\n\t\t\t**OPCION INCORRECTA";
cout<<"\n\t\t\t VERIFICA TU OPCION**";
break;
}//FIN DE SWITCH
}//FIN DE DO
while (opc!=4);
getch();
}//FIN DE MAIN
- 98 -
ANEXO B
AARRTTÍÍCCUULLOOSS PPRREESSEENNTTAADDOOSS
EENN CCOONNGGRREESSOOSS
- 99 -
3er. CONGRESO MEXICANO
DE INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
México, D.F., 12 al 14 de Mayo, 2008
Anexo B. Artículos presentados en congresos.
El radio cognitivo en el desarrollo de la cuarta generación
de comunicaciones móviles
David Vázquez Alvarez, J. Vladimir Herrera Sánchez, Gabriela Sánchez Meléndez
Departamento de Ingeniería en Comunicaciones y Electrónica
ESIME Zacatenco IPN, México, D. F., México
Teléfono: (55) 57296000 Ext. 54553 E-mail: [email protected]
Resumen: Debido al rápido desarrollo de las comunicaciones móviles en el mundo una nueva
tecnología ha surgido desde principios de los 90’s conocida como Radio Definido por Software
(RDS) y ahora su evolución como Radio Cognitivo. Esto con el fin de darle una solución a la
incompatibilidad entre los estándares de telefonía móvil y las técnicas de acceso al medio. En
este artículo se presentan las ventajas, limitaciones, la arquitectura del radio definido por
software y el concepto de radio cognitivo el cual será una referencia para desarrollar futuras
aplicaciones que se podrían establecer para una Cuarta Generación de comunicaciones móviles.
Palabras clave: Comunicaciones Móviles, Radio Definido por Software, Radio Cognitivo.
I. Introducción
Las comunicaciones móviles han tenido una evolución importante en los
últimos años provocando cambios sociales, comerciales y tecnológicos, lo que ha
permitido tener el acceso a una amplia gama de medios de comunicación, contenidos y
aplicaciones que a su vez han propiciado el desarrollo de nuevas formas y métodos
para la transmisión de información de un lugar a otro.
Esto se debe principalmente a los constantes avances de la tecnología en las
comunicaciones móviles (generaciones de telefonía celular y transmisión de datos),
que ha tenido en los últimos 15 años una increíble evolución, desde que surgió la
primera generación (1G), la cual comenzó a finales de los 70´s, caracterizado por usar
sistemas analógicos y su uso estrictamente limitado para voz, en los 90´s comenzó a
operar la segunda generación (2G) la cual se caracterizó por ser digital lo que permitió
brindar servicios digitales enfocados a voz y datos[1,2].
Posteriormente en el 2001 surgió con gran éxito y aceptación la tecnología de
tercera generación conocida popularmente como 3G; y que se caracteriza
principalmente por la velocidad de la transmisión de datos con acceso inalámbrico a
Internet de Banda Ancha para brindar servicios como videoconferencias, aplicaciones
multimedia y televisión, mediante tecnologías como WCDMA, TD-SCDMA, GSM
GPRS y CDMA2000.
Actualmente en el desarrollo de la cuarta generación (4G), China se propone
como candidato pionero en esta generación donde lleva acabo en Shangai los primeros
ensayos en el mundo con tecnología móvil de cuarta generación, completamente
desarrollada por investigadores del país, la cual transmite datos hasta 50 veces más
rápido que la 3G, donde se pretende comercializar en el 2010. Japón también está
- 100 -
experimentando con las tecnologías de cuarta generación, estando la empresa de
telefonía NTTDoCoMo a la vanguardia, esta empresa ha presentado los primeros
móviles de cuarta generación que están desarrollando aunque de momento solo se trata
de prototipos [1,2,3].
II. Cuarta Generación de Comunicaciones Móviles (4G)
Una de las características principales que pretende tener la 4G, en base a lo ya
establecido es acceso a Internet desde el teléfono móvil a una velocidad de 100 Mbps
en movimiento y 1 Gbps en reposo, utilizando un ancho de banda aproximadamente de
20MHz, manteniendo una calidad de servicio (QoS) de punta a punta y de alta
seguridad todo manejado bajo TCP/IP, lo que propiciará que la 4G funcione como una
red con la tecnología de Internet combinada con otros usos y tecnologías como Wi-Fi y
Wi-Max lo que permitirá a la 4G tener una gama de tecnologías y protocolos que
permitirán el máximo rendimiento de procesamiento con la red inalámbrica más barata
sustituyendo la comunicación o el acceso vía radio de tipo CDMA al uso del RDS
(Radio Definido por Software) para su optimización, entre las características que
podría ofrecer la 4G son:
Servicios de voz, audio y video en tiempo real.
Cobertura extensa.
Gran QoS.
Fuerte estandarización.
Máxima velocidad de transmisión (100Mbps-1Gbps).
Dentro de los problemas que se enfrentan por la constante evolución de las
comunicaciones móviles es que han surgido un sin número de estándares y técnicas de
acceso (GSM, CDMA, TDMA, PDC, WCDMA, TD-SCDMA, GSM-GPRS Y
CDMA200) en el caso de estándares y (FDMA, CDMA, WCDMA) en el caso de las
técnicas de acceso al medio, que han facilitado el uso eficiente de la utilización del
espectro pero que necesitan ser soportados por distintas industrias de terminales y de
estaciones base.
Además de que se ha generado una gran demanda en la conectividad
inalámbrica de Internet pero con sumas capacidades, por ejemplo la integración de
servicios para ofrecer una perfecta cobertura global y un control sobre la calidad y el
servicio (QoS), todo esto mediante protocolos o estándares (WAP, i-mode, Wi-Fi, Wi-
Max, Bluetooth) que propiciarán el desarrollo de futuros dispositivos inalámbricos y
utilizarlos en el soporte de las comunicaciones [3,4].
Para darle una solución a estos problemas, han surgido tecnologías que han
empezado a desarrollarse y que están siendo aceptadas y apoyadas por la industria de la
tecnología de las comunicaciones prueba de esto es la aplicación de radio cognitivo en
sistemas de comunicaciones móviles el cual está ayudando a su vez a la evolución del
radio definido por software ya que anteriormente la mayoría de estas transmisiones se
basaba principalmente en hardware y con muy pocas aplicaciones de software; y que
conjuntamente estas dos tecnologías podrían evitar el actual caos en las técnicas de
- 101 -
acceso y la falta de flexibilidad de las bandas radioeléctricas no autorizadas, lo que
permitirá que existan arquitecturas flexibles y adaptables a sistemas móviles
avanzados. De este modo el radio definido por software y su evolución a un radio
cognitivo se vuelve una parte primordial para alcanzar una cuarta generación de
comunicaciones móviles.
III. Radio Definido por Software (RDS)
El radio definido por software (RDS) tiene como propósito integrar una
cobertura global libre de irregularidades a través de cualquier región geográfica,
establecer interfaces con diferentes sistemas y estándares que proveen servicios
completos. Es decir tener un “Teléfono Móvil Multimodo”, que tenga la capacidad de
cambiar entre los diferentes estándares celulares y tenga la habilidad de interconectarse
con otros servicios de red, para que nos podamos comunicar exitosamente con
diferentes sistemas, el RDS tiene que comunicarse y manejar cambios dentro del
sistema de redes emitidos en los protocolos usando arquitecturas del radio software en
el cual el radio se reconfigure a sí mismo basándose en el sistema en el que esté
interactuando y las funciones que soporte, donde probablemente se tenga la capacidad
de controlar la calidad del servicio[5].
Anteriormente los equipos receptores y transceptores de radiocomunicaciones
estaban constituidos por múltiples componentes electrónicos, los cuales a su vez
formaban parte de circuitos sintonizadores, etapas de frecuencia intermedia,
amplificadores de bajas frecuencia es decir estaban constituidos por hardware, pero se
pensó en introducir la posibilidad de controlar los equipos de radio desde un ordenador,
añadiéndole a estos puertos de comunicación o interfaces para la conexión a la
computadora, el RDS se caracteriza por que la parte del hardware (circuitería) es
mínima, y la mayor parte de las funciones del equipo se definen por software en una
computadora.
Fig. 1. Arquitectura básica de un radio definido por software.
(7)
Unidad de
procesa miento
I/O
(IOU)
(1)
Unidad de
enlace
I N F R A E S T R U C T U R A C O M U N
(2)
Unidad de radio
frecuen cia
(RFU)
(3)
Unidad de
frecuen cia
Interme dia
(IFU)
(4)
Unidad A/D y
D/A
(ADC/
DCA)
(6)
Unidad de
control de trans misión
(TCU)
(8)
Unidad de
procesa miento
de temporizacin de extremo
a
extremo
(5)
Unidad de
banda base
(BBU)
SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE SOFTWARE
TR
AN
SM
ISO
R
RE
CE
PT
OR
- 102 -
El RDS es una clase de radio reprogramable o reconfigurable y su
funcionalidad depende significativamente de las modificaciones o actualizaciones de
su software lo que permite que se adapte a las necesidades de cada usuario, la
flexibilidad en su arquitectura le permite a países proveedores de servicios mejorar la
infraestructura y comercializar servicios nuevos rápidamente, un RDS debe tener un
control de sí mismo, de soportar un rango amplio de frecuencias, interactuar con el aire,
el radio definido por software debe tener la capacidad por medio de su software de
hacer correcciones en su modulación, en la corrección de errores, en los procesos de
código, establecer un control en el acceso a su radiofrecuencia, para todo lo antes
mencionado el RDS usa dispositivos digitales programables para mejorar el
procesamiento de la señal necesarios para transmitir y recibir información en banda
base a radiofrecuencias, utilizando herramientas como procesadores digitales de
señales (DSP´s), y arreglos de compuertas de campo programables (FPGA´s) todos
basados en software para proveer de funcionalidad el procesamiento de la señal
requerido, el RDS definirá el esquema de modulación a emplear (AM, FM, SSB). Una
arquitectura básica de un RDS se muestra en la Figura 1.1 [5,7,8,10] Las principales
ventajas que se establecen con un RDS son las siguientes:
Beneficios para los consumidores:
Plataforma común para múltiples usos.
Acceso a una amplia gama de aplicaciones y contenidos multimedia.
Capacidad para traspasar los limites del operador y lograr una verdadera
movilidad.
Ofrece la posibilidad de agregar un conjunto de características y servicios
con un fácil mecanismo de actualización para una variedad de dispositivos
móviles.
Aumenta la vida útil de un equipo y provee una ganancia segura contra la
obsolescencia.
Beneficios para los operadores:
Capacidad para desplegar nuevos servicios adaptados a los diferentes niveles
de usuarios que utilicen una plataforma de hardware común.
Prueba de mercado más rápida y sencilla de nuevos servicios y diferenciación
de otros operadores.
Reduce los costos a través de un largo ciclo de vida de móviles, la reducción
de componentes, y software con actualizaciones más rápidas de la estación
base.
Capacidad de ofrecer a todos los usuarios el mismo conjunto de funciones y
servicios independientemente del estándar utilizado.
Ayuda a lograr "acceso abierto" al proporcionar un conjunto de APIs
claramente definidos.
Beneficios a los fabricantes:
El fabricar una plataforma común se cubren muchos mercados, interfaces de
aire digital y bandas de frecuencias. Ofrece capacidad para expandir un nuevo
y adyacente mercado con soluciones de red común.
- 103 -
Un real uso de técnicas avanzadas para la utilización del espectro
radioeléctrico usando antenas inteligentes y procesamiento de señales.
Capacidad de mejorar los servicios, funciones y mecanismos de seguridad.
Bajo costo del producto debido a la reducción de los componentes.
Mayor rendimiento y menor consumo de energía para las funciones
avanzadas tales como video / gráficos en tiempo real y aplicaciones
Facilita el apoyo de todas las nuevas tecnologías emergentes (WAP, MexE,
Bluetooth). [8,9]
IV. Radio Cognitivo
En lo que respecta al radio cognitivo es concebido como un punto al cual debe
de evolucionar el radio definido por software, el radio cognitivo es un radio inteligente
que es capaz de escoger los mejores caminos para enrutar datos, es capaz de escoger la
mejor radiofrecuencia a utilizar, de entender la actividad de la red, la actividad del
usuario, seleccionar y usar las formas de onda, frecuencia, y protocolos correctos para
apoyar de manera eficiente al usuario y la red, todas estas características se logran
basándose en la observación de varios factores internos y externos de la radio, tales
como el espectro de la radio frecuencia, el comportamiento del usuario y el estado de la
red, con el fin de comunicarnos eficazmente y eficientemente, el radio cognitivo nos
asegurará que el usuario podrá establecerse en un roaming mundial donde podremos
comunicar y transmitir información a pesar de los cambios en la cobertura,
conectividad y la carga en el sistema de comunicaciones.[11,13]
Este sistema es un concepto que se esta volviendo muy importante entre los
dispositivos móviles y los sistemas de comunicaciones inalámbricos por dos razones
fundamentales:
Realza la eficiencia del espectro de radiofrecuencias, mejora su acceso,
haciendo asignaciones dinámicas del canal, lo que le permite reconocer los
diferentes tipos de tráfico de información, estableciendo prioridades
dinámicas, e integrar rasgos de seguridad lo que se evitaría en gran medida la
interferencia entre redes.
Permite establecer radios inteligentes con sistemas que se configuran solos,
que se auto adapten al entorno, que establezcan cambios en sus funciones
dependiendo de las necesidades del usuario y el estado de la red.[11,13]
El radio cognitivo podría propiciar que se tenga que aumentar el ancho de
banda, ya que conforme se establecen las evoluciones de dispositivos móviles e
inalámbricos, estos tienen que compartir una cantidad finita del espectro de radio
frecuencias, el radio cognitivo puede establecer una mejor manera de utilizar el
espectro, de descubrir frecuencias que sean raramente usadas y se la asigne a servicios
específicos sobre las cuales se puedan llegar a transmitir y recibir información,
propiciando el progreso hacia la flexibilidad de bandas radioeléctricas no
reglamentadas.[12]
Una red inteligente (cognitiva), es una red basada en establecer enlaces entre
sus nodos que son radios cognitivos que proveen de conectividad y la ajusten para su
adaptación a los cambios topológicos manejado por condiciones y necesidades de los
- 104 -
usuarios, esta red tiene conciencia de su ambiente, donde podrá tomar dediciones más
allá del espectro inalámbrico y esos nodos pueden optimizarla, esta red considerará
estas capacidades en una información colectiva, lo que permitirá la coordinación y la
colaboración entre nodos.
Las capacidades del radio cognitivo permitirá que todos los sistemas
inalámbricos puedan localizar cualquier banda libre del espectro radioeléctrico a su
alcance y conectarse a ella, este radio cognitivo debe configurar sus funciones de
comunicación constantemente para satisfacer las demandas de las redes de transmisión
y recepción de los usuarios, mediante dispositivos detectores de alta calidad y
algoritmos para intercambiar los datos de detección del espectro entre nodos.
El radio cognitivo evitara las congestiones en la transmisión, propiciara el
mejoramiento del roaming mundial, estructurará códigos configurables para recibir y
transmitir nuevos protocolos de comunicación y la interferencia entre sistemas que ira
evolucionando para propiciar mejoras continuas entre el radio cognitivo y el radio
definido por software.[11,12,13]
IV. Conclusiones
Como se ha visto, tanto la manufactura de sistemas inalámbricos, sistemas
móviles y los proveedores de servicios inalámbricos deben responder a los cambios
como sucedan, mejorando los sistemas para que incorporen las últimas innovaciones o
centrarse en los defectos de los sistemas como se descubran, el RDS y Radio Cognitivo
va a fomentar el desarrollo y despliegue de una evolución de las comunicaciones
inalámbricas basadas en tecnologías de radio reconfigurable, lo que permitirá tener
arquitecturas flexibles y adaptables a los sistemas inalámbricos avanzados, pero
también sin olvidar que el usuario debe tener la habilidad de de seleccionar los
proveedores y servicio que necesite.
V. Referencias
[1] Ramírez Alejandro, “Historia e inventos”,
www.detodounpocotv.com/aburrimiento/telefoniacelular.htm
[2] Martínez José Manuel, “La Portabilidad acelera la telefonía”, Febrero 15, 2008,
www.evdoplus.blogspot.com/2008/02/la-portabilidad-acelerar-la-telefona.html
[3] Klew Willy, “4G, La cuarta generación de sistemas de comunicaciones”,
Noviembre 16, 2007,
www.neoteo.com/tabid/54/ID/4706/Title/4G__la_Cuarta_Generacion_de_Sistemas
_de_Comunicacion/Default.aspx
[4] “China hace las primeras pruebas mundiales de telefonía móvil 4G”, Enero 2007,
www.mundo-
contact.com/enlinea_detalle.php?recordID=2877&PHPSESSID=eb0baf98251c96c
8732b7
[5] H. Reed Jeffrey, Software Radio, “A modern approach to radio engineering”,
Prentice Hall PTR 2002
[6] Juárez José Luis, “Software Radio”, www.maderkraft.com/software_radio.pdf
- 105 -
[7] Fernández de Villegas F., “Equipos de Radio Definidos por Software”, Junio 2004,
www.ea1uro.com/sdr.html
[8] “Open-Source Reference Implementation Now Available For New Software
Defined Radio Technology”, Mayo 2002, www.sdrforum.org
[9] Ralston John D. y Chairman Vice, “SDR Forum Liaison Proposal to MExE”,
Febrero 2000, www.sdrforum.org
[10] Proaño Enrique, “Transmisores de Radio Basados en Software”, Diciembre 2005,
www.clusterfie.epn.edu.ec/ibernal/html/CURSOS/Oct05Marzo06/Inalambricas/Tra
bajo1/TRaduccion/NewT5.doc
[11] “Uses cases for cognitive aplications in public safety communications systems”,
Noviembre 2007, www.sdrforum.org/pages/documentLibrary/documents/SDRF-
07-P-0019-V1_0_0.pdf
[12] Zheng Heather, “Tecnologías que cambiaron al mundo”, Technology Review, 2006
www.tempresas.cl/revista/edicion_07/pdf/054-065_Diez_tecnologias.pdf
[13] Urán Ramón, “Militares investigan redes inteligentes, seguras e inalámbricas”,
2006, www.spacio2.com/s2/index2.php?option=com_content&do_pdf=1&id=51
6th International Conference on Electrical and Electronics Engineering Research. November 2008
- 106 - ISBN: 978-607-95060-1-8 CIIIEE 2008
VI CONGRESO INTERNACIONAL
DE INVESTIGACIÓN EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Aguascalientes, Ags., México, 03 al 07 de Noviembre, 2008
Resumen –– Debido a los constantes avances tecnológicos en el
área de las comunicaciones móviles e inalámbricas, los
servicios que se desean implementar para una cuarta
generación, los problemas que están enfrentando en cuestión
de la incompatibilidad de estándares de telefonía móvil y
técnicas de acceso al medio y al futuro establecimiento de una
mejor manera de utilizar el espectro de radiofrecuencias, se
está desarrollando una tecnología que ayudara a solucionar
estos problemas tal es el caso del Radio Definido por Software
pero ahora hacia su evolución como Radio Cognitivo. En este
artículo se presenta el concepto del radio cognitivo, sus
ventajas, limitaciones, su arquitectura, y como se convertirá en
base fundamental para el desarrollo de nuevas aplicaciones y
servicios de cuarta generación.
Palabras Clave – Motor cognitivo, radio cognitivo
Abstract –– Due to the constant technologies advances in the
area of the mobile communication and wireless
communication, the serves that it will wish implement for a
fourth generation, the problems that it is confront in the
matter of the standards incompatibility of mobile phone and
the technologies of the access environment and the future
establishment of the best way to use the radio-frequency
spectrum, it is developing a technology that helps to resolve its
problems and that is the case of a Software Defined Radio but
now toward its evolution as a Cognitive Radio. This paper
shows the concept of Cognitive Radio, its advantages,
limitations, architecture, and how it will become in
fundamental base for the development of new applications and
services for fourth generation. Keywords –– Cognitive engine, cognitive radio
I. INTRODUCCIÓN
La tecnología del radio cognitivo introduce un
revolucionario mecanismo de comunicación inalámbrica
desde las terminales móviles hasta los segmentos de red, a
fin de que puedan aprender de su ambiente y adaptarse a la
forma más apropiada inteligentemente, es decir el radio
cognitivo será autónomo y capaz de ajustar sus
configuraciones para cambios en el ambiente con tal de
optimizar la calidad del servicio y cubrir las necesidades
exactas del usuario. El radio cognitivo (RC) es concebido
como un punto al cual debe de evolucionar el radio definido
por software, el radio cognitivo es un radio inteligente que
es capaz de escoger los mejores caminos para enrutar datos,
es capaz de escoger la mejor radiofrecuencia a utilizar, de
entender la actividad de la red, la actividad del usuario,
seleccionar y usar las formas de onda, frecuencia, y
protocolos correctos para apoyar de manera eficiente al
usuario y a la red, todas estas características se logran
basándose en la observación de varios factores internos y
externos del radio, tales como el espectro de
radiofrecuencia, el comportamiento del usuario y el estado
de la red, con el fin de comunicarnos eficaz y
eficientemente, el radio cognitivo nos asegurará que el
usuario podrá establecerse en un roaming mundial donde
podremos comunicar y transmitir información a pesar de los
cambios en la cobertura, conectividad y la carga en el
sistema de comunicaciones [1], [3].
II. EL RADIO COGNITIVO
Definimos un radio cognitivo como un dispositivo
inteligente de comunicación que se da cuenta de su
ambiente, de las necesidades aplicativas y que se puede
reconfigurar para optimizar la calidad de servicio. Después
de esta definición, se provee un nodo de radio cognitivo con
una capa inteligente de conciencia, razonando y aprendiendo
lo necesario para optimizar su función bajo situaciones
dinámicas e imprevisibles. Esa capa inteligente está
realizada por un sistema de software llamado Motor
Cognitivo. El motor cognitivo puede ser aplicado para
diferentes plataformas de radio reconfigurable por su
interconexión general de radio además de que tiene una base
de algoritmos de estructura accesible y modular, lo cual
facilita su reconfiguración. El motor cognitivo implanta un
El radio cognitivo como evolución de un radio definido por software
David Vázquez Álvarez, J. Vladimir Herrera Sánchez, Gabriela Sánchez Meléndez
Departamento de Ingeniería en Comunicaciones y Electrónica, ESIME Zacatenco IPN, México D.F., México
Teléfono: (55) 5729-6000 Ext. 54553 E-mail: [email protected]
6th International Conference on Electrical and Electronics Engineering Research. November 2008
- 107 - ISBN: 978-607-95060-1-8 CIIIEE 2008
doble ciclo de cognición como su centro de aprendizaje. El
ciclo cognitivo integra la detección y el reconocimiento del
ambiente por parte del radio, el razonamiento basado en
casos y la creación de soluciones, y su mejor solución. El
conocimiento del radio esta definido y conocido mediante la
implementación de una base de datos para soportar y
reforzar lo aprendido a través del ciclo cognitivo.
La investigación del radio cognitivo es
multidisciplinario, ya que combina comunicaciones
inalámbricas, ingeniería de radio, mecanismos de
aprendizaje, regulación del espectro de radiofrecuencias, la
aplicación de servicios, y muchos otros aspectos. La
tecnología del radio cognitivo involucra tres campos
principales, el dominio de operación, el dominio del radio, y
el dominio del usuario:
El dominio de operación.- Contiene información
regulable, tal como un plan del espectro de
radiofrecuencia, transmitir en los límites de la
intensidad y de la interferencia, eso es interpretado
como un conjunto de reglas de estructuras
jerárquicas (dispuestas por prioridades) usados
como límites en el área operacional de la radio. El
conocimiento del dominio de operación se usa para
garantizar la seguridad y la legalidad de las
operaciones del radio cognitivo.
El dominio del usuario.- Define ambos desde las
preferencias de acceso al servicio y los requisitos
de ejecución de ambos es decir el proveedor del
servicio y el usuario final. Principalmente incluye
objetivos como la disponibilidad de acceso, el tipo
de servicio y la calidad de servicio (QoS). El radio
cognitivo necesita interpretar tales objetivos y
tratar de manipularlos para adaptarlos a su
operación.
El dominio del radio.- Consiste principalmente en
el ambiente del radio y la plataforma del radio. Lo
correspondiente a la parte externa y a su
autoconocimiento están combinados para proveer
los mecanismos de razonamiento en dos formas:
Ya sea proveer los objetivos en caso de que algunas
capacidades del radio sean utilizadas bajo la
observación de las condiciones del ambiente o si no
de las restricciones o limitaciones de los recursos
del radio.
El radio cognitivo dará soporte al sistema de redes de
forma eficiente en el espectro de radiofrecuencia, dónde los
dispositivos dinámicamente se adapten a sus ambientes
operativos, mejorando la eficiencia en el uso de ancho de
banda debido a su habilidad para aprender y adaptarse al
conocimiento local y global acerca del ambiente del
espectro, además sientan su ambiente local, los cambios de
ruta, las observaciones de cambios con otros radios
cognitivos, y eventualmente las acciones sobre este
conocimiento compartido para dar soporte a la adaptación.
Basado en esta estructura general del nodo de radio
cognitivo, su finalidad es establecer un funcionamiento
completamente público y seguro para proveer un prototipo
de interoperabilidad pública universal para una
comunicación segura [4], [5], [6].
III. TIPOS DE RADIOS COGNITIVOS
Existen tres tipos de radios cognitivos (RCs) que en
particular pueden fundamentalmente adaptar su tecnología
de comunicaciones, y consecuentemente deben poder
observar e interactuar con una variedad de redes existentes
de radio. Esto significa que los RCs deberán poder
intercambiar frecuentemente información entre si en
términos de la implementación así como también con los
sistemas inalámbricos existentes.
A. Radio IEEE802.22
El panorama del IEEE802.22 provee que una terminal
móvil (TM) seleccione su espectro de radiofrecuencia
preferente a partir de los espectros disponibles provistos por
una estación base (EB). Hay tres clases de componentes
involucradas, terminales móviles (TM1-6), estaciones base
(EB1-3), y una fuente de base de datos (BD) del radio.
Todas las estaciones base consultan a la base de datos
durante la fase de inicialización para información sobre
recursos e identificar un canal candidato después de
sensoriarlo y confirmar si se encuentra vacante. Una
estación base luego establece comunicación sobre el canal
confirmado. Una terminal móvil escanea una lista
predefinida de canales o de todos los canales para encontrar
uno que este disponible cuando trata de establecer
comunicación, y conectarse con al menos una estación base,
luego obtiene los recursos de esos parámetros, tal como la
identificación de los canales de enlace superior e inferior o
de los niveles de intensidad, lo anteriormente mencionado
está representado en la Fig. 1.
OPERACIÓN & DATOS
EB3EB1EB2
TM1 TM3
TM5
TM2
TM4TM6
FUENTE DE
BASE DE DATOS
DEL RADIO
Fig. 1. Panorama para el radio IEEE802.22
6th International Conference on Electrical and Electronics Engineering Research. November 2008
- 108 - ISBN: 978-607-95060-1-8 CIIIEE 2008
Las estaciones base y las terminales móviles están en un
estado de comunicación después de la inicialización, y
ambos periódicamente reportan su información sobre los
recursos a la base de datos. La lista de información
recomendada incluye la localización de la terminal móvil, su
nivel de intensidad, su banda de transmisión, su formato de
modulación, y la relación señal a ruido (SNR). La base de
datos reconfigura ambos, es decir las estaciones bases y las
terminales móviles después de obtener esta información.
Cada estación base puede controlar a la terminal móvil a la
que le este prestando el servicio, administrar el uso del
espectro de radiofrecuencia para evitar interferencias, y
configurar de manera más poderosa y eficiente la
modulación y la codificación teniendo acceso a la base de
datos [6].
B. Múltiples radios con funciones cognitivas
Este escenario visualiza la integración de un radio,
como un chip radiodifusor acoplado a estándares Wi-Fi
(Wíreless Lan-Red Inalámbrica) / Wi-MAX
(Interoperabilidad Mundial para Acceso por Microondas),
que estará incrustado en las terminales móviles y las
estaciones base para permitir respuestas radiodifusoras
flexibles. Una terminal móvil selecciona su radio preferente
para comprobar las características del sistema de radio que
son proporcionadas por el operador.
Una terminal móvil con funciones radio cognitivas, el
cual está esquematizado en la Fig. 2, primero detecta a los
radios, encuentra a los candidatos, y consulta la base de
datos para comprobar si hay algunos conflictos potenciales
(por ejemplo, problemas de terminales ocultos). La base de
datos recopila información de comunicación, desde las TMs
/ EBs e informa a las terminales móviles que radio es el
apropiado seleccionar en el área. La terminal móvil
reconfigura el control de acceso al medio (MAC) / nivel
físico (PHY) para el radio seleccionado e inicia la
autentificación siguiendo el protocolo especificado por el
sistema del radio.
Centro de la red
Fuente de
base de datos
del radio
CR
Operador Único
Control del nodo
cognitivoAdministración del
nodo cognitivo
Estación base cognitiva
Red de acceso
(3GPP/2)
Red de acceso
(Wi-MAX)
Red de acceso
(Wi-Fi)
TM
Función cognitiva en terminal móvil
Cuerpo del área
de red (CAR)
Fig. 2. Panorama para múltiples radios con funciones radio cognitivas
Una terminal móvil tendría ambos estándares Wi-Fi y
Wi-MAX y el control de acceso al medio (MAC) / nivel
físico (PHY), con una “capa de convergencia" encima de los
controles de acceso al medio (MAC) y el sensor del espectro
de radiofrecuencia en la terminal, lo que detectaría la
presencia de otros radios, y esta información le permitiría a
la capa de control de acceso al medio (MAC) / nivel físico
(PHY) ser seleccionada para cualquier sistema de radio
mejorando los beneficios de la terminal para consultar la
base de datos [6].
C. Radio re-configurable con función cognitiva.
El radio reconfigurable involucra tecnologías de Radio
Definido por Software (RDS) y Radio Cognitivo como ya se
reviso en [8] y se reorganiza por sí mismo dentro de un
sistema de radio que experimenta menos interferencia entre
otros sistemas de radio usados en una misma área. Un
componente del RDS, por ejemplo, está hecho de una
unidad de procesamiento digital de señales (DSP) con
Arreglos de Compuertas de Campo Programables (FPGA´s)
y puede ser configurado como cualquier dispositivo de radio
cargando módulos de software para el control de acceso al
medio (MAC) / nivel físico (PHY) dentro de los FPGA´s.
Una vez que la configuración tiene éxito, el dispositivo es
agregado para integrarse bajo el enlace del RDS como se
muestra en la Fig. 2.5.
La dirección del RDS consiste de una administración de
configuración del radio, la administración en la selección del
radio, un análisis de la calidad, y de una dirección que
detecte el espectro de radiofrecuencia con su administración
de la base de datos (BD) y la adición de interfaces.
Este panorama permite una reconfiguración flexible del
radio, y se espera menos interferencia de otros dispositivos
de radio para establecer referencias en la base de datos en la
red [6].
Capa de integración
Base de datos
Administración
de la calidad
del radio
Administración
del perfil
Administración de
las funciones del RDS
Administración de la
configuración del radio
Administración de la
selección del radio
Administración del
análisis de la calidad
Administración de la
detección del espectro
PerfilCAM1
PHY1
RF
RDS
Agregar el enlace al RDSAgregar el enlace al RDS
RF
RDS
CAMn
PHYn
IP
Radio Definido por Software (RDS) para W-CDMA,
IEEE802.11a/b, y transmisiones digitales terrestres
Tarjeta FPGA
Combinación de
las 3 tarjetas
Tarjeta CPU
Tarjeta RF
Componentes del RDS
(un software conmutador que pueda cambiar
de diversos sistemas de comunicación)
Se despliegue
en el móvil
Fig. 3. Funciones del RDS y RC
6th International Conference on Electrical and Electronics Engineering Research. November 2008
- 109 - ISBN: 978-607-95060-1-8 CIIIEE 2008
IV. ARQUITECTURA DEL RADIO COGNITIVO
La arquitectura del sistema del radio cognitivo en una
plataforma independiente está definido por un paquete de
algoritmos mediante un software llamado Motor Cognitivo
con una interfaz general de radio. Dentro del motor
cognitivo los módulos funcionales son diferentes y están
definidos para tener en cuenta las capacidades cognitivas
incluyendo conciencia, razonamiento, creación de
soluciones y su optimización, y el control adaptable del
radio.
Como se muestra en el bloque de la arquitectura del
sistema del radio cognitivo representado en forma de
diagrama en la Fig. 4, el motor cognitivo maneja recursos
del radio y adapta la operación del radio para optimizar su
función.
Algoritmos cognitivos.
Algoritmos de aplicación.
Radioparámetros.
Plataforma independiente
para servicios API.
Adaptación. Detector/Sensor.
Radio transmisor.
Interfaz de aire.
Capa 1
Capa 2
Capa 3
Capa 4
Capa 5
Software Software
Fig. 4. Modelo de un sistema de radio cognitivo
La interacción entre el motor cognitivo y la plataforma
de radio es a través de un estándar de interfase entre ellos, el
radio cognitivo puede ser presentado conforme a la lista [4],
[5].
Un paquete de algoritmos mediante software,
denominado motor cognitivo, es diseñado y
revestido en la plataforma de hardware del radio. El
motor cognitivo maneja los recursos del radio para
lograr funcionalidades cognitivas y adaptar las
operaciones de radio para optimizar su función. El
motor cognitivo le permite al radio proveer de
funcionalidades cognitivas combinando los
procesos de los mecanismos de aprendizaje con la
operación radiodifusora.
El centro de los mecanismos de aprendizaje son
diseñados para permitir capacidades cognitivas
para aplicaciones inalámbricas. Reforzando el
aprendizaje, y su óptima evolución, son principios
claves para el diseño del centro de aprendizaje. Un
doble ciclo de cognición es implantado en el centro
de aprendizaje.
Cualquier radio con un nivel apropiado de
reconfigurabilidad puede soportar y puede ser
controlado por el motor cognitivo por medio de una
interfaz con la plataforma independiente del radio.
Dado que el motor cognitivo no es una plataforma
específica, el conocimiento general y el
aprendizaje pueden ser aplicados para una variedad
de problemas de aplicaciones.
La funcionabilidad cognitiva se enfoca desde la
capa 1 hasta la 3, para lograr en esas capas una
intersección óptima, los algoritmos generales de
cognición pueden ser extendidos a las capas
superiores y configurarlos para encontrar diversos
requisitos para aplicaciones específicas.
Un radio cognitivo puede trabajar individualmente
o conjuntamente en la administración de recursos y
la optimización de sus funciones. La estructura de
aprendizaje del radio cognitivo consta de tres
pasos: El reconocimiento, el razonamiento y la
adaptación, el cuál puede ser flexiblemente
implementado ya sea de forma centralizada como
un nodo de radio cognitivo completamente
funcional.
La plataforma de interfaz independiente tiene dos
flexibilidades de diseño o propósito: dar soporte a los
mecanismos generales de aprendizaje y a los algoritmos
específicos de aplicación; y dar soporte y reconfigurabilidad
a las plataformas de radio como las del RDS [5].
V. LA ESTRUCTURA DEL MOTOR COGNITIVO
Aunque el motor cognitivo puede trabajar con cualquier
radio que puede proporcionar o necesitar una
reconfigurabilidad, la plataforma del RDS es la más
preferente por su máximo grado de flexibilidad y
reconfigurabilidad. El radio le pasa la información al motor
cognitivo con un formato paramétrico estándar, nombrado
como perfil. El motor cognitivo toma una decisión y le pasa
la decisión también en el formato del perfil al radio,
logrando así las condiciones para su actuación.
Para segmentar el conocimiento, las funciones
cognitivas pueden ser modularizadas. De esa manera el
motor cognitivo puede ser diseñado con una estructura
accesible, lo cual es importante para modular los algoritmos
específicos para una tarea específica, mientras se mantenga
un diseño general. El motor cognitivo consta de los
siguientes conjuntos importantes de módulos:
Módulos modeladores del ambiente.- Manejan el
reconocimiento y el conjunto de información para
dominios específicos. El radio, el usuario y los
dominios de operación (incluyendo seguridad) son
6th International Conference on Electrical and Electronics Engineering Research. November 2008
- 110 - ISBN: 978-607-95060-1-8 CIIIEE 2008
modelados, interpretados y son reportados para el
centro de aprendizaje.
Módulos creadores de soluciones.- Es el núcleo que
genera una solución viable según el panorama
actual del problema en sí (incluyendo el ambiente,
los objetivos del usuario, los recursos disponibles,
etc.).
Módulos para la base de conocimientos.- Está
contenida en el dominio de una base de datos que
relaciona esos datos como información situacional,
criterios de funcionamiento y como principios
generales de razonamiento y aprendizaje.
Módulo para el motor cognitivo.- Provee una
interconexión entre sí mismo y cada dominio. Para
el dominio del radio, una plataforma de radio con
una interfaz independiente está construida con la
cual el motor cognitivo pueda monitorear,
configurar y controlar diferentes hardwares de
radio sin cambiar su propio algoritmo [4].
VI. CARACTERISTICAS Y BENEFICIOS DEL RADIO
COGNITIVO
Este sistema es un concepto que se esta volviendo muy
importante entre los dispositivos móviles y los sistemas de
comunicaciones inalámbricos por dos razones
fundamentales:
Realza la eficiencia del espectro de
radiofrecuencias, mejora su acceso, haciendo
asignaciones dinámicas del canal, lo que le permite
reconocer los diferentes tipos de tráfico de
información, estableciendo prioridades dinámicas,
e integrar rasgos de seguridad lo que se evitaría en
gran medida la interferencia entre redes.
Permite establecer radios inteligentes con sistemas
que se configuran solos, que se auto adapten al
entorno, que establezcan cambios en sus funciones
dependiendo de las necesidades del usuario y el
estado de la red [1], [3].
El radio cognitivo puede establecer una mejor manera
de utilizar el espectro, de descubrir frecuencias que sean
raramente usadas y se la asigne a servicios específicos sobre
las cuales se puedan llegar a transmitir y recibir
información, propiciando el progreso hacia la flexibilidad de
bandas de radiofrecuencia no reglamentadas.
Las capacidades del radio cognitivo permitirá que todos
los sistemas inalámbricos puedan localizar cualquier banda
libre del espectro de radiofrecuencia a su alcance y
conectarse a ella, este radio cognitivo debe configurar sus
funciones de comunicación constantemente para satisfacer
las demandas de las redes de transmisión y recepción de los
usuarios, mediante dispositivos detectores de alta calidad y
algoritmos para intercambiar los datos de detección del
espectro entre nodos [2], [7].
El radio cognitivo se pretende establecer para una cuarta
generación de comunicaciones móviles ya que como se vio
anteriormente esta tecnología es de gran importancia debido
a sus características y ventajas, además de los futuros
servicios y aplicaciones que se desarrollen, es por eso que
países como Japón y China son candidatos para ser los
pioneros en el desarrollo y el despliegue de esta generación
que va a revolucionar las comunicaciones móviles e
inalámbricas en el mundo.
VII. CONCLUSIONES
Como se ha visto, la tecnología del radio cognitivo va a
fomentar el desarrollo y el despliegue de las comunicaciones
móviles e inalámbricas por lo que esta tecnología se
convertirá en una base fundamental para el desarrollo de una
cuarta generación de comunicaciones móviles. El radio
cognitivo esta basado en tecnologías de radio re-
configurable lo que beneficia al desarrollo de nuevos
servicios y capacidades en las comunicaciones móviles para
lograr el establecimiento de arquitecturas flexibles y
adaptables a sistemas inalámbricos avanzados sin olvidar
que el usuario debe tener la habilidad y el derecho de
seleccionar los proveedores y servicios que requiera.
El radio cognitivo como evolución del radio definido
por software es algo que se veía venir, ya que la cuarta
generación de comunicaciones móviles pretende usar un
mismo dispositivo móvil en cualquier parte del mundo, lo
que se conoce como un roaming mundial, para poder lograr
esto, el radio definido por software no solo debe tener la
capacidad de ser re-configurable sino que tiene además la
obligación de reconfigurarse o reprogramarse a si mismo y
esto se cumple con el diseño de un motor cognitivo que sea
capaz de reconfigurar esta plataforma de hardware común
dependiendo del ambiente que lo rodea, esto ayudado del
diseño y construcción de algoritmos cognitivos.
En nuestro proyecto de investigación utilizamos el
radio re-configurable con función cognitiva visto
anteriormente en este artículo y estamos desarrollando un
software que tenga la capacidad de seleccionar entre
diferentes técnicas de codificación y control de error
aplicando el concepto del Radio Cognitivo, utilizando como
herramienta de software C++ para diseñar y comprobar
nuestro algoritmo cognitivo y VHDL como lenguaje de
descripción de hardware para su implementación en un
dispositivo de lógica re-configurable, un dispositivo FPGA
o un DSP. Actualmente estamos en el desarrollo de este
algoritmo para posteriormente presentar los resultados
6th International Conference on Electrical and Electronics Engineering Research. November 2008
- 111 - ISBN: 978-607-95060-1-8 CIIIEE 2008
obtenidos y establecer conclusiones acerca de la aplicación
del radio cognitivo en diferentes técnicas de codificación y
control de error.
REFERENCIAS
[1] SDR forum, “Use cases for cognitive applications in public safety
communications systems”, Noviembre 8, 2007, http://www.sdrforum.org/pages/documentLibrary/documents/SDRF-
07-P-0019-V1_0_0.pdf.
[2] Heather Zheng, “10 Tecnologías que cambiaron al mundo”, Technology Review 2006,
www.tempresas.cl/revista/edicion_07/pdf/054-
065_Diez_tecnologias.pdf. [3] Urán Ramón, “Militares investigan redes inteligentes, seguras e
inalámbricas”, octubre 2, 2006,
www.spacio2.com/s2/index2.php?option=com_content&do_pdf=1&i
d=51.
[4] Bin Le, G. Rodríguez Francisco A., “A public safety cognitive radio
node”, http://www.crtwireless.com/files/LeB_1.pdf. [5] Bin Le, W. Rondeau Thomas, “General radio interface between
cognitive algorithms and reconfigurable radio plataforms”,
http://www.crtwireless.com/files/LeB_2.pdf. [6] Kuroda Masahiro, Ishizu Kentaro, “A study of radio-information
services for networks of cognitive radios”,
http://www.winlab.rutgers.edu/~wenyuan/sdr07/papers/Kuroda_SDR.pdf
[7] SDR forum, http://www.sdrforum.org/
[8] Vázquez Álvarez D., Herrera Sánchez J. V., Sánchez Meléndez G. “El radio cognitivo en el desarrollo de la cuarta generación de
comunicaciones móviles”, CMICE, México D.F, Mayo 2008
BIOGRAFÍAS
M. en C. David Vázquez Álvarez. Es
Ingeniero en Comunicaciones y Electrónica egresado de la ESIME IPN en 2001. Obtuvo el
grado de Maestro en Ciencias en Ingeniería de
Telecomunicaciones en la SEPI ESIME IPN en 2007. Actualmente es profesor Asociado
“C” de la Academia de Computación del
Departamento de Ingeniería en Comunicaciones y Electrónica en la ESIME
IPN. Áreas de Interés Actual: Radio Definido
por Software, Radio Cognitivo, Sistemas de Comunicaciones Móviles e Inalámbricas,
Fibras Ópticas.
J. Vladimir Herrera Sánchez. Actualmente
es alumno de 9° semestre en la especialidad de
comunicaciones de la carrera de Ingeniería en
Comunicaciones y Electrónica de la ESIME
IPN. Áreas de Interés Actual: Radio Definido por Software, Radio Cognitivo, Sistemas de
Comunicaciones Móviles e Inalámbricas
M. en C. Gabriela Sánchez Meléndez. Maestra en Ciencias Físico Matemáticas con
especialidad en Ingeniera de Telecomunicaciones, egresada de la Sección
de Estudios de Posgrado e Investigación de la
ESIME - IPN. Actualmente es Profesora Asociada de la Escuela Superior de Ingeniería
Mecánica y Eléctrica unidad Profesional
Adolfo López Mateos. Áreas de Interés: Fibras Ópticas, Telecomunicaciones,
Aplicaciones de Software en
Telecomunicaciones.
- 112 -
DECIMONOVENA REUNIÓN DE OTOÑO DE COMUNICACIONES,
COMPUTACIÓN, ELECTRÓNICA Y EXPOSICIÓN INDUSTRIAL ROC&C´2008
Acapulco, Gro., México, 30 de Noviembre al 06 de Diciembre, 2008
Resumen –– En los últimos años las comunicaciones móviles
han evolucionado constantemente y siguen surgiendo
innovaciones para este tipo de tecnologías debido a las nuevas
necesidades que los usuarios tienen para comunicarse
constantemente además de las nuevas aplicaciones que van
surgiendo, sin embargo actualmente existen serios problemas en
las comunicaciones móviles debido al grave problema de
incompatibilidad de estándares de telefonía móvil y técnicas de
acceso al medio, lo que ha limitado el posible establecimiento de
un roaming mundial, una de las soluciones que han surgido para
enfrentar este tipo de circunstancias y que continua su desarrollo
para su futura comercialización es la tecnología conocida como
Radio Cognitivo.
Este artículo presenta un panorama general de las
características y ventajas que ofrece esta tecnología, una revisión
de diferentes arquitecturas que ayudará a entender las
capacidades y las limitaciones a las que se enfrentan para el
desarrollo de esta tecnología prometedora.
Palabras Clave – Comunicaciones Móviles, Radio Definido
por Software, Radio Cognitivo, Motor Cognitivo.
I. INTRODUCCIÓN
Debido a los problemas que enfrentan actualmente las
comunicaciones móviles por la constante evolución que han
tenido, al surgimiento de un sin número de estándares
(GSM, CDMA, TDMA, WCDMA, TD-SCDMA, GSM-
GPRS y CDMA200) y técnicas de acceso al medio (FDMA,
CDMA, WCDMA), que han facilitado el uso eficiente de la
utilización del espectro pero que necesitan ser soportados
por distintas industrias de terminales y de estaciones base y
que han traído como consecuencia factores como la
interoperabilidad y problemas de establecer una
conectividad libre de irregularidades. Además de que se ha
generado una gran demanda en la conectividad inalámbrica
de Internet pero con múltiples servicios, por ejemplo la
integración de servicios para ofrecer una perfecta cobertura
global y un control sobre la calidad y el servicio (QoS), que
propiciarán el desarrollo de futuros dispositivos
inalámbricos y utilizarlos en el soporte de las
comunicaciones.
Ha surgido el Radio Definido por Software, una
tecnología que ha empezado a desarrollarse y que está
siendo aceptada y apoyada por la industria de la tecnología
de las comunicaciones prueba de esto es el establecimiento
de un Radio Cognitivo el cual evitaría el actual caos en las
técnicas de acceso y la falta de flexibilidad de las bandas
radioeléctricas no autorizadas, lo que permitirá que existan
arquitecturas flexibles y adaptables a sistemas móviles
avanzados [1], [2].
II. RADIO COGNITIVO
Definimos un Radio Cognitivo (RC) como un
dispositivo inteligente de comunicación que se da cuenta de
su ambiente y las necesidades de aplicación y se reconfigura
por si mismo para optimizar la calidad de servicio. Una
solución general del Radio Cognitivo está definida en la
forma del paquete del software que pueda trabajar con
plataformas de radio reconfigurable para proveer
funcionabilidad cognitiva. Este paquete de software,
llamado motor cognitivo, consta de un conjunto de
mecanismos generales de aprendizaje y algoritmos de
aplicaciones específicas y puedan ser aplicadas para
plataformas de radio con implementación de hardware.
El motor cognitivo maneja recursos de radio y adapta la
operación del radio para optimizar su función. La
interacción entre el motor cognitivo y la plataforma de radio
es a través de un estándar de interfase entre ellos. Aunque el
motor cognitivo puede trabajar con cualquier radio que
puede proporcionar o necesitar una reconfigurabilidad, la
plataforma del Radio Definido por Software (RDS) es la
más preferente por su máximo grado de flexibilidad y
reconfigurabilidad.
La investigación del radio cognitivo es
multidisciplinario, combinando comunicaciones
inalámbricas, ingeniería de radio, mecanismos de
aprendizaje, regulación del espectro de radiofrecuencias, la
aplicación de servicios, mercado, y muchos otros aspectos.
En un sentido estrecho de diseñar a fondo, la tecnología del
Radio Cognitivo involucra tres campos principales, el
dominio de operación, el dominio de la radio, y el dominio
del usuario:
El dominio de operación contiene información
regulable, tal como un plan de frecuencia, transmitir en
los límites de la intensidad y de la interferencia, eso es
Radio Cognitivo, Una Solución a la Incompatibilidad
de Estándares en Comunicaciones Móviles
David Vázquez Alvarez, J. Vladimir Herrera Sánchez, Gabriela Sánchez Meléndez Departamento de Ingeniería en Comunicaciones y Electrónica
ESIME Zacatenco IPN, México, D. F., México
Teléfono: (55) 57296000 Ext. 54553 E-mail: [email protected]
- 113 -
interpretado como un conjunto de reglas de estructuras
jerárquicas (dispuestas por prioridades) usados como
límites en el área operacional de la radio. El
conocimiento del dominio de operación se usa para
garantizar la seguridad y la legalidad de las operaciones
del radio cognitivo.
El dominio del usuario define ambos desde las
preferencias de acceso al servicio y los requisitos de
ejecución de ambos es decir el proveedor del servicio y
el usuario final. Principalmente incluye objetivos como
la disponibilidad de acceso, el tipo de servicio y la
Calidad de Servicio (QoS). El radio cognitivo necesita
interpretar tales objetivos y tratar de encontrarlos para
adaptarlos a su operación.
El dominio de la radio consiste principalmente en el
ambiente del radio y la plataforma del radio. Lo
correspondiente a la parte externa y a su
autoconocimiento están combinados para proveer de los
mecanismos de razonamiento en dos formas: Ya sea
proveer de los objetivos en caso de que algunas
capacidades de la radio sean utilizadas bajo la
observación de las condiciones del ambiente o si no de
las restricciones o las limitaciones de los recursos del
radio según sea el caso [3], [4], [5], [8].
III. ARQUITECTURAS DE RADIO COGNITIVO
Una vez teniendo una idea general de Radio cognitivo y
el motor cognitivo se analizara diferentes arquitecturas para
establecer cual es la más completa o en su caso proponer
mejoras a alguna de ellas.
SISTEMA DE RADIO COGNITIVO.
Algoritmos cognitivos.
Algoritmos de aplicación.
Radioparámetros.
Plataforma independiente
para servicios API.
Adaptación. Detector/Sensor.
Radio transmisor.
Interfaz de aire.
Capa 1
Capa 2
Capa 3
Capa 4
Capa 5
Software Software
Figura 1.- Modelo de un sistema de radio cognitivo.
Siguiendo la definición del radio cognitivo citada
anteriormente, la primera arquitectura del radio cognitivo
puede ser presentada conforme la lista de abajo:
Un paquete de algoritmos mediante software,
denominado motor cognitivo, es diseñado y revestido
en la plataforma de hardware del radio. El motor
cognitivo maneja los recursos del radio para lograr
funcionabilidades cognitivas y adaptar las operaciones
de radio para optimizar su función. Mostrado en la
Figura 1, el motor cognitivo le permite al radio proveer
de funcionabilidades cognitivas combinando el proceso
de los mecanismos de aprendizaje con la operación
radiodifusora.
El centro de los mecanismos de aprendizaje son
diseñados para permitir las capacidades cognitivas para
aplicaciones inalámbricas. Reforzando el aprendizaje,
su evolución y su optimización son principios cruciales
para el diseño del centro de aprendizaje. Un par de
enlaces como ciclo de cognición es implantado como el
centro de aprendizaje.
Cualquier radio con un nivel apropiado de
reconfigurabilidad puede soportar y puede ser
controlado por el motor cognitivo por medio de una
interfaz con la plataforma independiente del radio.
La funcionabilidad cognitiva se enfoca desde la capa 1
hasta la 3, para lograr en esas capas una intersección
óptima. Los algoritmos generales de cognición pueden
ser extendidos a las capas superiores y configurarlos
para encontrar diversos requisitos para aplicaciones
específicas.
Un radio cognitivo puede trabajar individualmente o
conjuntamente en la administración de recursos y la
optimización de sus funciones. La estructura de
aprendizaje del radio cognitivo consta de tres pasos: El
reconocimiento, el razonamiento y la adaptación, el
cuál puede ser flexiblemente implementado ya sea de
forma centralizada como un nodo de radio cognitivo
completamente funcional. Tal estructura funcional del
nodo de radio cognitivo es mostrado en la Figura 1 [3].
ARQUITECTURA DEL PERFIL DE LA INTERFACE
DE RADIO.
Una segunda arquitectura es la del radio cognitivo con
perfiles de dominio, en esta arquitectura el sistema de radio
cognitivo y el diseño del dominio de conocimiento debe
permitir mecanismos de razonamiento y aprendizaje para las
aplicaciones de radio. Puede estar dividido en dos pasos: La
primera parte es elegir metodologías eficientes para la
observación y modelado del dominio de la información útil
y abstraiga tal información con una representación general
para los mecanismos de razonamiento y aprendizaje, como
centro de aprendizaje en nuestro sistema de Radio
Cognitivo. El segundo es implementar un idioma adecuado
para describir tal dominio de conocimiento para la
transferencia de información entre unidades inteligentes.
Se debe entender que el sistema del radio cognitivo está
considerado como el centro del radio, los usuarios y los
dominios de práctica, definimos los siguientes perfiles del
dominio del conocimiento relacionados con la interfaz del
radio:
- 114 -
Definición del perfil de
la plataforma de radio
Codificación
Crear solución
Área operacional
Formular solución
Perfil de la forma de onda
Perfil de la configuración
del radio
Perfil del ambiente
de radio Perfil de servicio
al usuario
Perfil de operación
Motor cognitivo
Figura 2.- Radio cognitivo con perfiles de dominio.
El perfil del ambiente del radio: Contiene la
información reconocida del ambiente del radio,
incluyendo la ocupación del espectro de energía, del
formato de la forma de onda en los canales de interés, y
las oportunidades disponibles del enlace.
El perfil del desempeño: Contiene un conjunto de
parámetros métricos como la evaluación de la función
del radio, las reglas de codificación básica, el
rendimiento específico de los datos, consumo de poder,
etc. Esta métrica esta en una plataforma independiente y
así puede ser aplicada a los diferentes sistemas de radio
hardware.
La definición del perfil de la plataforma de la radio:
Contiene la lista de recursos funcionales de radio
disponibles, su relatada capacidad de procesamiento en
términos del rango dinámico y los modos de operación,
y sus características funcionales como dependencias,
manejador de reglas, etc.
Perfil de la forma de onda: Contiene el nivel de las
funciones de comunicación representadas por las
especificaciones de la forma de onda , como la
frecuencia trasportadora, el esquema de modulación, la
forma del pulso, la tasa del símbolos, el esquema de
codificación, el formato de la unidad de la información,
los protocolos de control de acceso al medio, etc.
El perfil de la configuración de la plataforma de radio:
Contiene el conjunto de parámetros para la
configuración de la plataforma de radio que implicar los
requerimientos de la forma de onda y las operaciones de
enlace. La configuración de plataformas específicas y
los ajustes internos están sujetos a las funcionalidades
requeridas del radio.
El dominio del conocimiento representado en la forma
del dominio de los perfiles permite la independencia de la
metodología del procesamiento de la información sobre el
contenido específico de la información. Para el sistema de
radio cognitivo, se asegura que las estructuras generales de
los mecanismos del razonamiento y aprendizaje pueda ser
diseñada y aplicada a través de dominios múltiples. Un
ejemplo del razonamiento y los procesos de decisión del
radio cognitivo con perfiles de dominios múltiples es
mostrado en la Figura 2. El motor cognitivo toma la
definición del perfil de la radio para establecer el espacio, y
tomar el ambiente del radio, los planes de acción y los
perfiles del usuario para formar las dimensiones y los
límites de su cobertura para darle el soporte, tomar del
ambiente del radio, el plan de acción y los perfiles del
usuario para formar los objetivos del funcionamiento y los
razonamientos asociados, a fin de dar una solución viable
que pueda ser proyectado y optimizado. La solución
generada es entonces formulada dentro de la forma de onda
y los perfiles de la configuración del radio con un formato
estándar que puede ser aplicada a las diversas plataformas
de radio [4].
ARQUITECTURAS DEL RDS IDEAL.
Una tercera arquitectura muestra uno de los modelos
conceptuales más simples que describe la relación entre
radio cognitivo y el RDS puede estar descrito como se
muestra en la Figura 3.
Radio Cognitivo
Motor
Cognitivo
Funcionalidades
de la
Capa Superior
RDS
Sensor
Interno y Externo
Fig. 3.- Relación entre el RDS y el radio cognitivo.
En este simple modelo, el radio cognitivo es envuelto
alrededor del RDS. Este modelo encaja para dicha
definición del radio cognitivo, donde la combinación de
motor cognitivo, RDS, y los otros resultados de las
funcionalidades de respaldo (por ejemplo, el sensor) en el
radio cognitivo. El motor cognitivo es responsable de
optimizar o controlar al RDS basado en algunos parámetros
de entrada tal como la detección o aprendizaje del ambiente
del radio, el contexto del usuario, y la condición de la red.
El motor cognitivo se da cuenta de los recursos del hardware
del radio y las capacidades así como también los otros
parámetros de entrada. Por lo tanto, trata de satisfacer los
requisitos de enlace del radio de una capa de aplicación
superior o con los recursos del usuario disponibles como el
espectro y la intensidad. Al comparar el hardware del radio
- 115 -
Radio Digital
Reconfigurable
Software del Sistema
Analógico de Radio
Sintonizable
Sintetizador
de
Impedancia
Señal de Control del Radio
Retroalimentación
Señal de Control de la Antena
donde el radio puede realizar sólo una o una cantidad muy
limitada de funcionalidades del radio, el RDS está
construido alrededor de un software basado en el
procesamiento digital de señales junto con componentes de
software sintonizadores de radiofrecuencia (RF). Por lo
tanto, el RDS representa una plataforma de radio muy
flexible y genérica que es capaz de operar con muchos y
diferentes anchos de banda sobre una gran variedad de
frecuencias y usando muchos y diferentes formatos de
modulación de forma de onda. Como consecuencia, RDS
puede soportar múltiples estándares y múltiples tecnologías
de acceso.
La arquitectura ideal del RDS consta de tres unidades
principales, las cuales son el radio digital reconfigurable, el
software de radio sintonizable junto con una incrustación de
un sintetizador de impedancia, y el sistema de software
sintonizable de la antena. Esta estructura es ilustrada en la
Figura 4. Las principales responsabilidades del Radio
Digital Reconfigurable es realizar las funcionalidades del
radio digital como la generación de diferentes formas de
onda, la optimización de algoritmos para unidades de
software de radio sintonizable, las unidades de la antena, y
el control de estas unidades.
El software del sistema analógico sintonizable está
limitado por los componentes que no pueden ser realizados
digitalmente como filtros de radiofrecuencia combinadores
divisores de señal, Amplificador de Potencia (AP),
Amplificadores de Bajo Ruido (ABR), y convertidores de
datos. Además, esta unidad tiene subsistemas sintetizadores
de impedancia, lo cual es una unidad crucial para optimizar
la actuación de software de los sistemas analógicos del
radio sintonizable.
Figura 4.- Arquitectura ideal del RDS.
Por ejemplo, el sintetizador de impedancia se usa para
optimizar la función del software en sistemas sintonizables
de la antena para un plan de frecuencia arbitrario
especificado por el motor cognitivo.
Una relación básica entre las unidades principales de
RDS está descrita como sigue. El motor cognitivo envía los
parámetros de configuración del radio al reconfigurador del
radio digital a fin de que puede reconfigurar al radio
completamente según los parámetros. Estos parámetros
pueden ser el tipo de la forma de onda que necesita ser
generada (ejemplo, OFDM, CDMA), el plan de frecuencia
(por ejemplo el ancho de banda, la operación de la
frecuencia central), y las especificaciones de la intensidad
del espectro. Además, el motor cognitivo puede requerir de
la reconfiguración del radio digital para que mida o calcule
algunos parámetros del ambiente como la información de la
posición de un usuario en particular. El radio digital
reconfigurable se configura por sí mismo junto con el
software de los componentes sintonizadores del radio y los
sistemas de la antena. Con el propósito de optimizar la
función de las estas dos unidades, el radio digital
reconfigurable utiliza la información de retroalimentación
del software del radio sintonizable, especialmente la del
sintetizador de impedancia. Basado en esta información, se
ajusta los parámetros del software del radio sintonizable y
las unidades de la antena a través del radio y las señales de
control de la antena, respectivamente. Finalmente, la
reconfiguración del radio digital certifica al motor cognitivo
que la configuración especificada esta realizada [6].
LA ARQUITECTURA DEL NODO COGNITIVO.
Por último la arquitectura del nodo de un Radio
Cognitivo, es un dispositivo de red que necesita para
habilitar el diseño, la representación y ejecución de los
procesos cognitivos relacionados a los múltiples niveles de
abstracción. Es también deseable tener una arquitectura
evolutiva a fin de que las nuevas arquitecturas puedan ser
fortalecidas. Arquitectónicamente el radio Cognitivo puede
ser observado como la integración de una plataforma de
radio flexible con una capa de dirección cognitiva. El Radio
Definido por Software (RDS) puede proveer de los servicios
requeridos de reconfiguración y una Organización
Administrativa Cognitiva (OAC) que implemente las
capacidades cognitivas requeridas para el dispositivo.
La Figura 5 muestra una propuesta de la arquitectura del
nodo cognitivo, aquí la plataforma del RDS es resumida
como una caja negra con ciertos mecanismos para el control
/configuración del dispositivo. El entorno de la entidad
administrativa consiste de la ejecución un motor cognitivo
que corre un conjunto de metas impulsadas en los procesos.
Los procesos cognitivos serán utilizando notaciones de
procesos algebraicos específicos. Cada proceso incluirá
subprocesos como la abstracción del contexto, el
razonamiento, aprendizaje, predicción, la planificación y la
toma de decisiones. Usa una base de conocimientos
incluyendo ontología, reglas, modelos, planes, y el contexto
de la estructuras del espacio. Habrá una base de datos que
maneje las instancias del contexto, y una librería sustentada
en diversas características que se componen de algoritmos.
Un canal de comunicación cognitivo es concebido como un
canal lógico para intercambiar el control y el contexto de la
información con otros dispositivos de red.
La ejecución del motor cognitivo podría ser considerado
como una máquina virtual que ejecuta programas cognitivos
que son descripciones conceptuales de diversos procesos
cognitivos complejos. Este módulo será responsable de la
- 116 -
perfección del tiempo de ejecución, la composición y la
planificación de los procesos basados en el contexto del
conocimiento del espacio. La estructura del contexto del
espacio puede tener una representación compacta
permitiendo la fácil implantación de una memoria.
Programas
Cognitivos
Ejecución
del Motor
A
D
R
S
Ontología
Reglas
Contexto del
espacio
Modelos
Algoritmos
Organización Administrativa Cognitiva (OAC)
Historial
Planes
Contexto de
datos
RDS
Control
Comunicación
Medición
A = Analizador, D = Desición, R = Reconfiguración, S = Sensor,
Fig.5.- La arquitectura del nodo cognitivo.
Un contexto típico los principios basados en el ciclo de
adaptación con la detección o la medición del contexto de la
información, luego analizando la información pura reunida
para realizar la codificación/decodificación apropiada del
contexto, presentando los acontecimientos complejos y la
información abstraída para tomar la decisión en la
configuración de sistema y finalmente implementar la
decisión de la reconfiguración. Además de esto hay una
capacidad de comunicación para ocuparse del contexto de la
comunicación entre entidades distribuidas a través de un
canal lógico [7].
En general, las principales ventajas que se establecen
con un Radio Cognitivo son las siguientes:
Beneficios para los consumidores:
Plataforma común para múltiples usos.
Acceso a una amplia gama de aplicaciones y
contenidos multimedia.
Capacidad para traspasar los limites del operador y
lograr una verdadera movilidad.
Ofrece la posibilidad de agregar un conjunto de
características y servicios con un fácil mecanismo de
actualización para una variedad de dispositivos móviles.
Aumenta la vida útil de un equipo y provee una
ganancia segura contra la obsolescencia.
Beneficios para los operadores:
Capacidad para desplegar nuevos servicios adaptados a
los diferentes niveles de usuarios que utilicen una
plataforma de hardware común.
Prueba de mercado más rápida y sencilla de nuevos
servicios y diferenciación de otros operadores.
Reduce los costos a través de un largo ciclo de vida de
móviles, la reducción de componentes, y software con
actualizaciones más rápidas de la estación base.
Capacidad de ofrecer a todos los usuarios el mismo
conjunto de funciones y servicios independientemente
del estándar utilizado.
Ayuda a lograr "acceso abierto" al proporcionar un
conjunto de APIs (Application Programming Interface /
Interfaz de Programación de Aplicaciones) claramente
definidos.
Ayuda a quitar el papel del "proveedor de servicio" a
partir del "proveedor de la red", lo cual puede crear
sustancialmente nuevas fuentes de recursos.
Provee interoperabilidad entre organizaciones de
seguridad públicas para encargarse de asuntos
relacionados con los diversos sistemas de radio.
Beneficios para los fabricantes:
El fabricar una plataforma común se cubren muchos
mercados, interfaces de aire digital y bandas de
frecuencias. Ofrece capacidad para expandir un nuevo y
adyacente mercado con soluciones de red común.
Un real uso de técnicas avanzadas para la utilización del
espectro radioeléctrico usando antenas inteligentes y
procesamiento de señales.
Permite una adición flexible de nuevas características y
de fácil adaptación para asociarse con ASPs (Active
Server Pages / Páginas Activas del Servidor) & ISPs
(Internet Service Provider / Proveedor de Servicios de
Internet) para realzar la fluidez de su ingreso.
Capacidad de mejorar los servicios, funciones y
mecanismos de seguridad.
Bajo costo del producto debido a la reducción de los
componentes.
Mayor rendimiento y menor consumo de energía para
las funciones avanzadas tales como video / gráficos en
tiempo real y aplicaciones.
La habilidad para absorber mercados adyacentes con
una misma plataforma que soporte diferentes interfaces
digitales de aire y bandas de frecuencia.
Permite que sobre el medio los productos y servicios se
mejoren – provee la habilidad para realzar, reprogramar
o reconfigurar dispositivos del usuario.
Permite sobre el medio ajuste de productos y mejora de
servicios.
Provee la habilidad para conseguir en parte una manera
fluida el acceso a Internet inalámbrico.
Se transfiere un software más cercano al hardware, por
consiguiente se incrementa su importancia.
Facilita el apoyo de todas las nuevas tecnologías
emergentes (WAP, Bluetooth) [1], [8].
- 117 -
VI. CONCLUSIONES
Como se ha visto existen diversas arquitecturas, todas
con un mismo objetivo, pero existen pequeñas diferencias
que pueden hacer más eficiente una de la otra, analizando
las diferentes arquitecturas anteriormente revisados
podemos concluir que la arquitectura del nodo cognitivo nos
proporciona un mayor control sobre los mecanismos de
actualización, aprendizaje, ejecución y confiabilidad del
radio cognitivo, ya que el software se puede actualizar de
una forma controlada e independiente de cada una de las
etapas que lo conforman, además de que se establece una
continua relación entre el RDS, el radio cognitivo y el motor
cognitivo, lo que ayudaría a el establecimiento de una
comunicación que permita un mayor control de los procesos
y solicitudes del usuario. Además de que se establece un
control de ontología más eficiente en cuestión de la
detección del ambiente y los parámetros que seguiría para su
reconfiguración lo que ayudara a un establecimiento más
efectivo del roaming mundial y a su mejor adaptación.
Por todo esto es importante el análisis de estas
arquitecturas para establecer en relación a los diferentes
parámetros y los posibles problemas que se pueden suscitar
que solución se tomaría en cada una de las diferentes
arquitecturas sin afectar las comunicaciones del usuario y de
las aplicaciones que llegue a solicitar, para asegurar que las
características que ofrece esta tecnología sean con una
arquitectura sólida y segura, se establezca en un verdadero
tiempo real, en un roaming mundial, y el usuario tenga la
seguridad de que su equipo no va a caer en la obsolescencia
y al contrario va a tener grandes beneficios en un dispositivo
universal.
VII. REFERENCIAS
[1] SDR forum, http://www.sdrforum.org/
[2] CRTWIRELESS, www.crtwireless.com
[3] Bin Le, G. Rodríguez Francisco A., “A Public Safety Cognitive Radio Node”, http://www.crtwireless.com/files/LeB_1.pdf
[4] Bin Le, W. Rondeau Thomas, “General Radio Interface Between
Cognitive Algorithms and Reconfigurable Radio Plataforms”, http://www.crtwireless.com/files/LeB_2.pdf
[5] Kuroda Masahiro, Ishizu Kentaro, “A Study of Radio-
Information Services for Networks of Cognitive Radios”, http://www.winlab.rutgers.edu/~wenyuan/sdr07/papers/Kuroda_
SDR.pdf
[6] Hüseyin Arslan, Hasari Celebi, “Software Defined Radio Architectures for Cognitive Radios”, Springer 2004
[7] Balamuralidhar P., Prasad Ramjee, “A Context Driven
Architecture for Cognitive Radio Nodes”, Springer Marzo 2008 [8] COGNITIVERADIO, www.cognitiveradio.wireless.vt.edu
VIII. BIOGRAFIAS
M. en C. David Vázquez Álvarez. Maestro
en Ciencias en Ingeniería de Telecomunicaciones en la SEPI ESIME IPN.
Actualmente es profesor Asociado “C” de la
Academia de Computación del Departamento de Ingeniería en Comunicaciones y
Electrónica en la ESIME IPN. Áreas de
Interés Actual: Fibras Ópticas, Radio Definido por Software, Radio Cognitivo, Sistemas de
Comunicaciones Móviles e Inalámbricas.
J. Vladimir Herrera Sánchez. Actualmente
es alumno de 9° semestre en la especialidad de
comunicaciones de la carrera de Ingeniería en
Comunicaciones y Electrónica de la ESIME
IPN. Áreas de Interés Actual: Radio Definido
por Software, Radio Cognitivo, Sistemas de Comunicaciones Móviles e Inalámbricas
M. en C. Gabriela Sánchez Meléndez. Maestra en Ciencias en Ingeniera de
Telecomunicaciones de la Sección de Estudios de Posgrado e Investigación del IPN.
Actualmente es Profesora Asociada de la
Escuela Superior de Ingeniería Mecánica y Eléctrica unidad Profesional Adolfo López
Mateos. Áreas de Interés: Fibras Ópticas,
Telecomunicaciones, Aplicaciones de Software.
___ Glosario
- 118 -
Glosario
1G
Sistemas de telefonía móvil terrestre de 1era
Generación
2G
Sistemas de telefonía móvil terrestre de 2da
Generación
2.5G
Sistemas de telefonía móvil terrestre de Generación 2.5
3G
Sistemas de telefonía móvil terrestre de 3ra
Generación
4G
Sistemas de telefonía móvil terrestre de 4ta
Generación
AMPS
Advanced Mobile Phone System / Sistema Telefónico Móvil Avanzado
API
Application Programming Interface / Interfaz de Programación de
Aplicación
ARQ
Acknowledgment Request / Solicitud de Confirmación
ASIC
Application Specific Integrated Circuits / Aplicación de Circuitos
Integrados Específicos
ASP
Active Server Pages / Páginas Activas de Servidor
BCH
Bose-Chaudhuri-Hocquenghem
BD
Base de Datos
BER
Binary Error Rate / Tasa de Error Binaria
Bluetooth
Bluetooth / Diente Azul
CAD
Convertidor Analógico a Digital
CAR
Cuerpo del Área de Red
CDA
Convertidor Digital a Analógico
CDMA
Code Division Multiple Access / Acceso Múltiple por División de
Código
DECT
Digital Enhanced Cordless Telecommunications / Telecomunicaciones
Inalámbricas Mejoradas Digitalmente
DSP
Digital Signal Processing / Procesamiento Digital de Señal
DSP´s
Digital Signal Processors / Procesadores Digital de Señales
DSPH
Digital Signal Processing of Hardware / Hardware de Procesamiento de
Señales Digitales
___ Glosario
- 119 -
DSPS
Digital Signal Processing of Software / Software de Procesamiento de
Señales Digitales
EB
Estación Base
EDACS
Enhanced Digital Access Communications System / Realce al Acceso a
Sistemas de Comunicación Digital
EDGE
Enhanced Data Rates for GSM Evolution / Tasa de Datos Mejoradas
para la Evolución de GSM
FDMA
Frequency Division Multiple Access / Acceso Múltiple por División de
Frecuencia
FEC
Forward Error Correction / Corrección de Errores Directa
FI
Frecuencia Intermedia
FPGA
Field Programable Gate Array / Arreglos de Compuertas de Campo
Programable
GPRS
General Packet Radio System / Sistema General de Paquetes por Radio
GPS
Global Positioning System / Sistema de Posicionamiento Global
GSM
Global System for Mobile Communications / Sistema Global para las
Comunicaciones Móviles
GSM GPRS
Global System for Mobile Communications General Packet Radio
System / Sistema Global para las Comunicaciones Móviles mediante el
Sistema General de Paquetes por Radio
HSCSD
High Speed Circuit Switched Data Service / Servicio de Datos de
Circuito Conmutado de Alta Velocidad
i-mode
Mobile Internet Service / Servicio de Internet Móvil
ISP
Internet Service Provider / Proveedor de Servicios de Internet
MAC
Medium Access Control / Control de Acceso al Medio
NAMTS
Nippon Advanced Mobile Telephone System / Sistema Telefónico Móvil
Avanzado Nipón
NMT
Nordic Mobile Telecommunications / Telefonía Móvil Nórdica
PDA
Personal Digital Assistant / Asistente Digital Personal
PDC
Personal Digital Cellular / Celular Digital Personal
___ Glosario
- 120 -
PHY
Physical Level / Nivel Físico
QoS
Quality of Service / Calidad de Servicio
RC
Radio Cognitivo
RCB
Reglas de Codificación Básica
RCPS
Radio Cognitivo Público y Seguro
RDS
Radio Definido por Software
RF
Radiofrecuencia
RS
Reed-Solomon
RSR
Relación Señal a Ruido
SDMA
Space Division Multiple Access / Acceso Múltiple por División de
Espacio
SMS
Short Message Service / Servicio de Mensajes Cortos
TACS
Total Access Communications System / Sistema de Comunicación de
Acceso Total
TDMA
Time Division Multiple Access / Acceso Múltiple por División de
Tiempo
TD-SCDMA
Time Division Synchronus Code Division Multiple Access /
Sincronización por División de Tiempo mediante el Acceso Múltiple por
División de Código
TM
Terminal Móvil
UBB
Unidad de Banda Base
UCT
Unidad de Control de Transmisión
UES
Unidad de Entrada / Salida
UFI
Unidad de Frecuencia Intermedia
UMTS
Universal Mobile Telecommunications System / Sistema Universal de
Telecomunicaciones Móviles
UPT
Unidad de Procesamiento de Temporización
URF
Unidad de Radiofrecuencia
___ Glosario
- 121 -
WAP
Wireless Application Protocol / Protocolo de Aplicaciones Inalámbricas
WCDMA
Wideband-Code Division Multiple Access / Acceso Múltiple por
División de Código de Banda Ancha
Wi-Fi
Wíreless-Fidelity / Fidelidad Inalámbrica / Red de Área Local Inalámbrica
Wi-Max
Worldwide Interoperability for Microwave Access / Interoperabilidad
Mundial para Acceso por Microondas
- 122 -
Bibliografía
[1] Sánchez Ortiz José Antonio, “Comunicaciones Móviles”, 1997,
http://www.monografias.com/especiales/comunicamov/
[2] “La Historia de la Telefonía Celular”,
http://www.detodounpocotv.com/aburrimiento/telefoniacelular.htm
[3] Martínez Martínez Evelio, “Telefonía Celular: 15 Años de Historia en México”, Marzo
2005,
http://eveliux.com/mx/index.php?option=com_content&task=view&id=60&Itemid=26
[4] Martínez José Manuel, “La Portabilidad Acelerará la Telefonía”, México Febrero 2008,
http://evdoplus.blogspot.com/2008_02_01_archive.html
[5] Klew Willy, “4G, La Cuarta Generación de Sistemas de Comunicación”, Noviembre
2007,
http://www.neoteo.com/tabid/54/ID/4706/Title/4G__la_Cuarta_Generacion_de_Sistema
s_de_Comunicacion/Default.aspx
[6] Roberto Emmanuel, “China hace las Primeras Pruebas Mundiales de Telefonía Móvil
4G”, Enero 2007, http://emgloindustrial.wordpress.com/2007/01/31/china-hace-las-
primeras-pruebas-mundiales-de-telefonia-movil-4g/
[7] “Evolución Histórica de las Comunicaciones Multimedia”,
http://www.telefonica.es/sociedaddelainformacion/pdf/publicaciones/telecommultimedia
/capitulos/02_evolucion_historica.pdf
[8] Walters Lourens O., Kritzinger PS, “Redes Celulares: Pasado, Presente y Futuro”,
Winter 2000, http://www.acm.org/crossroads/espanol/xrds7-2/cellular.html
[9] Sánchez Ortiz José Antonio, “Comunicaciones Móviles”, 1997,
http://www.monografias.com/especiales/comunicamov/index2.shtml
[10] Rappaport Ted, “Comunicaciones Inalámbricas”, Austin Texas 2004,
http://www.engr.utexas.edu/wep/COOL/Eng_adv/Spanish/@_Alcanze_de_tus_Dedos/ti
eto_about.htm
[11] González Sepúlveda Andrés Mauricio, “Comunicación Inalámbrica”, 1997,
http://www.monografias.com/trabajos16/comunicacion-inalambrica/comunicacion-
inalambrica.shtml
[12] Martínez Martínez Evelio, “Tecnologías de Comunicación Inalámbrica”, Noviembre
2002,
http://eveliux.com/mx/index.php?option=com_content&task=view&id=12&Itemid=26
[13] Montalvo Dana, “Tecnología Inalámbrica”, Quito Junio 2005,
http://www.tecniequipos.com/dana/index.htm
[14] Velásquez Pastrana Lourdes, “Bluetooth más que una Conexión Inalámbrica”, México
Octubre 2004, http://www.enterate.unam.mx/Articulos/2004/octubre/bluetooth.htm
[15] SDR forum, http://www.sdrforum.org/
[16] Estudillo Ramírez Jorge, “Integración de Redes y Protocolos con SDR”, Puebla
México, Julio 18, 2005, http://ccc.inaoep.mx/Reportes/CCC-05-004.pdf
[17] Proaño R. Enrique, “Transmisores de Radios Basados en Software”, Diciembre
1,2005,
http://clusterfie.epn.edu.ec/ibernal/html/CURSOS/Oct05Marzo06/Inalambricas/Trabaj
o1/TRaduccion/NewT5.doc
[18] H. Reed Jeffrey, “Software Radio: A Modern Approach to Radio Engineering”,
Prentice Hall PTR, New Jersey 2002
[19] Juárez José Luis, “Software Radio”, Madrid, España 2000,
http://www.maderkraft.com/software_radio.pdf
- 123 -
[20] Fernández de Villegas Fernando, “SDR, Equipos de Radio Definidos por Software”,
Revista QEX 2002, http://www.ea1uro.com/sdr.html
[21] Rosada Tamayo Jaime, “Receptor de Señales Definido por Software utilizando
Dispositivos FPGA”, Puerto Ordaz Junio, 2006,
http://www2.scielo.org.ve/scielo.php?script=sci_arttext&pid=S1316-
48212006000200006&lng=es&nrm=iso
[22] Revés X., Ferrús R., “Software Radio en entornos de Redes Móviles Heterogéneas”,
Universidad Poitécnica de Catalunya, 2005
http://w3.iec.csic.es/ursi/articulos_gandia_2005/articulos/SC3/268.pdf
[23] SDR forum, “Open-Source Referente Implementation Now Available For New
Software Defined Radio Technology”, New York, Mayo 6, 2002,
http://www.sdrforum.org/
[24] Ralston D. John and Chairman Vice, “SDR Forum Liaison Proposal to MExE”,
Febrero 2000, http://www.sdrforum.org/
[25] SDR forum, “Use Cases for Cognitive Applications in Public Safety Communications
Systems”, Noviembre 8, 2007,
http://www.sdrforum.org/pages/documentLibrary/documents/SDRF-07-P-0019-
V1_0_0.pdf
[26] Heather Zheng, “10 Tecnologías que Cambiaron al Mundo”, Technology Review
2006,
www.tempresas.cl/revista/edicion_07/pdf/054-065_Diez_tecnologias.pdf
[27] Urán Ramón, “Militares investigan Redes Inteligentes, Seguras e Inalámbricas”,
octubre 2, 2006,
www.spacio2.com/s2/index2.php?option=com_content&do_pdf=1&id=51
[28] Bin Le, G. Rodríguez Francisco A., “A Public Safety Cognitive Radio Node”,
http://www.crtwireless.com/files/LeB_1.pdf
[29] Bin Le, W. Rondeau Thomas, “General Radio Interface Between Cognitive
Algorithms and Reconfigurable Radio Plataforms”,
http://www.crtwireless.com/files/LeB_2.pdf
[30] Kuroda Masahiro, Ishizu Kentaro, “A Study of Radio-Information Services for
Networks of Cognitive Radios”,
http://www.winlab.rutgers.edu/~wenyuan/sdr07/papers/Kuroda_SDR.pdf
[31] Guerrero Ojeda Luis Gerardo, “Capítulo 3. Comunicación de Computadores y Control
de Errores”, Puebla México, Agosto 2008,
http://hosting.udlap.mx/profesores/luisg.guerrero/Cursos/IE445/Apuntesie445/capitulo
3home.htm
[32] “Introducción a los Códigos Correctores de Errores: Códigos y la Corrección de
Errores”, http://personales.mundivia.es/jtoledo/angel/error/error1.htm
[33] Departamento Teoría de la Señal y Comunicaciones, “Fundamentos de
Comunicaciones Digitales: Práctica 4 Códigos De Bloque”, Universidad de Vigo
2006, http://www.gts.tsc.uvigo.es/fcd/practicas/Practica4.pdf
[34] Alvarado Escamilla Raúl, “Códigos para Detección y Corrección de Errores en
Comunicaciones Digitales”, FIME-UANL Octubre-Dicimbre 2004,
ingenierias.uanl.mx/25/25_codigos.pdf
[35] Haykin Simon, “Sistemas de Comunicación”, McMaster University, Limusa Wiley,
1era
Edición, México, D.F 2000