Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

53 linhas
2.0KB

  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. DroppedBySNR int `json:"dropped_by_snr"`
  27. DroppedByBudget int `json:"dropped_by_budget"`
  28. Selected []ScheduledCandidate `json:"selected,omitempty"`
  29. }
  30. type RefinementInput struct {
  31. Level AnalysisLevel `json:"level"`
  32. Candidates []Candidate `json:"candidates,omitempty"`
  33. Scheduled []ScheduledCandidate `json:"scheduled,omitempty"`
  34. Plan RefinementPlan `json:"plan,omitempty"`
  35. Windows []RefinementWindow `json:"windows,omitempty"`
  36. SampleRate int `json:"sample_rate"`
  37. FFTSize int `json:"fft_size"`
  38. CenterHz float64 `json:"center_hz"`
  39. Source string `json:"source,omitempty"`
  40. }
  41. type RefinementResult struct {
  42. Level AnalysisLevel `json:"level"`
  43. Signals []detector.Signal `json:"signals"`
  44. Decisions []SignalDecision `json:"decisions,omitempty"`
  45. Candidates []Candidate `json:"candidates,omitempty"`
  46. }