Anybody know how to decode ?
vk4tecno-iporg:/maint/scripts/sbs1 # ./sbs1tcp --sbsip 192.168.1.170
--sbsport 10001 --latitude 153.0 --longitude -27.0 --port 1616
SBS1 Software for Linux, Mac-OS X and Windows
Copyright (c) 2008 Piotr Pawluczuk http://piopawlu.net
This software must not be used for comercial purposes!
SBS1Drv working as TCP30004 on port 1616
SBS1 is accessed remotely using TCP/IP: 192.168.1.170:10001
Connecting to SBS1 (192.168.1.170:10001)...OK
Logging in...OK
Connected to SBS-1 BOX: 010750
Login 192.168.1.102 --> 192.168.1.170 port 10001
Login Attempt 1
0000 10 02 17 e9 6a df 56 68 78 ff e4 bb 10 03 05 c2 (same)
0000 10 02 18 42 97 f5 e0 37 d7 fa 85 74 10 03 cd be
Login Attempt 2
0000 10 02 17 e9 6a df 56 68 78 ff e4 bb 10 03 05 c2 (same)
0000 10 02 18 42 15 a9 fd f4 5c 0d a9 ae 10 03 e2 5f
Login Attempt 3
0000 10 02 17 e9 6a df 56 68 78 ff e4 bb 10 03 05 c2 (same)
0000 10 02 18 42 0d 3a c5 81 d8 0f d8 08 10 03 87 3c
Login Attempt 4
0000 10 02 17 e9 6a df 56 68 78 ff e4 bb 10 03 05 c2
Response
0000 10 02 27 21 0b aa c2 5d ac 9c 0d f1 c8 d8 1b 56
0010 df ff 49 44 10 03 74 ea
Login Attempt 4 (2)
0000 10 02 18 42 0e a0 c9 9c 4e 6e 2a a3 10 03 35 38
Response
0000 10 02 07 13 b4 b0 7c 4d b5 8a 16 a8 74 e3 10 03
0010 26 68 10 02 28 11 bf 43 90 ba 02 20 c3 32 74 a1
0020 eb d8 af 4d 50 59 21 bc 83 88 58 16 f9 56 2e 21
0030 25 0f a8 fc a2 b0 10 03 4b 2b 10 02 2c 13 10 03
0040 43 8b
char peer1_0[] = {
0x10, 0x02, 0x07, 0xf3, 0x92, 0x63, 0x2e };
char peer1_1[] = {
0x8b, 0x22, 0x56, 0xc6, 0x1b, 0xa3, 0x8b, 0x10,
0x03, 0x63, 0x69 };
char peer1_2[] = {
0x10, 0x02, 0x07, 0xf3, 0x4a, 0xa8, 0x45, 0xe3,
0x9b, 0x6e, 0xc3, 0xbb, 0xb7, 0x09, 0x10, 0x03,
0x26, 0x26 };
char peer1_3[] = {
0x10, 0x02, 0x07, 0xf3, 0x57, 0x92, 0x2d, 0xee,
0x8e, 0x9d, 0xcb, 0xba, 0x97, 0x0d, 0x10, 0x03,
0x91, 0x33 };
TIME: 1244442778
TYPE: 0x07 BODY: 00efc6815d7c6d30000000
TIME: 1244442778
TYPE: 0x01 BODY: 00653fa38d7c6d30584d45a32f7c20000000 (8d = DF17)
TIME: 1244442778
TYPE: 0x01 BODY: 003860a38d7c6d3099143628c87411000000 (8d = DF17)
TIME: 1244442778
TYPE: 0x07 BODY: 00dcffa7597c1abb000000
TIME: 1244442778
TYPE: 0x01 BODY: 0070e0ae8d7c6ca19944d31fe0082e000000 (8d = DF17)
TIME: 1244442778
TYPE: 0x01 BODY: 006253b08d7c6c935881c5cd2891de000000 (8d = DF17)
TIME: 1244442778
TYPE: 0x02 BODY: a72504005e2c0000115205006b4f0000cbea02003e060000b002000018ff0e00000000008a010000d90900007a18000000000100
TIME: 1244442778
TYPE: 0x01 BODY: 0055d6c58d7c6c939944f52588941a000000 (8d = DF17)
TIME: 1244442778
TYPE: 0x01 BODY: 004113d58d7c6c9320293531e32820000000 (8d = DF17)
TIME: 1244442778
TYPE: 0x07 BODY: 000a45e15d7c6c93000000
TIME: 1244442778
TYPE: 0x02 BODY: a92504005e2c0000135205006b4f0000ccea02003e060000b00200001dff0e00000000008a010000d90900007a18000000000100
SBS-1 hex dump
8D7C6CA120293538D72820000000 (DF17) ADS-B squit
8D7C6CA1607311FDA11D2D000000 (DF17) ADS-B squit
8D7C6CA199404D3040C017000000 (DF17) ADS-B squit
5D7C80AC000000 (DF11) ALL CALL - TCAS ?
5F7C6DD7000000 (DF11) ALL CALL - TCAS ?
5D = 01011 101 (DF 11)
5F = 01011 111 (DF 11)
Edward Cardew
*8D4B178799044328C0068D03B9DC;
*8D393EE199013C9CC87C0041EBC5;
*8D4B178799044328C0058D11AF5C;
*8D3C666658AB005A5919753EA1A0;
*8D4B178799044328C0078D0DB45C;
*8D393EE1905B90634169DD3EE3AF;
*8D393EE199013C9CC8780079DDC5;
First Byte: 8D hex = 10001101 binary -> first 5 bits is 10001 = 17 decimal , so yes.
101 last 3 bits is CA (Capability)
Bytes 2 to 4 is usually ICAO address (for DF17 always ICAO)
ADS-B Message.
+ Pre-amble,
+ Control which is 5 bits eg DF17 10001
+ Capability which is 3 bits 101 (
+ Next 24 bits are 24 bit address
+ Next 56 bits are the ADS-B message
+ Parity address and checking 24 bits
![]() |
|
+ A chip early in the sample period is considered a logic "1" + A chip late in the sample period is considered a logic "0" |

The content of the message field can be one of 6 types of message.
* Airborne position (transmitted when airborne) - BDS 0,5.
* Surface position (transmitted when on airport surface) - BDS 0,6.
* Extended Squitter Status, BDS 0,7.
* Extended Squitter Aircraft Identification and Type, BDS 0,8.
* Airborne Velocity, BDS 0,9 (there are 4 sub-types of this report – 2 subsonic and 2 supersonic)
* Event driven Information, BDS 0,A. (not used at present)
Example.
8D 7C 6D 2B 20 58 F6 B9 CF 98 20 00 00 00
8D = 10001 DF17, 101 CA capabilty
7C6D2B = ICAO address
20 = 0010 0000
58 F6 B9 CF 98 20 00 00 00
The 56 bits are broken down into 6 bit ascii, so for example:
58 f6 b9 ...
is:
010110 001111 011010 111001
which is:
22 = 'V'
15 = 'O'
26 = 'Z'
etc, etc.
Whats got me a bit muddled is where the message tells you what message you are getting.
I am assuming the "CA" capaibility field is not it ? or is it ?
Or is it embeded in the first part of the message data ?
Or the "ME" payload. 56 bits
So for the example
Example.
8D 7C 6D 2B 20 58 F6 B9 CF 98 20 00 00 00
8D = 10001 DF17, 101 CA capabilty
7C6D2B = ICAO address
20 = 0010 0000
58 F6 B9 "V O Z"
CF 98 20 "9 3 9"
00 00 00
This is a DF17, BDS0,8h Aircraft ID and Capability.
or a "MSG,1" as we know it in SBS-1 stream port 30003.
Andrew
The 00 00 00 on the end can be ignored. Coming left you grab the next 56 bits:
20 58 F6 B9 CF 98 20
The first digit is the Format Type code:
20 shifted right 3 bits gives the 5 bit format type code:
0000 0100 = 4
Format types 1, 2, 3, and 4 are callsign with the different numbers for
decoding whether it is 1 = Category D, 2 = Category C, 3 = Category B,
and 4 = Category A.
So this aircraft is a Category A type aircraft.
Excellent !
So the SBS-1 is doing the PPM to message format.
Basestation is doing the decoding.
+ ADS-B (Independant) (Air to Ground free running)
+ MODE S RADAR Replies (Air to ground - triggered)
+ TCAS type responses (Air to Air - triggered)
Now I need to pick on an airborne position message.
Thanks heaps for your help
Lot's of voodoo with that decoding. The position decoding is part bit shifting magic, and part math tables.
This document gives sort of a clue about the CPR algorithm:
http://adsb.tc.faa.gov/WG3_Meetings/Meeting18/1090-WP-18-06.pdf
SBS-1 doesn't do any TCAS decoding sadly. Just DF4, 5, 20, 21, and 17
Edit: oops, and DF11 of course...
I recently bought a DSO that does 25MS/s
It can do serial or screen capture or save to a file.