UAT-test-signal
UAT-test-signal copied to clipboard
UAT (ADS-B 978) test signal generator
UAT (ADS-B 978) test signal generator
Disclaimer
This low power UAT test source is designed for a lab or an aircraft hangar use only.
Legitimate use
Radio being used in the project is rated for 14 dBm (25 mW) of maximum transmit power.
FCC compliant built-in RF filter reduces the power even more, down to approximately 1 mW on the reference frequency.
This power is sufficient to cover an area of just only few meters around the transmitter.
Hardware
Variant 1. Basic.
TI SimpleLink CC1310 LaunchPad kit (915 MHz)
.jpg)
Variant 2. Advanced.
Schematics of the adapter and Gerber files of the PCB will be published soon after I'll receive the PCB samples
and will make sure that the design has no any critical issues.
Bill of materials
Number | Part | Qty | Picture | Source |
---|---|---|---|---|
1 | PCB | 1 | ![]() |
TBD |
2 | Ebyte E70-915T14S RF module |
1 | ![]() |
AliExpress |
3 | Female SMA-KHD | 1 | ![]() |
AliExpress |
4 | 2x7 female header 2.54mm | 1 | ![]() |
Local |
5 | 1x40 male header 2.54mm | 2 | ![]() |
AliExpress |
6 | XDS110 cJTAG debug tool (clone) | 1 | ![]() |
AliExpress |
7 | 40 pcs. female DuPont jumper wires | 1 | ![]() |
AliExpress |
Firmware
Build instructions
- either:
- download this CCS project from GitHub, then upload it into your TI CCS Cloud IDE, or ;
- if you have a GitHub account: "fork" this project into your GitHub space, then import directly into TI CCS Cloud IDE.
- build, then run the firmware on your CC1310 hardware with assistance of TI Cloud Agent and TI Cloud Agent Bridge plug-in for Google Chrome browser.
Validation
Raw data
pi@raspberrypi:/run/tmp/dump978-master $ rtl_sdr -f 915000000 -s 2083334 -g 8 - | ./dump978
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Exact sample rate is: 2083334.141630 Hz
[R82XX] PLL not locked!
Sampling at 2083334 S/s.
Tuned to 915000000 Hz.
Tuner gain set to 7.70 dB.
Reading samples in async mode...
-0d1abba154d8ec198ba602f0800000000074c28d855bfd0b4aa5c2a0000000000000;
...
Text
pi@raspberrypi:/run/tmp/dump978-master $ rtl_sdr -f 915000000 -s 2083334 -g 8 - | ./dump978 | ./uat2text
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Exact sample rate is: 2083334.141630 Hz
[R82XX] PLL not locked!
Sampling at 2083334 S/s.
Tuned to 915000000 Hz.
Tuner gain set to 7.70 dB.
Reading samples in async mode...
HDR:
MDB Type: 1
Address: 1ABBA1 (Fixed ADS-B Beacon Address)
SV:
NIC: 0
Latitude: +59.6583
Longitude: +17.9617
Altitude: 150 ft (barometric)
Dimensions: 15.0m L x 11.5m W
UTC coupling: no
TIS-B site ID: 0
MS:
Emitter category: Service vehicle
Callsign: RAMPTEST
Emergency status: No emergency
UAT version: 2
SIL: 3
Transmit MSO: 18
NACp: 10
NACv: 2
NICbaro: 1
Capabilities: CDTI ACAS
Active modes:
Target track type: true heading
AUXSV:
Sec. altitude: unavailable
...
Map
pi@raspberrypi:/run/tmp $ rtl_sdr -f 915000000 -s 2083334 -g 8 - | ./dump978-master/dump978 | ./dump978-master/uat2json /run/tmp/dump1090-master/public_html/data/
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Exact sample rate is: 2083334.141630 Hz
[R82XX] PLL not locked!
Sampling at 2083334 S/s.
Tuned to 915000000 Hz.
Tuner gain set to 7.70 dB.
Reading samples in async mode...
...

ADS-B receiver
Signal
IQ file (WAV).
Taken at base frequency: 977 MHz . Sampling rate: 8.333 MSps.
Data customization
- Execute UATEncoder.py script with
<CallSign>
<ICAO>
<Latitude>
<Longitude>
<Altitude>
arguments:
$ python UATEncoder.py RAMPTEST 0x1ABBA1 59.6583 17.9617 137.8
#define UAT_DATA "0d1abba154d8ec198ba602f0800000000074c28d855bfd0b4aa5c2a0000000000000"
- Edit UAT_data.h file:
#ifndef UAT_DATA
#define UAT_DATA "0d1abba154d8ec198ba602f0800000000074c28d855bfd0b4aa5c2a0000000000000"
#endif
- Build your custom firmware and download it into your signal generator hardware.