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

59 строки
2.2KB

  1. package pipeline
  2. import "sdr-wideband-suite/internal/detector"
  3. type AnalysisLevel struct {
  4. Name string `json:"name"`
  5. SampleRate int `json:"sample_rate"`
  6. FFTSize int `json:"fft_size"`
  7. CenterHz float64 `json:"center_hz"`
  8. SpanHz float64 `json:"span_hz"`
  9. Source string `json:"source,omitempty"`
  10. }
  11. type SurveillanceResult struct {
  12. Level AnalysisLevel `json:"level"`
  13. Levels []AnalysisLevel `json:"levels,omitempty"`
  14. Candidates []Candidate `json:"candidates"`
  15. Scheduled []ScheduledCandidate `json:"scheduled,omitempty"`
  16. Finished []detector.Event `json:"finished"`
  17. Signals []detector.Signal `json:"signals"`
  18. NoiseFloor float64 `json:"noise_floor"`
  19. Thresholds []float64 `json:"thresholds,omitempty"`
  20. DisplayLevel AnalysisLevel `json:"display_level"`
  21. }
  22. type RefinementPlan struct {
  23. TotalCandidates int `json:"total_candidates"`
  24. MinCandidateSNRDb float64 `json:"min_candidate_snr_db"`
  25. Budget int `json:"budget"`
  26. DroppedByMonitor int `json:"dropped_by_monitor"`
  27. DroppedBySNR int `json:"dropped_by_snr"`
  28. DroppedByBudget int `json:"dropped_by_budget"`
  29. Selected []ScheduledCandidate `json:"selected,omitempty"`
  30. }
  31. type RefinementInput struct {
  32. Level AnalysisLevel `json:"level"`
  33. Candidates []Candidate `json:"candidates,omitempty"`
  34. Scheduled []ScheduledCandidate `json:"scheduled,omitempty"`
  35. Plan RefinementPlan `json:"plan,omitempty"`
  36. Windows []RefinementWindow `json:"windows,omitempty"`
  37. SampleRate int `json:"sample_rate"`
  38. FFTSize int `json:"fft_size"`
  39. CenterHz float64 `json:"center_hz"`
  40. Source string `json:"source,omitempty"`
  41. }
  42. type RefinementResult struct {
  43. Level AnalysisLevel `json:"level"`
  44. Signals []detector.Signal `json:"signals"`
  45. Decisions []SignalDecision `json:"decisions,omitempty"`
  46. Candidates []Candidate `json:"candidates,omitempty"`
  47. }
  48. type RefinementStep struct {
  49. Input RefinementInput `json:"input"`
  50. Result RefinementResult `json:"result"`
  51. }