/spektrum

rtl-sdr spectrum analyzer

Primary LanguageProcessingBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

spektrum

"The SV mod" - UI improvements by SV1SGK and SV8ARJ. W.I.P.

Download the latest test build (v0.19a_07-NOE-18) from here.

  • Please report bugs/comments before our pull request. The rtlsdr.dll and rtlpower.dll included (in the lib folder) are from previous version of spektrum (v1.0.2). Latest versions (also included but renamed to ****.dll-latest) were giving us a grey screen (not working). YMMV.

Goals :

To make an excellent utility easy to use. 73's from Nick and George.

Progress so far

  • Added: 2 Cursors for Frequency axis.
  • Added: 2 Cursors for Amplitude axis.
  • Added: Absolute and differential measurements with cursors.
  • Added: Zoom functionality of the cursors's defined area (gain + frequency).
  • Added: Mouse Wheel Gain limits adjustment on graph (Top area for upper, Bottom area for lower limit).
  • Added: Mouse Wheel Frequency limits adjustment on graph (left area for lower frequency, right for upper).
  • Added: Mouse Wheel in the centrer of the graph performs symetric zoom in/out.
  • Added: View/settings store/recall (elementary "back" operation, nice for quick zoomed in graph inspection).
  • Added: Right click positions primary cursors.
  • Added: Right Double Click positions primary cursors and moves secondary out of the way.
  • Added: Right Click and Drag defines area using primary and secondary cursors, also interactive Delta measurements.
  • Added: Left Double Click zooms area defined by cursors (Amplitude + frequency).
  • Added: Left Mouse Click and Drag on a cursor moves the cursor.
  • Added: Middle (mouse wheel) Double Click resets full scale for Amplitude and Frequency.
  • Added: Middle (mouse wheel) Click and Drag, moves the graph recalculating limits accordingly.
  • Added: Reset buttons to Min/Max range next to Start and Stop frequency text boxes.
  • Modified: Cursors on/off now operate on all 4 cursors.
  • Added: ZOOM and BACK buttons.
  • Added: Display of frequency, Amplitude and differences for all cursors.
  • Modified: Button layout.
  • Fixed: Save/Reload settings on exit/start.
  • Added: Filled graph option (line or area).
  • Added: VSWR calculation display for the antenna tunning guys (delta db from curosrs to VSWR).
  • Added: Reference graph save / display.
  • Added: Video averaging, useful on fast refresh (zoomed in).
  • Added: Minimum, Maximum hold (persistent display).
  • Added: Median value display (middle value between Max and Min).
  • Added: IF frequency basic support (only Upper band displays left to right in ascending order).
  • Added: Average graph can be saved as reference (if active when "save reference" is clicked).
  • Added: Vertical offset for reference graph (controled from knob).
  • Added: Quick help reference screen (mouse operation).
  • Modified: RF gain is now a rotary knob plus 3 buttons for 1/3, 1/2 and 2/3 presets.
  • Modified: Created a tabed interface to make room for further development.
  • Added: 9+1 Presets plus controls to modify and recall.
  • Added: Graph smoothing using RTL crop. (rtlspektrum library wraper recompiled to export the "crop" setting).
  • Modified: Behaviour of mouse and delete key in text fields from here (controIP5 library fix by @Viproz, Thanks !).
Rearranged User interface with Tabs: Area/Line option
 Latest UI Area graph option
Mouse wheel zoom from middle of graph: Mouse wheel close to graph edges adjusts limits
 Mouse wheel zoom Double right click or ZOOM button
The zoom area and measurements with cursors: Zoomed in area
 Dual Cursor set Double right click or ZOOM button
Drag graph with middle mouse button: Area of interest centered
 Graph is not centered After drag
Reference save/display: Averaging (video)
 Reference save/display  Averaging
Min Max hold & Median: VHF band scan with Max hold
 Min Max hold & Median:  VHF band scan with Max hold
Basic support for IF. Average stored as reference and shifted up.
 Basic support for IF  Average stored as reference and shifted up.
RTL Power croping : OFF. RTL Power croping : ON.
 Croping off  Croping on

Original readme starts here:

Spektrum is spectrum analyzer software for use with rtl-sdr.

Biggest advantage is that it can do sweeps across large frequency span.

User interface part is written in Processing

FM frequency band 433 MHz antenna measurement
 FM frequency band  433MHz antenna measurement

Vertical Cursor

 Display Sample Dots

Display Sample Dots

 Display Sample Dots

Quick Start

Grab the latest release for your OS and unpack it somewhere.

Connect and configure your rtl-sdr stick ( follow this guide for windows).

Launch the software.

If you are running windows version and only thing you see is grey screen, you need to install Visual C++ Redistributable for Visual Studio 2012 - Get them from http://www.microsoft.com/en-us/download/details.aspx?id=30679

Usage

Usage is fairly simple

  • Tweak parameters like frequency range, scale, tuner gain or offset tuning to suite your needs.
  • Base display is average for each point, turn "min/max" to also see minimums and maximums for every displayed point.

Relative mode

Relative mode allows you to "zero" the measurement and is useful for measurements with noise constant sources

You can find example here http://www.rtl-sdr.com/rtl-sdr-tutorial-measuring-filter-characteristics-and-antenna-vswr-with-an-rtl-sdr-and-noise-source/

  • Connect your noise source
  • Set desired frequency range
  • Click "Relative mode"
  • Wait couple of sweeps - it will do running average of all collected data
  • Click "Set relative" to set captured spectrum as reference. You should now see fairly straight line around 0dB
  • Connect antenna or filter and tweak gain so you see what is desired

Background

Two libraries is needed to run the code

  • rtl-sdr rtlpower - special branch, where rtlpower is separated into library, so we don't need to run the binary rtlpower.
  • java bridge - processing library to interface with rtlpower

The rtl-sdr branch is located here: https://github.com/pavels/rtl-sdr

The processing library is here https://github.com/pavels/processing-rtlspektum-lib

Development

You need

What is missing?

  • Bugfixes - yep, there is most certainly bugs
  • Cursors - proper cursors for measurement would be nice
  • Better UX - the UI is pile of controls, no design, nothing
  • Better README - this one is a bit crude

Contributing

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.

Contributors

Copyright

Copyright (c) 2015 Pavel Šorejs. See LICENSE for further details.