Skip to content

pavsa/hackrf-spectrum-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spectrum Analyzer GUI for hackrf_sweep for Windows/Linux

screenshot

Download:

Windows: Download the latest version
Linux: read Installation section below

Features:

  • Optimized for only one purpose - to use HackRF as a spectrum analyzer
  • All changes in settings restart hackrf_sweep automatically
  • Easy retuning
  • Peak / Persistent display
  • Frequency allocation bands for EU / USA(partial)
  • High resolution waterfall plot
  • Spur filter - removes spur artifacts from the spectrum
  • hackrf_sweep integrated as a shared library

Requirements:

Installation:

Make sure HackRF is using at least the minimum firmware version (see above)

Windows:

  1. Windows 7+ x64 required
  2. Install OpenJDK 8 or later e.g. from Microsoft
  3. Download the latest version of Spectrum Analyzer and unzip
  4. On Windows 10 or less, install HackRF as a libusb device (for Windows 11 not required)
  5. Download Zadig and install
  6. Goto Options and check List All Devices
  7. Find "HackRF One" and select Driver "WinUSB" and click install
  8. Run "hackrf_sweep_spectrum_analyzer_windows.cmd"

Linux:

  1. To run, ensure these packages are installed (exact name depends on distro):
    libusb-1.0 libfftw3 default-jdk
  2. Newer openjdk might work also, not tested. On Ubuntu 18.04:
    sudo apt install libusb-1.0 libfftw3-bin default-jdk
  3. Follow the HackRF USB permissions setup - you have to add rules to udev to allow hackrf library to open the HackRF USB device, it does not work by default.

If something does not work, you can try to build it manually.

Building

Building native libraries for Windows (using mingw-w64) and linux is done in one unified build using Ubuntu 18.04 x64.

  1. You'll need to install these packages:
    sudo apt install build-essential maven git libusb-1.0 libfftw3-bin libfftw3-dev default-jdk mingw-w64
  2. git clone --recurse-submodules --depth=1 https://github.com/pavsa/hackrf-spectrum-analyzer.git
  3. cd hackrf-spectrum-analyzer/src/hackrf-sweep/
  4. make
  5. To run, simply execute: build/hackrf_sweep_spectrum_analyzer_linux.sh

Known issues:

  • Spectrum updates stop on parameter change
    • Solution: press reset button on the HackRF (firmware bug)

License:

GPL v3