All Projects → swkrueger → Thrifty

swkrueger / Thrifty

Licence: GPL-3.0 License
Thrifty is proof-of-concept SDR software for TDOA positioning using inexpensive SDR hardware such as the RTL-SDR.

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to Thrifty

RTLion
Multipurpose RTL-SDR Framework for RTL2832 based DVB-T receivers
Stars: ✭ 88 (+100%)
Mutual labels:  sdr, rtl-sdr
rtl433 influx
dump everything your rtl-sdr receives on 433MHz into an InfluxDB for easy graphing -- superseded by `rtl433 -F influx`
Stars: ✭ 27 (-38.64%)
Mutual labels:  sdr, rtl-sdr
gqrx
Software defined radio receiver powered by GNU Radio and Qt.
Stars: ✭ 2,345 (+5229.55%)
Mutual labels:  sdr, rtl-sdr
rtl-power-fftw
Power spectrum for RTLSDR dongles.
Stars: ✭ 139 (+215.91%)
Mutual labels:  sdr, rtl-sdr
rtlsdr-wsprd
WSPR daemon for RTL receivers
Stars: ✭ 93 (+111.36%)
Mutual labels:  sdr, rtl-sdr
radio-astronomy-fftw
fftw3 based radio-astronomy data collection and dissemination (see project on hackster.io website)
Stars: ✭ 22 (-50%)
Mutual labels:  sdr, rtl-sdr
sdr-modem
Modem based on software defined radios.
Stars: ✭ 15 (-65.91%)
Mutual labels:  sdr, rtl-sdr
Gqrx Scanner
A frequency scanner for Gqrx Software Defined Radio receiver
Stars: ✭ 116 (+163.64%)
Mutual labels:  sdr, rtl-sdr
gitbook-adsb-guide
Guide to aircraft tracking using ADS-B reception with SDR & docker containers. Published on GitBook.
Stars: ✭ 46 (+4.55%)
Mutual labels:  sdr, rtl-sdr
vdlm2dec
vdl mode 2 SDR decoder
Stars: ✭ 56 (+27.27%)
Mutual labels:  sdr, rtl-sdr
Acarsdec
ACARS SDR decoder
Stars: ✭ 177 (+302.27%)
Mutual labels:  sdr, rtl-sdr
RTLSDR-Airband
Multichannel AM/NFM demodulator
Stars: ✭ 487 (+1006.82%)
Mutual labels:  sdr, rtl-sdr
Gqrx
Software defined radio receiver powered by GNU Radio and Qt.
Stars: ✭ 1,934 (+4295.45%)
Mutual labels:  sdr, rtl-sdr
urh
Universal Radio Hacker: Investigate Wireless Protocols Like A Boss
Stars: ✭ 9,060 (+20490.91%)
Mutual labels:  sdr, rtl-sdr
Wavesdr
macOS native desktop Software Defined Radio app
Stars: ✭ 144 (+227.27%)
Mutual labels:  sdr, rtl-sdr
readsb
ADS-B decoder swiss knife
Stars: ✭ 114 (+159.09%)
Mutual labels:  sdr, rtl-sdr
Tsl Sdr
Software Defined Radio Demodulation and Decoding Tools
Stars: ✭ 94 (+113.64%)
Mutual labels:  sdr, rtl-sdr
Dumpvdl2
VDL Mode 2 message decoder and protocol analyzer
Stars: ✭ 100 (+127.27%)
Mutual labels:  sdr, rtl-sdr
PlotRTL1090
3D visualization of air traffic through RTL-SDR (dump1090) and MATLAB
Stars: ✭ 107 (+143.18%)
Mutual labels:  sdr, rtl-sdr
SDRSharp-Net-Remote
A network remote control plugin for SDRSharp.
Stars: ✭ 29 (-34.09%)
Mutual labels:  sdr, rtl-sdr

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 rx0.card
$ thrifty detect rx0.card -o rx0.toad

$ # On RX1:
$ thrifty capture 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 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

Thrifty forms part of the dissertation at https://hdl.handle.net/10394/25449. Please cite this dissertation when using Thrifty in your work:

@mastersthesis{kruger2016inexpensive,
  title={An inexpensive hyperbolic positioning system for tracking wildlife using off-the-shelf hardware},
  author={Kr{\"u}ger, Schalk Willem},
  year={2016},
  school={North-West University (South Africa), Potchefstroom Campus}
}

Refer to https://swk.za.net/publications for contact information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].