qspectrumanalyzer/README.rst

92 lines
3.0 KiB
ReStructuredText
Raw Normal View History

2015-03-03 07:50:46 +08:00
QSpectrumAnalyzer
=================
Spectrum analyzer for RTL-SDR (GUI for rtl_power based on PyQtGraph)
2015-03-03 08:07:00 +08:00
Screenshot
----------
.. image:: https://xmikos.github.io/qspectrumanalyzer/qspectrumanalyzer_screenshot.png
2015-03-03 08:07:00 +08:00
2015-03-03 07:50:46 +08:00
Requirements
------------
2015-03-03 08:07:00 +08:00
- Python >= 3.3
2015-03-03 07:50:46 +08:00
- PyQt >= 4.5
- PyQtGraph (http://www.pyqtgraph.org)
- rtl-sdr (https://github.com/keenerd/rtl-sdr)
2015-12-10 07:08:26 +08:00
- Optional: rtl_power_fftw (https://github.com/AD-Vega/rtl-power-fftw)
2015-03-03 07:50:46 +08:00
2015-12-10 07:08:26 +08:00
You should use `Keenerds fork of rtl-sdr <https://github.com/keenerd/rtl-sdr>`_
(latest Git revision), because ``rtl_power`` in original rtl-sdr (from osmocom.org)
is broken (especially when used with cropping).
Another alternative is
`rtl_power_fftw <https://github.com/AD-Vega/rtl-power-fftw>`_ which has various
benefits over ``rtl_power``. E.g. better FFT performance (thanks to
use of ``fftw`` library) and possibility to use much shorter acquisition time
for more real-time continuous measurement (minimum interval in original
``rtl_power`` is 1 second, but in ``rtl_power_fftw`` you are only limited
by number of frequency hops).
2015-03-03 07:50:46 +08:00
Usage
-----
Start QSpectrumAnalyzer by running ``qspectrumanalyzer``.
2015-03-04 07:15:20 +08:00
2015-12-10 07:08:26 +08:00
You can choose if you want to use ``rtl_power`` or ``rtl_power_fftw`` backend in
*File* -> *Settings* (default is ``rtl_power``). Path to ``rtl_power``
(or ``rtl_power_fftw``) executable can be also manually specified there. You can also
set waterfall plot history size in there. Default is 100 lines, be aware that
really large sweeps (with a lot of bins) would require a lot of system memory, so
don't make this number too big.
2015-03-04 07:15:20 +08:00
Controls should be intuitive, but if you want consistent results, you should
2015-03-04 07:21:20 +08:00
turn off automatic gain control (set it to some fixed number) and also set
2015-03-04 07:15:20 +08:00
crop to 20% or more. For finding out ppm correction factor for your rtl-sdr
stick, use `kalibrate-rtl <https://github.com/steve-m/kalibrate-rtl>`_.
2015-03-04 07:15:20 +08:00
You can move and zoom plot with mouse, change plot settings or export plots
from right-click menu. Waterfall plot black/white levels and color lookup
2015-12-14 09:16:30 +08:00
table can be changed in mini-histogram widget (on *Levels* tab).
2015-12-10 08:38:17 +08:00
Installation
------------
**Arch Linux:**
::
git clone https://aur.archlinux.org/qspectrumanalyzer.git
cd qspectrumanalyzer
makepkg -sri
Or simply use `pacaur <https://aur.archlinux.org/packages/pacaur>`_ (or any other AUR helper):
::
pacaur -S qspectrumanalyzer
**Debian / Ubuntu:**
::
sudo apt-get install python3-pip python3-pyqt4 python3-numpy
sudo pip3 install qspectrumanalyzer
Warning! ``pip`` will install packages system-wide by default, but you
should always use your distribution package manager for this.
You can install it locally only for your current user by running this (without ``sudo``):
::
pip3 install --user qspectrumanalyzer
2015-12-10 08:42:04 +08:00
Executables will be then placed in ``~/.local/bin`` directory, you can add it to your
2015-12-10 08:38:17 +08:00
PATH in ``~/.bashrc``.
Todo:
-----
- automatic peak detection / highlighting
2015-12-19 04:54:39 +08:00
- display average noise level
2015-12-10 08:38:17 +08:00
- frequency markers / bookmarks with notes (even importing / exporting .csv file with
predefined channels, etc.)