Subject: | High Packet Loss can lead to MOS Scores greater than 1 |
If you're packet loss is very high its possible that $r_value can become negative. All we need to do is set $r_value to 0 before the final calc in situations like that we get a score of 0.
# Now, let's deduct 2.5 r_value per percentage of packet_loss
$r_value = $r_value - ($packet_loss * 2.5);
+ $r_value = 0 if $r_value < 0;
# Convert the r_value into an MOS value. (this is a known formula)
$ret_val = 1 +
(0.035) *
$r_value +
(0.000007) *
$r_value *
($r_value - 60) *
(100 - $r_value);
$ret_val = sprintf( "%.3f", $ret_val);