martes, 26 de julio de 2011

Siguiendo satélites con Gpredict [Episodio I]

En mi carrera por iniciarme en los contactos vía satélite, me encontré con Gpredict. Este software predice la posición y la velocidad de un satélite en un momento dado, usando un modelo matemático de la órbita que describe. Conocida la posición y velocidad del satélite es posible deducir otros datos, por ejemplo la distancia a nuestro QTH, azimut, la pisada del satélite o área de cobertura (footprint) y otra información también útil.

El programa es una creación de Alexandru Csete OZ9AEC, un físico de la Universidad de Aarhus, Dinamarca y que actualmente trabaja en el desarrollo de antenas en Thrane & Thrane. Anteriormente, había colaborado durante 8 años con la Agencia Espacial Europea trabajando en el diseño del Vehículo deTransferencia Automatizado (Automated Transfer Vehicle) conocido como Julio Verne.

Según escribe en su perfil en Twitter, Alexandru se considera un "nerd todo terreno y hacker del espacio. Conocido como OZ9AEC en el aire desde corriente continua a 25 GHz"

Sorprende que, siendo gratuito, libre y tan sencillo de utilizar, Gpredict fuera tan poco conocido entre mis colegas. Así que me atrevo a dedicarle este espacio.


Características

Lo primero que me sedujo de Gpredict es que fuera Software Libre (donde libre se refiere a la libertad, no en el sentido del precio como cerveza libre) y distribuido bajo Licencia GPL.

Otra característica sobresaliente es que Gpredict está disponibles en paquetes precompilados para la mayoría de las distribuciones de GNU/Linux más populares como Debian, Ubuntu (desde la versión 6.06 también conocida como Dapper Drake), Fedora o Open Suse (desde la versión 10.2). Esto hace muy fácil a los usuarios de estas plataformas instalarlo y mantenerlo actualizado.

Para otras distribuciones queda la posibilidad de compilarlo desde su código fuente, ya que es software libre. Y esta característica ha permitido que algunos programadores lo hayan compilado para correr en Mac OS X e incluso M$ Windows. Por lo tanto, no hay excusas para no probarlo. ¿No les parece?

Otros detalles que son interesantes respecto de otros programas de este tipo son los siguientes:
  • Gpredict no impone ningún límite al número de satélites o estaciones terrenas que pueda manejar. El único límite es la capacidad propia de la computadora para manejar los datos.
  • Se pueden agrupar los satélites en módulos. Cada módulo puede tener su propia distribución visual y tener su propia personalización. Podemos tener varios módulos a la vez.
  • Permite sintonizar la radio para compensar el efecto Dopler y el controlar del rotor de antena en forma automática.


Instalación

Para instalarlo en Debian, Ubuntu y otras distribuciones derivadas de estas, normalmente sólo requiere ejecutar:

$ sudo apt-get install gpredict

Se puede prescindir del comando sudo si tenemos los suficientes privilegios como para instalar paquetes con nuestro usuario o si tenemos acceso a la cuenta root.

En Ubuntu, por supuesto, se puede instalar de manera gráfica desde el Gestor de paquetes de Synaptic el cual está disponible desde el menú Sistema/Administración.

Al finalizar la instalación, podemos acceder al programa desde el menú Aplicaciones/Radio-aficionados.

En Micro$oft Windows no requiere instalarlo. Simplemente se baja el archivo comprimido con la versión más reciente y se descomprime en el directorio donde queremos que quede alojado. En el subdirectorio bin se encuentra el ejecutable gprediction.exe que con un doble click permite ejecutar el programa.

Si se quiere, puede generarse un acceso directo al ejecutable y/o agregarlo al menú de Windows para poder ejecutarlo más fácilmente.

Al no necesitar instalarse, es posible ejecutar Gpredict directamente desde un pendrive.


Primeras configuraciones

Al iniciar Gpredict veremos la ventana principal del programa que, debería verse como se ve en la Fig. 1:

Fig. 1. Ventana principal al ejecutarlo por primera vez.
Y ya estaremos viendo los satélites configurados para seguir.

Pero si es la primera vez que ejecutamos el programa, deberemos cambiar algunas opciones que vienen por defecto para adaptarlo a nuestras necesidades.

Como cualquier otro programa de seguimiento satelital, Gpredict requiere de tres datos fundamentales de entrada para poder seguir la posición de cada satélite:

  1. Elementos Keplerianos: Una serie de números que describen la órbita, posición y velocidad de un satélite en un tiempo dado. Esta información es obtenida por el programa desde Internet vía HTTP o FTP, o desde archivos locales.
  2. Posición de la estación terrestre: Es decir, las coordinadas de nuestro QTH en la Tierra. Podemos definir todas las estaciones terrestres que se quieran.
  3. La fecha y hora en la cual debe calcularse la posición y velocidad del satélite.
Con estos, GPredict calcula la posición y velocidad de cualquier satélite que orbite nuestro planeta utilizando los algoritmos NORAD SGP4/SDP4. Estos algoritmos resuelven la ecuación de Kepler del movimiento orbital y aplica varias correcciones para compensar los efectos de la forma irregular de la Tierra y la influencia gravitatoria de otros cuerpos celestes.

La fecha y hora que se utiliza para calcular la posición y velocidad de cada satélite en Gpredict se toma del sistema operativo. Por lo tanto, es necesario que estas estén perfectamente sincronizadas con alguna fuente externa de confianza. Cualquier corrimiento en la fecha u hora del sistema respecto de la real generará cálculos erróneos y la posición de cada satélite no será la correcta. Como esto es ajeno al programa no voy a entrar en detalles (aunque estoy pensando en escribir en este blog sobre el tema de sincronización horaria en computadoras personales)

Por lo expuesto, las primeras configuraciones que haremos a Gpredict quedan restringidasa los elementos Keplerianos y a la posición geográfica.

Los elementos Keplerianos de muchos satélites se encuentran disponibles libremente en Internet en un archivos de texto con un formato especial normalizado para hacer más fácil su tratamiento. Este formato se conoce como Elementos Orbitales de Dos Líneas o TLE (del inglés, Two-Line Elements) y es el que utiliza Gpredict.

Vamos a actualizarlos los TLE manualmente. Para ello hacemos click en el menú Edit/Update TLE/From Network. Con ello se lanzará la actualización de esta información en archivos de texto desde Internet.

Al finalizar la actualización obtendremos un mensaje como el siguiente:

Fig. 2. Fin de la actualización de los Elementos Orbitales de Dos Líneas.
Ahora bien, esto deberíamos hacerlo periódicamente, por lo que este método manual no es muy práctico que digamos. Vamos a configurar el programa para que automáticamente actualice estos datos.

Abrimos la ventana de Preferencias desde el menú Edit/Preferences y seleccionamos la ficha TLE Update de la sección General:

Fig. 3. Opciones de la actualización de TLE.
Seleccionamos la frecuencia con que se verificará el tiempo que tienen los TLE desde el desplegable correspondiente a la opción Check the age of TLE data. Se puede elegir que se actualice diariamente (Daily), semanalmente (Weekly), mensualmente (Monthly) o nunca (Never). En la Fig. 3 se eligió que se verifique diariamente.

Cuando estos elementos tienen un tiempo mayor al seleccionado tenemos dos  opciones:
  1. Notify: Gpredict nos presente un mensaje para advertirnos que los elementos TLE que está utilizando han superado el período de tiempo fijado (en el caso de la Fig. 3. cuando pase un día o más de la última actualización). Tenemos que proceder entonces a actualizar estos datos en forma manual, como ya he explicado.
  2. Perform automatic update on background: El programa actualiza los elementos TLE automáticamente sin nuestra intervención. En la Fig. 3. está seleccionada esta opción.
El resto de las opciones no las vamos a modificar, al menos en esta oportunidad.

Pulsando el botón Ok aceptamos los cambios y se cerrará la ventana de Preferencias.

La posición geográfica de la estación es otro de los datos de entrada que tenemos que definir. Por defecto, el programa define la posición de nuestra estación terrena en Copenhague, Dinamarca, marcado con la etiqueta sample en el planisferio. A menos que estemos en casa de Alexandru es necesario cambiarlo.

Nuevamente nos dirigimos a la ventana de Preferencias desde el menú Edit/Preferences y seleccionamos la ficha Ground Stations de la sección General. Pulsando el botón Add New veremos una nueva ventana como la mostrada en la Fig. 4:

Fig. 4. Agregando nuestra posición.
Allí tendemos algunos campos a llenar que a continuación se describen:
  • Name: Un nombre para asociar a nuestra estación o posición.
  • Description: Breve descripción de la ubicación.
  • Location: Nombre de la localidad o ubicación. También podemos pulsar el botón Select para seleccionar una localidad de un listado que trae el programa.
  • Latitude/Longitude: Se ingresa la latitud y longitud en grados decimal. Con los desplegables que acompañan a estos campos se selecciona si la latitud es Norte o Sur y si la latitud es Este o Oeste. Si se selecciona una ubicación con el botón Select estos campos se llenarán automáticamente.
  • Locator: Cuadrícula de localización o Grid Locator. Si la latitud y longitud son datos, este campo es calculado automáticamente. Si se llena este campo, automáticamente se actualiza la latitud y longitud al valor correspondiente para dicho grid locator.
  • Altitude: Altitud sobre el nivel del mar de la posición.
  • Weather St: Estación meteorológica más cercana a nuestra ubicación. Pulsando el botón Select podemos elegir la estación de un listado organizado por continentes y países.
Pulsando el botón Ok queda definido nuestra posición geográfica.

Finalmente, tildamos la opción Default en la fila correspondiente a la ubicación que deseamos que se tomara por defecto.

Luego de estas pequeñas configuraciones es necesario cerrar y volver a abrir el programa para que tome los cambios. A partir de ese momento, todos las posiciones de los satélites quedan referidas al lugar geográfico definido y serán calculados con los elementos orbitales actualizados.

Próximamente seguiré con este excelente programa donde describiré más su utilización, especialmente para los newbies e iniciados.

Y para la espera de los ansiosos les dejo este precioso tema de Lou Reed: Satellite of Love. Una versión un poco edulcorada respecto la grabación original con la mítica Velvet Underground pero funciona.


Como siempre, espero y agradezco los comentarios para mejorar o corregir este sitio.
Continuará (?)

Enlaces

Sitio oficial de Gpredict: http://gpredict.oz9aec.net/
Sitio de Alexandru OZ9AEC: http://www.oz9aec.net/
Twitter de Alexandru: @csete

3 comentarios:

  1. Muy buen post sobre el Gpredict.parece ser un muy buen software. Yo no lo conocia.Pronto lo estare probando. El remate de Lou Reed es exelente! Saludos. LW7DUC.

    ResponderEliminar
  2. Gracias Alex!
    Probá Gpredict, no te vas a arrepentir. Es muy sencillo.
    En cuanto a Lou Reed... siempre es bueno escucharlo con o sin la Velvet Underground.
    73!
    LW3ESH

    ResponderEliminar
  3. Hola Federico.
    Soy usuario de GPredict y realmente es muy bueno. Su autor está muy activo en Twitter. Es un verdadero Nerd.
    Tengo una consulta que tal vez puedas orientarme. Es posible obtener los elementos keplerianos directamente desde los satelites ?. Que pasa si estas en un sitio sin conección (alta montaña, oceano) y quieres actualizar los elementos ?. Hay solución ?.
    Recuerdo hace muchos años (1996), cuando un profesor me mostro todo este mundo de las comunicaciones satelitales, que bajaba los elementos keplerianos del satelite, pero creo que en realidad era un BBS.
    Saludos.

    Gustavo - LU2JGP

    ResponderEliminar

¿Una antena para VHF hecha con dos perchas?

Hace poco di con una nota de la revista QST de Abril de 2018 donde John Portune, W6NBC ( @w6nbc ) donde cuenta que con Ernie, W6DN y otro...