Decodificación de la Trama o Frame ADS-B

Señal Espontanea Extendida:

Captura del Frame:

rtl_adsb

Imagen 1

En la captura de pantalla de la Imagen 1, tenemos 4 Tramas:

1. Decodificación de la Trama 1:

Trama:

8f6eceb4446816892a4444acfb2e

Desglosamos la cabecera que posee 8 bits o un byte:

8F

10001 111

DF CA

DF=17

CA= 7

Los siguientes 3 bytes o 24 bits corresponden al ICAO:

6ECEB4

A continuación se de codificara los datos de tipo de código, bits de emergencia, Altitud, longitud, pao o impar, y latitud:

Sección de datos:

446816892a4444

4 4 6 8 1 6 8 9 2 A 4 4 4 4

0100 0100 0110 1000 0001 01 10 1000 1001 0010 1010 0100 0100 0100 0100

TC = Tipo de Codigo (los primeros 5 bits)

P = Bit de emergencia (Los iguientes 3 bits)

Altitud = Los siguientes 12 bits

T = Indica sincronizacion con la UTC(universal time coordinated) (bit 21)

F = Indica si es un FRAME par o impar (bit 22)

Latitud= Los siguientes 17 bits

Longitud= Los siguientes 17 bits

Para este caso se observa que es un FRAME Impar. Recordemos que para computar una posicion valida, se necesita una trama par e impar validas.

TC = 8

E = 8

Altitud = 1665

Altitud= 83093

Longitud= 17476

2. Decodificación de la Trama 2, de la imagen 1:

Trama 2:

8dad5ef158af01ad675d757cdd5c

Desglosamos la cabecera que posee 8 bits o un byte:

8D

10001 101

DF= 17

CA= 5

Los siguientes 3 bytes o 24 bits corresponden al ICAO:

AD5EF1

ICAO

A continuación se de codificara los datos de tipo de código, bits de emergencia, Altitud, longitud, pao o impar, y latitud:

Sección de datos:

58af01ad675d75

5 8 A F 0 1 A D 6 7 5 D 7 5

0101 1000 1010 1111 0000 00 01 1010 1101 0110 0111 0101 1101 0111 0101

TC= 11

E=0

Altitud=2800

T=0

F=0

Latitud= 54963

Longitud= 89461

Para este caso se observa que es un FRAME par. Recordemos que para computar una posición valida, se necesita una trama par e impar validas.

ADS-B Decodificacion, Teoria.

ADS-B 1090 MHz (Automatic Dependent

Surveillance Broadcast )

Mode S (extended Squitter)

Mode A/C

Posicionamiento de Aviones mediante recepción Broadcast ADSB.

Tecnologia Mode S Señal expontanea extendida. ( mode S extended Squiter)

El objetivo en sus inicios era diseñar un sistema de vigilancia en la comunicación de las aeronaves, y que fuera de una manera automática, esto facilitaría el trafico aéreo, evitaría colisiones de aeronaves. Dentro de los diseños, se pretendía que que fuera económico, y preciso. Las investigaciones se le otorgaron al MIT Lincoln Laboratory.

 EL modo S es un Link de datos que en su tecnología usa interrogaciones de dirección discreta. Tantos los equipos en tierra como las aeronaves deben de estar equipados con sensores y transponders para el modo S. Las interrogaciones son generadas por la base en tierra en la frecuencia de 1030 Mhz, recepcionados por la aereonave, y respondidos por la misma en la Frecuencia de 1090Mhz.

El éxito de esta tecnica, esta en la interoperabilidad y la presicion que se tuvo al momento del diseño de dicha tecnologia.

Tecnología Mode A/C (alpha/Charlie) (SSR, secundary survillance Radar).

La interrogación se hace en la frecuencia de 1030Mhz por parte del radar en tierra, y a su ves respondido. En la frecuencia de 1090 Mhz, la interrogación puede ser:

ModeA-C

Los tiempos de interrogación y respuesta son como se ven en la gráfica anterior.

La Forma de operación es:

1. La base enviá la Interrogación en Modo A.

2. La aeronave responde en modo A.

3. Se enviá la Interrogación en Modo C.

4. La aeronave responde en modo C.

formadeoperacionA-C

En caso de Tener varias aeronaves en la cobertura del radar, se interrogan a cada aeronave, y las respuestas se dan en diferentes espacios de tiempo.

variosavionesA-C

modoS

Compatibilidad entre el Mode A/C y el Mode S

       interoperabilidadmodoA-CmodeS

Gráfica 2.1

Interrogaciones y Respuesta en Modo S

Las Interrogación en Modo S, al igual que en modo A/C tienen unos tiempos que los caracterizan:

interrogacionmodo

Grafica 2.3

  • La rata de los datos es de 4 Mbps.

  • La modulación usada es DPSK(differencial phase shift keying)

A su ves las Respuestas en modo S, se caracterizan por lo siguiente:

Gráfica 2.4

  • La rata de los datos es de 1Mbps

  • La modulación usada es PPM.

En ambos casos se puede observar claramente que amabas señales poseen un preámbulo, este se usa para hacer sincronizar y diferenciar un frame, de entre otro.

Modo S formato de Datos:

Para el modo S, se pueden tener FRAMES tanto de 56 bits como de 112 bits, esto depende de la información que contenga el FRAMES, a continuación una explicación de ello:

El mensaje comienza después de darse el preámbulo de la comunicación, en el campo de los datos puede ir la siguiente información:

  • Posición (altitud, longitud, latitud)

  • Velocidad

  • Superficie

  • Identificación

  • Señales de Emergencia

A continuación el diagrama de bloques del FRAME:

bloquesmodeS

Gráfica 3.1

Con esto se logra tener un sistema TCAS ( traffic Alert and Colision Avoidance System), evitando colisiones y accidentes tanto en el aire como en las pistas de aterrizaje.

tcas

Gráfica 3.2

Concepto de la Señal Espontanea Extendida (squitter expontaned concept)

Es una señal que contiene 112 bits, en el cual la aeronave obtiene la información de su posición mediante su GPS, y ordena el FRAME para se transmitido de la siguiente manera:

squitterextended

Gráfica 4.1

Gráficamente su funcionamiento es de la Siguiente manera:

graficasquitterextend

Gráfica 4.2

EL tipo de datos que puede ser enviado por parte de la aeronave se diferencia según el valor que se encuentre en el campo de DF(downlink format) que se encuentra en el espacio de Control.(downlink format posee 5 bits), DF puede marcar la diferencia entre los siguientes tipos de mensajes: 

formasdemensaje

Grafica 4.3

La detección y recepción de la señal espontanea se hace:

  • Se hace la detección del preámbulo

  • Se detecta el bit de declaración y confidencialidad

  • corrección y detección de errores.

En muchos de los casos es necesario tener que capturar muchos FRAMES para tener un dato valido, esto se debe a que la recepción de la señal esta expuesta a mucha interferencia.

Para sabe su un pulso es un “1” digital o un “0” digital depende en muchos de los casos de el sistema que se esta implementando y a su ves de la modulación implementada, en nuestro caso es PPM.

Para este caso se tomara como un “1” digital si se encuentra dentro de los valores de +3dB y -3dB.

El rango de Cobertura del sistema ADS-B con señales espontaneas extendidas dependen del Linkbudget.

Decodificación del FRAME en Hexadecimal de ADS-B

1) Ejemplo del FRAME:

8D75804B580FF2CF7E9BA6F701D0

Del anterior FRAME, los primeros 5 bits corresponden al DF(downlink format), los 3 bits que siguen corresponden al CA (capability), y los siguientes 3 Bytes al ICAO.

10001 101 0111 0101 1000 0000 0100 1011

DF CA 7 5 8 0 4 B

ICAO

DF= 17

CA= 5

ICAO=75804B

2) Ejemplo FRAME:

8D4008F15837F237EBE3A389BF53

DF= 17

CA=

ICAO=4008F1

Parte de datos:

5837F237EBE3A3

01011 000 001101111111 00

TC P ALTITUDE TF 

decodeframe

Gráfica 5.1

TC = Tipo de Codigo

P = Bit de emergencia

T = Indica sincronizacion con la UTC(universal time coordinated)

F = Indica si es un FRAME par o impar

La aeronave calcula su altitud, mediante el uso de BA (barometric altitude), el cual hace una comparación de la presión atmosférica en tierra con la del momento en la que esta volando, o con HAE (height above Elipsoid), que simula la tierra como un elipsoide, y calcula la altura del avión según el elipsoide, entre ambas técnicas no hay mucha diferencia. Aunque esto no es suficiente, debido a que por cada bit que incremente o decremente, va a ver una diferencia de 25 pies.

 parimpar

En el primer FRAME se observa que la bandera F esta en 0, esto quiere decir que es par, en el segundo FRAME se observa que la bandera F esta en 1, esto quiere dicir que es el FRAME impar.

Ahora con esto se puede computar la posición de la aeronave.

compatar1

El procesamiento se hace mediante la funcion floor, y MOD, a este procesamiento se le llama “latitude Index” o “j”. La funcion “floor” toma el mayor entero de un resultado, ejemlo de 8.99 toma solo el 8.

floor

Las funciones equivalentes para otener una lattitud certera es:

dlat

La verificacion de que los datos obtenidos se encuentren bien, es revisar las tablas de longitud y latitud (el planeta se encuentra dividido en zonas de latitud, y longitud.), la latitud debe de ser la misma o muy parecido con Respecto a la anterior.

El calculo de la Longitud se hace mediante la funcion “Dlon” 

dlat2 dlon dlat1 tablalatitude Rlon

En el caso de que el DF indique que el FRAME contiene otro tipo de informacion el prcesamiento de los datos es diferente.

Cordialmente. @mrdesc

Radar de Bajo Presupuesto, esnifiando el Aire

Broadcast de Aereonaves.

Screenshot-8

Equipos Utilizado:
DVB-T+DAB+FM y antena lo importante es que tenga chip RTL2832U. (es lo mas importante)
para este caso se uso Rafael Micro R820T, con la que se logra abarcar desde la frecuencia 24Mhz hasta
1766 MHz
Maquina Virtual con Windows o Computador con Ubuntu

IMG_20130225_173725

Software utilizados:
Se instala y se compila el STL-ADSB
Virtual Radar.
Teoría:
La abreviación ADSB significa: Automatic dependent surveillance-broadcast
EL procedimiento consiste en recibir el broadcast trasmitido por por los aviones, en el cual describen
su longitud, latitud, numero de vuelo y ruta….. como obtienen esa información?, esta información se
recibe de su sistema GPS:

Screenshot-6

Periódicamente el ATCRBS periódicamente interroga las aeronaves, en la frecuencia de 1030MHZ,
esta interrogación se hace cerca de 450-500 veces por segundo, cuando la aeronave recibe la
interrogación, responde a dicha en la frecuencia de 1090Mhz. Esta información puede ser recibida y
decodificada por otras aeronaves y radares.
Con esto se logra evitar accidentes aéreos, optimiza el trafico aéreo y como consecuencia menos
consumo de combustible y evita menos gasto del medio ambiente:

Screenshot-asdsa8

La frecuencia de recepción de dicho broadcast sera: 1090000000 Hz (1090Mhz), también se debe de
configurar el muestreo y la rata:
2000000 Hz.
rate es: 2000000.052982 Hz
En caso de que se desee usar el rtl_adsb desde un sistema operativo Linux la forma de instalación es:
git clone git://git.osmocom.org/rtl-sdr.gi
Se deben de tener instaladas las librerías:
Y se hace la instalación:
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
Conectamos nuestro dispositivo con chip RTL 2832U:
sudo ldconfig
Probamos que efectivamente nos este funcionando:
pi@mrdesc ~ $ rtl_test -t
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle</pre>
<pre>Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7
8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0
29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9
44.5 48.0 49.6
No E4000 tuner found, aborting.
pi@mrdesc ~ $

Screenshot-4114

on esto estamos seguros de que tenemos bien conectados nuestro dispositivo de chip RTL 2832U
ahora comenzamos a rcepcionar los datos:
pi@mrdesc ~ $ rtl_adsb
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 0000001
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Rafael Micro R820T tuner
Tuner gain set to automatic.
Tuned to 1090000000 Hz.
Sampling at 2000000 Hz.
Exact sample rate is: 2000000.052982 Hz
*825566cf477b3124c64b17e74b15;
*e6c7d7fdb34c855db6972204ea14;

Screenshot-11

ada trama comienza siempre con un asterisco, cada una de estas lineas fue enviado directamente por
un avión, como petición de la aerolínea o por broadcast, en dirección aire – base aérea o aire – aire. Lo
que necesitamos ahora es hacer la decodificación de estos tramas con el fin de extraer el la
información allí contenida: latitud, longitud, indicativo, origen y destino de la aeronave, etc. En la
actualidad hay muchas alternativas de código abierto a la trama aeronave en un mapa, lo mejor que
encontré fue que el Servidor Virtual Radar es de código abierto y funciona en Linux también, además
de tener una interfaz web muy amable y nos puede trazar las aeronaves utilizando Google Maps.
Otros posibles graficadores de estas tramas puede ser planet plot pocket, para usar el anterior se
necesita registrar para obtener una prueba gratuita por 21 dias.
URL virtualradar: http://www.virtualradarserver.co.uk/Default.aspx
La instalacion en windows se hace descargando el RTL1090 desde la web:
http://rtl1090.web99.de/
y abriendo el software:

Captura1

Configuramos nuestro Virtualradar Server (VRS):
dirigirte a la pestaña de TOOLS > plugins en la ventana que se abre Database Writer.
Da click en opciones y seleciona donde se almacena la bade de datos que descargaste de la dirección:
http://www.virtualradarserver.co.uk/Download.aspx
el campo en el que debe de quedar la base de datos es C:\Kinetic\BaseStation\BaseStation.sqb
Luego damos click en crear base de datos
La configuración debe de quedar con las siguientes características:

Captura5

Debemos de revisar que algunos campos del software del rtl1090.exe enciendan:

hora que nuestro radar casero esta funcionando revisamos desde el URL del browser, debemos de
tener paciencia no siempre funciona a la primera vez.
La dirección es: localhost:8080/VirtualRadar/GoogleMap.htm

Captura09

Captura6

asdas

Capturasdfsf

Para una mejor recpcion de la señal recomiendo fabricar una antena con las siguientes caracteristicas:

adsb2