Soapy HackRF Source

From GNU Radio
Revision as of 14:49, 29 July 2025 by Jesternofool (talk | contribs) (Added description and image of the HackRF One along with an example flowgraph.)
Jump to navigation Jump to search


This block controls the HackRF One software defined radio. The HackRF One tunes from 1 - 6000 MHz, provides 8-bit digitizing, and sample rates up to 20 MHz over a USB2 connection. This block controls the following parameters:

  • Center frequency: (1 MHz - 6 GHz).
  • Sample rate: up to 20 MHz.
  • RF amplifier: +14 dB when on.
  • IF amplifier: up to 40 dB. This controls an amplifier just before the quadrature demodulator (conversion of real to complex signal).
  • Video gain amplifier (VGA): up to 62 dB. This controls an amplifier just after the quadrature demodulator. NOTE: "Video" here does not mean "moving pictures"; rather, it is an older term used for baseband signals.

HackRF-One-fully-annotated.jpg

Board view of the HackRF One. The RF Gain value controls the RF amplifier, while the IF Gain and VGA Gain control the RF transceiver.

Parameters

(R): Run-time adjustable

Output Type
options: [Complex Float32, Complex Int16, Complex Byte]
Device arguments
dtype: string
Sample Rate
default: samp_rate, allowable values are 1 - 20 MHz in 1 MHz increments.
Bandwidth (0=auto)
default: 0
Center Freq (Hz)
default: freq, allowable values are 1- 6000 MHz.
Amp On (+14 dB)
default: False, when set to True, the amplifier provides +14 dB of gain and ~2 dB of noise figure.
IF Gain (0dB - 40dB)
default: 16
VGA Gain (0dB - 62dB)
default: 16

Example Flowgraph

This flowgraph uses the HackRF One to tune in the USA's NOAA Weather Radio service.

SoapyHackrfSource.jpg

Example Output

The flowgraph will produce a display similar to that below.

SoapyHackRF-Source-display.png

The specific display of signals is restricted to the United States and depends on the antenna and location.

Source Files

C++ files
TODO
Header files
TODO
Public header files
TODO
Block definition
soapy_hackrf_source.block.yml