Post on 21-Aug-2020
UNIVERSIDAD DE SEVILLA
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS
INGENIEROS DE TELECOMUNICACIÓN
PROYECTO FIN DE CARRERA
SIMULADOR 3D DE COMUNICACIONES VÍA
SATÉLITE
Departamento de Teoría de la Señal y Comunicaciones
Autor: Antonio Bernier Moreno Tutora: Susana Hornillo Mellado
A mi familia
Índice
3
ÍNDICE CAPÍTULO I – COMUNICACIONES VÍA SATÉLITE........................................... 6
I.1. Introducción ............................................................................................................. 7
I.2. Historia y desarrollo ................................................................................................ 7
I.2.1. Comienzo ............................................................................................................ 7 I.2.2. Satélites comerciales de comunicaciones............................................................ 9 I.2.3. Servicios ............................................................................................................ 10 I.2.4. Avances técnicos recientes................................................................................ 11
I.3. Elementos de un sistema de comunicaciones vía satélite.................................... 12
I.3.1. Satélite artificial ................................................................................................ 13 I.3.1.1. Tipos de satélites de comunicaciones......................................................... 14 I.3.1.2. Los satélites y sus órbitas ........................................................................... 14 I.3.1.3. Movimiento del satélite - Las leyes de Kepler........................................... 15
I.4. Localización del satélite (en su órbita)................................................................. 15 I.4.1. La órbita ........................................................................................................ 16 I.4.2. Posición del satélite en la órbita.................................................................... 18
I.4.3. Sistemas de coordenadas................................................................................... 19 I.4.3.1. Coordenadas orbitales ................................................................................ 19 I.4.3.1. Coordenadas inerciales............................................................................... 20 I.4.3.2. Coordenadas rotacionales........................................................................... 22
I.4.4. Ángulos de visión.............................................................................................. 24 I.4.4.1. Ángulo de elevación................................................................................... 26 I.4.4.2. Ángulo azimut ............................................................................................ 27
CAPÍTULO II – DESCRIPCIÓN DEL PROYECTO .............................................. 31
II.1. Descripción del proyecto...................................................................................... 32
II.2. Origen .................................................................................................................... 32
II.3. Características ...................................................................................................... 33
II.3.1. Modularidad..................................................................................................... 33 II.3.2. Funcionalidad................................................................................................... 34
II.4. Cambios ................................................................................................................. 35
II.5. Motor gráfico jMonkey Engine........................................................................... 37
II.5.1. Características .................................................................................................. 38 II.5.2. Estructura básica de una aplicación jME......................................................... 39 II.5.3. Elementos en la escena .................................................................................... 41
CAPÍTULO III – DESARROLLO DE LA APLICACIÓN ..................................... 46
III.1. Desarrollo de la aplicación ................................................................................. 47
III.2. Diagrama general................................................................................................ 47
4
III.3. Representación 3D .............................................................................................. 49
III.3.1. Escenario 3D................................................................................................... 50 III.3.1.1. En el interior de BasicSpace3D............................................................... 51 III.3.1.2. Sin clases no funciona ............................................................................. 53
III.3.2. Interfaz de usuario .......................................................................................... 60 III.3.2.1. En el interior de GestorGUI .................................................................... 61 III.3.2.2. Paneles ..................................................................................................... 62
III.4. Ayuda ................................................................................................................... 73 CAPÍTULO IV - MANUAL DEL SIMULADOR ..................................................... 74
IV.1. Instalación para Windows.................................................................................. 75
IV.2. Área de trabajo.................................................................................................... 75
IV.2.1. Ver el área de trabajo...................................................................................... 76 IV.2.2. Paneles de interacción con el usuario............................................................. 78
IV.2.2.1. Panel principal......................................................................................... 78 IV.2.2.2. Panel de escena........................................................................................ 79 IV.2.2.3. Panel de configuración ............................................................................ 80 IV.2.2.4. Panel análisis del radioenlace.................................................................. 80 IV.2.2.5. Panel de datos de órbitas ......................................................................... 84 IV.2.2.6. Panel de elementos .................................................................................. 86 IV.2.2.7. Panel de información............................................................................... 88
IV.3. Órbitas.................................................................................................................. 90
IV.3.1. Crear órbitas ................................................................................................... 90 IV.3.2. Representar órbitas ......................................................................................... 91
IV.3.2.1. Casos especiales ...................................................................................... 91 IV.3.3. Datos órbitas................................................................................................... 93 IV.3.4. Eliminar órbitas .............................................................................................. 93
IV.4. Satélites ................................................................................................................ 94
IV.4.1. Crear satélites ................................................................................................. 94 IV.4.2. Representar satélites ....................................................................................... 95 IV.4.3. Datos de satélites ............................................................................................ 96 IV.4.4. Localización de satélites desde la Tierra........................................................ 97
IV.4.4.1. Elevación................................................................................................. 97 IV.4.4.2. Azimut ..................................................................................................... 98
IV.4.5. Movimiento de satélites ................................................................................. 99 IV.4.6. Eliminar satélites ............................................................................................ 99
IV.5. Estudio del radioenlace....................................................................................... 99
IV.6. Solución de problemas ...................................................................................... 102
IV.6.1. No sucede nada al arrancar la aplicación. ................................................ 102 IV.6.2. Aparece mensaje de error al arrancar la aplicación.................................. 102 IV.6.3. Aparece una pantalla inicial de configuración pero al pulsar OK no ocurre nada....................................................................................................................... 102 IV.6.4. La aplicación arranca pero no se ve bien. ................................................ 103
5
CAPÍTULO V - PRUEBAS Y VALIDACIÓN DE RESULTADOS .................- 104 -
V.1. Introducción ........................................................................................................ 105
V.2. Pruebas ................................................................................................................ 105
V.2.1. Problema 1 ..................................................................................................... 105 V.2.2. Problema 2 ..................................................................................................... 108 V.2.3. Problema 3 ..................................................................................................... 109 V.2.4. Problema 4 ..................................................................................................... 110 V.2.5. Problema 5 ..................................................................................................... 115
CAPÍTULO VI - CONCLUSIONES Y LÍNEAS FUTURAS DE DESARROLLO ...... 121
VI.1. Conclusiones ...................................................................................................... 122
VI.2. Líneas futuras de desarrollo............................................................................. 123
REFERENCIAS ......................................................................................................... 125
CAPÍTULO I – COMUNICACIONES VÍA SATÉLITE
Comunicaciones vía satélite
7
I.1. Introducción
La mejor forma de comenzar este capítulo es definiendo lo que es una
comunicación vía satélite: Una comunicación vía satélite es cualquier tipo de
comunicación cuyo soporte es una nave espacial en órbita terrestre, capaz de cubrir
grandes distancias mediante la reflexión o repetición de señales de radiofrecuencia.
Expresado de otra manera en este tipo de comunicaciones, las ondas electromagnéticas
se transmiten gracias a la presencia en el espacio de satélites artificiales situados en
órbita alrededor de la Tierra.
I.2. Historia y desarrollo
I.2.1. Comienzo
Desde la aparición de las comunicaciones vía satélite el mundo de las
comunicaciones ha sufrido un importante cambio. Ofreciendo nuevas oportunidades y
servicios a una población con cada vez más necesidades de comunicación.
Si tenemos que poner una fecha y nombre para el comienzo de este sistema de
comunicación sería: 1929 con Hermann Noordung. Quien en su publicación “The
problem of Space Fligh” explicó a grandes rasgos el procedimiento para explorar el
espacio e introdujo el concepto de órbita geoestacionaria.
Establecidas las bases para las comunicaciones vía satélite la carrera por su
conquista estaba servida. De esta carrera cabe destacar el primer satélite artificial el
Sputnik I, lanzado por la URSS en 1957.
Los primeros satélites de comunicación estaban diseñados para funcionar en
modo pasivo. En vez de transmitir las señales de radio de una forma activa, se limitaban
a reflejar las emitidas desde las estaciones terrestres. Las señales se enviaban en todas
las direcciones para que pudieran captarse en cualquier punto del mundo. El Echo 1,
lanzado por los Estados Unidos en 1960, era un globo de plástico aluminizado de 30 m
de diámetro. El Echo 2, que se lanzó en 1964, tenía 41 m de diámetro. La capacidad de
Comunicaciones vía satélite
8
estos sistemas se veía seriamente limitada por la necesidad de utilizar emisoras muy
potentes y enormes antenas.
Las comunicaciones actuales vía satélite únicamente utilizan sistemas activos, en
los que cada satélite artificial lleva su propio equipo de recepción y emisión. Score,
lanzado por Estados Unidos en 1958, fue el primer satélite activo de comunicaciones y
uno de los primeros adelantos significativos en la exploración del espacio. Iba equipado
con una grabadora de cinta que almacenaba los mensajes recibidos al pasar sobre una
estación emisora terrestre, para volverlos a retransmitir al sobrevolar una estación
receptora. El Telstar 1, lanzado por la American Telephone and Telegraph Company en
1962, hizo posible la transmisión directa de televisión entre Estados Unidos, Europa y
Japón y era capaz de repetir varios cientos de canales de voz. Lanzado con una órbita
elíptica de 45° respecto del plano ecuatorial, Telstar sólo podía repetir señales entre dos
estaciones terrestres durante el breve espacio de tiempo durante cada revolución en el
que ambas estaciones estuvieran visibles.
En 1963 la NASA lanzó el primer satélite en órbita geosíncrona, el Syncom II, el cual
fue utilizado para la retransmisión de los juegos olímpicos de Tokio de 1964.
Actualmente hay cientos de satélites activos de comunicaciones en órbita.
Reciben las señales de una estación terrestre, las amplifican y las retransmiten con una
frecuencia distinta a otra estación. Cada banda de frecuencias utilizada, de un cierto
ancho de banda, se divide en canales repetidores de diferentes anchos de banda. La
asignación de las frecuencias para los distintos enlaces no es arbitraria, la más baja es
asignada siempre al enlace descendente, más crítico por la limitación de potencia de los
satélites, para que sufrir menos atenuaciones por las precipitaciones. Usualmente en el
caso de estaciones fijas (no móviles) se emplea un ancho de banda 500MHz y las
bandas ubicadas inicialmente en 6GHz ó 14 GHz para las transmisiones ascendentes y
en 4GHz ó 11 u 12GHz para las descendentes (pares 6/4, 14/11 y 14/12), y actualmente
debido a su congestión se están empleando la banda 30/20 GHz, sobre todo para dar
servicio de Internet a través de satélites geoestacionarios. En el caso de las estaciones
pequeñas móviles (barcos, vehículos y aviones) se utiliza una banda de 80 MHz de
anchura en los 1,5 GHz (ascendente y descendente). Las baterías solares montadas en
los grandes paneles de los satélites proporcionan la energía necesaria para la recepción y
la transmisión.
Comunicaciones vía satélite
9
I.2.2. Satélites comerciales de comunicaciones
El despliegue y la explotación comercial de los satélites de comunicaciones se
inició con la creación de la Communications Satellite Corporation (COMSAT) en 1963.
Al formarse la International Telecommunications Satellite Organization (INTELSAT)
en 1964, la COMSAT se convirtió en su miembro norteamericano. Con sede en
Washington, D.C., INTELSAT es propiedad de más de 120 países. El Intelsat 1,
también conocido como Early Bird, lanzado en 1965, proporcionaba 2.400 circuitos de
voz o un canal bidireccional de televisión entre Estados Unidos y Europa. Durante las
décadas de 1960 y 1970, la capacidad de mensajes y la potencia de transmisión de las
sucesivas generaciones del Intelsat 2, 3 y 4 fueron aumentando progresivamente al
limitar la emisión sólo hacia tierra y segmentar el espectro de emisión en unidades del
respondedor de una determinada anchura de banda. El primero de los Intelsat 4, puesto
en órbita en 1971, proporcionaba 4.000 circuitos de voz.
Con la serie Intelsat 5 (1980), se introdujo la tecnología de haces múltiples que
aportó un incremento adicional de la capacidad. Esto permitió concentrar la potencia del
satélite en pequeñas zonas de la Tierra, favoreciendo las estaciones de menor apertura y
coste económico. Un satélite Intelsat 5 puede soportar unos 12.000 circuitos de voz. Los
satélites Intelsat 6, que entraron en servicio 1989, pueden llevar 24.000 circuitos y
permiten la conmutación dinámica a bordo de la capacidad telefónica entre seis haces,
utilizando la técnica denominada SS-TDMA (Satellite-Switched Time Division
Multiple Access).
A principios de la década de 1990, INTELSAT tenía 15 satélites en órbita y
constituía el sistema de telecomunicaciones más extenso en el mundo. Hay otros
sistemas que ofrecen servicios internacionales en competencia con INTELSAT. El
crecimiento de los sistemas internacionales ha ido paralelo al de los sistemas nacionales
y regionales, como los programas Eutalsat y Telecom en Europa y Telstar, Galaxy y
Spacenet en Estados Unidos.
España se incorporó, al iniciarse la década de 1990, al club de los países con
sistemas propios, al lanzar al espacio los satélites Hispasat, que cuentan con 5 canales
Comunicaciones vía satélite
10
de TV y las señales de sonido asociadas, y una cobertura perfectamente adaptada al
territorio español. Ofrece el más amplio número de canales en español vía satélite y
contiene las últimas innovaciones tecnológicas, como la televisión digital y la televisión
de alta definición. Permite tanto la recepción individual como la colectiva y la recepción
mediante redes de cable (CATV).
En la actualidad, gracias a la posición de 30º Oeste en que está situado, cuenta
con la cobertura de dos grandes espacios, el servicio fijo Europa y el servicio América,
que cubre la totalidad del continente americano. Hispasat ofrece un cuadro de servicios
muy amplio, que incluye el alquiler de transponedores a largo plazo, servicios digitales
mediante sistemas de redes abiertas y cerradas, así como el alquiler de transponedores
completos a tiempo parcial.
En América Latina, algunos grupos empresariales con presencia internacional se
han asociado a compañías estadounidenses para la utilización de sistemas de satélites
propios. Tal es el caso del grupo Televisa (mexicano) que es propietario del 50% del
capital de Pan Am Sat, operadora de la serie PAS. El PAS 1 opera desde 1988 sobre el
océano Atlántico y el PAS 2 lo hace sobre el Pacífico a partir de 1994. En 1995 se
lanzaron otros dos satélites más sobre el Atlántico y el Índico, con lo que se ha logrado
alcanzar el 98% de la cobertura mundial, transmitiendo programas en español a través
del canal mexicano Galavisión.
I.2.3. Servicios
Los satélites comerciales ofrecen una amplia gama de servicios de
comunicaciones. Los programas de televisión se retransmiten internacionalmente, dando
lugar al fenómeno conocido como aldea global. Los satélites también envían programas
a sistemas de televisión por cable, así como a los hogares equipados con antenas
parabólicas. Además, los terminales de muy pequeña apertura (VSAT) retransmiten
señales digitales para un sinfín de servicios profesionales. Los satélites Intelsat llevan
ahora 100.000 circuitos de telefonía, y utilizan cada vez más la transmisión digital. Los
métodos de codificación digital han permitido reducir a una décima parte la frecuencia
de transmisión necesaria para soportar un canal de voz, aumentando en consecuencia la
Comunicaciones vía satélite
11
capacidad de la tecnología existente y reduciendo el tamaño de las estaciones terrestres
que proporcionan los servicios de telefonía.
La International Maritime Satellite Organization (INMARSAT), fundada en
1979, es una red móvil de telecomunicaciones que ofrece servicios de enlaces digitales
de datos, telefonía y transmisión de telecopia (fax) entre barcos, instalaciones en alta
mar y estaciones costeras en todo el mundo. También está ampliando los enlaces por
satélite para transmisión de voz y de fax en los aviones en rutas internacionales.
I.2.4. Avances técnicos recientes
Las comunicaciones por satélite han entrado en una fase de transición desde las
comunicaciones por líneas masivas punto a punto entre enormes y costosos terminales
terrestres hacia las comunicaciones multipunto a multipunto entre estaciones pequeñas y
económicas. El desarrollo de los métodos de acceso múltiple ha servido para acelerar y
facilitar esta transición. Con el TDMA, a cada estación terrestre se le asigna un intervalo
de tiempo en un mismo canal para transmitir sus comunicaciones; todas las demás
estaciones controlan estos intervalos y seleccionan aquellas comunicaciones que van
dirigidas a ellas. Mediante la amplificación de una única frecuencia portadora en cada
repetidor del satélite, TDMA garantiza la mejor utilización del suministro de energía a
bordo del satélite.
La técnica, denominada reutilización de energía, permite a los satélites
comunicarse con varias estaciones terrestres mediante una misma frecuencia, al
transmitir en pequeños haces dirigidos a cada una de ellas. La anchura de estos haces se
puede ajustar para cubrir zonas tan extensas como los Estados Unidos o tan reducidas
como un país del tamaño de Bélgica. Dos estaciones lo suficientemente distantes
pueden recibir mensajes diferentes transmitidos con la misma frecuencia. Las antenas de
los satélites están diseñadas para transmitir varios haces en diferentes direcciones
utilizando el mismo reflector.
En 1993 se experimentó un nuevo método de interconexión de estaciones
terrestres al lanzar la NASA su ACTS (Advanced Communications Technology
Comunicaciones vía satélite
12
Satellite). Esta técnica combina las ventajas de la reutilización de energía, los haces
puntuales y la TDMA. Mediante la concentración de la energía de la señal transmitida
por el satélite, ACTS puede utilizar estaciones terrestres con antenas más pequeñas y
menores necesidades de potencia.
El concepto de las comunicaciones de haz puntual múltiple quedó probado
satisfactoriamente en 1991 con el lanzamiento del Italsat, construido por el Consejo de
Investigaciones de Italia. Con seis haces puntuales a 30 GHz (ascendente) y 20 GHz
(descendente), este satélite interconecta transmisiones TDMA entre estaciones terrestres
en todas las grandes áreas empresariales de Italia. Para ello desmodula las señales
ascendentes, las canaliza entre los haces ascendentes y descendentes y las combina y
remodula para su transmisión descendente.
La red europea de comunicaciones por satélite incluye la red European
Communications Satellite (ECS) de la European Space Agency (ESA). Cada satélite
maneja 12.600 circuitos telefónicos y múltiples transmisiones de telecopia. El satélite
Olympus es el mayor satélite de comunicaciones estabilizado tridimensionalmente en
Europa y fue desarrollado principalmente por las compañías aerospaciales británicas.
La utilización de la tecnología láser en las comunicaciones por satélite ha sido
objeto de estudio durante más de diez años. Los haces láser se pueden usar para
transmitir señales entre un satélite y la estación terrestre, pero el nivel de transmisión se
ve limitado a causa de la absorción y dispersión por la atmósfera. Se han utilizado
láseres en la longitud de onda azul-verde, capaz de traspasar el agua, para las
comunicaciones entre satélites y submarinos.
I.3. Elementos de un sistema de comunicaciones vía satélite
Un sistema de comunicaciones por satélite consta básicamente de los
siguientes elementos:
• Un satélite o conjunto de satélites que constituyen el elemento principal, pues
son los encargados de establecer la comunicación entre el emisor y receptor.
Comunicaciones vía satélite
13
• El centro de control, que vigila el funcionamiento correcto de los satélites.
• Estaciones terrestres (emisoras y receptoras), con antenas adecuadas para
emitir y recibir señales transmitidas.
I.3.1. Satélite artificial
Los satélites artificiales se utilizan para múltiples tareas:
• Satélites de telecomunicaciones: estos satélites se utilizan para transmitir
información de un punto a otro de la Tierra, en particular, comunicaciones
telefónicas, datos o programas televisados. Estos últimos se difunden
principalmente por la flota Eutelsat (Hot-Bird, Atlantic BIRD 3, W1,2,3...) y la
flota SUS -Sociedad Europea de Satélites- (Astra 1 y 2).
• Satélites de observación terrestre: estos satélites observan la Tierra, con un
objetivo científico o militar. El espectro de observación es extenso: óptico,
radar, infrarrojo, ultravioleta, escucha de señales radioeléctricas... Entre éstos se
encuentran los satélites Spot, LandSat, Feng Yun.
• Satélites de observación espacial: estos satélites observan el espacio con un
objetivo científico. Se trata en realidad de telescopios en órbita. En estos
satélites el espectro de observación también es amplio. El telescopio espacial
Hubble es un satélite de observación espacial.
• Satélites de localización: estos satélites permiten conocer la posición de objetos
a la superficie de la Tierra. Por ejemplo, el sistema americano GPS, el sistema
ruso GLONASS o el futuro sistema europeo Galileo.
• Estaciones espaciales: estos satélites están destinados a estar habitados por el
ser humano, con un objetivo científico. Entre estos se encuentra la Estación
Espacial Internacional, que está en órbita desde 1998 y habitada
permanentemente desde 2002. Otras estaciones espaciales desaparecidas son las
rusas Salyut y Mir y la estación estadounidense Skylab.
• Sondas espaciales: Una sonda espacial está destinada a observar otro cuerpo
celeste y por lo tanto debe estar en condiciones de desplazarse.
Los satélites que ahora nos interesan son los satélites de comunicaciones.
Comunicaciones vía satélite
14
I.3.1.1. Tipos de satélites de comunicaciones
Un satélite actúa básicamente como un repetidor situado en el espacio: recibe las
señales enviadas desde la estación terrestre y las reemite a otro satélite o de vuelta a los
receptores terrestres en la frecuencia adecuada. Es posible distinguir dos tipos de
satélites de comunicaciones:
• Satélites regenerativos. Procesan la señal en banda base, requiriendo un proceso
de demodulación y modulación. Ello permite la separación y adición de los
contenidos en baja frecuencia y la posibilidad de detección y corrección de
errores.
• Satélites transparentes. Carecen de ningún procesado de la señal, solo la
amplifican y retransmiten.
I.3.1.2. Los satélites y sus órbitas
Los satélites son puestos en órbita mediante cohetes espaciales que los sitúan
circundando la Tierra a distancias relativamente cercanas fuera de la atmósfera. Los
tipos de satélites según sus órbitas son:
• Satélites LEO (Low Earth Orbit, que significa órbitas bajas) Orbitan la Tierra a
una distancia de 1000 Km. y su velocidad les permite dar una vuelta al mundo
en dos horas. Se usan para proporcionar datos geológicos sobre movimiento de
placas terrestres y para la industria de la telefonía satélite.
• Satélites MEO (Medium Herat Orbit, órbitas medias). Son satélites que se
mueven en órbitas medianamente cercanas, de unos 10.000 Km. Su uso se
destina a comunicaciones de telefonía y televisión, y a las mediciones de
experimentos espaciales.
• Satélites HEO (Highly Elliptical Orbit, órbitas muy elípticas). Estos satélites no
siguen una órbita circular, sino que su órbita es elíptica. Esto supone que
alcanzan distancias mucho mayores en el punto de órbita más alejada. A menudo
se utilizan para cartografiar la superficie de la Tierra, ya que pueden detectar un
gran ángulo de superficie terrestre.
Comunicaciones vía satélite
15
• Satélites GEO. Tienen una velocidad de traslación igual a la velocidad de
rotación de la Tierra, lo que supone que se encuentren suspendidos sobre un
mismo punto del globo terrestre. Por eso se llaman satélites geoestacionarios.
Para que la Tierra y el satélite igualen sus velocidades es necesario que este
último se encuentre a una distancia fija de 35.800 Km. sobre el ecuador. Se
destinan a emisiones de televisión y de telefonía, a la transmisión de datos a
larga distancia, y a la detección y difusión de datos meteorológicos.
I.3.1.3. Movimiento del satélite - Las leyes de Kepler
Las características del movimiento de un satélite artificial esta fundamentadas por
las leyes de Kepler.
1. “La órbita del satélite es elíptica”. Cuando la excentricidad es cero, la órbita es
circular.
2. “Áreas iguales son barridas en tiempos iguales”.
3. “El tiempo que tarda un satélite en recorrer su órbita sólo depende del semieje
mayor de la órbita”.
Como consecuencia de la tercera ley se deduce que el tiempo T que tardar un satélite (u
otro objeto) en completar su órbita (período orbital) viene dada por la siguiente
ecuación: 3
2
1 2
2 aT πμ
= (I.3.1.3.1)
Donde µ es la constate de Kepler. ( 5 3 23.986 10 /km sμ = × )
I.4. Localización del satélite (en su órbita)
En general las órbitas de los satélites de comunicaciones son elipses definidas en
el plano orbital1 Dichas elipses cumple la ecuación:
1 Plano orbital es el plano sobre el que descansa la elipse de una órbita.
Comunicaciones vía satélite
16
0
2
0 cos1)1(θe
ear+
−= (I.4.1)
Siendo e la excentricidad y a el semieje mayor.
El valor de ro es máximo para 0θ π= , este valor corresponde cuando el satélite está
situado en el apogeo de la órbita (el punto más alejado a la Tierra) y el mínimo para
0 0θ = correspondiente al perigeo (punto más cercano).
Veamos una representación de esta situación en la siguiente gráfica:
C: Centro de la elipse O: Tierra Figura I.4.1. Órbita situada sobre plano ecuatorial
I.4.1. La órbita A continuación se definen las cantidades que describen la órbita de un satélite en el
espacio:
• La inclinación orbital (i), es el ángulo que el plano de la órbita del satélite
forma con el plano ecuatorial.
• La ascensión recta del nodo ascendente (Ω ) es el ángulo medido en el centro
de la tierra desde el equinoccio vernal (punto de referencia) al nodo ascendente.
Siendo el nodo ascendente el punto donde la órbita atraviesa al plano ecuatorial
de Sur a Norte.
• El argumento del perigeo (ω ) es el ángulo medido con signo positivo desde el
nodo ascendente al perigeo.
Comunicaciones vía satélite
17
• El semieje mayor (a) de la elipse es la mitad del diámetro más largo. Al semieje
menor se le suele denotar por b.
• La excentricidad (e) es un parámetro que determina el grado de desviación de
una sección cónica con respecto a una circunferencia. Es un parámetro
importante en la definición de las elipses.
La excentricidad e de una elipse de semieje mayor a y semieje menor b es:
2
21 bea
= − (I.4.1.1)
La órbita de un satélite es una elipse y la excentricidad nos indica su "forma".
Cuando el valor de e = 0 la elipse es un círculo. Si ese valor se acerca a 1
tendremos una elipse más alargada y delgada.
• El tiempo de paso por el perigeo (tp).
Otro valor de interés es el período de la órbita.
γ : Punto vernal, une los centros de la Tierra y el Sol en el equinoccio de primavera (21 Marzo) θ : Anomalía verdadera (se verá en el siguiente apartado)
Figura 1.4.1.1. Parámetros orbitales
Comunicaciones vía satélite
18
I.4.2. Posición del satélite en la órbita
Conocida la órbita del satélite ahora debemos situarlo dentro de la misma, para
ello necesitamos las siguientes cantidades conocidas como anomalías:
Anomalía verdadera (θ ). Este ángulo se mide desde el perigeo y en el sentido de las
agujas del reloj. Por tanto toma valor 0 cuando el satélite está sobre el perigeo y π si
está en el apogeo.
Anomalía excéntrica (E). Este ángulo es el argumento de la imagen en el mapeado que
transforma la trayectoria elíptica en su círculo principal y se mide respecto al centro de
la orbita. Cuando la órbita es circular (e=0), dicho ángulo coincide con la anomalía
verdadera tal y como se puede comprobar en la ecuación siguiente:
( )( )Ee
eEcos1
coscos 0 −−
=θ (I.4.2.1)
Anomalía media (M). Este ángulo se define como la anomalía verdadera de un satélite
que describe una órbita circular con el mismo periodo T. Su ecuación es:
)( pttM −=η (I.4.2.2)
Siendo η la velocidad angular que se define como la velocidad que tendría el satélite
si se moviera siguiendo una trayectoria circular uniforme de periodo T y se expresa tal
como se indica en la siguiente ecuación:
aaTμπη 12
== (I.4.2.3)
M y E se relacionan a través de la siguiente ecuación:
senEeEM ⋅−= (I.4.2.4)
A modo de resumen recordar que a partir del conocimiento de los parámetros a,
e, i, Ω y ω es posible identificar la órbita del satélite en el espacio. Para definir el
movimiento del satélite dentro de su trayectoria necesitaremos además una de las
anomalías (θ , E ó M).
Comunicaciones vía satélite
19
I.4.3. Sistemas de coordenadas
La posición del satélite puede ser expresada de diferente manera en función del
sistema de coordenadas empleado. Así si deseamos indicar la posición del satélite en un
punto de la órbita sobre el plano orbital emplearemos las coordenadas orbitales para
localizar al satélite desde un punto de la superficie de la Tierra emplearemos las
coordenadas rotacionales e inerciales.
A continuación se describen estos sistemas de coordenadas ya que son parte de
los resultados que podemos obtener con nuestra aplicación.
I.4.3.1. Coordenadas orbitales
Este tipo de coordenadas (denotadas con el subíndice o) indican la posición del
satélite en un punto de su órbita sobre el plano orbital. Su origen se sitúa en el centro de
la Tierra y el plano xy coincidiendo con el plano orbital. La importancia de este sistema
radica en que es el primer paso a seguir para el cálculo de coordenadas más útiles.
Figura. I.4.3.1. Coordenadas orbitales .
A partir del conocimiento de los parámetros orbitales es posible obtener las
coordenadas orbitales de un satélite. A continuación se describen los pasos a seguir (los
Órbita
Tierra
N yo
z0
x0
y0
z0
x0
r0
θ0
Figura. I.4.3.2. Coordenadas orbitales (polares), el papel coincide con el plano orbital.
Comunicaciones vía satélite
20
mismos que realiza la aplicación de este proyecto) suponiendo conocidos los parámetros
a, e y tp :
1. Calcular de η a partir de la ecuación (I.4.2.3)
2. Obtener M empleando (I.4.2.2)
3. Despejar E de la ecuación (I.4.2.4) empleando método de prueba y error.
4. Calcular las coordenadas en polares ro empleando la siguiente ecuación:
0 (1 cos )r a e E= − (I.4.2.5)
Empleando 1.3.1 y despejando θ 2
10
0
(1 ) 1cosr
a ee e
θ − ⎛ ⎞−= −⎜ ⎟
⎝ ⎠ (I.4.2.6)
Así hemos obtenido las coordenadas orbitales en polares 0 0( , )r θ .
5. A partir de las coordenadas orbitales en polares 0 0( , )r θ , obtener las coordenadas
orbitales en cartesianas empleando:
0 0 0
0 0 0
0
cossin
0
x ry rz
θθ
===
(I.4.2.7)
I.4.3.1. Coordenadas inerciales
Estas coordenadas (denotadas con el subíndice i) se mueven con la Tierra pero
no rota con ella. De nuevo el origen de coordenadas es el centro de la Tierra y sus ejes
se definen como se indica a continuación:
xi : Apunta al punto vernal, es decir, une los centros de la Tierra y el Sol en el equinoccio de primavera (21 de marzo). Este eje por lo tanto no va a rotar con la Tierra, es fijo. yi: Perpendicular a xi , forma con éste el plano ecuatorial. zi: Coincide con el eje de rotación de la Tierra, es decir apunta al polo Norte.
Partiendo del sistema de coordenadas orbital es necesario hacer una serie de
transformaciones: tres giros, uno por cada eje.
Comunicaciones vía satélite
21
Figura. I.4.3.1.1. Giros a realizar en los ejes.
Transformaciones
1. Girar sobre el eje z0 un ángulo ω (argumento perigeo), para situarlo sobre el
nodo ascendente.
01
1 0
1 0
cos sin 0sin cos 0
0 0 1
xxy yz z
ω ωω ω
− ⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥= ⋅ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦ ⎣ ⎦
(I.4.3.1.1)
2. Girar sobre el eje x0 un ángulo i (ángulo de inclinación), para hacer coincidir z0
y zi , esto se consigue al multiplicar el vector resultante anterior (v1) por la
siguiente matriz:
2 1
2 1
2 1
1 0 00 cos sin0 sin cos
x xy i i y
i iz z
⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥= − ⋅⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦⎣ ⎦ ⎣ ⎦
(I.4.3.1.2)
3. Girar sobre z0 un ángulo Ω (ángulo de ascensión recta) para hacer coincidir x0 e
xi.
z0
xi
zi y0
yi
Ω
ω
Perigeo
i
Nodo ascendente
x0
Comunicaciones vía satélite
22
2
2
2
cos sin 0sin cos 0
0 0 1
i
i
i
x xy y
zz
Ω − Ω⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥= Ω Ω ⋅⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦
(I.4.3.1.3)
El resultado de estas transformaciones es el sistema de coordenadas inercial (xi,
yi, zi) buscado.
I.4.3.2. Coordenadas rotacionales
Estas coordenadas (denotadas con el subíndice r) se mueven y rotan con la
Tierra, por lo que para un observador situado en la Tierra es un sistema fijo. El origen
de coordenadas para este sistema es el centro de la Tierra, mientras que los distintos
ejes corresponden con:
xr: Apunta continuamente al meridiano de Greenwich, es decir, vamos a
encontrar este eje en la intersección del ecuador con este meridiano.
yr: Perpendicular a xr , forma con éste el plano ecuatorial.
zr: Coincide con el eje de rotación de la Tierra, es decir apunta al polo Norte y
coincide con el eje zi.
Partiendo del sistema de coordenadas inercial es necesario hacer una transformación: un
giro.
Figura 1.3.1.5 Giro para obtener las coordenadas rotacionales.
Ωe
Meridiano de Greenwich
xr
yr
zr
z
xi
yi
Comunicaciones vía satélite
23
Transformación
Realizar un giro de e eTΩ .
cos( ) sin( ) 0sin( ) cos( ) 0
0 0 1
ir e e e e
r e e e e i
r i
xx T Ty T T yz z
Ω Ω ⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥= − Ω Ω ⋅ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦ ⎣ ⎦
(I.4.3.2.1)
eΩ es la velocidad de rotación de la Tierra en radianes/segundos.
eT es el tiempo en segundos desde que xi y xr coincidieron por última vez.
e eTΩ se halla empleando la siguiente expresión:
10 0.25068447e e gT tαΩ = + (I.4.3.2.2)
t es el tiempo en minutos desde las 00:00 horas medidas en tiempo
universal.
10gα es el ángulo de ascensión recta del meridiano de Greenwich, medido
en grados y se calcula: 2
10 99.6909833 36000.7689 0.00038708g c cT Tα = + + (I.4.3.2.3)
Tc es el número de siglos julianos y para calcularlos se utiliza la
siguiente expresión:
241502036525c
JDT −= (I.4.3.2.4)
JD es el número de días julianos que han pasado desde el día juliano cero
hasta que se tomaron los datos a los que nos referimos. Este día se
corresponde con el 1 de enero del año 4713 a.C. a las 12:00 horas.
Así pues calculando JD y conocido t se obtiene el giro necesario para pasar de
coordenadas inerciales a rotacionales.
Comunicaciones vía satélite
24
I.4.4. Ángulos de visión
Con este nombre se conocen los ángulos necesarios para orientar la antena de
nuestra estación terrena en la dirección correcta hacia el satélite que deseamos. Los
ángulos especificados son dos: el ángulo de elevación (El) y el ángulo de azimut (Az).
Figura. I.4.4.1 Elevación y azimut.
Punto subsatelital Para el cálculo de estos ángulos se recurre a la longitud y latitud del punto
subsatelital (PS). Este es el punto que resulta de la intersección de la línea que une el
centro de la Tierra y el satélite con la superficie terrestre.
Comunicaciones vía satélite
25
Longitud y latitud del PS
Figura I.4.4.2.
• La latitud del PS (Ls) se calcula empleando la siguiente expresión, empleando
coordenadas rotacionales:
2 2 290º arccos r
s
r r r
zLx y z
⎛ ⎞⎜ ⎟= −⎜ ⎟+ +⎝ ⎠
(I.4.4.1)
• La longitud del PS (ls) se calcula empleando las siguientes expresiones que
tienen en cuenta el cuadrante en el que se encuentra el PS.
arctan 1
180 arctan 2º
90 arctan 3
arctan 4º
err
r
r
rs
err
r
r
r
y cuadrantex
y cuadrantex
lx cuadrantey
ycuadrante
x
⎧ ⎛ ⎞−⎪ ⎜ ⎟
⎝ ⎠⎪⎪ ⎛ ⎞⎪ + ⎜ ⎟⎜ ⎟⎪ ⎝ ⎠⎪= ⎨
⎛ ⎞⎪ + ⎜ ⎟⎪ ⎜ ⎟⎝ ⎠⎪
⎪ ⎛ ⎞⎪ ⎜ ⎟⎪ ⎝ ⎠⎩
(I.4.4.2)
Comunicaciones vía satélite
26
Figura. I.4.4.3. Cuadrantes para el cálculo del PS.
I.4.4.1. Ángulo de elevación
El ángulo de elevación (El) se define como el ángulo formado entre el plano
horizontal local de la estación terrena y la dirección del satélite como se puede observar
en las figuras I.4.4.1 e I.4.4.4.
Fig. I.4.4.4. Parámetros para el cálculo de El
Observando la figura anterior es posible identificar otros parámetros que se emplean
para el cálculo de El.
xr
yr
zr
1er cuadrante2º cuadrante
3er cuadrante 4º cuadrante
Comunicaciones vía satélite
27
- El plano horizonte local es el plano tangente a la superficie terrestre y está
formado por los ejes que apuntan al Norte y al Este.
- Rt: Radio terrestre (Rt=6370 Km.).
- rs: La distancia entre el centro de la Tierra y el satélite. Se calcula empleando
coordenadas rotacionales con la siguiente expresión:
2 2 2s r r rr x y z= + + (I.4.4.3)
- γ: Ángulo central. Se obtiene a partir de la latitud y longitud de la estación
terrena y PS.
arccos(cos cos cos( ) sin sin )e s e s e sL L l l L Lγ = − + (I.4.4.4)
- d: La distancia entre la estación terrena y el satélite
2
1 2 cost ts
s s
R Rd rr r
γ⎛ ⎞ ⎛ ⎞
= + −⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠
(I.4.4.5)
Con esos datos es posible calcular el ángulo de elevación:
sincos srEl ardγ⎛ ⎞= ⎜ ⎟
⎝ ⎠ (I.4.4.6)
Relacionado con El se define el ángulo de visión ( sα ), que indica la visibilidad
que hay desde el satélite. Para obtenerlo basta con aplicar la siguiente expresión:
arcsin costs
s
R Elr
α⎛ ⎞
= ⎜ ⎟⎝ ⎠
(I.4.4.7)
I.4.4.2. Ángulo azimut
El ángulo azimut (Az) es el ángulo medido, en dirección Este, entre la línea
que une la estación terrena con el norte geográfico y la línea que une la estación terrena
con el punto subsatelital. Ver figura I.4.4.1. Este ángulo se mide respecto a la estación
terrena desde la dirección Norte y en sentido Este hasta la línea que une la estación
terrena con el punto subsatelital.
El cálculo del azimut depende de la posición de la estación terrena y el punto
subsatelital. Para hacer referencia a estas posiciones se definen dos puntos A y B que
Comunicaciones vía satélite
28
cumplen |LB| > |LA|. La estación terrena y el punto subsatelital se identifican con uno de
estos puntos de forma que cumplan la relación anterior.
Además de identificar los puntos A y B se emplean tres ángulos intermedios
para el cálculo del azimut. Estos ángulos denotados como X, Y y C se muestran en la
siguiente figura:
Figura I.4.4.2.1. Azimut y ángulos X, Y y C.
Para los siguientes cálculos se emplean la posición (latitud y longitud) de los
puntos A y B y se denotados como LA, LB, lA y lB.
Cálculo de C, X e Y
El ángulo C se halla con las siguientes ecuaciones:
A BC l l= − si 180ºA Bl l− ≤ (I.4.4.2.1)
360 A BC l l= − − si 180ºA Bl l− ≥ (I.4.4.2.2)
Para los ángulos X e Y hay que distinguir dos casos:
Comunicaciones vía satélite
29
(1) Si al menos uno de los puntos A o B está en el hemisferio Norte:
( )( )
( )
1cot sin1 2 2tan
12 cos2
B A
B A
C L LY X
L L
⎛ ⎞ ⎛ ⎞−⎜ ⎟ ⎜ ⎟⎛ ⎞ ⎝ ⎠ ⎝ ⎠− =⎜ ⎟ ⎛ ⎞⎝ ⎠ +⎜ ⎟⎝ ⎠
(I.4.4.2.3)
( )( )
( )
1cot cos1 2 2tan
12 sin2
B A
B A
C L LY X
L L
⎛ ⎞ ⎛ ⎞−⎜ ⎟ ⎜ ⎟⎛ ⎞ ⎝ ⎠ ⎝ ⎠− =⎜ ⎟ ⎛ ⎞⎝ ⎠ +⎜ ⎟⎝ ⎠
(I.4.4.2.4)
(2) Si ambos puntos A y B están en el hemisferio Sur:
( )( )
( )
1cot sin1 2 2tan
12 cos2
B A
B A
C L LY X
L L
⎛ ⎞ ⎛ ⎞−⎜ ⎟ ⎜ ⎟⎛ ⎞ ⎝ ⎠ ⎝ ⎠− =⎜ ⎟ ⎛ ⎞⎝ ⎠ +⎜ ⎟⎝ ⎠
(I.4.4.2.5)
( )( )
( )
1cot cos1 2 2tan
12 cos2
B A
B A
C L LY X
L L
⎛ ⎞ ⎛ ⎞−⎜ ⎟ ⎜ ⎟⎛ ⎞ ⎝ ⎠ ⎝ ⎠− =⎜ ⎟ ⎛ ⎞⎝ ⎠ +⎜ ⎟⎝ ⎠
(I.4.4.2.6)
Los ángulos X e Y se obtienen aplicando las siguientes relaciones, tras la
obtención de los argumentos en las ecuaciones anteriores:
( ) ( )1 12 2
X Y X Y X= + − − (I.4.4.2.7)
( ) ( )1 12 2
Y Y X Y X= + + − (I.4.4.2.8)
Ahora sólo falta acudir a la siguiente tabla donde aparecen resumidas todas las
posibilidades de situación de estación terrena y punto subsatelital y elegir la opción
adecuada para calcular el Azimut.
Comunicaciones vía satélite
30
Punto Subsatelital
PS
Estación terrena
ET Relación Azimut (º)
360º – Y (1) A B PS al Oeste de la ET
180º + Y (2)
360º – X (1) B A PS al Oeste de la ET
180º + X (2)
Y (1) A B ET al Oeste de PS
180º – Y (2)
X (1) B A ET al Oeste de PS
180º – X (2)
(1) Al menos un punto en el hemisferio Norte.
(2) Ambos en el hemisferio Sur.
CAPÍTULO II – DESCRIPCIÓN DEL PROYECTO
Descripción del proyecto
32
II.1. Descripción del proyecto
Se trata de una aplicación interactiva que simula el movimiento de satélites
artificiales alrededor de la Tierra y calcula información relevante de los radioenlaces.
Este programa está escrito en Java y basado en el motor gráfico gratuito jMonkey
Engine (jME). Debido a la anterior elección presenta todas las propiedades inherentes al
software libre escrito en java, características que hacen que se trate entre otras cosas de
una aplicación multiplataforma y susceptible de ser modificada libremente por los
usuarios.
Esta aplicación proporciona un escenario en tres dimensiones donde poder
representar los elementos básicos de un sistema de comunicaciones vía satélite, ajustar
una serie de parámetros para definir nuestro sistema de comunicación, poder visualizar
la información de estos elementos y además proporciona herramientas para analizar los
enlaces de este tipo de comunicaciones.
II.2. Origen
Con el propósito de utilizarse como material de apoyo para una mejor
comprensión de los conceptos involucrados en las comunicaciones vía satélite surge la
idea original de este proyecto. Siguiendo con su propósito original y como resultado de
la evolución de dos proyectos anteriores:
- “Simulador básico de comunicaciones por satélite” de Santiago Mediana
Martínez
- “Simulador de comunicaciones por satélite” de Eva María Rodríguez Martín
Se llega al proyecto actual: “Simulador 3D de comunicaciones vía satélite” evolución
lógica de los anteriores.
Descripción del proyecto
33
II.3. Características
Como principal característica es el empleo de nuevas herramientas para su
desarrollo, en este caso el motor gráfico jMonkey Engine (jME). El empleo de dicho
motor es el responsable de toda la apariencia y potencia a la hora de la representación de
los escenarios en 3 dimensiones (3D).
Como novedades respecto a los proyectos anteriores además del paso a 3
dimensiones es el profundo cambio en cuanto a la filosofía de funcionamiento de la
aplicación. Su desarrollo se ha orientado hacia facilitar la interacción con el usuario,
minimizándose el número de elementos visibles en pantalla siempre buscando un
manejo intuitivo empleando pocos pasos.
II.3.1. Modularidad
Con el objetivo de separar las partes no relacionadas para un mejor
desarrollo de la aplicación y su posterior tratamiento ya sea para modificar o
añadir nuevas funcionalidades se ha dividido la aplicación en 3 módulos
claramente diferenciados.
1. Módulo de representación 3D
2. Módulo de estudio del radioenlace
3. Ayuda
Esta división obedece a características inherentes a cada parte: parte 3D,
parte 2D y ayuda en formato HTML.
En el primer módulo es donde se simula el espacio 3D donde añadir las
órbitas, satélites y estaciones terrenas que conforma el sistema de
comunicaciones que se desea estudiar.
En el segundo se realizan los cálculos y representaciones para la obtención
de los principales parámetros que caracterizan un radioenlace vía satélite.
El tercero es la ayuda de la aplicación.
Descripción del proyecto
34
II.3.2. Funcionalidad
De forma muy esquemática y manteniendo la separación en tres módulos
antes descrita se enumeran a continuación las funciones que realiza esta
aplicación:
Representación 3D
- Representación de elementos:
- Tierra
- Órbitas sin satélites
- Órbitas con varios satélites
- Estaciones terrenas asociadas a satélites
- Planos orbitales
- Elevación y azimut
- Movimiento de satélites
- Perigeo
- Proporciona información de los elementos del sistema de comunicaciones:
- Sobre orbitas:
Tipo de orbita, semieje mayor, excentricidad, inclinación,
argumento de perigeo, ascensión recta.
- Sobre satélites:
Coordenadas orbitales, inerciales y rotacionales, anomalía media.
- Sobre estaciones:
Latitud, longitud, elevación y azimut para una antena orientada
hacia un satélite dado.
- Sobre puntos subsatelitales:
Latitud, longitud.
Análisis radioenlace - Calculo de potencias transmitida y recibida
- Cálculo de pérdidas
- Representación gráficamente de:
Descripción del proyecto
35
- Potencia recibida en función de la frecuencia, directividad y
distancia.
- Relación portadora a ruido frente a frecuencia, ancho de banda y
temperatura.
Ayuda
Manual en formato HTML para el manejo de la aplicación.
II.4. Cambios
A continuación se enumeran las principales novedades y cambios respecto a las
versiones anteriores.
• Nuevo entorno de trabajo
Ahora la base de la aplicación es un escenario 3D por lo que ha sufrido
un rediseño total y profundo. Presenta una interfaz unificada para la
representación de órbitas, ángulos de visión y movimiento de satélites.
En la escena 3D se dispone de una serie de paneles empleados para
introducir, modificar, seleccionar y/o ver datos de los distintos elementos que se
desee. Estos paneles presentan un aspecto sencillo en pro de simplificar su uso.
Además se han dotado de la suficiente potencia para conseguir descargar al
usuario de tareas como comprobar si se han introducido todos los datos
necesarios y si son válidos.
Además del nuevo entorno 3D el apartado 2D de análisis del radioenlace
también ha sufrido un cambio tanto de aspecto como en la forma de interactuar.
Las múltiples ventanas que aparecían en versiones anteriores para configurar las
pérdidas de los radioenlaces y que obligaba al usuario a repetitivas pulsaciones
para la introducción de los datos, ha sido sustituida por un sencillo panel desde
el cual es posible acceder a toda esa información. Los resultados del cálculo de
balance y relación C/N se presentan de forma más útil y sobria, ahora en los
resultados se recortan las cifras decimales mostradas a un máximo de cuatro,
evitando mostrar largas cifras sin sentido. Aunque lo más destacado es la nueva
Descripción del proyecto
36
herramienta de representación gráfica. Ahora más dinámica y potente, con
errores de representación corregidos y con la que es posible interactuar
(seleccionar, realizar zoom, etc.).
• Recursos
Minimización del consumo de recursos de CPU. En contra de lo que se
podría imaginar esta aplicación apenas consume más recursos que sus versiones
predecesoras. Esto es debido a una optimización de sus algoritmos y al empleo
de OpenGL.
• Nuevas funcionalidades
Las más importantes son:
- Representación 3D de las orbitas y simulación del movimiento de los satélites.
- Representación de la Tierra con textura y simulación de su movimiento de
rotación.
- Sin limite en el número de orbitas y satélites a representar.
- Original sistema de identificación mediante colores de los distintos elementos
de una escena.
- Identificación de los cinturones de Van Allen.
- Visualización en cualquier momento de los datos referidos a órbita, satélite o
estación terrena deseada.
- Representación 3D de los ángulos de visión: elevación y azimut.
- Configuración del escenario 3D.
- Posibilidad de moverse por el escenario simplemente con el ratón.
- Interacción con las representaciones gráficas resultado de los análisis de los
radioenlaces. Posibilidad de moverse, seleccionar, aumentar o disminuir escala
y conocer valores de las curvas.
• Ayuda contextual
Inclusión de mensajes de ayuda para rellenar los campos.
• Manual de ayuda accesible desde la aplicación o un navegador Web.
Descripción del proyecto
37
II.5. Motor gráfico jMonkey Engine
El motor grafico empleado jMonkey Engine (jME) es la parte fundamental de
esta aplicación, pero ¿qué es jME?
Se trata de una API (Interfaz de programación de aplicaciones) de alto
rendimiento para objetos 3D, es decir, es un conjunto de librerías para programar juegos
3D en Java.
Usa una capa de abstracción para el renderizado 3D, lo que en teoría debería
permitir el uso de cualquier motor de render, pero por ahora sólo soporta LWJGL.
LWJGL
La Lightweight Java Game Library (LWJGL o Biblioteca Java Ligera para
Juegos) es una solución dirigida a programadores tanto amateurs como profesionales y
está destinada a la creación de juegos de calidad comercial escritos en el lenguaje Java.
LWJGL proporciona a los desarrolladores acceso a diversas bibliotecas
multiplataforma, como OpenGL (Open Graphics Library) y OpenAL (Open Audio
Library), permitiendo la creación de juegos de alta calidad con gráficos y sonido 3D.
Por otro lado, LWJGL permite además acceder a controladores de juegos como
gamepads, volantes y joysticks.
El auténtico objetivo de LWJGL no es crear un engine2 gráfico que permita
crear juegos espectaculares de forma casi inmediata, sino que lo que pretende es dar
acceso a los programadores Java a una tecnología y unos recursos que normalmente no
se implementan correctamente. Por tanto, LWJGL debe entenderse más bien como una
API base sobre la que en la actualidad ya se están apoyando algunas potentes
herramientas gráficas, como es el caso de la API de scene-graph3 jMonkey.
2 Motor 3 Basada en escenas con objetos 3D
Descripción del proyecto
38
II.5.1. Características
Tanto jME como LWJGL están disponibles bajo licencia BSD (Berkeley
Software Distribution) y por lo tanto son de libre distribución. A esta característica hay
que unirle su potencia y relativa facilidad de uso lo que convierte a jME en una muy
buena herramienta a tener en consideración. Lamentablemente como software libre en
fase de desarrollo presenta continuamente revisiones que añaden y corrigen fallos.
Aunque su filosofía no es muy compleja, es necesario conocimientos básicos de
entorno 3D, técnicas de representación y estar familiarizado con OpenGL para poder
sacarle el máximo partido a las posibilidades que nos ofrece. Y como cualquier motor
gráfico requiere un mínimo de tiempo para llegar a entenderlo y poder usarlo.
La arquitectura en la que está basada jME permite la organización de los datos
de la aplicación en forma de árbol, donde el nodo padre puede tener cualquier número
de nodos hijos (hojas), pero un hijo solo puede tener un padre. Esta organización está
pensada para una fácil gestión de los elementos en una escena y poder realizar
procesamientos rápidos de tareas. Por ejemplo mostrar sólo todo lo que depende del
nodo padre X y el resto de la escena ocultarlo.
Los nodos hojas se denominan geometrías (Geometry) las cuales pueden ser
renderizadas (mostradas) en pantalla. jME dispone de varias geometrías: curvas Bezier,
líneas (Line), puntos (Points), modelos (MD2, ASE, etc.), terrenos (Terrain) y algunas
más.
Además jME soporta efectos de alto nivel como: Sistemas de partículas (Particle
Systems) y destellos en la lente (Lens Flare).
Estas son solo algunas de sus características. Para profundizar más en ellas lo
más recomendable es consultar la documentación que nos proporciona desde su página
Web4.
4 www.jmonkeyengine.com
Descripción del proyecto
39
II.5.2. Estructura básica de una aplicación jME
Toda aplicación jME debe extender de una de las clases que proporciona jME en
su paquete com.jme.app. Todas proporcionan una simple implementación para el bucle
principal, definiendo los métodos comunes necesarios para nuestra aplicación. La
elección de dicha clase será la que determine el grado de implementación de los
métodos básicos (si debemos definir la cámara, el control del teclado,…) y el
comportamiento de nuestra aplicación (por ejemplo limitar el número de frames por
segundo) de nuestras escenas 3D.
Los métodos básicos de una aplicación jME son: Start(), initSystem(),
initGame(), Update(), Render(), Reinit() y Cleanup()
A continuación se muestra el esqueleto básico de una aplicación tipo, basada en
BaseGame (com.jme.app):
Clase juego extiende BaseGame
Main()
Constructor_BaseGame()
Start()
initSystem()
Crear la ventana
Crear la cámara
Añadir los comandos de teclado
initGame()
Cargar las mallas, texturas, terrenos, etc.
Establecer relaciones entre nodos, identificando el nodo raíz
Update()
Realizar la comprobación del teclado y ratón
Descripción del proyecto
40
Start
InitSystem
InitGame
While
Update
Render
Cleanup
Realizar operaciones del juego
Render()
Renderizar el nodo raíz o los nodos que deseemos y volcar en el
buffer frontal para representarlo.
Reinit()
Cleanup()
Llamado cuando termina el juego
Los distintos métodos son llamados automáticamente según el estado de nuestro
programa. Al comenzar se invoca al método Start() y a continuación el juego es
inicializado llamando primero a initSystem y después a initGame. Tras la
inicialización se entra en un constante bucle de actualización de elementos.
InitSystem() inicia la ventana, la
cámara y el teclado
InitGame() inicia gráficos
While()
Update()
Automáticamente actualiza
en cada ciclo los datos de teclado,
etc.
Render()
Automáticamente en cada
ciclo renderiza el escenario 3D.
Cleanup() Borrar al salir
Descripción del proyecto
41
Conocida como es la estructura y funcionamiento básico de jME lo que queda es
elaborar y representar nuestra escena. La idea del siguiente apartado no es la de explicar
que clases y métodos se deben utilizar para realizar dicha tarea, para este fin es mejor
recurrir a la ayuda que proporciona el propio jME, pero si la de explicar de forma
simple como hay que trabajar con esta herramienta. A pesar de ello en el último
apartado donde se expone un ejemplo se recurre a la presentación de clases concretas y
código de uso para una mejor comprensión de esta API.
II.5.3. Elementos en la escena
Una forma simple de ver como trabaja jME es pensar que todo escenario está
formado por un espacio, regido por unas “normas universales”, en el cual se insertan los
elementos que conformaran la escena final. Estos elementos siguen una jerarquía en
forma de árbol. Por tanto los nodos del árbol se verán afectados por lo que le ocurra al
padre del que descienden. Ese es el sistema empleado por jME para facilitar la creación
de escenas graficas para nuestra aplicación.
Toda escena está basada en una jerarquía nodal en forma de árbol. Este árbol
está formado por nodos que pertenece a ciertas ramas. Los nodos más bajos de la
jerarquía son las hojas. Todos los nodos pertenecientes a una rama presentarán
características comunes (cómo se verán afectados por la luz, si son o no representados,
niveles de transparencia, etc.).
Para construir este mundo empleamos el paquete scene donde encontramos las
clases relacionadas con “el mundo jME”. Entre ellas las más importantes son Spatial,
Node y Geometry.
o com.jme.scene.Spatial
o com.jme.scene.Geometry
o com.jme.scene.Node
Todos los elementos representables de nuestra escena pertenecen a la clase
Spatial, por tanto la clase básica para definir los nodos de nuestra escena gráfica es
Spatial. Posee las funciones de manejo de las características de representación
(renderState), control de posición en el mundo 3D, controladores de animación y
detección de colisiones, entre otras.
Descripción del proyecto
42
Geometry Node
Spatial
LensFlare Skybox …
Curve Line Point Text TriMesh
En Node se define un nodo interno para nuestra escena. Este nodo mantiene su
relación de hijos y manejadores asociados para permitir gestiones rápidas de múltiples
nodos. Cualquier número de hijos puede ser añadido a un nodo.
En Geometry se define una hoja del árbol. Una hoja destaca por contener los
datos geométricos para la renderización de los objetos. Gestiona toda la información de
renderizado como todos sus estados y datos para un modelo. Sus subclases define de
que modelo de datos se trata: Curve, Line, Point, Text o TriMesh (maya).
Spatial es superclase de cualquier tipo de nodo, cualquier geometría 2D ó 3D y
de los contenedores para crear componentes de ventanas. El esquema siguiente muestra
su estructura jerarquica:
Figura II.5.3.1. Jerarquía Spatial
Ejemplo iniciación a las apariencias: Una esfera y una caja.
Añadir elementos a nuestra escena sin más carece de encanto. El verdadero
poder de un motor gráfico es el de poder proporcionar una apariencia real a los
elementos de una escena. Veamos de forma fácil como hacer esto en jME.
Descripción del proyecto
43
Supongamos que tenemos en nuestra escena una esfera y un cubo ambos hijos
del nodo principal (rootNode) tenemos una representación como la mostrada en la
siguiente figura:
Figura II.5.3.2. Ejemplo de escena.
Con esta filosofía de estructura en árbol basta con ordenar el renderizado de
rootNode para poder ver a sus hijos. Así todas las geometrías hijas de este rootNode
serán renderizadas cuando lo sea el padre.
En este ejemplo para cambiar las apariencias se hará uso de una textura y un
material (con cierto color de emisión) que serán añadidos a los nodos. Para crear una
apariencia, es decir, un material, textura, representación alámbrica, etc, es necesario
crear un objeto conocido como renderer, necesario para crear los objetos que buscamos
para cambiar las apariencias y que forman parte del la clase RenderState.
Esto es tan simple como escribir las siguientes líneas: TextureState texturestate = display.getRenderer().createTextureState();
MaterialState materialstate = display.getRenderer().createMaterialState();
Una vez creados los objetos necesarios, se emplearan sus funciones para definir
sus propiedades.
Para el caso de la textura se crea un objeto Texture a partir de una imagen y se la
asignamos al TextureState creado empleando el método setTexture().
Descripción del proyecto
44
Texture texture = TextureManager.loadTexture("../images/Monkey.tga", 2, 1, true);
texturestate.setTexture(texture);
En caso del material usamos una función para definir el color emisivo del objeto:
materialstate.setEmissive(new ColorRGBA(0.0F, 0.2F, 0.0F, 1.0F));
Creadas estas nuevas apariencias o propiedades (State) hay que asignarlas al
nodo correspondiente para que los cambios queden reflejados en el árbol.
El código necesario para tal fin es el siguiente:
box.setRenderState(texturestate);
node.setRenderState(materialstate);
El material a sido asignado al nodo raíz al igual que la luz, pero la textura sola
ha sido asignado a la caja. La caja y la esfera son hijos de rootNode por lo que al aplicar
el material rojo a éste queda reflejado en sus dos hijos al igual que la luz. Sin embargo
la textura solo ha sido aplicada a la caja, de modo que solo afecta al nodo caja. Esto
muestra la potencia de este sistema de árbol, la herencia de sus propiedades. Así
considerando el aspecto, animación, movimientos o giros como propiedades del nodo y
que dada la relación existente, se transmiten de padres a hijos. Con ello hemos ahorrado
código al no tener que aplicar el material a cada geometría.
Imagine con este sistema lo que podemos conseguir, por ejemplo hemos creado
una niebla y ciertos objetos no son influenciados por ella. Podemos crear un nodo con la
niebla cuyos hijos serán los objetos afectados y otro nodo por separado para los no
afectados. Puesto que solo tenemos que aplicar la niebla al nodo que la usa, no tenemos
que particularizar para cada objeto por separado. Puede parecer obvio y por lo tanto no
imprescindible, pero si esto ocurriese para unos 500 objetos estaremos ahorrando
muchas líneas de código.
De igual modo, piense en el ahorro que supone tener objetos similares que
heredan las múltiples características de sus padres y que además pueden tener alguna
Descripción del proyecto
45
propia, en lugar de cientos de objetos con multitud de características repetidas y solo
alguna distinta. Si a esto le sumamos varias ramas de herencia, donde muchos objetos
por ejemplo comparten un mismo material y luces pero diferentes texturas, y algunos de
estos que tienen igual texturas poseen diferente sombreados, resulta que los grafos son
mucho más eficientes y rápidos de gestionar que cada objetos por separado.
Otra gran ventaja que podemos conseguir es obtener referencias a la hora de
hacer movimientos o giros respecto a de terminados puntos del espacio. Cada nodo
puede moverse y con ello moverá sus hijos también, así podemos crear jerarquías para
mover grupos de objetos, pivotes para las rotaciones, etc. Por ejemplo una grúa que
levanta varios objetos a la vez, si todos forman parte del mismo nodo solo tendremos
que mover con la grúa dicho nodo.
CAPÍTULO III – DESARROLLO DE LA APLICACIÓN
Desarrollo de la aplicación
47
III.1. Desarrollo de la aplicación
En el presente capítulo se expone la solución empleada para la realización del
simulador. Para la implementación de las distintas funciones de la aplicación se ha
optado por determinadas alternativas para su realización, estas alternativas se traducen
en el lenguaje de programación en una serie de clases y métodos. La relación clase –
funcionalidad suele ser una relación directa, aunque no tiene por que cumplirse. En los
siguientes apartados por tanto se explica esta relación para conocer en profundidad el
funcionamiento interno del simulador.
III.2. Diagrama general
A continuación se presenta un diagrama muy general, en el que se puede
apreciar las tres partes perfectamente diferenciadas de las que consta el simulador.
Figura III.2.1. Diagrama general del simulador
Desarrollo de la aplicación
48
En los siguientes apartados se desarrollan cada una de las partes: Representación
3D, estudio radioenlace y ayuda. La primera y la última son totalmente nuevas con
respecto a las versiones anteriores. La parte de representación 3D aunque escrita desde
cero reutiliza algunas ideas de sus predecesores. La parte de estudio del radioenlace ha
sufrido un cambio más interno que de apariencia. Aunque es una parte perfectamente
diferenciada del resto de las partes de la aplicación debido a que su tratamiento interno
no presenta diferenciación con respecto al resto de elementos de interacción con el
usuario (paneles) se ha incluido su descripción en el apartado de paneles.
Al ser la más importante y con mayor número de novedades en los próximos
apartados se incide más en la primera parte. En la segunda se hace hincapié en los
cambios respecto a las versiones anteriores mientras que en la parte de la ayuda se
describe brevemente por ser un elemento al que ya se considera habituada cualquier
persona que haya empleado aplicaciones informáticas o navegadores Web.
Como convenio se establece la siguiente relación simbología-significado para
conseguir una clara representación en los sucesivos diagramas:
Clase
Método
Nodo
Otros
Figura III.2.2. Simbología diagramas
Desarrollo de la aplicación
49
III.3. Representación 3D
Esta parte presenta la estructura típica de una aplicación jME. Su diagrama es el
mostrado en la siguiente figura:
Figura III.3.1. Diagrama general jOrbit
La clase principal de la aplicación se llama jOrbit. Se trata de una clase que
implementa los métodos básicos de la clase FixedFrameRate de la que desciende,
necesarios para ejecutar la aplicación. La elección de FixedFrameRate obedece a que
esta clase proporciona métodos para el control de frames por segundo de la aplicación.
Métodos muy útiles para controlar el consumo de la aplicación y el movimiento de los
elementos en los escenarios 3D. Además en jOrbit se ha implementado un método
adicional ActualizarInfo que es llamado desde el método update. Su función es la de
tener actualizada la información de los distintos elementos de la escena para que sea
accesible al usuario a través del panel de información.
ActionCamera es una clase que determina el movimiento de la cámara. Es
empleada en initSystem para determinar esta clase como manejadora del movimiento de
la cámara en la escena. Con esta clase se consigue los movimientos de giro alrededor de
la Tierra y de aproximación y alejamiento.
BasicSpace3D es la clase encargada de implementar el escenario 3D completo.
Desarrollo de la aplicación
50
GestorGUI es la clase encargada de gestionar los paneles que aparecen en
nuestro escenario.
Tanto BasicSpace3D como GestorGUI son creadas en initGame y son realmente
las clases más importantes de la aplicación.
III.3.1. Escenario 3D
Se ha comentado que jME sigue una estructura jerárquica nodal en forma de
árbol. La clase BasicSpace3D lo que hace es construir y gestionar el árbol de elementos
3D de nuestra aplicación. La estructura que crea para ser mostrada en pantalla se
muestra en la siguiente figura:
Figura III.3.1.1. Diagrama BasicSpace
Desarrollo de la aplicación
51
En BasicSpace3D se crea el nodo que será el nodo raíz de toda la escena 3D:
BasicSpace. A este nodo se asigna unas propiedades que simula la luz del sol en el
espacio y afectará a todos sus hijos. Como hijos se le añade un espacio con estrellas:
nodo Espacio y planetas: nodo Planetas. La aplicación está abierta a añadirle tantos
planetas como se desee. Para esta aplicación sólo se necesita uno: la Tierra.
El nodo Tierra se añade al genérico de tipo Planetas. Este nodo es representado como
una esfera de radio 6371km y una textura que simula el aspecto de la Tierra desde el
espacio.
A este nodo se le pueden añadir Constelaciones, formadas por órbitas y satélites,
estaciones terrenas, líneas que representarán los ángulos de visión de determinados
satélites, una representación del eje inercial del sistema y el plano ecuatorial.
Para esta aplicación las constelaciones están limitadas a tener una única órbita
pero varios satélites por órbita. Además de poder representarse sobre dichas órbitas su
plano orbital y el punto del perigeo.
III.3.1.1. En el interior de BasicSpace3D
Para conseguir gestionar el nodo BasicSpace, BasicSpace3D dispone de una
serie de variables y métodos que lo hacen posible.
Variables
Desde BasicSpace se controlan los nodos activos (representados), las
constelaciones y estaciones añadidas, mediante los métodos propios de los nodos (Node
de jME5) y conjuntos de ArrayList (Java).
5 Para mayor información véase documentación de jME
Desarrollo de la aplicación
52
Métodos
BasicSpace3D(Renderer r) Constructor de la clase donde:
- inicializa variables
- Configura buffer de profundidad de
renderizado (que se verá y que no)
- Crea nodos: BasicSpace, espacio,
Planetas, Tierra, constelación,
estaciones, lineas, Eje_Inercial.
- Añade los nodos a sus padres
correspondientes
- Crea luz del espacio
Void BorrarLineas() Elimina todos los hijos del nodo líneas
Vector2f CalculaPS(Vector3f v) Dado un vector con tres dimensiones v, devuelve
su latitud y longitud en forma de vector de 2
dimensiones
Void CurvaAZ(Vector3f a, Vector3f
b,Vector3f estac)
Dibuja la curva que representa el azimut.
Vector3f Elegir(Vector3f ref, Vector3f
origen, Vector3f[] caso)
Selecciona un punto de la curva que une la
estación terrena con el punto subsatelital que
tenga la misma distancia que ref con origen
(estación terrena)
void MoverSatelites() Establece la siguiente posición de los satélites.
void MoverTierra() Establece el movimiento de rotación de la Tierra
void RepresentarAZ(int numconst, int
numsat)
Representa todas las líneas inherentes a la
representación del azimut para el satélite
seleccionado mediante numconst y numsat:
- Línea que une polo norte con estación
terrena
- Línea que une estación terrena con punto
subsatelital
- El ángulo azimut.
void RepresentarEL(int numconst, int
numsat)
Representa todos los elementos (líneas)
inherentes a la representación de la elevación
para el satélite seleccionado mediante numconst
y numsat:
- Línea que une centro de la Tierra con
Desarrollo de la aplicación
53
satélite.
- Línea que une estación terrena con
satélite.
- Línea que representa el horizontal local.
Tangente a la superficie donde está la
estación terrena.
- Ángulo de elevación.
Node crearEspacio3D (Skybox universo3d) Crea el entorno estrellado del espacio.
Spatial crearPerigeo(int numconst,
ColorRGBA col)
Crea una pirámide de color col para representar
el punto del perigeo de la órbita seleccionada
numconst.
Spatial crearPlano(int numconst,
ColorRGBA col)
Crea plano de color col y le asigna como nombre
el número de la constelación al que corresponde.
void luzartificial(LightState lightStatea) Crea un estado adicional de luces, además del
creado en BasicSpace3D, se establece la
posibilidad de tener la Tierra sin zona de
oscuridad.
meterPerigeo(int numconst) Añade para su representación el perigeo a la
órbita correspondiente (numconst).
meterPlano(int numconst) Añade para su representación el plano de la
órbita correspondiente (numcontt).
III.3.1.2. Sin clases no funciona
En este apartado se presentarán las clases creadas que dan soporte a los
elementos más importantes que conforman el árbol: Las constelaciones, órbitas,
satélites, estaciones y planetas.
Desarrollo de la aplicación
54
• Constelaciones
La clase Constelación es la encargada de crear constelaciones (conjunto
de órbita-satélites-estaciones) con un determinado nombre, color y órbita y
llevar la contabilidad de los satélites y estaciones asociados a ella.
Se trata de un Nodo que inicialmente se crea con un nombre, color y
órbita y al que posteriormente es posible añadirle satélites y estaciones terrenas.
Para la identificación de los distintos elementos de la escena se emplea
los colores. Todos los elementos que estén relacionados poseen el mismo color.
Así la órbita, los satélites asociados a ella y las estaciones asociados a estos
satélites poseen el mismo color, el cual es tomado del que la clase Constelación
asigna en su creación.
Tal tarea la realiza el método GenerarColor: ColorRGBA GenerarColor(float transp)
De forma aleatoria genera un trío de colores con cierta transparencia
(transp) y es asignada a la constelación.
• Órbitas
La clase Orbita crea las órbitas de la aplicación. Cada objeto de este tipo
creado tiene los siguientes datos:
Variables
Semieje mayor
Semieje menor
Excentricidad
Inclinación
Argumento Perigeo
Ascensión Recta
Altura Apogeo
Altura Perigeo
Periodo Orbital
Nombre
Desarrollo de la aplicación
55
Tipo de órbita
Color
Matriz de Rotación para el cambio de coordenadas orbital-inercial.
Dicha matriz se calcula siguiendo los pasos determinados en el capítulo
uno.
Estado Orbita. Si la órbita es válida.
Objeto Line que es la geometría usada para la representación de la
órbita en 3D. Para su creación es necesaria una matriz de puntos que
determina su forma.
Métodos
Orbita(String sem, String exc,
String incl, String argperi,String
ascrect )
Constructor que inicializa el objeto Orbita creado
asignándole valor a todas las variables antes
mencionadas.
double calcper() Calcula la altura del perigeo
double calcapog() Calcula la altura del apogeo
Vector3f[] GenerarElipse(int
precision)
Crea una matriz de vectores de posición de los
distintos puntos de la trayectoria de la órbita. La
variable precisión sirve para determinar el número
de puntos de la trayectoria. Esta matriz es la
empleada para la construcción del objeto 3D
representable en la escena.
int OrbitaValida() Devuelve un código que identifica la validez de la
órbita:
- ORB_OK. Órbita válida
- ORB_CRASH. Órbita choca con Tierra
- ORB_ALLEN. Órbita coincide con el
cinturón de Van-Allen. Los cinturones de
radiación de Van Allen son áreas de la alta
atmósfera que rodean la Tierra donde hay
una alta concentración de partículas
atómicas (electrones y protones). Su
delimitación no está aún completamente
Desarrollo de la aplicación
56
confirmada, ya que la actividad solar y el
magnetismo generan oscilaciones en sus
límites, que actualmente se denominan
zonas de radiación.
La intensidad de radiación presente en los
cinturones de Van Allen produce un
elevado deterioro de los circuitos
electrónicos y paneles solares de las naves
espaciales, mientras que el efecto de una
exposición sobre los seres vivos resulta
extremadamente dañino.
Se consideran 2 cinturones cuyas alturas
son:
1º: 1600-5000 Km.
2º: 15000-20000 Km.
- ORB_BAD. Órbita no válida por otras
razones. Valor por defecto hasta que es
comprobada.
String TipOrbita() Devuelve el tipo de órbita analizada.
Los tipos que se reconocen en función de los ejes
de la elipse que conforman la órbita son los
siguientes:
Tipo Alturas (A.) eje mayor-menor
(Km.)
Geoestacionaria 35795
LEO 1500-500
SSO 900-600
MEO 6000-11000
HEO A. al apogeo: 50000-40000
A. al perigeo: 1000-500
DESCONOCIDA Otras
ColorRGBA
GenerarColor(float transp)
Devuelve un color en formato RGBA (Red, Green,
Blue y Alpha). Este color es obtenido de forma
aleatoria.
Desarrollo de la aplicación
57
String nombrar(String
sem,String exc, String
incl,String argp,String ascrec)
Devuelve el nombre que se le asigna a la órbita.
Este nombre es el resultado de concatenar a la
palabra Orb el valor del semieje mayor,
excentricidad, inclinación, argumento del perigeo y
ascensión recta.
• Satélites
La clase Satelite define los objetos satélites con sus datos y geometría
para su representación en la escena. Cada objeto de este tipo creado tiene los
siguientes datos:
Variables
Nombre. Es el resultado de concatenar a la palabra Sat el número de
satélite que se trata. Por ejemplo si es el segundo satélite de una
determinada constelación su nombre es: Sat2.
Código. Valor para identificar el satélite constituido por el valor de su
tiempo de paso por el perigeo y el valor del momento en el que se tomó
la medida.
Velocidad angular.
Color.
Tiempo de paso del perigeo.
Posición inicial del satélite.
Objeto Sphere. Los satélites son representados mediante esferas de
colores.
Órbita a la que pertenece el satélite.
Anomalía media.
Anomalía excéntrica.
Angulo respecto a su eje x en coordenadas orbitales.
Estación asociada al satélite.
Punto subsatelital asociado al satélite. Objeto aparte definido en la
clase PtoSubSat. Donde sólo se definen métodos para su localización.
Desarrollo de la aplicación
58
Métodos
Satelite(Orbita orb,
JFormattedTextField tp, String
name,JFormattedTextField time)
Constructor de la clase. Crea un satélite
inicializando todas las variables antes descritas,
empleando los datos de órbita (orb), tiempo de
paso por el perigeo (tp), nombre del satélite
(name) y tiempo en el que se tomaron las
medidas (time).
Satelite(Orbita orb, String name,
JFormattedTextField lon,
JFormattedTextField time)
Constructor similar al anterior, empleado para
crear satélites en los que los parámetros
relacionados con perigeo carecen de sentido:
órbitas circulares. El parámetro lon es la longitud
del satélite.
codigo(JFormattedTextField tp,
JFormattedTextField time)
Crea el código que identifica a un satélite dentro
de una constelación.
double
CalcularM(JFormattedTextField
tp, JFormattedTextField time)
Calcula la anomalía media. Según pasos teóricos
descritos en el capítulo I.
double calculaE(double e, double
M)
Calcula la anomalía excéntrica. Parámetros:
excentricidad, e y anomalía media M.
double calcular0(double E, double
e, double a)
Devuelve el valor de r inicial en polares r0 del
satélite.
ouble calculaphi0(double erre0,
double e,double a,double E)
Devuelve el valor del ángulo inicial phi0 del
satélite.
Vector3f CoordSat(double r0,
double phi0)
Devuelve el vector posición inicial del satélite en
coordenadas orbitales a partir de sus
coordenadas polares calculadas con los métodos
anteriores.
• Estaciones
La clase Estacion define los objetos estaciones terrenas con sus datos y
geometría para su representación en la escena. Cada objeto de este tipo creado
tiene los siguientes datos:
Desarrollo de la aplicación
59
Nombre que identifica la estación.
Longitud y latitud de la estación.
Objeto Box. Las estaciones son representadas mediante cubos de colores.
Referencia a los ángulos de elevación y azimut a su satélite asociado.
Métodos
Estacion(JFormattedTextField
t_longitud,
JFormattedTextField
t_latitud, String nombre)
Constructor de la clase. Crea una estación,
colocando una caja en las coordenadas
proporcionadas como parámetros: t_longitud,
t_latitud.
• Planeta – Tierra
La clase Planeta define los objetos estaciones terrenas con sus datos y
geometría para su representación en la escena. Cada objeto de este tipo creado
tiene los siguientes datos:
Variables
Vrotacion. Expresado en horas que tardar en dar una vuelta sobre sí mismo.
Textura: Imagen que representará el aspecto del planeta.
Radio: Radio del planeta.
Nombre. Identifica el astro.
Objeto Sphere. Los planetas son representados mediante esferas con radio y
textura definidos.
Métodos
Planeta (Renderer render,
String name, float radio, float
radioat, String tex, double vrot)
Constructor de la clase Planeta. Crea un planeta.
Crea una esfera con el nombre, radio y textura
proporcionada como argumentos del constructor.
Desarrollo de la aplicación
60
III.3.2. Interfaz de usuario
La estructura jerárquica que sigue el árbol que constituye la interfaz de usuario
es la que se muestra en la siguiente:
Figura III.3.2.1. Diagrama interfaz usuario
La gestión de toda la interfaz de usuario se hace con la clase GestorGUI. En ella
se crea el nodo que será el nodo raíz de toda la interfaz: GUI. Todos sus hijos, excepto
el panel de análisis del radioenlace, son JMEDesktops, nodos especiales pensados para
emplear paneles swing tradicionales en las escenas de jME. El panel de análisis del
radioenlace difiere de sus “hermanos” debido a su funcionalidad totalmente diferente
del resto. Por lo que se ha implementado como una ventana swing tradicional,
Desarrollo de la aplicación
61
resaltando el carácter modular de la aplicación ya que este módulo puede ser empleado
de manera separada al resto de la aplicación sin más que crear una clase con su método
main que instancia el panel creado.
III.3.2.1. En el interior de GestorGUI
Para conseguir gestionar el nodo GUI, del que descienden todos los paneles que
conforman la interfaz de usuario se implementa GestorGUI. Desde el nodo GUI se
controlan los paneles, para por ejemplo saber si se deben mostrar u ocultar. Esta clase
dispone de una serie de variables y métodos que hacen posible su tarea.
Variables
Nodo GUI. Nodo raíz.
Lista de JMEDesktops con todas sus referencias.
Lista de paneles swing con referencia a sus implementaciones.
Métodos
GestorGUI(InputHandler input, Renderer
render)
Constructor. Crea el nodo GUI y todos los
JMEDesktops, inicializando las principales
variables.
JMEDesktop crearJMEDesktop( String
name, int width, int height, InputHandler
input,JPanel panel)
Crea un objeto JMEDesktop con un cierto
nombre, dimensiones (width, height) y
aspecto (panel).
void quitarJMEDesktop(String name,
Node padre)
Elimina el JMEDesktop cuyo nombre es name
del nodo padre.
CrearPaneles() Crea todos los JMEDesktops con sus
dimensiones, ubicaciones y aspectos.
Node añadirJMEDesktop(JMEDesktop d,
String name, int x , int y, Node parent)
Añade el JMEDesktop d, asignándole el
nombre name y ubicación x,y al nodo parent.
propiedadesJMEDesktop(Spatial nodo,
Renderer re, int transparencia)
Asigna propiedades de transparencia al
elemento nodo.
setCoorDesktop (int x, int y, JMEDesktop
d)
Establece las coordenadas del JMEDesktop en
pantalla. X, Y representan el punto donde se
Desarrollo de la aplicación
62
colocará el centro del JMEDesktop
Node getGUIScene() Devuelve una referencia al nodo principal
GUI
LinkedList getDesktop() Devuelve la lista de JMEDesktops
LinkedList getPanel() Devuelve la lista de paneles swing.
III.3.2.2. Paneles Como se ha comentado antes, la interacción del usuario en el entorno 3D se
realiza a través de los JMEDesktops cuya apariencia se define a partir de paneles swing.
Para la creación de esos paneles se ha implementado siete clases que definen el entorno
y los métodos que controlan las interacciones del usuario con sus elementos. Los
nombres de dichas clases y el panel que representan son:
Panel_ppal – Panel principal.
Panel_Orbitas – Panel para introducir los datos orbitales.
Panel_Escena – Panel para controlar el movimiento y elementos visibles de la escena
3D.
Panel_Elementos – Panel para seleccionar elementos a representar y/o ver su
información.
Panel_Info – Panel para mostrar información.
Panel_Conf – Panel para modificar parte del entorno 3D.
Panel_help – Panel para mostrar dibujo aclaratorio de los parámetros orbitales.
Panel_Analisis – Panel para realizar el estudio de un radioenlace vía satélite.
III.3.2.2.1. Panel principal
Esta formado por cinco botones para acceder a las partes principales de la
aplicación. La clase que define este panel es Panel_ppal. Se trata de un panel (JPanel6)
con los elementos mencionados y donde se controlan los eventos de pulsación del ratón
y paso del ratón por encima de los botones, para conseguir el efecto de movimiento de
los botones al pasar el ratón por los botones.
6 Véase ayuda de Java
Desarrollo de la aplicación
63
Figura III.3.2.2.1. Esquema del panel principal
Al pulsar sobre los botones “Representación”, “Análisis radioenlace” y
“Configuración” muestran u ocultan el panel correspondiente en la escena.
Al pulsar sobre el botón “Ayuda” abre el navegador por defecto del equipo para
visualizar la ayuda. El botón “Salir” es empleado para cerrar la aplicación.
III.3.2.2.2. Panel órbitas La principal función de este panel es la de poder introducir los datos necesarios
para poder crear las órbitas, satélites y estaciones terrenas que se desean. Inicialmente
presenta un aspecto compacto ocultando los elementos no necesarios. El esquema que
presenta es el mostrado en la siguiente gráfica, donde a su derecha se enumeran las
funciones de los botones que constituyen el panel.
Desarrollo de la aplicación
64
Figura III.3.2.2.2. Esquema del panel órbitas
Las zonas A y B son los espacios donde están las casillas donde introducir los
datos. Estas casillas no son JTextField convencionales sino JFormattedTextField los
cuales permiten definir máscaras, rangos y tipos de valores admisibles, mucho más
versátil y útil. De esta forma se controla la entrada de datos válidos en la aplicación.
III.3.2.2.3. Panel escena
Formado por seis botones, permiten controlar los paneles que se desean estén
visibles, el aspecto de la Tierra (textura que simule su aspecto natural o textura con los
meridianos y paralelos), mostrar el sistema de ejes inercial del sistema y activar o
desactivar el movimiento de los elementos del espacio 3D. El esquema de este panel y
la función de cada botón es el mostrado en la siguiente figura:
Desarrollo de la aplicación
65
Figura III.3.2.2.3. Esquema del panel escena
III.3.2.2.4. Panel elementos Se trata de uno de los paneles más complejos de la aplicación. Permite
representar y borrar todos los elementos creados, mostrar una serie de ítems asociados a
esos elementos y mostrar información relativa a los elementos seleccionados.
En la siguiente figura se muestra un esquema de su composición. Este panel está
dividido en dos zonas, A y B. La zona A es donde se muestra en forma de árbol las
órbitas y satélites creados desde el panel de órbitas. Esta zona consta de una parte donde
se muestra el árbol (A1) con todos los elementos, una casilla (A2) donde se muestra el
color con el que se representa el elemento seleccionado y un botón (A3) que cambiará:
inicialmente y cada vez que se añada elementos aparecerá el botón con texto
“Actualizar” que revisará la estructura de elementos creada y actualizará el árbol de
representación. Tras esto cambiará aparecerá en su lugar el botón con texto “INFO”, al
pulsarse mostrará el panel de información con los datos del elemento seleccionado. La
zona B no es visible hasta que se haya actualizado el árbol con todos los elementos.
Consta de 6 botones, enumerados desde B1 hasta B6 con las siguientes funciones:
Desarrollo de la aplicación
66
B1: Muestra todos los elementos (órbitas y satélites) que aparece en el árbol (A1). Su
selección es el paso previo necesario para acceder a otras funcionalidades de esta zona
como la selección del botón B5.
B2 y B3: Muestran u ocultan la representación de la elevación y azimut del satélite
seleccionado. La obtención de esta representación es en ambos casos muy similar. El
resultado de esta representación da además de los ángulos antes mencionados un
conjunto de líneas útiles para su representación y comprensión. La representación de
todas esas líneas (son objetos Line de jME) se basan en generar matrices con los
vectores de posición de los puntos que las forman. Así conociendo el punto inicial y
final y empleando coordenadas esféricas en este caso por ser más intuitivas y fáciles de
usar se obtiene las matrices buscadas. Tanto la obtención de esos puntos iniciales y
finales como de la elección de puntos a tomar son realizadas por métodos de
BasicSpace3D.
Estos botones tienen la particularidad que para mostrar los ángulos de elevación
o azimut de otros elementos se debe volver a pulsar para borrar la representación
anterior. Sólo es posible realizar la representación de estos ángulos de un elemento de la
escena.
B4: Muestra u oculta el plano orbital si se ha seleccionado una órbita o satélite o el
plano ecuatorial si es el nodo Tierra el seleccionado.
B5: Muestra u oculta el punto del perigeo de la órbita seleccionada. En caso de ser una
órbita sin excentricidad se muestra un mensaje de advertencia.
B6: Elimina todo el contenido de la escena 3D y borra las listas con los datos
anteriormente introducidos de órbitas, satélites y estaciones.
Desarrollo de la aplicación
67
Figura III.3.2.2.4. Esquema panel de elementos
III.3.2.2.5. Panel de información
Formado por tres botones para seleccionar la información deseada de un tipo de
elemento particular y una zona común para mostrar dicha información. La función de
los botones colocados en su parte inferior es la de mostrar u ocultar la información
deseada. La información que aparece es tomada de las variables internas de los objetos
creados por las clases Orbita, Satelite y Estacion y actualizada continuamente por el
método ActualizarInfo.
Desarrollo de la aplicación
68
Figura III.3.2.2.5. Esquema panel de información
III.3.2.2.6. Panel de configuración
Se trata de un panel muy simple para configurar dos aspectos de la escena 3D: la
luz y el fondo. Para esta tarea hay dos JToggleButton se tratan de botones que en
función de su estado pulsado si/no realizan una función u otra.
Para el cambio de luces del escenario lo que se hace es conmutar entre dos
estados de luces creados en BasicSpace3D: un estado formado por una luz direccional y
el otro por seis luces.
Figura III.3.2.2.6. Esquema panel de configuración
Desarrollo de la aplicación
69
III.3.2.2.7. Panel ayuda rápida Implementado con la clase Panel_help, no se debe confundir con la ayuda
HTML accesible desde el panel principal, este panel es una ayuda para identificar
rápidamente los parámetros orbitales. Está compuesto por un dibujo que muestra los
parámetros gráficamente para una rápida interpretación de los mismos.
III.3.2.2.8. Panel de análisis del radioenlace
Este panel a simple vista proporciona la falsa impresión de no haber sufrido
cambios, debido a su similitud de aspecto con respecto a los proyectos anteriores, pero
bajo esa apariencia inalterada esconde importantes modificaciones.
En una sola ventana se ha incluido todo lo necesario para el análisis de un
radioenlace, prescindiendo de multitud de ventanas emergentes para introducir los datos
de las anteriores versiones.
El esquema del nuevo aspecto que presenta esta ventana es el mostrado en la
siguiente figura:
Figura III.3.2.2.8. Esquema panel análisis del radioenlace
En esta revisión se ha dotado de mayor precisión e interactividad con el usuario
al apartado de representación de gráficas. Se ha rediseñado internamente obteniendo una
herramienta de uso genérico, que se puede emplear tanto para el objetivo de esta
Desarrollo de la aplicación
70
aplicación como, por ejemplo, para representar funciones trigonométricas como senos.
A continuación se describe la solución adoptada, basada en una idea encontrada en
www.chuidiang.com7 perfeccionada y preparada posteriormente para este proyecto.
La zona donde se representan las gráficas es el resultado de la implementación
de una clase que extiende de canvas8, que llamaremos lienzo. Este lienzo admite como
elementos especiales: una escala, objetos gráficos y observadores de ratón.
La escala
Un problema normal en los gráficos es que nosotros queremos dibujar un gráfico
con unas determinadas coordenadas (de usuario), por ejemplo, una función matemática
sin(x) va de 0.0 a 2*PI en el eje x y de -1 a 1 en el eje y, mientras que los ordenadores
nos ofrecen las coordenadas en píxel.
Para realizar esta función, está la interface EscalaGrafica con métodos de
pintado de Graphics. Una clase hija EscalaGraficaCartesiana implementa estos
métodos, pero haciendo la transformación de coordenadas. De esta forma, si en vez de
dibujar directamente con Graphics, dibujamos con EscalaGraficaCartesiana, no
debemos preocuparnos de transformar coordenadas de usuario en píxel.
EscalaGraficaCartesiana se inicializa pasándole cuales queremos que sean las
coordenadas límite de nuestro gráfico. De esta forma, puede hacer las cuentas para
transformar las coordenadas nuestras en píxel.
EscalaGrafica escala = new EscalaGraficaCartesiana();
escala.tomaExtremos (0.0, -1.0, 2*Math.PI, 1.0);
Los objetos gráficos
La interface ObjetoGrafico posee un único método dibujate(), que recibe una
EscalaGrafica. Cualquier cosa que queramos dibujar debería ser una clase que
7 En el mundo Java es posible encontrar multitud de recursos de personas que los facilitan de forma desinteresada, a todos ellos les doy mis más sinceros agradecimientos. 8 Véase ayuda de Java.
Desarrollo de la aplicación
71
implemente esta interface. En el método dibujate() debe dibujar lo que se quiera dibujar,
pero siempre en coordenadas de usuario. No debemos preocuparnos de transformar a
píxel.
En nuestra aplicación se emplean varios ObjetoGrafico, creados y listos para
utilizar:
• RejillaFija, dibuja una rejilla sobre nuestra área de dibujo, poniendo números en
las coordenadas.
• FuncionAbstracta, dibuja cualquier función matemática del estilo y=f(x). Hay
que heredar de ella y redefinir el método funcion(), que devuelve la y en función
de la x. Precisión de 500 puntos.
• CNvsBw, dibuja la gráfica relación CN frente ancho de banda, pasándole la
potencia transmitida, temperatura de ruido y el ancho de banda.
• CNvsFrec, dibuja la gráfica relación CN frente a la frecuencia, pasándole los
datos del enlace con pérdidas.
• CNvsTemp, dibuja la gráfica relación CN frente temperatura, pasándole la
potencia transmitida, el ancho de banda y la temperatura de ruido.
• PotvsDi, dibuja la gráfica potencia recibida frente directividad, pasándole los
datos del enlace incluidas las pérdidas.
• PotvsFrec, dibuja la gráfica potencia recibida frente frecuencia, pasándole los
datos del enlace con las pérdidas incluidas.
• PotvsR, dibuja la gráfica potencia recibida frente la distancia, pasándole los
datos del enlace incluidas las pérdidas.
Los observadores de ratón
La interfaz ObservadorRaton posee el método eventoRaton(), al que se le pasa
el evento de ratón y las coordenadas x, y de usuario en las que se ha producido el
evento. El método debe devolver true si el tratamiento del evento hace que se necesite
un repintado del gráfico y false en caso contrario.
Desarrollo de la aplicación
72
Empleando esta interfaz se emplean varios ObservadorRaton:
• VisorRaton, que es un JTextField en el que se puede ver la coordenada x o y por
donde se mueve el ratón, en coordenadas de usuario.
• Clase Cursor, que sirve de padre para CursorHilo y CursorZoom. El primero es
una línea vertical, horizontal o ambas a la vez que se mueven con el ratón,
permitiendo marcar dos posiciones, usando botón izquierdo y derecho del ratón.
El segundo hace que se dibuje un rectángulo según arrastramos en el gráfico con
el ratón, y al terminar hace zoom de la zona en el rectángulo.
• Mano, que sirve para poder arrastrar un gráfico con el ratón.
El lienzo de dibujo
El Lienzo tiene dos capas de dibujo, para poder hacer un dibujo de fondo y otro
por encima que normalmente es algún tipo de cursor que se mueve con el ratón. Este
Lienzo se inicializa pasándole la EscalaGrafica que queramos (con sus límites de las
coordenadas de usuario). Admite que le añadamos todos los ObjetoGrafico que
queramos. El Lienzo, cuando necesite repintado, llamará a todos los dibujate() de los
ObjetoGrafico que tiene en su interior y presentará el dibujo en pantalla.
Lienzo lienzo = new Lienzo();
lienzo.tomaEscala (escala);
PotvsFrec potfre = new PotvsFrec(nlace.valorfrec, nlace.valorptx, nlace.valordtx,
nlace.valordrx, nlace.valorr, nlace.ltx, nlace.lrx, nlace.lpolariz, nlace.lapunta,
nlace.lgases, nlace.llluvia, nlace.lnubnieb, Color.GREEN);
lienzo.tomaObjetoGrafico(potfre);
Desarrollo de la aplicación
73
III.4. Ayuda
Totalmente independiente a la aplicación que está escrita en Java se ha
implementado un manual para el manejo del simulador en formato HTML. Presenta una
sencilla e intuitiva estructura buscando un fácil manejo. Su esquema es el mostrado en
la siguiente figura:
Figura III.4.1. Esquema de la ayuda
Se trata de una página Web optimizada para ser visualizada a una resolución de
pantalla de 1024x768. Su diseño ha sido dividido en tres partes diferenciadas: el menú,
los enlaces rápidos y la información.
El menú.
Escrito en javascript, proporciona acceso a través de menús y submenús a los
distintos apartados y sub-apartados de la ayuda. Es de manejo intuitivo: basta
con pulsar en el menú sobre el apartado deseado para que muestre, si tiene, sub-
apartados asociados para poder seleccionarlos.
Enlaces rápidos.
Conjunto de iconos que representan el apartado al que dan acceso.
La información.
El contenido de la ayuda, dividida en apartados y escrita en archivos HTML.
CAPÍTULO IV - MANUAL DEL SIMULADOR
Manual del simulador
75
IV.1. Instalación para Windows
1. Descargar Java jre 1.5 o superior en caso de no tenerlo instalado en su equipo.
2. Instalar Java jre 1.5 o superior.
3. Copiar los archivos: jinput-dx8.dll, jinput-raw.dll,
lwjgl.dll y OpenAL32.dll de la carpeta:
Simulador\instalación\Libs en la capeta \bin dentro de la
carpeta de instalación del jre:
4. Copiar el directorio de la aplicación “Simulador” con todos sus directorios en la
zona del disco duro que se desee.
5. Doble clic sobre SOS3D.exe para ejecutar la aplicación.
IV.2. Área de trabajo
Es muy importante que se familiarice con el entorno de trabajo del simulador 3D
Órbitas-Satélites. Cuanto más sepa acerca de su potencial, más provecho podrá sacar de
sus funciones, herramientas y opciones.
La aplicación ofrece mucho más de lo que podría parecer a simple vista. Incluye
opciones que permiten mejorar la experiencia y proporcionan un mayor control sobre la
visualización del área de trabajo.
El área de trabajo del simulador incluye un panel del escenario que muestra la
simulación y una serie de paneles de interacción con el usuario que permiten
seleccionar opciones, introducir datos o mostrar información.
Manual del simulador
76
La forma de pasar a interactuar con un elemento u otro del área de trabajo, es
decir de interactuar con los elementos representados en la escena, como son las órbitas,
Tierra y satélites o con los paneles para introducir los datos es seleccionando el entorno
con el que deseas trabajar pulsando el botón derecho del ratón. Al pulsar este botón en
cualquier punto de la aplicación es posible pasar de un entorno a otro. La única señal
visual para distinguir en que entorno se encuentra es observando como la flecha que
representa el ratón sólo aparece cuando es posible acceder a los paneles de interacción
con el usuario y desaparece en caso contrario.
IV.2.1. Ver el área de trabajo
El aspecto básico del área de trabajo una vez arrancada la aplicación es la
mostrada en la siguiente figura:
Figura IV.2.1.1. Área de trabajo
Manual del simulador
77
Se distingue el panel del escenario con el espacio y la Tierra y dos paneles de
interacción: el panel principal, parte superior, que nos permitirá seleccionar entre las
opciones más importantes del simulador; y el panel de escena, parte inferior izquierda,
el cual proporciona acceso rápido para configurar los elementos visibles de nuestro
entorno de trabajo y proporcionar movimiento a las simulaciones.
A continuación se muestra una imagen del área de trabajo con todos los paneles
accesibles para trabajar en la representación 3D.
Figura IV.2.2.2. Área de trabajo desplegada
Manual del simulador
78
IV.2.2. Paneles de interacción con el usuario
IV.2.2.1. Panel principal
El panel principal, perfectamente integrado con el fondo del escenario, consta de
5 botones. A través de sus botones es posible acceder a las principales características de
la aplicación.
Figura IV.2.2.2.1.1. Vista panel principal
Presenta una intuitiva interfaz, con la que al pasar el cursor del ratón por encima
de los botones, estos se agrandan y muestran la información de su funcionalidad.
Figura IV.2.2.2.1.1. Detalle panel principal
A continuación aparece una tabla con la función de cada botón:
Representación
Despliega el panel para introducir los datos del sistema.
Análisis radioenlace
Muestra nueva ventana para acceder al estudio de un radioenlace.
Configuración
Despliega el panel para configurar elementos de la escena.
Manual del simulador
79
Ayuda
Accede a la ayuda de la aplicación en formato HTML, abriendo el
navegador configurado por defecto en su sistema.
Salir
Sale de la aplicación.
IV.2.2.2. Panel de escena
En la esquina inferior izquierda podemos encontrar el panel de escena.
Presenta el siguiente aspecto:
Figura IV.2.2.2.1. Vista panel de escena
Con un aspecto compacto sus principales funciones son la de mostrar/ocultar el
panel principal, el panel de elementos de escena y el panel de información además de
habilitar/deshabilitar el movimiento de las simulaciones. Las distintas funciones que le
permite realizar son representadas mediante intuitivos dibujos. Para más facilidad de
uso algunos de los botones cambian sus dibujos al ser pulsados.
Oculta o muestra el panel principal respectivamente. También oculta si
en ese momento están visibles, los paneles de orbita y de elementos.
Muestra / oculta el panel de elementos.
Muestra / oculta el panel de información de elementos de escena.
Cambia aspecto de la tierra. Muestra aspecto real o división en
meridianos y paralelos.
Muestra / oculta ejes inerciales.
Habilita / deshabilita movimiento de la simulación
Manual del simulador
80
IV.2.2.3. Panel de configuración
En esta primera versión es posible cambiar desde este panel dos parámetros del
escenario 3D: la luz y el fondo del escenario.
Figura IV.2.2.3.1. Vista panel de configuración.
Luces
Iluminación total de la Tierra (incluida la cara de noche).
Simulación de luz del Sol.
Fondo
Ocultar / mostrar estrellas en el fondo del escenario.
IV.2.2.4. Panel análisis del radioenlace
Este panel proporciona la interfaz para realizar los cálculos de balance y
representación de gráficas de interés para el radioenlace que deseemos estudiar.
En este apartado sólo se hablará de las diferencias y mejoras respecto de las
versiones anteriores ya que su funcionalidad ha sufrido livianas modificaciones.
La ventana se divide en 4 secciones (identificadas por números de distinto
color):
Manual del simulador
81
1 - Introducir datos del enlace
2 - Introducir pérdidas
3 - Cálculo de balance
4 - Representación.
Figura IV.2.2.4.1. Vista ventana análisis radioenlace
1.- Datos del radioenlace
En esta sección se deben introducir los datos mínimos necesarios para poder
realizar el cálculo de la potencia recibida y la relación portadora a ruido. Estos datos se
deben introducir en las casillas habilitadas para tal efecto. Al lado de cada casilla
aparece una etiqueta que identifica el valor que se debe introducir.
Figura IV.2.2.4.2.Detalle de la sección datos del enlace
Manual del simulador
82
Los datos a introducir son:
- Potencia transmitida. Expresada en decibelios es la potencia de la señal que se
desea enviar.
- Directividad de la antena transmisora (Tx) y receptora (Rx). Expresada en
decibelios es la máxima ganancia de la antena.
- Distancia del enlace. Expresada en kilómetros es la distancia entre el satélite y
la estación terrena.
- Frecuencia. Expresada en Gigahercios.
- Temperatura de ruido. Expresada en grados esta referida a al entrada del
receptor.
- Ancho de banda equivalente de ruido de recepción (Rx). Expresado en MHz.
2. Perdidas adicionales
Al cómputo para el cálculo de la potencia recibida se le puede añadir una serie
de valores que modificarán su resultado, son las pérdidas que aparecen en condiciones
no ideales en los radioenlaces.
Como novedad, en esta versión para introducir los datos de las pérdidas no
aparecen nuevas ventanas sino que para tal fin se habilitan nuevos campos a la derecha
de los botones en los que se accede a la configuración de dichas perdidas:
Figura IV.2.2.4.3. Detalle de la sección pérdidas adicionales.
Manual del simulador
83
Pulsando sobre los botones para seleccionar las pérdidas (con texto de color
rojo) es posible acceder a nuevos elementos relacionados con las perdidas
seleccionadas. Estos nuevos campos son los utilizados para configurar las pérdidas de
nuestro enlace.
Para el cálculo de las pérdidas adicionales sólo se tiene en cuenta las pérdidas
cuyas casillas han sido marcadas:
Figura IV.2.2.4.4. Detalle de pérdida no marcada – pérdida si marcada.
3- Cálculo de balances
En esta sección es donde se hace uso de los datos introducidos en las secciones 1
y 2 para el cálculo de la potencia recibida en el receptor y la relación portadora a ruido
del enlace. Estos resultados se obtienen pulsando el botón CALCULAR.
4 – Representación
La principal novedad está en el área de representación de las gráficas. Ahora se
trata de un área dinámica, en la que podemos seleccionar trozos de nuestras gráficas,
movernos por los ejes mediante los botones de zoom o con el ratón y visualizar la
posición del ratón sobre la zona de representación. Se trata de una potente herramienta
ahora más precisa y fácil de usar.
Elementos de la sección representación
Figura IV.2.2.4.5. Detalle de los botones de la sección representación
Manual del simulador
84
De izquierda a derecha veamos las funcionalidades de los distintos elementos:
El primer elemento es una lista desplegable que permite
seleccionar entre las distintas gráficas posibles a mostrar:
- Potencia recibida frente a la frecuencia.
- Potencia recibida frente a la directividad.
- Potencia recibida frente a la distancia.
- C/N frente al ancho de banda.
- C/N frente a la temperatura de ruido.
- C/N frente a la frecuencia.
Zona donde aparece la coordenada X del cursor al colocarse
sobre la zona de dibujo. En la casilla de su derecha se
muestra la coordenada Y.
Botón representar: Muestra la gráfica seleccionada de la
lista desplegable.
Botón borrar: Elimina todas las gráficas dibujadas.
Botones de zoom: Disminuyen o aumentan la escala de
representación.
IV.2.2.5. Panel de datos de órbitas
El aspecto inicial que presenta este panel con sus cuatro secciones con
funcionalidades diferenciadas marcadas es el mostrado en la siguiente figura:
Figura IV.2.2.5.1. Vista inicial panel de datos de órbitas y detalle de secciones
1.- Sección para introducir los datos
orbitales. Se deben de rellenar todos los
campos para órbitas genéricas con
excentricidad distinta de cero, en caso
contrarío muestra mensaje de error
advirtiendo de los campos que faltan.
Para órbitas circulares la aplicación
Manual del simulador
acepta los datos con el campo “Argumento Perigeo (w)” vacío. Asignándole
automáticamente el valor de 0.
2.- Botón para añadir satélites y estaciones terrenas. Muestra nuevos campos necesarios
para configurar la posición de los satélites y estaciones terrenas. Estos nuevos campos
aparecen en la parte inferior del botón (véase siguiente grafica).
3.- Botón para añadir los datos los nuevos elementos creados para representarlos. Puede
ser sólo una órbita (caso de esta gráfica) o un sistema completo formado por órbita,
satélites y estaciones terrenas. Al pulsarse aparece en caso de que no esté ya presente el
panel de elementos.
4.- Muestra ayuda rápida sobre los datos a introducir en el panel. Muestra un gráfico
donde se representan los parámetros para una fácil interpretación de los mismos.
Con los campos mostrados inicialmente en el panel de órbitas es suficiente para
crear órbitas. Si deseamos además representar satélites y estaciones terrenas como ya se
ha anticipado en el anterior punto 2, basta con pulsar el botón POSICIÓN SATÉLITES-
ESTACIÓN TERRENA tras haber introducido los datos orbitales correctos. Esto hace
que aparezcan los siguientes elementos (véase figura IV.2.2.5.2):.
Figura IV.2.2.5.2. Detalle para introducir datos satélites y estaciones terrenas
Figura IV.2.2.5.3. Detalle en caso de órbita sin excentricidad
1.- Determinar posición del satélite:
Se pide: Tiempo de paso por el perigeo
(T), fecha y hora en la que se toma la
medida (referencia: 12 horas del 1 de
enero del año 4713 a.C.). Pero en el
caso de órbita sin excentricidad no se
pide T sino la longitud del satélite.
2.- Determinar posición de la estación
terrena:
Longitud. Positiva es medida desde el
meridiano de Greenwich hacia el este
negativa hacia el oeste.
Manual del simulador
Latitud. Positiva medida hacia el norte, negativa medida hacia el sur desde el ecuador.
3.- Añade el satélite y estación configurada a la órbita previamente creada y permite
continuar añadiendo nuevos satélites y estaciones.
IV.2.2.6. Panel de elementos
IV.2.2.6.1. Aspecto inicial
El aspecto inicial que presenta este panel es el siguiente:
Inicialmente aparece de forma compacta esperando que el
usuario pulse el botón actualizar una vez haya terminado de
añadir elementos a escena desde el panel de datos orbitales.
El botón Actualizar despliega a la derecha de este panel una
botonera con las opciones de representación y rellena el
panel actual con los elementos añadidos. Los elementos los
muestra de forma ordenada, manteniendo las relaciones de
órbitas con satélites.
Figura IV.2.2.6.1.1. Panel elementos compacto
IV.2.2.6.2. Navegando por los elementos de la escena
Figura IV.2.2.6.2.1. Panel elementos desplegado
Este panel presenta tres
secciones diferenciadas:
- Elementos
- Representar
- Información
Manual del simulador
La sección Elementos donde se muestra en forma de árbol los elementos que se
han introducido para poder seleccionarlos.
La sección Representar desde la cual se puede seleccionar los ítems que se
desean mostrar de los elementos seleccionados de la sección Elementos.
La sección Información, colocada bajo la sección Elementos, desde la cual es
posible acceder a los datos de los elementos seleccionados.
La forma de seleccionar que es lo que se quiere representar, es empleando los
botones con el nombre del ítem que se desea. No todos los botones están habilitados
para todos los elementos seleccionados. Por ejemplo si seleccionamos un satélite, no
podremos acceder al botón perigeo o si seleccionamos una órbita a la elevación y
azimut.
A continuación se enumeran las funciones de los botones de este panel:
Representa todos los elementos del árbol elementos
Representa el ángulo de elevación para el satélite seleccionado
Representa el ángulo azimut para el satélite seleccionado
Muestra / oculta el plano orbital del elemento seleccionado, en el
caso de la Tierra su ecuador.
Muestra / oculta el punto del perigeo de la órbita seleccionada
La parte inferior en la que se muestra información rápida del elemento
seleccionado en forma de color para distinguirlo en la escena, tenemos el botón INFO y
el botón BORRAR.
Muestra / oculta panel de información del elemento seleccionado
Borra toda la escena
Manual del simulador
88
IV.2.2.7. Panel de información
Accesible desde el panel de escena o desde el panel de elementos este panel
muestra datos relativos a una órbita, satélite o estación.
Situado en la esquina inferior derecha este panel consta de 3 secciones, a identificar
como Órbita, Satélite y Estación. Estas secciones son accesibles a través de 3 botones
colocados en la parte inferior del panel.
2.2.7.1. Secciones
Órbita
Información mostrada:
Tipo de órbita: GEO, LEO, SSO, MEO, HEO, DESCONOCIDA.
Semieje mayor: distancia desde el centro de la tierra al apogeo.
Excentricidad
Inclinación
Argumento del perigeo
Ascensión recta del nodo ascendente
Figura IV.2.2.7.1.1 Detalle información órbita
Satélite
Información mostrada:
Anomalía media
Coordenadas orbitales
Coordenadas inerciales
Coordenadas Rotacionales
Posición del punto subsatelital: latitud, longitud.
Manual del simulador
89
Figura IV.2.2.7.1.2. Detalle información satélite:
Estación
Información mostrada:
Posición de la estación terrena: latitud, longitud.
Ángulo de elevación
Ángulo de azimut
Ángulo de visión: mostrando mensajes de no visibilidad cuando el satélite
sobrepasa el horizonte local.
Figura IV.2.2.7.1.3. Detalle información estación
Cuando se representa los ángulos de elevación y azimut, las líneas que
representan dichos ángulos tienen el mimo color que las letras que aparecen en este
panel, para una mejor identificación de dichos ángulos en la representación.
Manual del simulador
90
IV.3. Órbitas En este apartado se describe en 7 fáciles pasos el acceso a todas las
funcionalidades referidas a las órbitas. Este pequeño número de pasos a controlar, hace
que sea atractivo su manejo y rápido su aprendizaje.
IV.3.1. Crear órbitas
Los pasos a seguir son
muy lineales, buscando la
facilidad del usuario.
1.- Seleccionar el modo
representación: pulsar botón de
la barra principal
REPRESENTACIÓN
2.- Rellenar los campos para
definir la órbita. Pulsar con el
ratón sobre las casillas
habilitadas para tal fin.
3.- Completados todos los
campos, pulsar el botón
Figura IV.3.1.1. Pasos crear órbitas AÑADIR a ESCENA
Con estos 3 simples pasos hemos creado nuestra primera órbita.
Manual del simulador
91
IV.3.2. Representar órbitas
El siguiente paso es visualizar nuestra órbita en el escenario. Al realizar la
última operación en el paso anterior de creación de órbitas, aparece el panel de
elementos, tal y como se muestra en la siguiente figura:
4.- Para rellenar el panel con los elementos creados se debe
pulsar sobre el botón Actualizar.
Figura IV.3.2.1. Representar órbitas 1
Tras pulsar Actualizar se obtiene algo similar a la siguiente figura donde aparece
la órbita creada y una serie de botones con las nuevas funcionalidades accesibles.
5.- Basta con pulsar el botón Elementos
para representar nuestra órbita en el
escenario 3D.
A continuación es posible
seleccionar los botones Plano
seleccionado o Perigeo para visualizar el
plano orbital o el punto del perigeo de la
Figura IV.3.2.2. Representar órbitas 2. órbita seleccionada.
IV.3.2.1. Casos especiales
Ya sea por su utilidad o curiosidad hay dos casos a los que se le va a prestar
especial atención en este apartado: las órbitas geoestacionarias y la ubicación de los
cinturones de Van Allen.
Manual del simulador
92
IV.3.2.1.1. Geoestacionaria
Las órbitas geoestacionarias son de las más importantes en las comunicaciones
vía satélite.
Para crear este tipo de órbitas hay que seguir los pasos antes descritos sabiendo
que como dato en la casilla para introducir el semieje mayor hay que escribir la cifra:
42166.
IV.3.2.1.2. Cinturones de Van Allen
Los cinturones de radiación de Van Allen son áreas de la alta atmósfera que
rodean la Tierra por encima de la ionosfera. Aunque su delimitación no está aún
completamente confirmada, ya que la actividad solar y el magnetismo generan
oscilaciones en sus límites (zonas de radiación). Se considera 2 cinturones, con las
siguientes alturas:
1º: 1600-5000 Km.
2º: 15000-20000 Km.
La intensidad de radiación presente en los cinturones de Van Allen produce un
elevado deterioro de los circuitos electrónicos y paneles solares de las naves espaciales,
mientras que el efecto de una exposición sobre los seres vivos resulta extremadamente
dañino. Por esta, razón las misiones espaciales requieren tanto de una protección eficaz
ante el poder penetrativo que representa el bombardeo de partículas subatómicas, como
de una perfecta planificación en la que se reduce al mínimo la exposición de los
astronautas frente a dichas radiaciones.
Es por ello por lo que hay que tenerlos en cuenta y eso es lo que hace este
simulador. Mostrando el siguiente mensaje de advertencia cuando detecta este posible
caso:
Figura IV.3.2.1.2.1. Mensaje advertencia Van Allen
Manual del simulador
93
IV.3.3. Datos órbitas
Para obtener los datos de una órbita hay que recurrir al panel de información.
6.- Pulsar sobre el botón INFO para
mostrar el panel con los datos de la
órbita seleccionada.
Figura IV.3.3.1. Acceder al panel información
Se obtiene un panel en la parte inferior derecha de la pantalla, similar al
siguiente:
Figura IV.3.3.2. Detalle información órbita
IV.3.4. Eliminar órbitas
7.- En el mismo panel de elementos
pulsar el botón BORRAR.
Figura IV.3.4.1. Borrar elementos
Manual del simulador
94
IV.4. Satélites
Trabajar con satélites es similar a como se ha descrito con órbitas, como se verá
en los siguientes apartados.
IV.4.1. Crear satélites
Sólo 6 pasos son los necesarios para crear y añadir nuestro satélite al árbol de
elementos a representar.
Los pasos 1 y 2 son los mismos que
para la creación de órbitas.
3.- Pulsar el botón: POSICIÓN
SATÉLITES - ESTACIÓN
TERRENA.
Se despliega nuevos campos para
añadir los datos de nuestros
satélites y estaciones terrenas.
4.- Rellenar las casillas, prestando
atención al formato admitido por
las mismas:
Para Tiempo de paso perigeo y
hora el formato con el que se debe
introducir los datos es:
Hora:minutos:segundos
Para el campo fecha: Día-mes-año
Este detalle es facilitado por la
Figura IV.4.1.1. Crear satélites aplicación en modo de mensajito
que aparece al colocar el ratón sobre la casilla a rellenar.
Figura IV.4.1.2. Detalle mensaje de ayuda.
Manual del simulador
95
5.- Pulsar AÑADIR para confirmar los datos introducidos. Si se de desea añadir otro
satélite – estación a la órbita actual, basta con volver al punto 4.
6.- Para finalizar la introducción de satélites y estaciones pulsar AÑADIR a ESCENA.
IV.4.2. Representar satélites
Los pasos para representar un satélite son análogos a los
de órbita. Al realizar la última operación en el paso anterior,
aparece el panel de elementos, tal y como se muestra en la
siguiente figura de la izquierda.
7.- Para rellenar el panel con los elementos creados se debe
pulsar sobre el botón Actualizar.
Figura IV.4.2.1. Representar satélites 1
Tras el paso 7 se despliegan el resto de opciones del panel. Se obtiene una
situación similar a la que aparece en la siguiente figura aparece la órbita creada y una
serie de botones con las operaciones que se pueden acceder.
8.- Basta con pulsar el botón Elementos
para representar nuestra órbita en el
escenario 3D.
Figura IV.4.2.2. Representar satélites 2
A continuación es posible seleccionar los botones Elevación, Azimut para
visualizar dichos ángulos, Plano seleccionado o Perigeo para visualizar el plano orbital
o el perigeo de la órbita al que pertenece el satélite seleccionado.
Manual del simulador
96
IV.4.3. Datos de satélites
Para obtener los datos de un satélite y estación terrena asociada hay que recurrir
al panel de información.
9.- Pulsar sobre el botón INFO para
mostrar el panel con los datos de la
órbita seleccionada.
Figura IV.4.3.1. Acceder a datos del satélite
Se obtiene un panel en la parte inferior derecha de la pantalla, similar al
siguiente:
Seleccionando la opción satélite:
Figura IV.4.3.2. Detalle datos satélites
Seleccionando la opción estación:
Figura IV.4.3.3. Detalle datos estaciones
Manual del simulador
97
IV.4.4. Localización de satélites desde la Tierra
Con la idea de orientar las antenas en las estaciones terrenas en la dirección
correcta hacia los satélites se definen un par de ángulos para tal fin: ángulo de elevación
y ángulo de azimut. Esta aplicación permite representar dichos ángulos. A continuación
veamos cómo:
IV.4.4.1. Elevación
En el panel de elementos seleccionar el satélite deseado que previamente se ha
representado en la escena y pulsar sobre Elevación, en nuestra escena aparecerá un
resultado similar al de la siguiente figura, donde aparecen las elementos que se
representan junto con el ángulo de elevación: horizonte local, recta que une centro de la
tierra con satélite, recta que une estación terrena con satélite:
Figura IV.4.4.1.1. Representación Elevación
Manual del simulador
98
Sólo es posible realizar esta representación para un satélite al mismo tiempo,
para volver a tener accesible esta opción para el resto de satélites hay que pulsar
nuevamente el botón Elevación.
IV.4.4.2. Azimut
En el panel de elementos seleccionar el satélite deseado que previamente se ha
representado en la escena y pulsar sobre Azimut, en nuestra escena aparecerá un
resultado similar al de la siguiente figura, donde aparecen las elementos empleados de
referencia que se representan junto con el ángulo de azimut: las líneas que unen el Polo
Norte con el punto subsatelital (PS) y con la estación terrena (ET) y la línea que une ET
con PS.
Figura IV.4.4.2.1. Representación Azimut.
Al igual que con la elevación, sólo es posible realizar esta representación para un
satélite al mismo tiempo, para volver a tener accesible esta opción para el resto de
satélites hay que pulsar nuevamente el botón Azimut.
Manual del simulador
99
IV.4.5. Movimiento de satélites
Para ver en movimiento la escena 3D basta con pulsar el botón con el siguiente
icono situado en el panel de escena (esquina inferior izquierda de la pantalla).
IV.4.6. Eliminar satélites
Pulsar el botón BORRAR del
panel de elementos para eliminar toda
la escena representada y elementos
almacenados.
IV.5. Estudio del radioenlace
Para acceder a la ventana para realizar el análisis del
radioenlace pulsar sobre el botón de la barra principal
ESTUDIO RADIOENLACE, mostrado a la izquierda.
Figura IV.5.1. Detalle icono radioenlace
Conociendo las distintas partes de la que consta la ventana para el estudio del
radioenlace, el aprendizaje de su manejo es muy rápido y los pasos a seguir son los
siguientes:
Manual del simulador
100
1.- Introducir datos del radioenlace
Figura IV.5.1.1. Detalle datos del enlace
2.- Opcionalmente se puede configurar y seleccionar pérdidas:
Figura IV.5.1.2. Detalle pérdidas adicionales
3.- Cálculo del balance de potencia recibida y relación C/N: Pulsar botón CALCULAR
Figura IV.5.1.3. Detalle cálculos del radioenlace
Manual del simulador
101
4.- Representación:
Figura IV.5.1.4. Representación gráfica.
Representar gráficas: Seleccionar la gráfica deseada y pulsar REPRESENTAR.
Borrar gráficas. Pulsar BORRAR.
5.- Salir de la ventana: Pulsar botón Salir
Figura IV.5.1.5. Botón Salir
Manual del simulador
102
IV.6. Solución de problemas
El siguiente apartado pretende dar solución a algunas situaciones detectadas con
las que el usuario se puede encontrar.
IV.6.1. No sucede nada al arrancar la aplicación. Comprobar que está instalada Java jre 1.5 o superior y las librerías necesarias
LWJGL están instaladas correctamente.
IV.6.2. Aparece mensaje de error al arrancar la aplicación. Si al arrancar la aplicación aparece la siguiente ventana de error:
Figura IV.6.2.1. Mensaje de error de LWJGL.
Instale las librerías necesarias de LWJGL en la carpeta bin de jre.
IV.6.3. Aparece una pantalla inicial de configuración pero al pulsar OK no ocurre nada.
Si en el apartado de refresco de la pantalla no es posible cambiar dicho valor y
aparece 1Hz esto puede ser debido a no tener los drivers apropiados para la tarjeta
gráfica, proporcionados por el fabricante y que dan soporte para aceleración OpenGL.
Manual del simulador
103
La instalación de los drivers que proporciona Windows por defecto no garantiza
el soporte para OpenGL por lo que es necesaria una actualización de los mismos.
Identifique la marca y modelo de su tarjeta y descárguese los drivers más adecuados
desde la página Web del fabricante.
Figura IV.6.3.1. Pantalla inicial de configuración.
IV.6.4. La aplicación arranca pero no se ve bien.
Asegúrese que la resolución escogida para la ejecución de la aplicación es
superior a 800x600. Se recomienda al menos una resolución de 1024x768.
CAPÍTULO V - PRUEBAS Y VALIDACIÓN DE RESULTADOS
Pruebas y validación de resultados
105
V.1. Introducción
En el presente capítulo se desarrollan y resuelven una serie de problemas típicos
y se comprueban los resultados con los que se obtiene con el simulador. La intención es
verificar que se trata de una herramienta útil y fiable para la validación de resultados
teóricos.
V.2. Pruebas En este apartado se enuncian una serie de problemas de análisis de radioenlaces
en los que hay que realizar diferentes operaciones para obtener los resultados pedidos.
Las soluciones son completadas con presentaciones resumidas de los resultados teóricos
empleados. En algunos problemas se puede identificar directamente los datos necesarios
para introducir en nuestra aplicación mientras que en otros se debe realizar algunas
operaciones intermedias para obtenerlos. Con estos ejemplos prácticos se aprende como
identificar los distintos datos obtenidos manualmente con las distintas casillas de la
aplicación. En los distintos desarrollos de dichas soluciones se marca ( ) los datos que
emplearemos para la verificación de los resultados con la aplicación.
V.2.1. Problema 1
Considere una estación terrena equipada con una antena de diámetro d = 4 m. La
antena es alimentada con una potencia de 100W a 14 GHz (frecuencia del enlace
ascendente) y su eficiencia es del 60%. El satélite (geoestacionario) se encuentra a una
distancia aproximada de 40000Km de la antena. La antena del satélite tiene un ancho de
haz a 3 dB de 2º y una eficiencia del 55%. La estación terrena en cuestión está en el
centro de la zona de cobertura.
Determine:
1. La potencia total recibida por la antena del satélite.
2. El flujo de potencia que incide en el satélite.
Pruebas y validación de resultados
106
— Solución —
Se emplea la fórmula de Friis para el balance de potencia en dB:
Prx = Ptx + Dtx + Drx – Lbf - Lad
Donde:
Prx es la potencia recibida
Ptx es la potencia transmitida
Dtx es la directividad de la antera transmisora
Drx es la directividad de la antera receptora
Lbf son las pérdidas básicas en espacio libre
Lad son las pérdidas adicionales, debidas a: equipos, polarización, apuntamiento,
lluvia, gases.
El panel de análisis del radioenlace necesita de los datos que aparecen en el
segundo miembro de la fórmula para el cálculo de la potencia recibida. A continuación
se realizan los cálculos necesarios para obtener esos datos y comprobar los resultados:
Para obtener esos datos se recurre a las siguientes ecuaciones:
- Área efectiva para antenas de apertura: 2
2efdA η ⎛ ⎞= ⋅⎜ ⎟
⎝ ⎠
η: Eficiencia de la antena. d: Diámetro de la antena.
- Relación ancho de haz 3dB con diámetro de una antena de apertura:
9
3
70
dB
d λθ⋅
= 3dBθ : Ancho de haz 3dB (º). λ: longitud de onda.
- Directividad (Di) de las antenas:
2
4i efD A π
λ⋅
= ⋅ efA : Área efectiva. λ: longitud de onda.
9 También es muy empleada esta otra expresión: 75
3d
dB
λθ
⋅=
Pruebas y validación de resultados
107
- Pérdidas básicas :
( ) 92.45 20log ( ) 20log ( )bfL dB f GHz d Km= + +
Enlace ascendente: 0.021428571 ac mf
λ = =
- Directividad de la antena transmisora de la estación terrena: 2
,40.6 206340.5293 53.15tx ET
a
D dBπλ
⎛ ⎞⋅= ⋅ = →⎜ ⎟
⎝ ⎠
- Directividad de la antena receptora del satélite:
70 0.752
aSATd mλ⋅
=
2
, 0.55 6649.645965 38.23SATrx SAT
a
dD dBπλ
⎛ ⎞⋅= ⋅ = →⎜ ⎟
⎝ ⎠
- Pérdidas básicas:
92.45 22.9226 92.0412 207.4138bfL dB= + + =
1. La potencia total recibida por la antena del satélite:
P 20 53.15 38.23 207.41 0 96.03 249.46rx dB pW= + + − − = − →
2. El flujo de potencia que incide en el satélite. 2
2, 0.243
4a
ef rx SATA D mλπ
= ⋅
2246.46 1026.58 0.243
rx
ef
P pW mA
ϕ = =
Resultado de la aplicación:
Introduciendo los siguientes datos:
Ptx: 20 dB
,tx ETD : 53.15 dB
,rx SATD : 38.23 dB
Distancia del enlace (r): 40000 Km
Frecuencia (f): 14 GHz
El resultado obtenido de la potencia total recibida por la antena del satélite es:
-96.0255 dB.
Pruebas y validación de resultados
108
V.2.2. Problema 2
Considere el enlace descendente (12 GHz) para el mismo satélite y estación
terrena del problema 1. La potencia entregada a la antena de satélite es 10 W.
Determine:
1. La potencia recibida por la estación terrena.
2. El flujo de potencia que incide en la antena de la Tierra.
— Solución —
Enlace descendente: 0.025 dc mf
λ = =
Como indica el enunciado, emplearemos los datos (directividad) obtenidos en el
problema anterior.
- Pérdidas básicas:
92.45 21.5836 92.0412 206.0748bfL dB= + + =
1. La potencia total recibida por la estación terrena:
P 10 38.23 53.15 206.0748 0 104.6948 33.93rx dB pW= + + − − = − →
2. El flujo de potencia que incide en la antena de la Tierra. 2
27.544efdA mπη ⋅
= ⋅
233.93 4.5 7.54
rx
ef
P pW mA
ϕ = = =
Resultado de la aplicación:
Introduciendo los siguientes datos:
Ptx: 10 dB
,tx SATD : 38.23 dB
,rx ETD : 53.15 dB
Distancia del enlace (r): 40000 Km
Pruebas y validación de resultados
109
Frecuencia (f): 12 GHz
El resultado obtenido de la potencia total recibida por la antena de la estación
terrena es: -104.6947 dB.
V.2.3. Problema 3
Considere el enlace descendente, a 4 GHz, de un radioenlace de TV vía satélite. La antena del satélite de una ganancia de 25dB transmite 10dBW.El satélite se encuentra a una distancia aproximada de 37622 Km de la antena de la estación terrena. La estación terrena se caracteriza por una antena de ganancia 46.51dB y una temperatura del sistema receptor de 270ºK. Considere el ancho de banda de ruido de la portadora de TV = 36MHz. Calcule la relación (C/N) — Solución —
En este problema se va a ver cómo obtener la relación portadora a ruido del
enlace. La relación a resolver es:
enlaceC GPIRE L K BN T
⎛ ⎞ = − + − −⎜ ⎟⎝ ⎠
Suponiendo que no existen perdidas por apuntamiento ni otras adicionales, Lenlace
será las pérdidas básicas de propagación en medio libre.
46.51 24.31 22.2 /G dB KT= − =
14 C dBN
⎛ ⎞ =⎜ ⎟⎝ ⎠
Resultado de la aplicación:
Para el cálculo de CN
la aplicación emplea la misma relación que se ha
enunciado al principio de la solución.
, ( ) ( ) 10 25 35tx SAT txPIRE P dBW G dB dBW= + = + =
228.6 ºK dBW K Hz= − −
610log36 10 75.6 /B dBW Hz= ⋅ =
Pruebas y validación de resultados
110
Introduciendo los siguientes datos:
Ptx: 10 dBW
,tx SATD : 25 dB
,rx ETD : 46.51 dB
Distancia del enlace (r): 37622 Km
Frecuencia (f): 4 GHz
TET: 270ºK
B: 36 MHz
El resultado obtenido de la relación potencia de la portadora – potencia de ruido es: 14.24 dB.
V.2.4. Problema 4 Considere el enlace ascendente, a 14 GHz, de un radioenlace vía satélite. La estación terrena está equipada con una antena de 3.5m de diámetro. Dicha antena es alimentada por una potencia de 110 W y su eficiencia es del 60%. El satélite (geoestacionario) se encuentra a una distancia aproximada de 40000 Km de la antena. La antena del satélite tiene un ancho de haz 3 dB de 2º y una eficiencia del 65%. Considere que las pérdidas de la línea que alimenta la antena transmisora son 0.5 dB y su error de apuntamiento es 0.1. La pérdida de la línea entre la antena receptora a bordo y el transpondedor es 1 dB, siendo su temperatura 290º K. La figura de ruido del receptor a bordo es 3 dB. Considere que la estación terrena está en el borde de la zona de cobertura a -3 dB de la antena receptora del satélite. Calcule la figura de mérito del receptor a bordo y la relación (C/N0) para los siguientes casos: 1. Atenuación atmosférica 0.4 dB. 2. Atenuación atmosférica 0.4 dB y atenuación por lluvia 11 dB.
— Solución —
En este problema se va a ver cómo obtener la relación portadora a ruido del
enlace ascendente (a): (C/N0)a. Para ello además de las expresiones enunciadas en el
problema anterior se utilizan algunas nuevas.
La relación a resolver es:
, ,0
10log ( )raa bf a ad a
SATa
GC PIRE IB L L K dBN T
⎛ ⎞= + − − + −⎜ ⎟
⎝ ⎠
Pruebas y validación de resultados
111
Donde PIREa10 de la estación terrena transmisora es:
PIRE radiada por la estación en el eje de
puntería de la antena de transmisión.
,( )ta txmáx ap txG dB D L= −
IB: Input Back off11. Se considera igual a 0dB (no se produce intermodulación
entre portadoras)
ra
SAT
GT
es la figura de mérito del satélite. Relación entre la ganancia de la antena
del satélite raG y la temperatura de ruido del receptor, referida a la entrada del
primer amplificador del satélite, SATT .
10 log K =-228.6 dBW/ ºK-Hz K: Constante de Boltzmann
Veamos como se resuelve cada dato paso a paso:
- Longitud de onda del enlace ascendente: 0.021428571 ac mf
λ = =
- Potencia transmitida por la estación terrena: Ptx,ET= 20,41 dBW.
- Directividad de la antena transmisora de la estación terrena: 2
,3.50.6 157979.4741 51.99tx ETa
D dBπλ
⎛ ⎞⋅= ⋅ = →⎜ ⎟
⎝ ⎠
- Directividad de la antena receptora del satélite:
70 0.75 2
aSATd mλ⋅
=
2
, 0.65 7858.673 38.95SATrx SAT
a
dD dBπλ
⎛ ⎞⋅= ⋅ →⎜ ⎟
⎝ ⎠
10 PIRE: Potencia isótropa radiada equivalente. 11 Parámetro de explotación del transpondedor. Reducción de la potencia de trabajo de los amplificadores de los transpondedores para evitar el ruido de intermodulación entre las portadoras moduladas con las que trabaja.
, ( ) ( )a tx ET taPIRE P dBW G dB= +
Pruebas y validación de resultados
112
- Pérdidas por apuntamiento de la estación terrena en transmisión:
370 0.42857º3.5dBλθ ⋅
= =
2 2
,3 ,
0.112 12 0.6530.42857
Tap tx
dB tx
L dBθθ⎛ ⎞ ⎛ ⎞= ⋅ = ⋅ =⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎝ ⎠⎝ ⎠
- Pérdidas por apuntamiento del satélite en recepción:
Pérdida por recepción fuera del haz (borde de la zona de cobertura): 3dB12
- PIRE de la estación terrena:
Potencia entregada a la antena:
( ) 20.41 0.5 19.91ent ant alP dB P L dB− = − = − =
Ganancia en el eje de puntería:
,( ) 51.99 0.653 51.337ta txmáx ap txG dB D L dB= − = − =
19.91 51.337 71.25aPIRE dBW= +
- Pérdidas del enlace ascendente sin y con lluvia:
Pérdidas totales: pérdidas básicas en el medio libre más pérdidas adicionales
(atmosféricas y lluvia).
, , ,Total a bf a ad aL L L= +
, 92.45 22.9226 92.0412 207.4138bf aL dB= + + =
12 1ºRθ = Borde de la zona de cobertura de -3dB.
2 2112 12 3, 23 ,RL dBap rx
dB rx
θ
θ
⎛ ⎞ ⎛ ⎞⎜ ⎟= ⋅ = ⋅ =⎜ ⎟⎜ ⎟ ⎝ ⎠⎝ ⎠
Pruebas y validación de resultados
113
Sin lluvia:
, , , 0.4 0 0.4ad a at a llu aL L L dB= + = + =
, 207.4138 0.4 207.81Total aL dB= +
Con lluvia:
, , , 0.4 11 11.4ad a at a llu aL L L dB= + = + =
, 207.4138 11.4 218.81Total aL dB= +
- Temperatura de ruido del satélite (a la entrada del receptor R):
No cambia con la lluvia, al encontrarse muy distante de la fuente de la misma.
La relación a resolver es:
( )00
( 1) 1aSAT eq r
T T lT T T fl l
−= = + + −
La temperatura de la antena en un enlace descendente verifica:
a Tierra EspacioT T T= +
TierraT .Temperatura de la Tierra. Se suele tomar igual a 290ºK si no se tienen
datos más precisos.
EspacioT . Temperatura del espacio. Se suele considerar despreciable.
0T . Temperatura de referencia (290ºK).
rf . Factor de ruido del receptor: /1010 1.995RFrf =
1/1010 1.2589l =
Sustituyendo los datos:
578.63º 27.62 ºSATT K dB K→
Pruebas y validación de resultados
114
1. Figura de mérito del satélite (G/T):
,( )
38.95 3 35.95ra rxmáx ap rxG dB D L
dB
= − =
= − =
10 log
35.95 1 27.62 7.33 /
ra SATG G L TT
dB K
= − − =
= − − =
Con lluvia no cambia.
2. Relación portadora - densidad espectral de ruido del enlace ascendente sin y
con lluvia:
0
71.25 207.81 7.33 228.6 99.37C dBHzN
= − + + =
0
71.25 207.81 11 7.33 228.6 88.37ll
C dBHzN
= − − + + =
Resultado de la aplicación:
Para el cálculo de CN
la aplicación emplea la siguiente relación:
a aa
C GPIRE L K BN T
⎛ ⎞ = − + − −⎜ ⎟⎝ ⎠
A partir de 0
CN
se determina CN
dividiendo por la anchura de la banda de
transmisión bt (o restando 10log (Hz)tB b= ).
Igualando con los resultados anteriores, obtenemos B, el ancho de banda de
ruido.
99.37 71.25 207.81 228.6C BN= = − + −
B=0 b=1Hz
Pruebas y validación de resultados
115
Introduciendo los siguientes datos:
Ptx: 20.41 dBW
,tx ETD : 51.99 dB
,rx SATD : 38.95 dB
Distancia del enlace (r): 40000 Km
Frecuencia (f): 14 GHz
TSAT: 578.63ºK
B: 1 Hz
Lequipotx: 0.5 dB
Lequiporx: 1 dB
Lgases: 0.4 dB
Lapuntamiento,tx: 0.65 dB
Lapuntamiento,rx: 3 dB
Lluvia: 0dB – 11dB
El resultado obtenido de la relación portadora - densidad espectral de ruido del
enlace ascendente es:
- Sin lluvia: 99.3666 dB
- Con lluvia: 88.3666 dB
V.2.5. Problema 5
Considere ahora el enlace descendente del radioenlace anterior. La estación
terrena receptora está situada en el borde de la zona de cobertura de −3 dB de la antena
del satélite. El satélite está equipado con una antena cuyo ancho de haz a 3 dB es de 2º y
su eficiencia es del 55%. La potencia que alimenta la antena del satélite es de 10 W a 12
GHz. La atenuación de la línea que alimenta a antena transmisora es 1 dB. La figura de
ruido del receptor en tierra es 1.5 dB. La atenuación de la línea que une la antena al
receptor es 1 dB y su temperatura es 290 K. La antena receptora tiene 4 m. de diámetro,
una eficiencia del 60% y un error de apuntamiento de 0.05º. La temperatura equivalente
de ruido de antena debida al terreno es de 45 K, y la del firmamento, para la solución
considerada, es 20 K. La distancia entre antenas es de, aproximadamente, 40000 Km
Pruebas y validación de resultados
116
Calcule la figura de mérito del receptor en tierra y la relación (C/N0) para los siguientes
casos:
1. Atenuación atmosférica 0.3 dB.
2. Atenuación atmosférica 0.3 dB y atenuación por lluvia 10 dB. Tome la temperatura
ambiente de la atmósfera lluviosa igual a 280 K.
— Solución —
En este problema se pondrá de manifiesto las diferencias entre los enlaces
ascendentes y descendentes (d) en el cálculo de la relación portadora a ruido. Los pasos
a seguir para su resolución son similares al problema anterior.
La relación a resolver es:
, ,0
10 log ( )rdd bf d ad d
ETd
GC PIRE OB L L K dBN T
⎛ ⎞= + − − + −⎜ ⎟
⎝ ⎠
PIREd es la del satélite transmisor.
OB: Output Back off. Se considera igual a 0dB (no se produce intermodulación
entre portadoras)
rd
ET
GT
es la figura de mérito de la estación terrena. Relación entre la ganancia de
la antena de la estación rdG y la temperatura de ruido del receptor, referida a la
entrada del primer amplificador de la estación ETT .
10 log K =-228.6 dBW/ ºK-Hz K: Constante de Boltzmann
Veamos como se resuelve cada dato paso a paso:
- Longitud de onda del enlace descendente: 0.025 dc mf
λ = =
- Potencia transmitida por el satélite: Ptx,SAT= 10 dBW.
- Directividad de la antena transmisora del satélite:
70 0.875 2
dSATd mλ⋅
= =
2
, 0.55 6649.646 38.23SATtx SAT
a
dD dBπλ
⎛ ⎞⋅= ⋅ →⎜ ⎟
⎝ ⎠
Pruebas y validación de resultados
117
- Directividad de la antena receptora de la estación terrena: 2
,40.6 151597.124 51.81rx ET
d
D dBπλ
⎛ ⎞⋅= ⋅ = →⎜ ⎟
⎝ ⎠
- Pérdidas por apuntamiento del satélite en transmisión:
Pérdida por recepción fuera del haz (borde de la zona de cobertura): 3dB13
- Pérdidas por apuntamiento de la estación terrena en recepción:
370 0.4375º
4dBλθ ⋅
= =
2 2
,3 ,
0.0512 12 0.160.4375
Tap tx
dB tx
L dBθθ⎛ ⎞ ⎛ ⎞= ⋅ = ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎝ ⎠⎝ ⎠
- PIRE del satélite:
Potencia entregada a la antena:
( ) 10 1 9ent ant alP dB P L dB− = − = − =
Ganancia en el eje de puntería:
,( ) 38.23 3 35.23td txmáx ap txG dB D L dB= − = − =
9 35.23 44.23aPIRE dBW= + =
- Pérdidas del enlace ascendente sin y con lluvia:
Pérdidas totales: pérdidas básicas en el medio libre más pérdidas adicionales
(atmosféricas y lluvia).
, , ,Total d bf d ad dL L L= +
, 92.45 21.5836 92.0412 206.0748bf dL dB= + + =
Sin lluvia:
, , , 0.3 0 0.3ad d at d llu dL L L dB= + = + =
, 207.4138 0.3 206.37Total dL dB= +
13 1ºRθ = Borde de la zona de cobertura de -3dB.
2 2112 12 3, 23 ,RL dBap rx
dB rx
θ
θ
⎛ ⎞ ⎛ ⎞⎜ ⎟= ⋅ = ⋅ =⎜ ⎟⎜ ⎟ ⎝ ⎠⎝ ⎠
Pruebas y validación de resultados
118
Con lluvia:
, , , 0.3 10 10.3ad d at d llu dL L L dB= + = + =
, 206.0748 10.3 216.37Total dL dB= +
- Temperatura de ruido de la estación terrena (a la entrada del receptor R):
Al igual que en el problema anterior, la
ecuación a resolver es:
( )00
( 1) 1aET eq r
T T lT T T fl l
−= = + + −
Donde la temperatura de antena Ta, ahora se ve afectada por la lluvia, el cielo y
el suelo. Las expresiones generales para calcular Ta son:
- Con cielo claro: a Cielo Suelo aT T T T= + + Δ
CieloT . Temperatura del cielo (firmamento). Se suele calcular a partir
de curvas en función de la frecuencia y elevación de la antena.
SueloT . Temperatura del suelo. Se calcula como la suma de las
temperaturas de ruido captadas por cada uno de los lóbulos
secundarios (o laterales) de la antena.
aTΔ . Incremento de la temperatura de antena debido a la contribución
de fuentes puntuales, como pueden ser el Sol o la Luna. Existen
fórmulas para estimar este incremento de temperatura, pero si
consideramos que ni el Sol ni la Luna están en la dirección de
máxima radiación/recepción de la antena, puede despreciarse su
contribución.
- Con lluvia: 11Cielo aa m Suelo
Lluvia Lluvia Lluvia
T TT T TL L L
⎛ ⎞ Δ= + − + +⎜ ⎟
⎝ ⎠
mT . Temperatura media de la masa acuosa. [260,280]ºmT K∈
LluviaL . Atenuación debida a la lluvia.
Pruebas y validación de resultados
119
Temperaturas de antena del problema:
- Sin lluvia: 20 45 65ºaT K= + =
- Con lluvia: 20 1280 1 45 299º10 10a ll
T K⎛ ⎞= + − + =⎜ ⎟⎝ ⎠
Factor de ruido del receptor: /1010 1.41254RFrf =
1/1010 1.2589l =
Sustituyendo los datos:
- Sin lluvia: 230.91º 23.63 ºETT K dB K→
- Con lluvia: 416.78º 26.20 ºET llT K dB K→
1. Figura de mérito de la estación terrena (G/T):
,( )
51.81 0.16 51.65rd rxmáx ap rxG dB D L
dB
= − =
= − =
- Sin lluvia: ,10 log 51.65 1 23.63 27.02 /rd e ETG G L T dB KT= − − = − − =
- Con lluvia: 10 log 51.65 1 26.20 24.45 /rd ET llll
G G L T dB KT
= − − = − − =
2. Relación portadora - densidad espectral de ruido del enlace ascendente sin y
con lluvia:
0
44.23 206.37 27.02 228.6 93.48C dBHzN
= − + + =
0
44.23 216.37 27.02 228.6 83.48ll
C dBHzN
= − + + =
Pruebas y validación de resultados
120
Resultado de la aplicación:
Introduciendo los siguientes datos:
Ptx: 10 dBW
,tx SATD : 38.23 dB
,rx ETD : 51.81 dB
Distancia del enlace (r): 40000 Km
Frecuencia (f): 12 GHz
TET: 230.91ºK
ET llT : 416.78ºK
B: 1 Hz
Lequipotx: 1 dB
Lequiporx: 1 dB
Lgases: 0.3 dB
Lapuntamiento,tx: 3 dB
Lapuntamiento,rx: 0.16 dB
Lluvia: 0dB – 10dB
El resultado obtenido de la relación portadora - densidad espectral de ruido del
enlace descendente es:
- Sin lluvia: 93.4781dB
- Con lluvia: 83.4781dB
CAPÍTULO VI - CONCLUSIONES Y LÍNEAS FUTURAS DE DESARROLLO
Conclusiones y líneas futuras de desarrollo
122
VI.1. Conclusiones
La inclusión de la informática en la vida cotidiana es cada vez más evidente. Las
innumerables posibilidades que ofrece a sus usuarios y su evolución tecnológica
experimentada hacen de las aplicaciones informáticas una herramienta muy útil en
muchos campos. El campo que posiblemente más se ha beneficiado, progresado e
incluso redefinido ha sido el de las simulaciones. Esa búsqueda por emular
perfectamente nuestro mundo. La idea de tener todo un entorno (configurable según
preferencias) donde poder realizar pruebas de nuestros productos/sistemas, antes incluso
de tenerlos físicamente en nuestras manos, someterlos a cualquier situación imaginable
y todo ello sentados cómodamente en nuestro despacho es sin duda una idea muy
atractiva.
Este proyecto se enmarca dentro de los simuladores informáticos. Se trata de un
simulador en tres dimensiones de órbitas y movimiento de satélites del que cabe
destacar los siguientes puntos:
• Se trata de un complemento formativo útil para toda persona interesada en las
comunicaciones vía satélite. Permite comprobar visualmente resultados teóricos
de forma rápida y atractiva.
• Realización de complejos cálculos de forma automática, liberando al usuario de
la tediosa resolución de los mismos de forma manual.
• Presentación de resultados tanto numéricamente como gráficamente para una
mejor comprensión de los mismos.
• Intuitivo y fácil de usar. Con áreas de trabajo despejadas de elementos
innecesarios y una completa ayuda en formato HTML y ayuda contextual
accesible en cualquier momento.
• Desarrollada en Java, empleando el motor gráfico jME, se trata de una
aplicación multiplataforma. Basta con emplear las librerías adecuadas para cada
plataforma.
Conclusiones y líneas futuras de desarrollo
123
• El empleo de jME ha condicionado el desarrollo de la aplicación. En el capítulo
II y en la ayuda de jME se establece como trabaja. El empleo de dicho motor
gráfico ha condicionado la programación del entorno de representación 3D de la
aplicación.
• A la hora de programar en jME hay que tener muy presente que como API en
desarrollo que es no está exenta de fallos que pueden hacer desesperar al
programador más paciente, sin embargo su continua actualización y sus
prestaciones lo hacen ideal para esta aplicación.
• En la programación se ha considerado la posibilidad de ampliaciones futuras,
facilitando la posible inclusión de funcionalidades adicionales con un menor
esfuerzo.
VI.2. Líneas futuras de desarrollo Como aplicación libre de ordenador que es este simulador está condenado a
experimentar modificaciones y mejoras. Cualquier persona con conocimientos en Java y
jME está invitada a perfeccionar este simulador. Algunas de las ampliaciones que se
podrían realizar son:
• Construir constelaciones con más de una órbita diferente. Teniendo una
constelación formada por varias órbitas (que tendrían alguna relación) y varios
satélites.
• Abrir archivos TLE “Two Line Elements”. Formato de archivo para distribuir
los datos orbitales de elementos. Formato usado por la NASA para distribuir la
posición de los satélites en su NASA Prediction Bulletin.
• Permitir editar la clasificación de órbitas, desde un panel de configuración.
Conclusiones y líneas futuras de desarrollo
124
• Abrir y editar las escenas previamente guardadas en archivos.
• Añadir animaciones en las que se muestre la puesta en órbita de los satélites.
• Añadir más opciones al estudio del radioenlace:
Cálculo y representación de la PIRE, temperatura de ruido, figura
de ruido, Input BackOff (IBO) y Output BackOff (OBO).
Considerar modulación: calcular y representar las probabilidades
de error de bit en transmisiones digitales en función de la
modulación.
Considerar sentido del enlace: ascendente o descendente. En caso
de ser descendente, elegir si existe o no lluvia ya que
dependiendo de ello los parámetros a introducir y los resultados
obtenidos variarán.
• Predecir comportamiento de los satélites ante la energía recibida del Sol en
situaciones como eclipses de Sol o vientos solares.
• Mostrar zonas de cobertura de los satélites sobre la superficie terrestre.
• Permitir elegir idioma de la aplicación.
Referencias
125
REFERENCIAS
[01] CARLOS ROSADO RODRÍGUEZ. Comunicaciones por satélite, Ed. Limusa Noriega Editores.
[02] RODOLFO NERI VELA. Comunicaciones por satélite, Ed. Thomson.
[03] UIT. Manual de comunicaciones por satélite, Ed. Wiley.
[04] T. PRATT, C.W.BOSTIAN. Satellite communications, Ed. John Wiley & Sons.
[05] JOSÉ MARÍA HERNANDO RÁBANOS. Transmisión por radio, Ed. Centro de estudios Ramón Areces.
[06] PATRIC NAUGHTON, HERBERT SCHILDT. Java, Manual de referencia, Ed.
Osborne/Mc Graw-Hill.
[07] STEVEN HOLZNER. La biblia de Java 2, Ed. Anaya Multimedia.
[08] CAY S. HORSTMANN, GARY CORNELL. Java 2, Características avanzadas Volumen II, Ed. Prentice Hall.
[09] FERMÍN PÉREZ PRIETO. Guía de Monkey engine.
[10] JACK LINDAMOOD. Learning jME.
[11] Enciclopedia Microsoft® Encarta® Online 2007. Comunicaciones vía satélite. http://es.encarta.msn.com © 1997-2007 Microsoft Corporation.
[12] http://www.java.sun.com/ Página Web official de Java Sun Microsystems.
[13] http://www.jmonkeyengine.com Página Web de jME.
[14] http://www.chuindiang.com Página Web con ayuda y ejemplos.
[15] http://www.shatters.net/celestia/ Página Web de Celestia: programa de simulación espacial de referencia en su género.