[Olsr-dev] Maximal LQ less than 1 on Ethernet
Thu Jun 19 10:56:29 CEST 2008
Henning Rogge wrote:
> I just did a few experiments to discover the reason why the LQ of perfect
> links (switched ethernet) does not go up to 1.
> The reason seems to be a combination of three points:
> - we use a exponential moving average in the default LQ calculation
> - we save the LQ values directly in the 1 byte network format
> - we use a fixed point math system in the default LQ calculation
> This two points creates a rounding problem that prevent the LQ value to rise
> above certain values.
> The exponential depends on the following formula, with default alpha as 0.05:
> new_LQ = old_LQ * (1 - alpha) + measured_lq * alpha
> the second part of this formula seems to get small enough that we cannot store
> it in a 1 byte value.
> So we have to stop using the exponential average or change the number formats
> for LQ calculation, but I'm not completely sure about the effects of both
what about a simple roundup()
if (measured_lq >= old_LQ) && measured_lq >= 0.999)
More information about the Olsr-dev