-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy paththresholds.go
More file actions
70 lines (66 loc) · 2.45 KB
/
Copy paththresholds.go
File metadata and controls
70 lines (66 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package signal
// defaultRSRPThresholds returns industry-standard RSRP thresholds.
// Sources and references:
// - Powerful Signal (cellular signal booster manufacturer)
// - Digi International (industrial cellular router manufacturer)
// - Telco Antennas (professional antenna installation)
// - 3GPP TS 36.133 defines measurement ranges (operator-specific thresholds)
// - FreeRTOS Cellular Interface implementation
//
// Typical ranges: -44 dBm (excellent) to -140 dBm (no signal).
func defaultRSRPThresholds() []Threshold {
return []Threshold{
{MinValue: -89, Quality: QualityExcellent},
{MinValue: -104, Quality: QualityGood},
{MinValue: -114, Quality: QualityFair},
{MinValue: -124, Quality: QualityPoor},
{MinValue: -200, Quality: QualityNone},
}
}
// defaultRSRQThresholds returns industry-standard RSRQ thresholds.
// Sources and references:
// - Powerful Signal
// - 3GPP TS 36.133 defines measurement ranges (-43 dB to 20 dB for 5G)
// - Industry practice: higher (less negative) values indicate better quality
//
// RSRQ = N * (RSRP / RSSI) where N is the number of Resource Blocks.
// Typical ranges: -3 dB (excellent) to -20 dB (poor).
func defaultRSRQThresholds() []Threshold {
return []Threshold{
{MinValue: -9, Quality: QualityExcellent},
{MinValue: -14, Quality: QualityGood},
{MinValue: -19, Quality: QualityFair},
{MinValue: -50, Quality: QualityPoor},
}
}
// defaultRSSIThresholds returns industry-standard RSSI thresholds.
// Sources and references:
// - Digi International
// - ESP-IDF WiFi RSSI thresholds
// - RSSI is less commonly used in LTE/5G compared to RSRP
//
// Typical ranges: -50 dBm (excellent) to -110 dBm (poor).
func defaultRSSIThresholds() []Threshold {
return []Threshold{
{MinValue: -65, Quality: QualityExcellent},
{MinValue: -75, Quality: QualityGood},
{MinValue: -85, Quality: QualityFair},
{MinValue: -120, Quality: QualityPoor},
}
}
// defaultSINRThresholds returns industry-standard SINR thresholds.
// Sources and references:
// - Powerful Signal
// - Nature Scientific Reports (2026)
// - Higher values indicate cleaner signal with less noise
//
// SINR is a positive number in most contexts; negative values indicate
// the signal is weaker than the noise floor.
func defaultSINRThresholds() []Threshold {
return []Threshold{
{MinValue: 13, Quality: QualityExcellent},
{MinValue: 6, Quality: QualityGood},
{MinValue: 0, Quality: QualityFair},
{MinValue: -100, Quality: QualityPoor},
}
}