2017-06-15 21:53:42 +08:00
# "ADS-B Out" add-on for SoftRF-Emu, Stratux, etc...
This repository contains "ADS-B Out" encoder for Tx-capable SDR hardware.
2017-06-16 19:59:40 +08:00
It is currently written in architecture independent Python language and can be used as an add-on for existing
2017-06-15 21:53:42 +08:00
open source "ADS-B In" solutions. One known good example is [Stratux ](https://github.com/cyoung/stratux ).
2018-12-22 02:18:08 +08:00
ES (1090 MHz) variant of ADS-B surveillance technology is being considered here.< br >
For UAT ADS-B (978 MHz) option, please, visit this repository: https://github.com/lyusupov/UAT-test-signal
2017-06-16 18:26:28 +08:00
## Disclaimer
2017-06-15 21:53:42 +08:00
The source code is published for academic purpose only.
2017-06-16 18:26:28 +08:00
## Instructions
2018-12-31 18:16:19 +08:00
1. Execute *ADSB_Encoder.py* script with `<ICAO>` `<Latitude>` `<Longitude>` `<Altitude>` arguments:
2017-06-16 18:26:28 +08:00
```
$ ADSB_Encoder.py 0xABCDEF 12.34 56.78 9999.0
$ ls Samples.iq8s
Samples.iq8s
$
```
2. Make the raw signal file aligned to 256K buffer size:
```
$ dd if=Samples.iq8s of=Samples_256K.iq8s bs=4k seek=63
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 0.00110421 s, 3.7 MB/s
$
```
3. Transmit the signal into air:
```
$ hackrf_transfer -t Samples_256K.iq8s -f 868000000 -s 2000000 -x 10
call hackrf_sample_rate_set(2000000 Hz/2.000 MHz)
call hackrf_baseband_filter_bandwidth_set(1750000 Hz/1.750 MHz)
call hackrf_set_freq(868000000 Hz/868.000 MHz)
Stop with Ctrl-C
0.5 MiB / 1.000 sec = 0.5 MiB/second
User cancel, exiting...
Total time: 1.00038 s
hackrf_stop_tx() done
hackrf_close() done
hackrf_exit() done
fclose(fd) done
exit
$
```
## Validation
```
2017-06-16 18:50:15 +08:00
$ sudo dump1090 --net --freq 868000000
2017-06-16 18:26:28 +08:00
...
```
2017-06-16 18:50:15 +08:00
![](https://github.com/lyusupov/ADSB-Out/raw/master/documents/images/dump1090.JPG)
2017-06-16 18:26:28 +08:00
## References
2017-06-16 19:32:05 +08:00
1. "*Gr-Air-Modes*", **Nick Foster** , 2012
2017-06-17 06:31:19 +08:00
2. "*EXPLOITING THE AUTOMATIC DEPENDENT SURVEILLANCE BROADCAST SYSTEM VIA FALSE TARGET INJECTION*", **Domenic Magazu III** , 2012
2017-06-16 19:32:05 +08:00
3. "*ADS-B out by HACKRF and received over the air by rtl-sdr dongle and dump1090*", **Jiao Xianjun** , 2014
4. "*Ghost in the Air(Traffic): On insecurity of ADS-B protocol and practical attacks on ADS-B devices*", **Andrei Costin and Aurelien Francillon** , 2015
5. "*ADS-B Decoding Guide*", **Junzi Sun** , 2017
2017-06-16 19:29:14 +08:00