RF Heatmapping for Radiolocation?

A project log for Bloodhound: Autonomous Radiolocation Drone

Speeding up Search & Rescue by locating the position of emergency radio beacons using an autonomous drone.

Phil HandleyPhil Handley 07/23/2017 at 23:463 Comments

Using a drone to hunt radio beacons opens up some radiolocation techniques which aren't necessarily available to a human tracker on foot. With the drone's ability to quickly and easily fly grid search patterns over any terrain, one possible radiolocation technique I'm keen to try out is generating an RF heatmap.

RF heatmap showing WiFI signal strength in a building.

RF heatmaps aren't a new thing, but they mostly seem to be used as a way of showing the signal strength of WiFi in a building, or cell network coverage. They're a way of visualising the strength of radio signals over a geographical area, with a colour scale to represent the strength of the signal at that point on the map.

My plan is to fly a grid pattern over a given search area, and use an omnidirectional antenna mounted to the drone to take periodic measurements of the signal strength of the beacon. By pairing the measurements with the GPS coordinates of the drone, this should produce a map with a big red area showing the location of the transmitter. By using the stepped attenuator discussed previously to reduce the signal strength when close to the beacon, I'm hoping this technique should be able to provide a very accurate location for the becon.

This should act as a complimentary radiolocation technique to the radio direction finding (RDF) techniques discussed in a previous log. The RDF techniques are best used when initially looking for the beacon - they should be able to determine a reasonably small area (few hundred square meters) in which the transmitter is located. When the drone has reached this area, the RDF may become overwhelmed by the signal strength and not be of much further use. In this case, the drone can switch to the omnidirectional antenna and begin flying the grid pattern to produce a heatmap.

To see if this concept works as expected, I'm first going to knock together a system on my latop to test it out on foot. I plan to use a NavSpark Mini GPS reciever (and microcontroller), since there's already one plugged into my computer for another project, and an RTL SDR dongle. A small C program will periodically call rtl_power to take signal strength readings from the SDR, and retrieve the current location from the NavSpark, storing to a CSV file. I've had a look at the available heatmap generating libraries and none of them seem to do what I want, so I may well also have to write a quick script to generate a KML file containing the heatmap for use in Google Earth/Maps.

Development of this test setup should take place in the next day or two, so stay tuned!


Ghaz75 wrote 04/12/2020 at 08:40 point

We had a similar project and we completed it successfully. You cannot use the the operating frequencies of your drone or bluetooth gps (in our case) as target frequencies to scan so there would be a blacklisted band for you in ISM 2.4 GHz, 5.8 GHz and the Bluetooth freq band. The best band to scan is of Land Mobile Radio between 136 to 174MHz coz you need not to change the ant mounted on the drone. We used a light weight power bank with 5V 3.1Amp output to drive our bluetooth GPS, rtl-sdr/hackrf and RPi3. Total weight was 500g and drone we used was DJI Phantom Pro3. We developed our own code taking help from "ear to ear oak's rtlsdr_scanner" code and generated own script. What about your effort? 

  Are you sure? yes | no

Jason Wilson wrote 08/25/2017 at 14:33 point

One concern would be that the tracking signals emitted by emergency beacons aren't a constant signal. It's about every 50 seconds but randomized so it'd be hard to predict when it would be on. Not sure how well they'd show in a heat map.  

  Are you sure? yes | no

Romain wrote 08/25/2017 at 10:27 point


While reading your article I was thinking that maybe you don't need to produce a heatmap.

I can't help but think that you could have a quite fast method of locating the location of the beacon, by doing some kind of snail shell pattern to look for the beacon.

You would launch the drone in one direction (doesn't matter which one) and, when the signal strength decreases, you would turn 90° to the right (or left, there could be an algorithm deciding that).
Then, every time you reach the maximum power of the signal, you wait for it to decrease a bit (a couple of percent?) before turning 90° right (or left) again.
This could quickly give a location, even approximate on where to start the grid search (if it's needed at all in the end).

Something like that:

I'm thinking that if the system is precise enough, you don't even need the grid search.

Also, maybe a system with a directional and sensitive antenna (for the initial direction search), coupled with an omnidirectionnal one (for signal strength search) could also be very efficient. The process would be launch drone, do a 360 turn, find the direction and start the snail shell pattern.

Anyway, great project! I can't wait to see more!

And chime in if you need help!

  Are you sure? yes | no