How venkata-manoj/rf-signal-analysis works
RF Signal Analysis Workbench takes IQ or WAV captures and produces signal measurements, modulation hypotheses, decoded payloads, and confidence/validation results. The main workflow runs through the shared analysis pipeline: load the capture, estimate signal properties, classify and demodulate it, locate framing, then attempt payload and error-correction decoding. Desktop, browser dashboard, CLI, and batch analysis are documented entry points. The README documents plots, GPS, and batch reporting; the supplied excerpts do not expose all their wiring, so uncertain call links are omitted.
Main entry points: pipeline.py Analysis pipeline · dashboard.py Web dashboard · batch.py Batch analysis · report.py Report generation
Components 22
User interfaces
- Desktop app
src/rf_analyzer/gui/main_window.py - Web dashboard
src/rf_analyzer/dashboard.py - CLI runner
scripts/run_pipeline.py - Batch analysis
src/rf_analyzer/batch.py
Signal analysis
- Analysis pipeline
src/rf_analyzer/pipeline.py - Capture loading
src/rf_analyzer/core/io.py - Signal measurements
src/rf_analyzer/core/dsp.py - Rate estimation
src/rf_analyzer/core/rate_est.py - Channel analysis
src/rf_analyzer/core/channel.py - Modulation classifier
src/rf_analyzer/core/classifier.py - Coherent receiver
src/rf_analyzer/core/receiver.py - Demodulation
src/rf_analyzer/core/demod.py
Frame and decode
- Sync correlation
src/rf_analyzer/core/correlator.py - Payload extraction
src/rf_analyzer/core/payload.py - Deinterleaving
src/rf_analyzer/core/deinterleave.py - FEC decode
src/rf_analyzer/core/fec.py
Reports and extensions
- GPS analysis
src/rf_analyzer/core/gps.py - Report generation
src/rf_analyzer/core/report.py
Other components
- Desktop user
- Browser user
- CLI user
- Batch user
Connections 24
- Desktop user → Desktop app: opens capture
- Desktop app → Analysis pipeline: runs analysis
- Browser user → Web dashboard: submits capture
- Web dashboard → Analysis pipeline: requests analysis
- CLI user → CLI runner: provides capture
- CLI runner → Analysis pipeline: runs analysis
- Batch user → Batch analysis: selects folder
- Batch analysis → Analysis pipeline: analyzes files
- Analysis pipeline → Capture loading: loads capture
- Analysis pipeline → Signal measurements: measures signal
- Analysis pipeline → Rate estimation: estimates rates
- Analysis pipeline → Channel analysis: estimates channel
- Analysis pipeline → Modulation classifier: classifies modulation
- Analysis pipeline → Coherent receiver: attempts reception
- Coherent receiver → Demodulation: falls back to
- Analysis pipeline → Demodulation: demodulates bits
- Analysis pipeline → Sync correlation: finds sync
- Analysis pipeline → Payload extraction: extracts payload
- Analysis pipeline → Deinterleaving: tests interleaving
- Analysis pipeline → FEC decode: tests decoding
- Analysis pipeline → GPS analysis: optionally analyzes
- Analysis pipeline → Report generation: builds report
- Web dashboard → Report generation: renders summary
- Batch analysis → Report generation: summarizes results