SDR Wideband Suite -- Umbauplan
Zielbild
Aus sdr-visual-suite wird eine skalierbare, policy-gesteuerte Wideband-SDR-Engine.
Ziel ist:
- gleiche Grundfunktionen wie heute: Live-Spectrum, Waterfall, Events, Tracking, Classification, Live-Listen, Recording, Decoder
- aber deutlich flexibler und zukunftsfähig
- Bandbreite soll konfigurierbar skalieren: von ~2.5 MHz bis zu den Grenzen von SDR, I/O, GPU und gewähltem Modus
- spätere Nutzung soll über Konfiguration/Profiles/Policies erfolgen, nicht über Code-Umbau
Leitprinzipien
- UI entkoppelt von Analysequalität
- Anzeigeparameter dürfen nicht mehr direkt die Kernanalyse verschlechtern/ändern.
- Multi-Resolution statt Ein-FFT-für-alles
- Globaler Surveillance-Layer mittelfein
- lokale Refinement-Layer hoch / sehr hoch aufgelöst
- Candidate-driven Processing
- Detectoren erzeugen Kandidaten
- Refiner verfeinert Kandidaten lokal
- Classifier/PLL/Decoder arbeiten auf verfeinerten Kandidaten
- Policy-driven Operation
- gewünschtes Verhalten über Betriebsprofile steuerbar
- Ressourcenbewusst
- GPU/CPU/Storage/Latency-Budgets sind Teil der Architektur
Nicht-Ziele in Phase 1
- Keine vollständige 20-80 MHz-Endlösung in einem Schritt
- Keine perfekte neue GPU-Pipeline über Nacht
- Kein Big-Bang-Delete der bisherigen Pipeline
Phase 1 baut die Architekturgrundlage, so dass spätere Skalierung ohne erneuten Komplettumbau möglich ist.
Zielarchitektur
1. Acquisition Layer
Verantwortung:
- IQ aus Quelle lesen
- Source-Config anwenden
- Ringbuffer/Chunking verwalten
2. Spectrum Engine
Verantwortung:
- Surveillance-Spectrum erzeugen
- später mehrere Resolution-Levels erzeugen
- UI-geeignete decimierte Views ableiten
3. Candidate Detection Layer
Verantwortung:
- breitbandig Aktivität/Kandidaten finden
- coarse estimates liefern: center/bw/snr/type-hints
4. Refinement Layer
Verantwortung:
- Kandidaten lokal höher aufgelöst nachanalysieren
- center/bw/snr stabilisieren
- IQ-/Feature-Snippets für Classifier vorbereiten
5. Classification + Decode Layer
Verantwortung:
- Signaltypen klassifizieren
- PLL / Stereo / RDS / Decoder anwenden
- hochwertige Signalmetadaten erzeugen
6. Tracking/Event Layer
Verantwortung:
- Kandidaten über Zeit stabil tracken
- Events erzeugen/schließen
- UI und Recorder mit stabilen Signalen füttern
7. Presentation Layer
Verantwortung:
- Overview Spectrum
- decimierte WS-Frames
- Detail-Views
- UI-State ohne Einfluss auf Kernanalyse
Phase-1-Umbau
Phase-1 Status
- Architekturgrundlage, Config-Modell und Arbitration/Admission-Surface sind umgesetzt.
- Phase 1 ist als Meilenstein abgeschlossen.
Kernpunkte
- Projektname auf
sdr-wideband-suite umgestellt
- neues Konfigurationsmodell für
pipeline, surveillance, refinement, resources, profiles
- Analyse klarer von Presentation getrennt
- explizites Candidate-/Refinement-Modell eingeführt
runDSP() in klarere Schritte zerlegt
- gemeinsame Arbitration-/Budget-Sicht für refinement/record/decode zentralisiert
- initiale Betriebsprofile dokumentiert
- Tests/Build grün gehalten
Phase-2-Umbau
Phase-2 Status
- Phase 2 ist als Meilenstein abgeschlossen.
Gelandete Wellen
- Wave A: operative Surveillance-Level, decimated/derived spectra, Level-Set und API-Sicht
- Wave B: derived candidate pass, primary/derived fusion, candidate evidence
- Wave C: level-aware candidate semantics und konservatives evidence-aware scoring
- Wave D: detection governance, Rollen für detection/support/presentation, derived-detection policy
- Wave E: Konsolidierung von detection/support semantics, fused candidate summaries, Debug/API/Docs
Ergebnis
- echte mehrstufige Surveillance-Resolution-Grundlage
- derived detection governance und support-only Semantik
- fused candidate evidence summaries
- Level-Rollen und Debug-Sicht sind operativ sichtbar
Phase-3-Umbau
Phase-3 Status
- Phase 3 ist als konservativer Runtime-Intelligence-Meilenstein abgeschlossen.
Gelandete Wellen
- Wave 3A: Priority-Tiers, Admission-Classes, reichere Reason-Familien
- Wave 3B: Budget-Preferences, Effective-Budgets, Pressure-Summaries
- Wave 3C: Hold-Protection, opportunistic displacement, displaced-by-hold, harmonisierte Reason-Taxonomie
- Wave 3D: family-aware tier floors, intent-aware hold behavior, family-priority Runtime-Semantik
- Wave 3E: konservative cross-resource Rebalance für refinement/record/decode mit profil-/intent-spezifischem Schutz
Ergebnis
- refinement / record / decode sprechen eine gemeinsame Admission-/Priority-Sprache
- pressure ist sichtbar und verhaltenswirksam
- hold / protection / displacement sind erklärbar
- signal-family priorities greifen in echte Runtime-Entscheidungen ein
- conservative adaptive rebalance verschiebt Ressourcen zwischen refinement / record / decode
Spätere Phasen
Phase 4
- breitbandige Multi-Span-Profile
- 20-80 MHz konkrete Betriebsmodi
- adaptive Quality-of-Service
- weitere Scheduler-/Betriebsintelligenz über die konservative Phase-3-Rebalance hinaus
Arbeitsmodus
Umbau erfolgt autonom im Fork.
Guardrails:
- Keine Pushes vor erfolgreichen Tests/Build
- Schrittweise Migration statt Big-Bang
- Bestehende Funktionalität möglichst erhalten