Zum Inhalt springen

Gqrx SDR

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.

# 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

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

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
# Launch with default configuration
gqrx

# Specify device at startup
gqrx -s 0

# Run in headless mode (remote operation)
gqrx --style plastique
  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
# 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

Save frequently monitored frequencies:

FrequencyModeDescription
101.5 MHzFMLocal FM station
146.52 MHzFM2m repeater
2.4 GHzLSBISM band monitoring
1.09 GHzUSBSatellite downlink
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
# 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
# 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
# Signal detection:
# - Peak hold: Shows maximum signal levels
# - Average: Smooths spectrum display
# - Decay: Defines signal fade rate
# - Reference level: Adjust dB scaling
# 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
# 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
# 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
# Reduce impulse noise
1. Tools Receiver Options
2. Enable "Noise Blanker"
3. Adjust threshold (0-100)
4. Test with strong signals nearby
# 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
# 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
# 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
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
# 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)
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
# 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
# Reset Gqrx settings to default
rm ~/.config/gqrx/gqrx.conf

# Launch fresh
gqrx
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
# 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
# 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
# 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
# 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
# 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