mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-31 14:52:14 +08:00
37 lines
604 B
Lua
Executable File
37 lines
604 B
Lua
Executable File
#!/usr/bin/lua
|
|
|
|
-- 参数验证
|
|
if #arg < 2 then
|
|
print("Usage: script <rsrp> <bw>")
|
|
os.exit(1)
|
|
end
|
|
|
|
rsrp = tonumber(arg[1])
|
|
bw = tonumber(arg[2])
|
|
|
|
-- 检查参数是否正确转换为数字
|
|
if rsrp == nil or bw == nil then
|
|
print("Error: Invalid input. Both rsrp and bw should be numbers.")
|
|
os.exit(1)
|
|
end
|
|
|
|
-- 根据带宽计算 n 的值
|
|
local n
|
|
if bw == 1.4 then
|
|
n = 6
|
|
else
|
|
n = bw * 5
|
|
end
|
|
|
|
-- 计算 RSSI
|
|
local rssi = rsrp + (10 * math.log10(n * 12))
|
|
|
|
-- 限制 RSSI 的范围
|
|
if rssi < -113 then
|
|
rssi = -113
|
|
elseif rssi > -51 then
|
|
rssi = -51
|
|
end
|
|
|
|
print(math.floor(rssi))
|