How To Track A Flying Object In Real Time?

  • 11 Feb 2025
  • Text by: Karthik Raj, SEDS NTU Project New Dawn

[September 1st, 1983] The United States (US) and the Soviet Union were at each other’s throats during the Cold War.

Korean Airlines 007, a passenger airline was en route from New York to Seoul.

[0100 hours] Flight 007 made a pit stop at Anchorage in Alaska to refuel then continued towards its destination.

The shortest path by air from Anchorage to Seoul would take the plane right over Soviet territory. This was a big no-no, given the tense situation amidst the Cold War. So, flight 007’s planned route steered clear of the Soviet Union.

[0110 hours] Flight 007 starts to veer off course.

[0230 hours] Flight 007 lost contact with Anchorage.

Flight 007 was in grave danger. It was heading straight for the Kamchatka peninsula, home to multiple Soviet military bases.

Soon Flight 007 appeared on Soviet radars.

Shortly after, flight 007 left Soviet airspace and was back in international airspace. However, it still caught the attention of Soviet air defences, and they were on its tail.

Throughout this whole time, the crew of Flight 007 remained unaware of their airspace violations, unknowingly navigating a path that would have challenged even the most experienced American Air Force pilots of the era.

Soon flight 007 re-entered Soviet airspace once again, flying over Sakhalin Island. The Soviets reacted by scrambling fighter jets. Three Su-15 fighters from Dolinsk-Sokol Air Base and one MiG-23 from Smirnykh Air Base took off on a mission to intercept this “unknown” aircraft in Soviet territory.

For about 20 minutes, the four soviet fighters stalked flight 007.

[0315 hours] Flight 007 requests to climb to 35000 ft.

[0318 hours] Su-15 pilot Lieutenant Colonel Gennadiy Osipovich received an order from ground control to “Destroy the target…!”. Osipovich fired two missiles. Each missile carried about 30kg of explosives. Once the “threat” was neutralized, Osipovich reported to ground control.

All 269 people onboard Korean Air Lines Flight 007 died that night.

This tragedy could have been avoided with the Global Positioning System, or GPS, as we call it these days. Sadly, GPS had not been commercialised at the time of Flight 007’s crash. 

GPS was originally known as Navigation Satellite Timing and Ranging (NAVSTAR). At the time of the crash, the US Department of Defence (DoD) had already been using NAVSTAR for military purposes and had plans to eventually release GPS for commercial use. On September 16, 1983, Ronald Reagan’s government made the decision to speed up the development of commercial GPS for the masses. In 1985, the US government signed contracts with private sector companies to make portable GPS receivers. However, in 1990, the DoD deliberately began to reduce the accuracy of GPS for commercial use (selective availability). The main driving factor behind this decision was the fear of their enemies exploiting GPS for military purposes. Finally, in May 2000, Bill Clinton’s government put a stop to the selective availability restriction, which greatly increased the accuracy of GPS for commercial use.

Similar to GPS, other nations around the world have developed their own satellite-based positioning systems. The Soviets developed the Globalnaya Navigazionnaya Sputnikovaya Sistema (GLONASS). In the last decade, the European Union launched Galileo while China deployed BeiDou. GPS, GLONASS, Galileo, BeiDou and other satellite-based position systems are collectively known under the umbrella term Global Navigation Satellite System (GNSS).

A photo of a satellite. Image: SpaceX, Pexels

With the introduction of GNSS in mind, this article will explore how a group of students from Project New Dawn and the Singapore Rocketry Club track our flying objects – high-altitude balloons and rockets! Welcome to the exciting world of radio communications! For the longest time, we were using Commercial Off The Shelf (COTS) tracking devices for our tracking. These worked well out of the box, however, we realised that there was nothing much we could learn from this endeavour, and so the team decided to make our own!

This is where GNSS comes in. Something is missing though. GNSS will help the on-board system on our flying object know where it is. This location information, that is the coordinates and altitude, must be relayed to the ground. So how do we go about doing that? Quite frankly, there are too many ways in which this can be accomplished. From using a Long Range (LoRa) downlink to a XBee module.

After consideration, we chose to use the Automatic Packet Reporting System (APRS). Bob Bruninga (callsign: WB4APR), developed APRS in the late 1980s. In fact, APRS was named after Bob’s callsign. Bob Bruninga was a senior research engineer at the United States Naval Academy. The APRS was initially known as Automatic Position Reporting System and later, it came to be known as Automatic Packet Reporting System to better reflect its characteristics after positioning systems became mainstream. True to its name, APRS broadcasts data in packets, AX.25 packets to be specific.

Our flying objects have an APRS transmitter on board. For starters, we decided to use the LightAPRS module from QRP labs. 

LightAPRS has a u-blox GNSS module on it which it uses the obtain the coordinates of the flying object. This data is then encoded into the AX.25 packet and modulated into the 144.39MHz frequency and sent down to the ground.

On the ground, we use handheld transceivers like the Baofeng UV-5R and Software Defined Radios (SDRs) to receive these APRS packets.

A diagram of how the APRS works. Image: NTU-SEDS

When these APRS packets are received on the handheld transceiver, we hear them as a short burst of sound, which can be a quite an annoying sound. To retrieve the coordinates of our flying object from this sound, we will need a Terminal Node Controller (TNC) to disassemble the AX.25 packet. TNCs come in various shapes and sizes, there are hardware TNCs and software TNCs, and we have been experimenting with Direwolf and APRSdroid.

The main advantage of APRS lies in the fact that APRS transmitters “broadcast” the AX.25 packets. Therefore, multiple Digital Repeaters (Digipeaters) can pick up the packets from our flying objects. This feature is perfect for flying objects that, unfortunately, tend to end up in the middle of nowhere more often than we would like!

Once the TNC decodes the APRS AX.25 packet, these packets could be sent to an Internet Gateway (I-Gate) and then displayed on aprs.fi, the world’s first APRS web database with a very nice real-time map.

A real time APRS map for tracking. Image: NTU-SEDS

A quick look at this map and you will see a lot of ships. These ships are not using APRS, though they are using a similar protocol, Automatic Identification System (AIS) – a professional tracking system for ships. These ships transmit AIS packets once every 2s to 10s. The reason this data is publicly available is because AIS is unencrypted.

Coming back to APRS, Singapore does not really have many active APRS contacts. However, up North in Malaysia, there are tonnes of APRS contacts! Many times, while testing in Singapore, our radio will be able to pick up APRS packets from across the border in Malaysia.

Project New Dawn and the Singapore Rocketry Club are in the process of implementing an APRS-based tracking system to track our high-altitude balloon and rocket! So stay tuned for a more technically detailed article in the near future on our experience with APRS and on the usage of it to track our flying contraptions!

You May Also LikeAAIS