From 023ca61372a8ea7f0f479c4e8aaeb8486bab165a Mon Sep 17 00:00:00 2001 From: Jan Svabenik Date: Wed, 25 Mar 2026 07:24:25 +0100 Subject: [PATCH] debug: track autosave telemetry config --- config.autosave.yaml | 346 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 346 insertions(+) create mode 100644 config.autosave.yaml diff --git a/config.autosave.yaml b/config.autosave.yaml new file mode 100644 index 0000000..06b1b44 --- /dev/null +++ b/config.autosave.yaml @@ -0,0 +1,346 @@ +bands: + - name: uk-fm-broadcast + start_hz: 8.75e+07 + end_hz: 1.08e+08 +center_hz: 1.02e+08 +sample_rate: 4096000 +fft_size: 512 +gain_db: 32 +tuner_bw_khz: 5000 +use_gpu_fft: true +classifier_mode: combined +agc: true +dc_block: true +iq_balance: true +pipeline: + mode: wideband-balanced + profile: wideband-balanced + goals: + intent: broadcast-monitoring + monitor_start_hz: 8.8e+07 + monitor_end_hz: 1.08e+08 + monitor_span_hz: 2e+07 + monitor_windows: + - label: "" + zone: focus + start_hz: 8.75e+07 + end_hz: 1.08e+08 + center_hz: 0 + span_hz: 0 + priority: 1.25 + auto_record: false + auto_decode: false + - label: "" + zone: decode + start_hz: 8.75e+07 + end_hz: 1.08e+08 + center_hz: 0 + span_hz: 0 + priority: 1.35 + auto_record: false + auto_decode: false + signal_priorities: + - wfm + - rds + - broadcast + auto_record_classes: + - WFM + - WFM_STEREO + auto_decode_classes: + - WFM + - WFM_STEREO + - RDS +surveillance: + analysis_fft_size: 512 + frame_rate: 12 + strategy: multi-resolution + display_bins: 2048 + display_fps: 12 + derived_detection: auto +refinement: + enabled: true + max_concurrent: 24 + detail_fft_size: 4096 + min_candidate_snr_db: -3 + min_span_hz: 60000 + max_span_hz: 250000 + auto_span: true +resources: + prefer_gpu: true + max_refinement_jobs: 24 + max_recording_streams: 32 + max_decode_jobs: 16 + decision_hold_ms: 2500 +profiles: + - name: legacy + description: Current single-band pipeline behavior + pipeline: + mode: legacy + profile: legacy + goals: + intent: general-monitoring + monitor_start_hz: 0 + monitor_end_hz: 0 + monitor_span_hz: 0 + monitor_windows: [] + signal_priorities: [] + auto_record_classes: [] + auto_decode_classes: [] + surveillance: + analysis_fft_size: 2048 + frame_rate: 15 + strategy: single-resolution + display_bins: 2048 + display_fps: 15 + derived_detection: auto + refinement: + enabled: true + max_concurrent: 8 + detail_fft_size: 2048 + min_candidate_snr_db: 0 + min_span_hz: 0 + max_span_hz: 0 + auto_span: true + resources: + prefer_gpu: false + max_refinement_jobs: 8 + max_recording_streams: 16 + max_decode_jobs: 16 + decision_hold_ms: 2000 + - name: wideband-balanced + description: Baseline multi-resolution wideband surveillance + pipeline: + mode: wideband-balanced + profile: wideband-balanced + goals: + intent: broadcast-monitoring + monitor_start_hz: 0 + monitor_end_hz: 0 + monitor_span_hz: 0 + monitor_windows: [] + signal_priorities: + - wfm + - rds + - broadcast + auto_record_classes: + - WFM + - WFM_STEREO + auto_decode_classes: + - WFM + - WFM_STEREO + - RDS + surveillance: + analysis_fft_size: 4096 + frame_rate: 12 + strategy: multi-resolution + display_bins: 2048 + display_fps: 12 + derived_detection: auto + refinement: + enabled: true + max_concurrent: 24 + detail_fft_size: 4096 + min_candidate_snr_db: -3 + min_span_hz: 60000 + max_span_hz: 250000 + auto_span: true + resources: + prefer_gpu: true + max_refinement_jobs: 24 + max_recording_streams: 32 + max_decode_jobs: 16 + decision_hold_ms: 2500 + - name: wideband-aggressive + description: Higher surveillance/refinement budgets for dense wideband monitoring + pipeline: + mode: wideband-aggressive + profile: wideband-aggressive + goals: + intent: high-density-wideband-surveillance + monitor_start_hz: 0 + monitor_end_hz: 0 + monitor_span_hz: 0 + monitor_windows: [] + signal_priorities: + - wfm + - rds + - broadcast + - digital + auto_record_classes: [] + auto_decode_classes: [] + surveillance: + analysis_fft_size: 8192 + frame_rate: 10 + strategy: multi-resolution + display_bins: 4096 + display_fps: 10 + derived_detection: auto + refinement: + enabled: true + max_concurrent: 32 + detail_fft_size: 8192 + min_candidate_snr_db: -3 + min_span_hz: 50000 + max_span_hz: 280000 + auto_span: true + resources: + prefer_gpu: true + max_refinement_jobs: 32 + max_recording_streams: 40 + max_decode_jobs: 24 + decision_hold_ms: 2500 + - name: archive + description: Record-first monitoring profile + pipeline: + mode: archive + profile: archive + goals: + intent: archive-and-triage + monitor_start_hz: 0 + monitor_end_hz: 0 + monitor_span_hz: 0 + monitor_windows: [] + signal_priorities: + - wfm + - broadcast + - digital + auto_record_classes: [] + auto_decode_classes: [] + surveillance: + analysis_fft_size: 4096 + frame_rate: 12 + strategy: single-resolution + display_bins: 2048 + display_fps: 12 + derived_detection: auto + refinement: + enabled: true + max_concurrent: 16 + detail_fft_size: 4096 + min_candidate_snr_db: -2 + min_span_hz: 50000 + max_span_hz: 250000 + auto_span: true + resources: + prefer_gpu: true + max_refinement_jobs: 16 + max_recording_streams: 40 + max_decode_jobs: 16 + decision_hold_ms: 3000 + - name: digital-hunting + description: Digital-first refinement and decode focus + pipeline: + mode: digital-hunting + profile: digital-hunting + goals: + intent: digital-surveillance + monitor_start_hz: 0 + monitor_end_hz: 0 + monitor_span_hz: 0 + monitor_windows: [] + signal_priorities: + - rds + - digital + - wfm + auto_record_classes: [] + auto_decode_classes: [] + surveillance: + analysis_fft_size: 4096 + frame_rate: 12 + strategy: multi-resolution + display_bins: 2048 + display_fps: 12 + derived_detection: auto + refinement: + enabled: true + max_concurrent: 20 + detail_fft_size: 4096 + min_candidate_snr_db: -2 + min_span_hz: 50000 + max_span_hz: 200000 + auto_span: true + resources: + prefer_gpu: true + max_refinement_jobs: 20 + max_recording_streams: 20 + max_decode_jobs: 24 + decision_hold_ms: 2500 +detector: + threshold_db: -60 + min_duration_ms: 500 + hold_ms: 1500 + ema_alpha: 0.025 + hysteresis_db: 10 + min_stable_frames: 4 + gap_tolerance_ms: 2000 + cfar_mode: GOSCA + cfar_guard_hz: 200000 + cfar_train_hz: 100000 + cfar_guard_cells: 3 + cfar_train_cells: 24 + cfar_rank: 36 + cfar_scale_db: 23 + cfar_wrap_around: true + edge_margin_db: 6 + max_signal_bw_hz: 260000 + merge_gap_hz: 20000 + class_history_size: 10 + class_switch_ratio: 0.6 +recorder: + enabled: false + min_snr_db: 0 + min_duration: 500ms + max_duration: 300s + preroll_ms: 500 + record_iq: false + record_audio: true + auto_demod: true + auto_decode: false + max_disk_mb: 0 + output_dir: data/recordings + class_filter: [] + ring_seconds: 12 + deemphasis_us: 50 + extraction_fir_taps: 101 + extraction_bw_mult: 1.35 + debug_live_audio: false +decoder: + ft8_cmd: C:/WSJT/wsjtx-2.7.0-rc6/bin/jt9.exe -8 {audio} + wspr_cmd: C:/WSJT/wsjtx-2.7.0-rc6/bin/wsprd.exe {audio} + dmr_cmd: tools/dsd-neo/bin/dsd-neo.exe -fs -i {audio} -s {sr} -o null + dstar_cmd: tools/dsd-neo/bin/dsd-neo.exe -fd -i {audio} -s {sr} -o null + fsk_cmd: tools/fsk/fsk_decoder --iq {iq} --sample-rate {sr} + psk_cmd: tools/psk/psk_decoder --iq {iq} --sample-rate {sr} +debug: + audio_dump_enabled: false + cpu_monitoring: false + telemetry: + enabled: true + heavy_enabled: false + heavy_sample_every: 12 + metric_sample_every: 8 + metric_history_max: 6000 + event_history_max: 1500 + retention_seconds: 900 + persist_enabled: false + persist_dir: debug/telemetry + rotate_mb: 16 + keep_files: 8 +logging: + level: debug + categories: + - gap + - prefir + - boundary + rate_limit_ms: 100 + stdout: true + stdout_color: true + file: logs/trace.log + file_level: debug + time_format: "15:04:05" + disable_time: false +web_addr: :8080 +event_path: data/events.jsonl +frame_rate: 12 +waterfall_lines: 200 +web_root: web