Spectrum Alert is a software suite designed to monitor ham radio frequencies for anomalies, perform radio frequency (RF) fingerprinting, and provide real-time insights into radio spectrum usage. This tool can be deployed on multiple devices to perform direction finding and detect illegal or unauthorized transmissions.
- RF Spectrum Monitoring: Continuously scans configured ham bands to detect anomalies in RF signal characteristics.
- Data Gathering: Collects IQ (In-phase and Quadrature) data from an RTL-SDR device, which can be used for analysis and model training.
- Anomaly Detection: Uses machine learning (Isolation Forest) to detect anomalies in radio signal characteristics.
- RF Fingerprinting: Trains models to identify and differentiate between various radio devices based on unique signal features.
- Real-time Monitoring: Publishes real-time signal strength, anomalies, and other metrics via MQTT for remote monitoring.
- Lite Versions: Optimized versions for Raspberry Pi and other low-resource devices.
- Automated Process: A single workflow that automates data gathering, model training, and spectrum monitoring.
- Direction Finding: When deployed on multiple devices, Spectrum Alert can help triangulate the source of illegal or unauthorized transmissions by analyzing anomalies detected across multiple receivers.
- Python 3.x
- RTL-SDR device
- Required Python packages:
numpy
,scikit-learn
,rtlsdr
,configparser
,paho-mqtt
,joblib
-
Clone the repository:
git clone https://github.com/Slayingripper/SpectrumAlert.git cd SpectrumAlert
-
Install required Python packages:
pip install numpy scikit-learn pyrtlsdr configparser paho-mqtt joblib
-
Connect your RTL-SDR device to your system.
-
Configure the
config.ini
file located in theTrainer/
folder. Define ham bands, sample rates, and MQTT settings.
The software provides a menu-driven interface that allows you to choose between data gathering, model training, real-time spectrum monitoring, or an automated end-to-end workflow.
- Gather Data: Collect RF data from the ham bands for further processing or training.
- Train Model: Train RF fingerprinting and anomaly detection models using previously gathered data.
- Monitor Spectrum: Real-time monitoring of spectrum activity, identifying anomalies and reporting them via MQTT.
- Automated Workflow: Gathers data, trains models, and starts the monitor in a single automated flow.
- Check for Existing Data or Models: Automates the process by skipping steps if data or models already exist.
- Start from Scratch: Deletes all existing datasets and models, allowing you to begin fresh.
- RF Spectrum Surveillance: Continuously monitor ham bands and automatically detect anomalies that could indicate illegal transmissions.
- Direction Finding: Deploy multiple devices in different locations to triangulate the source of illegal transmissions by correlating anomalies across devices.
- RF Fingerprinting: Use the software to build models that identify specific devices based on their unique RF fingerprints. This can help track and identify persistent offenders in the spectrum.
- Automated Monitoring and Detection: Run the software in a fully automated mode to gather data, train models, and start monitoring without manual intervention.
- Step 1: Run the software and select
Gather Data
. - Step 2: After gathering data, train the model by selecting
Train Model
. - Step 3: Start real-time spectrum monitoring by selecting
Monitor Spectrum
. - Step 4: Detected anomalies will be logged and published to an MQTT broker for remote monitoring.
- Step 1: Select the
Automated Workflow
option. - Step 2: The software automatically gathers data, trains models, and begins real-time spectrum monitoring.
- Step 3: Anomalies are detected in real-time, and data is published to an MQTT broker.
- Step 1: Deploy multiple devices running Spectrum Alert in different locations.
- Step 2: Configure each device to monitor the same ham bands.
- Step 3: Each device reports detected anomalies via MQTT.
- Step 4: Correlate the detected anomalies across multiple devices to triangulate the source of the transmission. Use this to identify and track illegal transmissions or unauthorized users.
One of the core features of Spectrum Alert is anomaly detection. The software uses machine learning models to detect anomalies in the signal's characteristics, which could indicate unauthorized or illegal transmissions.
- Heatmap: Detected anomalies and suspected devices can be used to generate a heatmap showing the geographical concentration of anomalies. When multiple devices are deployed, they can collectively contribute data to enhance the accuracy of anomaly detection and location triangulation.
- Direction Finding: By analyzing the anomalies detected by multiple geographically distributed receivers, the system can triangulate the position of unauthorized transmissions, helping you locate the source of illegal or suspicious activity in the RF spectrum.
This feature makes Spectrum Alert a powerful tool for authorities or ham radio enthusiasts who want to identify and take action against illegal spectrum users.
[x] Create menu [] Add support for multiple types of SDRs
The software is released under the GNU General Public License v3.0. You are free to use, modify, and distribute the software under the terms of the license.