<?php
function calculateAccuracy($txPower, $rssi){
if ($rssi == 0) {
return -1.0; // if we cannot determine accuracy, return -1.
}
$ratio = $rssi*1.0/$txPower;
if ($ratio < 1.0) {
return pow($ratio,10);
}
else {
$accuracy = (0.89976)*pow($ratio,7.7095) + 0.111;
return $accuracy;
}
}
echo(calculateAccuracy(-55, -70).PHP_EOL);
echo(calculateAccuracy(-57, -70).PHP_EOL);
echo(calculateAccuracy(-58, -70).PHP_EOL);
echo(calculateAccuracy(-59, -70).PHP_EOL);
echo(calculateAccuracy(-60, -70).PHP_EOL);
echo(calculateAccuracy(-61, -70).PHP_EOL);
echo(calculateAccuracy(-62, -70).PHP_EOL);
echo(calculateAccuracy(-64, -70).PHP_EOL);
echo(calculateAccuracy(-66, -70).PHP_EOL);
echo(calculateAccuracy(-68, -70).PHP_EOL);
echo(calculateAccuracy(-70, -70).PHP_EOL);
preferences:
40.07 ms | 402 KiB | 5 Q