<?php
// rsrq(rb,rsrp,rssi) = 10*log10(rb*10**(rsrp/10)/10**(rssi/10));
function calc ($data) {
$pattern = "Freq:([ ]+)(?P<Freq>[0-9\-]+)\n";
$pattern .= "Band:([ ]+)(?P<Band>[0-9\-]+)\n";
$pattern .= "CellId:([ ]+)(?P<CellId>[0-9\-]+)\n";
$pattern .= "RSRP:([ ]+)(?P<RSRP>[0-9\-]+)\n";
$pattern .= "RSRQ:([ ]+)(?P<RSRQ>[0-9\-]+)\n";
$pattern .= "RSSI:([ ]+)(?P<RSSI>[0-9\-]+)";
preg_match('/'.$pattern.'/i', $data, $matches);
if (!empty($matches)) {
$rb = 50; // lte 800
if ($matches['Band'] == 3) {
$rb = 100; // lte 1800
}
echo rsrq($rb, $matches['RSRP'], $matches['RSSI']);
}
}
function rsrq ($rb, $rsrp, $rssi) {
return 10*log10($rb*10**($rsrp/10)/10**($rssi/10));
}
calc(">> Current-LTE-Config <<
Acgorder: 03
Band: 3FFFFFFF
Roam: 3
Srvdomain: 1
LTEBand: 80044
>> Current-CellInfo <<
Freq: 18150
Band: 3
CellId: 60
RSRP: -88
RSRQ: -6
RSSI: -62");
- Output for 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- -6
- Output for 5.5.0 - 5.5.35
- Parse error: syntax error, unexpected '*' in /in/F8sHW on line 24
Process exited with code 255.
preferences:
145.18 ms | 401 KiB | 213 Q