[evaal contest] computing reliability
Francesco Potortì
Potorti at isti.cnr.it
Thu Jun 14 16:26:09 CEST 2012
Here we define how to deal with jitter. The first sample arrives by
definition at time 0. We should define what happens when we get samples
arriving at times like this:
0 0.2 0.6 1.2 1.9 2.5 3.5 4.7 4.8 4.9 5.2 5.5 5.8 6.1
that is, with intersample intervals like this:
0.2 0.4 0.6 0.7 0.7 1.0 1.2 0.1 0.1 0.3 0.3 0.3
I suggest a crude algorithm like the following one:
const minjitter = -0.25
const maxjitter = 0.25
const expectedintv = 0.5
var nexttime = 0
var goodsamples = 0
# first sample arrives at time 0, so sample.time will be 0
# subsequent samples have increasing sample.time
for (each sample arriving)
# difference of time received with respect to expected
jitter = sample.time - nexttime
# too near to the previous one: ignore
if (jitter < minjitter)
continue
# good sample: store it and increase number of good samples
store(sample)
goodsamples += 1
# limited jitter: do not move the time base
if (jitter < maxjitter)
nexttime += expectedintv
# too far from previous sample: adjust the time base
else
nexttime = sample.time + expectedintv
endfor
Then, for the above time sequence, we would discard the samples
arriving at 0.2, 4.8, 4.9, 5.8, yelding a 71% availability.
This algorithm gives 99% availability if the competitor's clock is 1%
faster than our clock, and 100% availability if it is slower, that is,
it compensates for slower clocks but does not allow for faster clocks.
This can be corrected, but the added complexity is in my opinion not
justified for our purposes.
The interval for allowed jitter can be expanded, let's say that the
algorithm would be more permissive with
const minjitter = -0.4
const maxjitter = 0.4
In this case, in the above sequence we would discard the samples
arriving at 4.9, 5.2, 6.1 yelding a 79% availability.
--
Francesco Potortì (ricercatore) Voice: +39.050.315.3058 (op.2111)
ISTI - Area della ricerca CNR Mobile: +39.348.8283.107
via G. Moruzzi 1, I-56124 Pisa Fax: +39.050.315.2040
(entrance 20, 1st floor, room C71) Web: http://fly.isti.cnr.it
More information about the Contest
mailing list