Skip to content
forked from swkrueger/Thrifty

Thrifty is proof-of-concept SDR software for TDOA positioning using inexpensive SDR hardware such as the RTL-SDR.

License

Notifications You must be signed in to change notification settings

ftp2010/Thrifty

 
 

Repository files navigation

Thrifty

Thrifty is proof-of-concept SDR software for TDOA positioning using inexpensive SDR hardware such as the RTL-SDR.

Requirements

Installation

To install thrifty:

$ sudo apt-get install python-pip
$ sudo pip install .

or:

$ sudo python setup.py install

In addition to installing thrifty into the system's Python environment, this will also download and install the Python module requirements from PyPI.

To install thrifty in developer mode, which creates a symbolic link from the source location to the user's install location:

$ make dev

Thrifty requires fastcard to capture data. Refer to fastcard/README.md for installation instructions. Furthermore, refer to fastdet/README.md for more information regarding fastdet, a fast replacement for thrifty detect.

Refer to rpi/installation.md for instructions on configuring an Raspberry Pi 3 for use as an inexpensive TDOA receiver.

Usage

A command-line interface (CLI) is available through the thrifty command. Run thrifty help for a summary of the modules that are available through the CLI.

Typical CLI workflow:

$ cd example/
$ vim detector.cfg   # edit config

$ # On RX0:
$ thrifty capture -o rx0.card
$ thrifty detect rx0.card -o rx0.toad

$ # On RX1:
$ thrifty capture -o rx1.card
$ thrifty detect rx0.card -o rx1.toad

$ # On server:
$ thrifty identify rx0.toad rx1.toad
$ thrifty match
$ thrifty tdoa
$ thrifty pos

Alternatively, use the Makefile:

cd example/
vim detector.cfg   # edit config
thrifty capture -o cards/rxX.card
make

Detection on slow hardware: see fastcard and fastdet.

Cookbook:

  • Live detection without capturing (for monitoring):

    thrifty capture - 2>/dev/null | thrifty detect - -o /dev/null
    
  • Parallel capture-and-detection:

    thrifty capture rx.card
    tail -f rx.card | thrifty detect -
    

For advanced use cases, use the thrifty API from Python or IPython, e.g.:

"""Plot histogram of SoA offsets for all detections from TX #0."""

import matplotlib.pyplot as plt

from thrifty import toads_data

toads = toads_data.load_toads(open('rx.toads', 'r'))
data = toads_data.toads_array(toads, with_ids=True)
tx0_data = data[data['txid'] == 0]
plt.hist(tx0_data['offset'], bins=20)
plt.show()

Publications

Publications pending. The publications will be listed here once they have been published.

About

Thrifty is proof-of-concept SDR software for TDOA positioning using inexpensive SDR hardware such as the RTL-SDR.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 57.1%
  • C 33.6%
  • C++ 5.5%
  • CMake 2.8%
  • Other 1.0%