Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

347 рядки
9.1KB

  1. bands:
  2. - name: uk-fm-broadcast
  3. start_hz: 8.75e+07
  4. end_hz: 1.08e+08
  5. center_hz: 1.02e+08
  6. sample_rate: 4096000
  7. fft_size: 512
  8. gain_db: 32
  9. tuner_bw_khz: 5000
  10. use_gpu_fft: true
  11. classifier_mode: combined
  12. agc: true
  13. dc_block: true
  14. iq_balance: true
  15. pipeline:
  16. mode: wideband-balanced
  17. profile: wideband-balanced
  18. goals:
  19. intent: broadcast-monitoring
  20. monitor_start_hz: 8.8e+07
  21. monitor_end_hz: 1.08e+08
  22. monitor_span_hz: 2e+07
  23. monitor_windows:
  24. - label: ""
  25. zone: focus
  26. start_hz: 8.75e+07
  27. end_hz: 1.08e+08
  28. center_hz: 0
  29. span_hz: 0
  30. priority: 1.25
  31. auto_record: false
  32. auto_decode: false
  33. - label: ""
  34. zone: decode
  35. start_hz: 8.75e+07
  36. end_hz: 1.08e+08
  37. center_hz: 0
  38. span_hz: 0
  39. priority: 1.35
  40. auto_record: false
  41. auto_decode: false
  42. signal_priorities:
  43. - wfm
  44. - rds
  45. - broadcast
  46. auto_record_classes:
  47. - WFM
  48. - WFM_STEREO
  49. auto_decode_classes:
  50. - WFM
  51. - WFM_STEREO
  52. - RDS
  53. surveillance:
  54. analysis_fft_size: 512
  55. frame_rate: 12
  56. strategy: multi-resolution
  57. display_bins: 2048
  58. display_fps: 12
  59. derived_detection: auto
  60. refinement:
  61. enabled: true
  62. max_concurrent: 24
  63. detail_fft_size: 4096
  64. min_candidate_snr_db: -3
  65. min_span_hz: 60000
  66. max_span_hz: 250000
  67. auto_span: true
  68. resources:
  69. prefer_gpu: true
  70. max_refinement_jobs: 24
  71. max_recording_streams: 32
  72. max_decode_jobs: 16
  73. decision_hold_ms: 2500
  74. profiles:
  75. - name: legacy
  76. description: Current single-band pipeline behavior
  77. pipeline:
  78. mode: legacy
  79. profile: legacy
  80. goals:
  81. intent: general-monitoring
  82. monitor_start_hz: 0
  83. monitor_end_hz: 0
  84. monitor_span_hz: 0
  85. monitor_windows: []
  86. signal_priorities: []
  87. auto_record_classes: []
  88. auto_decode_classes: []
  89. surveillance:
  90. analysis_fft_size: 2048
  91. frame_rate: 15
  92. strategy: single-resolution
  93. display_bins: 2048
  94. display_fps: 15
  95. derived_detection: auto
  96. refinement:
  97. enabled: true
  98. max_concurrent: 8
  99. detail_fft_size: 2048
  100. min_candidate_snr_db: 0
  101. min_span_hz: 0
  102. max_span_hz: 0
  103. auto_span: true
  104. resources:
  105. prefer_gpu: false
  106. max_refinement_jobs: 8
  107. max_recording_streams: 16
  108. max_decode_jobs: 16
  109. decision_hold_ms: 2000
  110. - name: wideband-balanced
  111. description: Baseline multi-resolution wideband surveillance
  112. pipeline:
  113. mode: wideband-balanced
  114. profile: wideband-balanced
  115. goals:
  116. intent: broadcast-monitoring
  117. monitor_start_hz: 0
  118. monitor_end_hz: 0
  119. monitor_span_hz: 0
  120. monitor_windows: []
  121. signal_priorities:
  122. - wfm
  123. - rds
  124. - broadcast
  125. auto_record_classes:
  126. - WFM
  127. - WFM_STEREO
  128. auto_decode_classes:
  129. - WFM
  130. - WFM_STEREO
  131. - RDS
  132. surveillance:
  133. analysis_fft_size: 4096
  134. frame_rate: 12
  135. strategy: multi-resolution
  136. display_bins: 2048
  137. display_fps: 12
  138. derived_detection: auto
  139. refinement:
  140. enabled: true
  141. max_concurrent: 24
  142. detail_fft_size: 4096
  143. min_candidate_snr_db: -3
  144. min_span_hz: 60000
  145. max_span_hz: 250000
  146. auto_span: true
  147. resources:
  148. prefer_gpu: true
  149. max_refinement_jobs: 24
  150. max_recording_streams: 32
  151. max_decode_jobs: 16
  152. decision_hold_ms: 2500
  153. - name: wideband-aggressive
  154. description: Higher surveillance/refinement budgets for dense wideband monitoring
  155. pipeline:
  156. mode: wideband-aggressive
  157. profile: wideband-aggressive
  158. goals:
  159. intent: high-density-wideband-surveillance
  160. monitor_start_hz: 0
  161. monitor_end_hz: 0
  162. monitor_span_hz: 0
  163. monitor_windows: []
  164. signal_priorities:
  165. - wfm
  166. - rds
  167. - broadcast
  168. - digital
  169. auto_record_classes: []
  170. auto_decode_classes: []
  171. surveillance:
  172. analysis_fft_size: 8192
  173. frame_rate: 10
  174. strategy: multi-resolution
  175. display_bins: 4096
  176. display_fps: 10
  177. derived_detection: auto
  178. refinement:
  179. enabled: true
  180. max_concurrent: 32
  181. detail_fft_size: 8192
  182. min_candidate_snr_db: -3
  183. min_span_hz: 50000
  184. max_span_hz: 280000
  185. auto_span: true
  186. resources:
  187. prefer_gpu: true
  188. max_refinement_jobs: 32
  189. max_recording_streams: 40
  190. max_decode_jobs: 24
  191. decision_hold_ms: 2500
  192. - name: archive
  193. description: Record-first monitoring profile
  194. pipeline:
  195. mode: archive
  196. profile: archive
  197. goals:
  198. intent: archive-and-triage
  199. monitor_start_hz: 0
  200. monitor_end_hz: 0
  201. monitor_span_hz: 0
  202. monitor_windows: []
  203. signal_priorities:
  204. - wfm
  205. - broadcast
  206. - digital
  207. auto_record_classes: []
  208. auto_decode_classes: []
  209. surveillance:
  210. analysis_fft_size: 4096
  211. frame_rate: 12
  212. strategy: single-resolution
  213. display_bins: 2048
  214. display_fps: 12
  215. derived_detection: auto
  216. refinement:
  217. enabled: true
  218. max_concurrent: 16
  219. detail_fft_size: 4096
  220. min_candidate_snr_db: -2
  221. min_span_hz: 50000
  222. max_span_hz: 250000
  223. auto_span: true
  224. resources:
  225. prefer_gpu: true
  226. max_refinement_jobs: 16
  227. max_recording_streams: 40
  228. max_decode_jobs: 16
  229. decision_hold_ms: 3000
  230. - name: digital-hunting
  231. description: Digital-first refinement and decode focus
  232. pipeline:
  233. mode: digital-hunting
  234. profile: digital-hunting
  235. goals:
  236. intent: digital-surveillance
  237. monitor_start_hz: 0
  238. monitor_end_hz: 0
  239. monitor_span_hz: 0
  240. monitor_windows: []
  241. signal_priorities:
  242. - rds
  243. - digital
  244. - wfm
  245. auto_record_classes: []
  246. auto_decode_classes: []
  247. surveillance:
  248. analysis_fft_size: 4096
  249. frame_rate: 12
  250. strategy: multi-resolution
  251. display_bins: 2048
  252. display_fps: 12
  253. derived_detection: auto
  254. refinement:
  255. enabled: true
  256. max_concurrent: 20
  257. detail_fft_size: 4096
  258. min_candidate_snr_db: -2
  259. min_span_hz: 50000
  260. max_span_hz: 200000
  261. auto_span: true
  262. resources:
  263. prefer_gpu: true
  264. max_refinement_jobs: 20
  265. max_recording_streams: 20
  266. max_decode_jobs: 24
  267. decision_hold_ms: 2500
  268. detector:
  269. threshold_db: -60
  270. min_duration_ms: 500
  271. hold_ms: 1500
  272. ema_alpha: 0.025
  273. hysteresis_db: 10
  274. min_stable_frames: 4
  275. gap_tolerance_ms: 2000
  276. cfar_mode: GOSCA
  277. cfar_guard_hz: 200000
  278. cfar_train_hz: 100000
  279. cfar_guard_cells: 3
  280. cfar_train_cells: 24
  281. cfar_rank: 36
  282. cfar_scale_db: 23
  283. cfar_wrap_around: true
  284. edge_margin_db: 6
  285. max_signal_bw_hz: 260000
  286. merge_gap_hz: 20000
  287. class_history_size: 10
  288. class_switch_ratio: 0.6
  289. recorder:
  290. enabled: false
  291. min_snr_db: 0
  292. min_duration: 500ms
  293. max_duration: 300s
  294. preroll_ms: 500
  295. record_iq: false
  296. record_audio: true
  297. auto_demod: true
  298. auto_decode: false
  299. max_disk_mb: 0
  300. output_dir: data/recordings
  301. class_filter: []
  302. ring_seconds: 12
  303. deemphasis_us: 50
  304. extraction_fir_taps: 101
  305. extraction_bw_mult: 1.35
  306. debug_live_audio: false
  307. decoder:
  308. ft8_cmd: C:/WSJT/wsjtx-2.7.0-rc6/bin/jt9.exe -8 {audio}
  309. wspr_cmd: C:/WSJT/wsjtx-2.7.0-rc6/bin/wsprd.exe {audio}
  310. dmr_cmd: tools/dsd-neo/bin/dsd-neo.exe -fs -i {audio} -s {sr} -o null
  311. dstar_cmd: tools/dsd-neo/bin/dsd-neo.exe -fd -i {audio} -s {sr} -o null
  312. fsk_cmd: tools/fsk/fsk_decoder --iq {iq} --sample-rate {sr}
  313. psk_cmd: tools/psk/psk_decoder --iq {iq} --sample-rate {sr}
  314. debug:
  315. audio_dump_enabled: false
  316. cpu_monitoring: false
  317. telemetry:
  318. enabled: true
  319. heavy_enabled: false
  320. heavy_sample_every: 12
  321. metric_sample_every: 8
  322. metric_history_max: 6000
  323. event_history_max: 1500
  324. retention_seconds: 900
  325. persist_enabled: false
  326. persist_dir: debug/telemetry
  327. rotate_mb: 16
  328. keep_files: 8
  329. logging:
  330. level: debug
  331. categories:
  332. - gap
  333. - prefir
  334. - boundary
  335. rate_limit_ms: 100
  336. stdout: true
  337. stdout_color: true
  338. file: logs/trace.log
  339. file_level: debug
  340. time_format: "15:04:05"
  341. disable_time: false
  342. web_addr: :8080
  343. event_path: data/events.jsonl
  344. frame_rate: 12
  345. waterfall_lines: 200
  346. web_root: web