<?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: -89
RSRQ: -6
RSSI: -66");
- Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 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
- -3
- Output for 5.5.0 - 5.5.38
- Parse error: syntax error, unexpected '*' in /in/IAj4R on line 24
Process exited with code 255.
preferences:
228.45 ms | 401 KiB | 330 Q