-
Notifications
You must be signed in to change notification settings - Fork 20
SingleRxMode
The single receiver mode of DFA provides a vehicle mounted DOA receiver the ability to geo-locate one or more stationary transmitters. Tools such as "Areas of Interest" and "Exclusion Areas" can reduce the amount of erroneous data, allowing you to narrow in on the transmitter's position.
This guide assumes you'll be running DFA and the Extended XML KerberosSDR software on the same computer. Generally that computer is a raspberry pi, however this guide is not tailored to any specific hardware. This guide also assumes you completed the install steps for both pieces of software and each component, hardware and software, has been test and is working normally.
In order for this to work correctly, you'll need to connect a USB GPS to the same computer the KerberosSDR software is running on. As part of the install process for the Extended XML KSDR software, you should have also installed a piece of software called "gpsd" as well as a Python library called "gpsd-py3".
You'll need to edit the LAT, LON, and HEADING values in the KSDR run.sh
file
to say "gpsd". The applicable section of the file should look like this when
you're all done:
STATION_ID="MyStation" #Choose a good name for your station.
LAT="gpsd"
LON="gpsd"
HEADING="gpsd"
Once this step is complete, follow the normal procedure for configuring and calibrating your KSDR. Once the DOA estimation is up and running you're ready to set up DFA.
Since DFA will be running on the same device as the KerberosSDR software, we'll
need to run DFA on a different port than the default. For this example, I'll be
using port 9000, however you can choose any port number between 1024 and 65535,
except for 8080 and 8081. Failing to change the port number may produce the following
error:
Port 8080 seems to be in use. Please select another port or check if another instance of DFA is already running.
We'll also run DFA on all network interfaces so we can log into the web interface from other devices.
Start DFA with the following command:
./df-aggregator.py -d newdatabasename.db --ip=0.0.0.0 --port=9000 -c 30
Notice the -c 30
. It's a good idea to set a higher minimum confidence value than
the default. This is a great way to reduce the amount of erroneous data collected
a keep the size of the database from getting out of control.
Now that DFA is running, it's time to open the web interface and connect to the receiver. Just about any device with a modern web browser will work for connecting to and configuring DFA. The map doesn't work so great on a cellphone screen, but it works perfectly on a modern Android tablet or Chromebook. Of course there's nothing stopping you from connecting a screen and a keyboard to the Raspberry Pi you're running the KSDR on, but that doesn't seem like the most practical thing to do in a vehicle.
Follow the standard procedure to add a receiver through the WebUI. Since the DFA
is running on the same computer as the KSDR software we can directly reference the
XML file rather than going though a URL. In the URL field, simply enter:
/ram/DOA_value.html
Once you click save and the receive card populates, the next step is to mark the receiver as mobile, then set it to "Single Receiver Mode".
Finally we'll need to make sure the receiver is enabled. Make sure the power button on the receiver card is not red, then ensure "Enable Receiver" is activated.
That's it, you're ready to roll! Make sure the car is showing up in the correct place on the map and that you can see a LOB.
Areas of Interest (AOIs) allow you to define regions of the map where you either think the transmitter should be, or areas where you specifically know the transmitter isn't located (Exclusion Areas). DFA provides an intuitive point and click interface for defining those regions. You can either define them ahead of time, at any point in the DFing process, or even not at all if you feel you have a clean data set.
These features are also available in normal networked DFing mode, however they provide a minimal advantage and it would be best just to let the clustering algorithm do it's thing.
Exclusion areas let you define areas on the map where you know you won't find a transmitter. Once you define an Exclusion Area on the map, any intersections that get computed inside of it will not be saved to the database.
You can also define an exclusion area after you've collected intersections. It makes a great tool for cleaning up the database of erroneous intersections. After you define the exclusion area, click the rules button to remove those intersections from the database. After applying the rules, click the "Refresh" button under the sliders on the left side of the map. Use this carefully since deleting intersections is a permanent operation.
Exclusion Areas supersede Areas of Interest. If you define an AOI inside the exclusion area, it will be ignored.
Areas of Interest (AOIs) are the opposite of Exclusion Areas. When you define them on the map, and intersections outside the AOIs will not be saved to the database. These are very helpful if you have a general idea where the transmitter might be, and is even more helpful in a scenario where you're tracking multiple transmitters.
You'll notice you get one rules button for the whole group rather than for each individual AOI. This is to hopefully prevent you from running the AOI rule set before you define every AOI you intended to. Running the AOI rule set does the following:
- Asks you if you're sure you want to continue.
- Checks if an intersection is in an exclusion area, if it is, deletes it.
- Checks if an intersection is in an AOI, if it is, assigns it to that AOI.
- All leftover intersections are deleted.
As you can see, running the AOI rules too soon can cause you to lose a lot of data. This data is lost forever.
Once AOIs are defined and intersections are categorized, the clustering algorithm is run against each AOI individually.
Creating an AOI is easy. Click the plus (+) button for the type of AOI you'd like to create. On the map, click the center point, then click another location on the map to set your desired radius. Click save when you're done.
Deleting an AOI is safe to do. All intersections that were previously categorized under that AOI are simply set to uncategorized (AOI -1).