Introduction
Spectrum Analyzer is a deep learning-based tool for detecting and classifying signals from spectrogram images. Built on the EMS-YOLO codebase, it provides a flexible framework for spectrum analysis with configurable parameters for different image sizes and use cases.
Repository: GitHub
Pre-trained Models: Google Drive
What is Spectrum Analyzer?
Spectrum Analyzer uses an enhanced YOLO (You Only Look Once) object detection framework to identify and classify various signal types in spectrogram images. The system is designed to be general-purpose, allowing users to configure it for different image sizes, model architectures, and detection scenarios.
Key Features
- Multi-class Signal Detection: Detects and classifies multiple signal types simultaneously
- Configurable Architecture: Support for different model backbones (ResNet-10, ResNet-18, ResNet-34)
- Flexible Image Sizes: Configurable input image resolution (default: 512×512, configurable)
- Time Window Processing: Temporal information integration using 5-frame time windows
- High Precision: Achieves up to 100% precision at high confidence thresholds
- Real-time Inference: Fast detection on spectrogram images
- Model Quantization: Support for model quantization for deployment
Use Cases
Spectrum Analyzer can be used for:
- Radar Signal Detection: Identifying various radar signal types in spectrograms
- Communication Signal Analysis: Detecting and classifying communication signals
- Spectrum Monitoring: Real-time spectrum analysis and signal detection
- Research Applications: Custom signal detection tasks with configurable parameters
Demonstration: RadDet Dataset
This codebase has been demonstrated using the RadDet dataset, which contains 11 different radar signal types:
- Rect, Barker, Frank, P1-P4, Px, ZadoffChu, LFM, FMCW
The model achieves:
- mAP@0.5: 0.39
- Precision: 0.39
- Recall: 0.55-0.58
- 100% precision at confidence threshold 0.932

Architecture Overview
The system uses a modified YOLO architecture with:
- Backbone: ResNet-based feature extractor (configurable)
- Detection Head: Multi-scale YOLO detection layers
- Time Window: 5-frame temporal processing
- Output: Bounding boxes, confidence scores, and class predictions
Getting Started
To get started with Spectrum Analyzer:
- Install Dependencies: Follow the installation guide
- Configure Dataset: Set up your dataset configuration file
- Train or Use Pre-trained Model: Train on your data or use provided models
- Run Detection: Use the detection script for inference
For quick setup, see the Quick Start Guide. For detailed documentation keep following this guide and read through all the tabs.
Next Steps
- Learn about the Architecture
- Understand Configuration Options
- See the RadDet Use Case
- Explore Training Parameters
- Convert models for deployment: Model Conversion
- Optimize models: Model Quantization