Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
|
- package main
-
- import "sdr-wideband-suite/internal/pipeline"
-
- func buildWindowStats(windows []pipeline.RefinementWindow) *RefinementWindowStats {
- if len(windows) == 0 {
- return nil
- }
- stats := &RefinementWindowStats{Sources: map[string]int{}}
- minSpan := 0.0
- maxSpan := 0.0
- sum := 0.0
- for i, w := range windows {
- span := w.SpanHz
- if span <= 0 {
- continue
- }
- if i == 0 || span < minSpan {
- minSpan = span
- }
- if i == 0 || span > maxSpan {
- maxSpan = span
- }
- sum += span
- stats.Count++
- if w.Source != "" {
- stats.Sources[w.Source]++
- }
- }
- if stats.Count == 0 {
- return nil
- }
- stats.MinSpan = minSpan
- stats.MaxSpan = maxSpan
- stats.AvgSpan = sum / float64(stats.Count)
- return stats
- }
|