bands:
  - name: 40m
    start_hz: 7.0e6
    end_hz: 7.2e6
center_hz: 7.1e6
sample_rate: 2048000
fft_size: 2048
gain_db: 30
tuner_bw_khz: 1536
use_gpu_fft: true
agc: false
dc_block: false
iq_balance: false
detector:
  threshold_db: -20
  min_duration_ms: 250
  hold_ms: 500
  ema_alpha: 0.2
  hysteresis_db: 3
  min_stable_frames: 3
  gap_tolerance_ms: 500
  cfar_enabled: true
  cfar_guard_cells: 2
  cfar_train_cells: 16
  cfar_rank: 24
  cfar_scale_db: 6
recorder:
  enabled: true
  min_snr_db: 10
  min_duration: 1s
  max_duration: 300s
  preroll_ms: 500
  record_iq: true
  record_audio: true
  auto_demod: true
  auto_decode: false
  max_disk_mb: 0
  output_dir: "data/recordings"
  class_filter: []
  ring_seconds: 8
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}"
web_addr: ":8080"
event_path: "data/events.jsonl"
frame_rate: 15
waterfall_lines: 200
web_root: "web"
