Soapy HackRF Source

From GNU Radio
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. NOTE: In GRC 3.10, this does not appear to work properly and needs to be set manually. Easiest method is to set it to the sample rate.
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