Gqrx SDR
Overview
Section titled “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
Section titled “Installation”Linux (Debian/Ubuntu)
Section titled “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
# Using Homebrew
brew install gqrx
# Or download DMG from official releases
Windows
Section titled “Windows”Download pre-built installer from gqrx.dk or build using MinGW environment.
Hardware Support
Section titled “Hardware Support”| Hardware | Frequency Range | Bandwidth | Notes |
|---|---|---|---|
| RTL-SDR | 25 MHz - 1.7 GHz | 2.4 MHz | Most affordable, USB dongle |
| HackRF | 1 MHz - 6 GHz | 20 MHz | TX/RX capable, full duplex |
| USRP | 50 MHz - 6 GHz | Varies | Professional grade, expensive |
| LimeSDR | 100 MHz - 3.8 GHz | 40 MHz | Full duplex, affordable |
| PlutoSDR | 70 MHz - 6 GHz | 56 MHz | Portable, integrated |
Basic Usage
Section titled “Basic Usage”Starting Gqrx with RTL-SDR
Section titled “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
Section titled “Initial Setup”- Connect SDR hardware via USB
- Launch Gqrx application
- Click “Configure I/O devices” button
- Select device from dropdown (RTL-SDR, HackRF, etc.)
- Set sample rate (2.4 MHz typical for RTL-SDR)
- Click “Apply” to initialize
Frequency Management
Section titled “Frequency Management”Scanning Frequencies
Section titled “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
Section titled “Bookmarks”Save frequently monitored frequencies:
| Frequency | Mode | Description |
|---|---|---|
| 101.5 MHz | FM | Local FM station |
| 146.52 MHz | FM | 2m repeater |
| 2.4 GHz | LSB | ISM band monitoring |
| 1.09 GHz | USB | Satellite downlink |
Demodulation Modes
Section titled “Demodulation Modes”Supported Modulation Types
Section titled “Supported Modulation Types”| Mode | Use Case | Bandwidth | Notes |
|---|---|---|---|
| AM | Broadcast, emergency services | 10 kHz | Amplitude modulation |
| FM | Radio stations, voice | 15 kHz | Frequency modulation |
| LSB | Amateur radio, telephony | 3 kHz | Lower sideband |
| USB | Amateur radio, data | 3 kHz | Upper sideband |
| CW | Morse code, beacons | 500 Hz | Continuous wave |
| WFM | Broadcast FM, high quality | 180 kHz | Wideband FM |
Switching Demodulation Modes
Section titled “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
Section titled “Signal Analysis”Waterfall Display Controls
Section titled “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
Section titled “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
Section titled “Audio Configuration”Speaker Output
Section titled “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
Section titled “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
Section titled “Advanced Features”Frequency Scanner
Section titled “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
Section titled “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)
Section titled “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
Section titled “Command Line Operations”Launch with Preset Configuration
Section titled “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
Section titled “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
Section titled “Signal Detection & Analysis”FM Signal Analysis Workflow
Section titled “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
Section titled “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
Section titled “Troubleshooting”Common Issues and Solutions
Section titled “Common Issues and Solutions”| Issue | Cause | Solution |
|---|---|---|
| No signal detected | Device not selected | Check I/O devices config |
| Distorted audio | Sample rate mismatch | Match hardware & software rates |
| High noise floor | Poor antenna | Use tuned antenna, move away from sources |
| Device not found | USB permissions | Add user to dialout group |
| High CPU usage | Waterfall resolution | Reduce waterfall size or refresh rate |
| No audio output | Output muted | Check system audio settings |
Device Not Recognized
Section titled “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
Section titled “Resetting Configuration”# Reset Gqrx settings to default
rm ~/.config/gqrx/gqrx.conf
# Launch fresh
gqrx
Performance Optimization
Section titled “Performance Optimization”System Requirements
Section titled “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
Section titled “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
Section titled “Security & Privacy Considerations”Safe Frequency Monitoring
Section titled “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
Section titled “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
Section titled “Integration with Tools”Exporting Data
Section titled “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
Section titled “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
Section titled “Resources and References”- Official Website: https://gqrx.dk
- GitHub Repository: https://github.com/csete/gqrx
- GNU Radio Documentation: https://www.gnuradio.org
- RTL-SDR Resources: https://www.rtl-sdr.com
- Amateur Radio Frequencies: https://www.arrl.org/frequencies
- FCC Frequency Allocation Chart: https://www.fcc.gov/uls/