Skip to content

Gqrx SDR

Overview

Gqrx is a powerful open-source SDR (Software Defined Radio) receiver application that enables users to receive, demodulate, and analyze radio signals across a wide frequency range. Built on GNU Radio, Gqrx provides a user-friendly graphical interface for spectrum analysis, signal monitoring, and radio communications research. It supports numerous hardware interfaces including RTL-SDR, HackRF, USRP, and others, making it accessible for both hobbyists and professionals.

Key capabilities include FM/AM/SSB/CW demodulation, waterfall visualization, spectrum analysis, signal recording, and frequency scanning. Gqrx is commonly used in penetration testing, spectrum analysis, wireless security research, and amateur radio applications.

Installation

Linux (Debian/Ubuntu)

# Install from repository
sudo apt-get update
sudo apt-get install gqrx-sdr

# Or build from source
sudo apt-get install git cmake g++ libpulse-dev libusb-1.0-0-dev libfftw3-dev
git clone https://github.com/csete/gqrx.git
cd gqrx
mkdir build
cd build
cmake ..
make
sudo make install

macOS

# Using Homebrew
brew install gqrx

# Or download DMG from official releases

Windows

Download pre-built installer from gqrx.dk or build using MinGW environment.

Hardware Support

HardwareFrequency RangeBandwidthNotes
RTL-SDR25 MHz - 1.7 GHz2.4 MHzMost affordable, USB dongle
HackRF1 MHz - 6 GHz20 MHzTX/RX capable, full duplex
USRP50 MHz - 6 GHzVariesProfessional grade, expensive
LimeSDR100 MHz - 3.8 GHz40 MHzFull duplex, affordable
PlutoSDR70 MHz - 6 GHz56 MHzPortable, integrated

Basic Usage

Starting Gqrx with RTL-SDR

# Launch with default configuration
gqrx

# Specify device at startup
gqrx -s 0

# Run in headless mode (remote operation)
gqrx --style plastique

Initial Setup

  1. Connect SDR hardware via USB
  2. Launch Gqrx application
  3. Click “Configure I/O devices” button
  4. Select device from dropdown (RTL-SDR, HackRF, etc.)
  5. Set sample rate (2.4 MHz typical for RTL-SDR)
  6. Click “Apply” to initialize

Frequency Management

Scanning Frequencies

# Common frequency ranges to monitor:
# FM Radio: 88-108 MHz
# 2m Amateur: 144-148 MHz
# 70cm Amateur: 430-450 MHz
# ISM Band: 2.4 GHz
# WiFi: 2.4 GHz, 5 GHz
# GSM: 850/900/1800/1900 MHz

Bookmarks

Save frequently monitored frequencies:

FrequencyModeDescription
101.5 MHzFMLocal FM station
146.52 MHzFM2m repeater
2.4 GHzLSBISM band monitoring
1.09 GHzUSBSatellite downlink

Demodulation Modes

Supported Modulation Types

ModeUse CaseBandwidthNotes
AMBroadcast, emergency services10 kHzAmplitude modulation
FMRadio stations, voice15 kHzFrequency modulation
LSBAmateur radio, telephony3 kHzLower sideband
USBAmateur radio, data3 kHzUpper sideband
CWMorse code, beacons500 HzContinuous wave
WFMBroadcast FM, high quality180 kHzWideband FM

Switching Demodulation Modes

# Via GUI: Click demod mode dropdown
# Common workflow:
1. Set frequency (MHz)
2. Select demod mode (FM, AM, USB, LSB, CW)
3. Adjust squelch level
4. Fine-tune frequency with arrow keys
5. Monitor signal strength indicator

Signal Analysis

Waterfall Display Controls

# Waterfall Settings:
- Time Scale: Adjust refresh rate (1s to 60s)
- Frequency Scale: Zoom in/out on spectrum
- Intensity: Adjust color scaling
- Zoom: Click and drag to zoom region
- Pan: Scroll horizontally for freq range

Spectrum Analysis Features

# Signal detection:
# - Peak hold: Shows maximum signal levels
# - Average: Smooths spectrum display
# - Decay: Defines signal fade rate
# - Reference level: Adjust dB scaling

Audio Configuration

Speaker Output

# Configure audio device
1. Go to File Preferences
2. Select "Audio" tab
3. Choose output device from dropdown
4. Set audio gain (0-100%)
5. Enable/disable audio playback

# Typical settings:
- Audio device: PulseAudio default
- Output gain: 50%
- AF filter: 100 Hz - 5 kHz

Recording Audio

# Record received signals
1. File Preferences Recording
2. Select output directory
3. Choose file format (WAV, MP3)
4. Click red record button to start
5. Audio saved with timestamp

# Recording command (CLI):
# ALSA recording
arecord -d 60 -f cd recorded_signal.wav

# PulseAudio recording
parec | sox - recording.wav

Advanced Features

Frequency Scanner

# Configure scanner for frequency range
1. Tools Frequency Scanner
2. Set start frequency (MHz)
3. Set stop frequency (MHz)
4. Set step size (kHz)
5. Set dwell time per frequency (ms)
6. Click "Scan" to begin

# Example: Scan 88-108 MHz FM band
Start: 88 MHz
Stop: 108 MHz
Step: 100 kHz
Dwell: 500 ms

Noise Blanker

# Reduce impulse noise
1. Tools Receiver Options
2. Enable "Noise Blanker"
3. Adjust threshold (0-100)
4. Test with strong signals nearby

Remote Control (TCP)

# Enable remote control
File Preferences Network
- Enable TCP Server
- Port: 7356 (default)
- Allow Remote Control: checked

# Connect remotely
telnet localhost 7356

# Remote commands:
f 106500000         # Set frequency to 106.5 MHz
m FM                # Set mode to FM
l MAIN 0 100        # Set level
q                   # Quit connection

Command Line Operations

Launch with Preset Configuration

# Start with specific frequency and mode
gqrx --freq=101500000 --mode=FM

# Disable OpenGL (for systems without GPU)
gqrx --style=plastique

# Set device index
gqrx --device=1

Batch Frequency Scanning

# Create script for automated scanning
#!/bin/bash
declare -a frequencies=(88.1 101.5 146.52 430.2)

for freq in "${frequencies[@]}"
do
    echo "Scanning $freq MHz"
    # Send remote commands to Gqrx
    echo "f ${freq}000000" | nc localhost 7356
    sleep 5
done

Signal Detection & Analysis

FM Signal Analysis Workflow

1. Set mode to FM
2. Adjust filter width to 15 kHz
3. Set squelch to -5 dB (prevents noise audio)
4. Monitor signal strength bar
5. Record samples for analysis
6. Export waterfall screenshot

Weak Signal Reception

# Tips for improving weak signal reception:
1. Use antenna tuned to target frequency
2. Disable noise blanker (may reduce sensitivity)
3. Use USB/LSB for CW signals
4. Reduce audio filter bandwidth
5. Position antenna away from interference
6. Use external LNA (Low Noise Amplifier)

Troubleshooting

Common Issues and Solutions

IssueCauseSolution
No signal detectedDevice not selectedCheck I/O devices config
Distorted audioSample rate mismatchMatch hardware & software rates
High noise floorPoor antennaUse tuned antenna, move away from sources
Device not foundUSB permissionsAdd user to dialout group
High CPU usageWaterfall resolutionReduce waterfall size or refresh rate
No audio outputOutput mutedCheck system audio settings

Device Not Recognized

# Check USB device
lsusb | grep -i "rtl\|hackrf"

# Add user to dialout group (RTL-SDR)
sudo usermod -a -G dialout $USER
newgrp dialout

# Set udev rules
sudo cp rtl-sdr.rules /etc/udev/rules.d/
sudo udevadm control --reload
sudo udevadm trigger

Resetting Configuration

# Reset Gqrx settings to default
rm ~/.config/gqrx/gqrx.conf

# Launch fresh
gqrx

Performance Optimization

System Requirements

Minimum:
- CPU: Dual-core 2 GHz
- RAM: 2 GB
- Disk: 500 MB free space

Recommended:
- CPU: Quad-core 2.5+ GHz
- RAM: 4+ GB
- Disk: 1 GB free space

Optimization Techniques

# Reduce CPU usage
1. Lower waterfall resolution
2. Disable OpenGL rendering: gqrx --style=plastique
3. Reduce sample rate when possible
4. Disable peak hold / averaging
5. Close background applications

# Monitor system resources
top
htop
ps aux | grep gqrx

Security & Privacy Considerations

Safe Frequency Monitoring

# Legal frequency bands for monitoring (varies by country):
# United States (FCC):
# - 88-108 MHz: FM Broadcast
# - 144-148 MHz: Amateur 2m band
# - 430-450 MHz: Amateur 70cm band
# - 900-950 MHz: ISM band (limited)

# ALWAYS verify local regulations before monitoring
# Check FCC, OFCOM, or local regulatory body

Recording Restrictions

# Important legal considerations:
# - Recording encrypted communications may be illegal
# - Some jurisdictions prohibit SDR operation
# - Amateur bands require valid license in most countries
# - Always obtain proper authorization

Integration with Tools

Exporting Data

# Export waterfall as PNG/JPEG
1. Right-click waterfall display
2. Select "Save Waterfall"
3. Specify file path and format

# Export recorded audio
1. Locate WAV file in recordings directory
2. Convert using ffmpeg if needed:
   ffmpeg -i recording.wav recording.mp3

Piping to External Tools

# Analyze exported WAV with Audacity
audacity recording.wav &

# Convert and analyze with sox
sox recording.wav -n spectrogram -o spectrum.png

# Process with MATLAB/Python
python3 analyze_signal.py recording.wav

Resources and References