Gqrx SDR
Overview
Sezione intitolata “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
Sezione intitolata “Installation”Linux (Debian/Ubuntu)
Sezione intitolata “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
Sezione intitolata “Windows”Download pre-built installer from gqrx.dk or build using MinGW environment.
Hardware Support
Sezione intitolata “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
Sezione intitolata “Basic Usage”Starting Gqrx with RTL-SDR
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Frequency Management”Scanning Frequencies
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Demodulation Modes”Supported Modulation Types
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Signal Analysis”Waterfall Display Controls
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Audio Configuration”Speaker Output
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Advanced Features”Frequency Scanner
Sezione intitolata “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
Sezione intitolata “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)
Sezione intitolata “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
Sezione intitolata “Command Line Operations”Launch with Preset Configuration
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Signal Detection & Analysis”FM Signal Analysis Workflow
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Troubleshooting”Common Issues and Solutions
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Resetting Configuration”# Reset Gqrx settings to default
rm ~/.config/gqrx/gqrx.conf
# Launch fresh
gqrx
Performance Optimization
Sezione intitolata “Performance Optimization”System Requirements
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Security & Privacy Considerations”Safe Frequency Monitoring
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “Integration with Tools”Exporting Data
Sezione intitolata “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
Sezione intitolata “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
Sezione intitolata “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/