项目作者: MLAB-project

项目描述 :
Spectral waterfall of live signals or recordings
高级语言: Python
项目地址: git://github.com/MLAB-project/pysdr.git
创建时间: 2013-08-06T13:35:15Z
项目社区:https://github.com/MLAB-project/pysdr

开源协议:

下载


PySDR

PySDR displays spectral waterfall, a visualization of signal’s frequency spectrum over time. It is developed for SDR-related applications, but can be fed any equidistantly-sampled complex-valued signal for which it makes sense.

stretching

A live waterfall is launched by pysdr-waterfall. It connects to the JACK audio system and takes its input from there, or, if the flag -r is passed, it expects its input on the standard input in the form of an endless stream of 32-bit interleaved floats.

  1. $ pysdr-waterfall -h
  2. usage: pysdr-waterfall [-h] [-b BINS] [-H HEIGHT] [-o OVERLAP] [-j NAME]
  3. [-r RATE] [-d ARGS] [-p FILENAME]
  4. Plot live spectral waterfall of a quadrature signal.
  5. optional arguments:
  6. -h, --help show this help message and exit
  7. -b BINS, --bins BINS number of FFT bins (default: 4096)
  8. -H HEIGHT, --height HEIGHT
  9. minimal height of the waterfall in seconds
  10. (default corresponds to 1024 windows)
  11. -o OVERLAP, --overlap OVERLAP
  12. overlap between consecutive windows as a
  13. proportion of the number of bins (default: 0.75)
  14. -j NAME, --jack NAME feed signal from JACK and use the given client
  15. name (by default, with name 'pysdr')
  16. -r RATE, --raw RATE feed signal from the standard input, expects 2
  17. channel interleaved floats with the given sample-
  18. rate
  19. -d ARGS, --detector ARGS
  20. attach the given detector script, expects to be
  21. given the script filename followed by arguments
  22. for the script, all joined by spaces and passed on
  23. the command-line as one quoted argument
  24. -p FILENAME, --persfn FILENAME
  25. a file in which to preserve the visualization
  26. parameters that come from interactive
  27. manipulation, i.e. the visible area of the
  28. waterfall and the selected magnitude range (save
  29. triggered by pressing 'p')

Example usage with sox (cross-platform)

  1. $ sox -d -e floating-point -b 32 -r 48000 -t raw --buffer 1024 - | ./pysdr-waterfall -r 48000

Example usage with ALSA

  1. $ arecord -f FLOAT_LE -c 2 -r 44100 --buffer-size 1024 | pysdr-waterfall -r 44100

Record Viewer

There’s also pysdr-reciewer, which displays spectral waterfall of short recordings. The recordings are expected to be either WAV files, or FITS files in the format produced by Radio Observer. The number of frequency bins reflects the aspect ratio of the waterfall, and so is interactive.

Usage

  1. $ pysdr-recviewer path/to/recording

Dependencies

Ubuntu

  1. $ sudo apt-get install python3-numpy python3-opengl python3-dev libjack-jackd2-dev python3-pil

In-place build

The package has a binary component which has to be built on the target machine. (It is not needed for pysdr-waterfall at the moment.)

For usage without installation, do an in-place build first.

  1. $ python setup.py build_ext --inplace

Installation

  1. $ python setup.py install

Supported designs

Radio Meteor Detection Station

PySDR is developed to be used, among others, with the RMDS designs by the MLAB project.

Technical description

Purchase from UST

License

Everything in this repository is GNU GPL v3 licensed.