Wideband autonomous SDR analysis engine forked from sdr-visual-suite
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

256 行
6.5KB

  1. bands:
  2. - name: uk-fm-broadcast
  3. start_hz: 87.5e6
  4. end_hz: 108.0e6
  5. center_hz: 102.0e6
  6. sample_rate: 4096000
  7. fft_size: 4096
  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: 88.0e6
  21. monitor_end_hz: 108.0e6
  22. monitor_span_hz: 20000000
  23. monitor_windows:
  24. - name: fm-focus
  25. start_hz: 87.5e6
  26. end_hz: 108.0e6
  27. priority: 1.25
  28. zone: focus
  29. - name: fm-rds
  30. start_hz: 87.5e6
  31. end_hz: 108.0e6
  32. priority: 1.35
  33. zone: decode
  34. signal_priorities: ["wfm", "rds", "broadcast"]
  35. auto_record_classes: ["WFM", "WFM_STEREO"]
  36. auto_decode_classes: ["WFM", "WFM_STEREO", "RDS"]
  37. surveillance:
  38. analysis_fft_size: 4096
  39. frame_rate: 12
  40. strategy: multi-resolution
  41. display_bins: 2048
  42. display_fps: 12
  43. derived_detection: auto
  44. refinement:
  45. enabled: true
  46. max_concurrent: 24
  47. detail_fft_size: 4096
  48. min_candidate_snr_db: -3
  49. min_span_hz: 60000
  50. max_span_hz: 250000
  51. auto_span: true
  52. resources:
  53. prefer_gpu: true
  54. max_refinement_jobs: 24
  55. max_recording_streams: 32
  56. max_decode_jobs: 16
  57. decision_hold_ms: 2500
  58. profiles:
  59. - name: legacy
  60. description: Current single-band pipeline behavior
  61. pipeline:
  62. mode: legacy
  63. profile: legacy
  64. goals:
  65. intent: general-monitoring
  66. surveillance:
  67. analysis_fft_size: 2048
  68. frame_rate: 15
  69. strategy: single-resolution
  70. display_bins: 2048
  71. display_fps: 15
  72. derived_detection: auto
  73. resources:
  74. prefer_gpu: false
  75. max_refinement_jobs: 8
  76. max_recording_streams: 16
  77. max_decode_jobs: 16
  78. decision_hold_ms: 2000
  79. refinement:
  80. enabled: true
  81. max_concurrent: 8
  82. detail_fft_size: 2048
  83. min_candidate_snr_db: 0
  84. min_span_hz: 0
  85. max_span_hz: 0
  86. auto_span: true
  87. - name: wideband-balanced
  88. description: Baseline multi-resolution wideband surveillance
  89. pipeline:
  90. mode: wideband-balanced
  91. profile: wideband-balanced
  92. goals:
  93. intent: broadcast-monitoring
  94. signal_priorities: ["wfm", "rds", "broadcast"]
  95. auto_record_classes: ["WFM", "WFM_STEREO"]
  96. auto_decode_classes: ["WFM", "WFM_STEREO", "RDS"]
  97. surveillance:
  98. analysis_fft_size: 4096
  99. frame_rate: 12
  100. strategy: multi-resolution
  101. display_bins: 2048
  102. display_fps: 12
  103. derived_detection: auto
  104. resources:
  105. prefer_gpu: true
  106. max_refinement_jobs: 24
  107. max_recording_streams: 32
  108. max_decode_jobs: 16
  109. decision_hold_ms: 2500
  110. refinement:
  111. enabled: true
  112. max_concurrent: 24
  113. detail_fft_size: 4096
  114. min_candidate_snr_db: -3
  115. min_span_hz: 60000
  116. max_span_hz: 250000
  117. auto_span: true
  118. - name: wideband-aggressive
  119. description: Higher surveillance/refinement budgets for dense wideband monitoring
  120. pipeline:
  121. mode: wideband-aggressive
  122. profile: wideband-aggressive
  123. goals:
  124. intent: high-density-wideband-surveillance
  125. signal_priorities: ["wfm", "rds", "broadcast", "digital"]
  126. surveillance:
  127. analysis_fft_size: 8192
  128. frame_rate: 10
  129. strategy: multi-resolution
  130. display_bins: 4096
  131. display_fps: 10
  132. derived_detection: auto
  133. resources:
  134. prefer_gpu: true
  135. max_refinement_jobs: 32
  136. max_recording_streams: 40
  137. max_decode_jobs: 24
  138. decision_hold_ms: 2500
  139. refinement:
  140. enabled: true
  141. max_concurrent: 32
  142. detail_fft_size: 8192
  143. min_candidate_snr_db: -3
  144. min_span_hz: 50000
  145. max_span_hz: 280000
  146. auto_span: true
  147. - name: archive
  148. description: Record-first monitoring profile
  149. pipeline:
  150. mode: archive
  151. profile: archive
  152. goals:
  153. intent: archive-and-triage
  154. signal_priorities: ["wfm", "broadcast", "digital"]
  155. surveillance:
  156. analysis_fft_size: 4096
  157. frame_rate: 12
  158. strategy: single-resolution
  159. display_bins: 2048
  160. display_fps: 12
  161. derived_detection: auto
  162. resources:
  163. prefer_gpu: true
  164. max_refinement_jobs: 16
  165. max_recording_streams: 40
  166. max_decode_jobs: 16
  167. decision_hold_ms: 3000
  168. refinement:
  169. enabled: true
  170. max_concurrent: 16
  171. detail_fft_size: 4096
  172. min_candidate_snr_db: -2
  173. min_span_hz: 50000
  174. max_span_hz: 250000
  175. auto_span: true
  176. - name: digital-hunting
  177. description: Digital-first refinement and decode focus
  178. pipeline:
  179. mode: digital-hunting
  180. profile: digital-hunting
  181. goals:
  182. intent: digital-surveillance
  183. signal_priorities: ["rds", "digital", "wfm"]
  184. surveillance:
  185. analysis_fft_size: 4096
  186. frame_rate: 12
  187. strategy: multi-resolution
  188. display_bins: 2048
  189. display_fps: 12
  190. derived_detection: auto
  191. resources:
  192. prefer_gpu: true
  193. max_refinement_jobs: 20
  194. max_recording_streams: 20
  195. max_decode_jobs: 24
  196. decision_hold_ms: 2500
  197. refinement:
  198. enabled: true
  199. max_concurrent: 20
  200. detail_fft_size: 4096
  201. min_candidate_snr_db: -2
  202. min_span_hz: 50000
  203. max_span_hz: 200000
  204. auto_span: true
  205. detector:
  206. threshold_db: -60
  207. min_duration_ms: 120
  208. hold_ms: 1500
  209. ema_alpha: 0.35
  210. hysteresis_db: 6
  211. min_stable_frames: 3
  212. gap_tolerance_ms: 1500
  213. cfar_mode: GOSCA
  214. cfar_guard_hz: 15000
  215. cfar_train_hz: 120000
  216. cfar_guard_cells: 3
  217. cfar_train_cells: 24
  218. cfar_rank: 36
  219. cfar_scale_db: 7
  220. cfar_wrap_around: true
  221. edge_margin_db: 4
  222. max_signal_bw_hz: 260000
  223. merge_gap_hz: 20000
  224. class_history_size: 10
  225. class_switch_ratio: 0.6
  226. recorder:
  227. enabled: true
  228. min_snr_db: 0
  229. min_duration: 500ms
  230. max_duration: 300s
  231. preroll_ms: 500
  232. record_iq: false
  233. record_audio: true
  234. auto_demod: true
  235. auto_decode: true
  236. max_disk_mb: 0
  237. output_dir: data/recordings
  238. class_filter: ["WFM", "WFM_STEREO"]
  239. ring_seconds: 12
  240. deemphasis_us: 50
  241. extraction_fir_taps: 101
  242. extraction_bw_mult: 1.35
  243. debug_live_audio: false
  244. decoder:
  245. ft8_cmd: C:/WSJT/wsjtx-2.7.0-rc6/bin/jt9.exe -8 {audio}
  246. wspr_cmd: C:/WSJT/wsjtx-2.7.0-rc6/bin/wsprd.exe {audio}
  247. dmr_cmd: tools/dsd-neo/bin/dsd-neo.exe -fs -i {audio} -s {sr} -o null
  248. dstar_cmd: tools/dsd-neo/bin/dsd-neo.exe -fd -i {audio} -s {sr} -o null
  249. fsk_cmd: tools/fsk/fsk_decoder --iq {iq} --sample-rate {sr}
  250. psk_cmd: tools/psk/psk_decoder --iq {iq} --sample-rate {sr}
  251. web_addr: :8080
  252. event_path: data/events.jsonl
  253. frame_rate: 12
  254. waterfall_lines: 200
  255. web_root: web