--- 1/draft-ietf-tsvwg-rlc-fec-scheme-15.txt 2019-06-18 13:13:05.726511725 -0700
+++ 2/draft-ietf-tsvwg-rlc-fec-scheme-16.txt 2019-06-18 13:13:05.810513857 -0700
@@ -1,19 +1,19 @@
TSVWG V. Roca
Internet-Draft B. Teibi
Intended status: Standards Track INRIA
Expires: December 20, 2019 June 18, 2019
Sliding Window Random Linear Code (RLC) Forward Erasure Correction (FEC)
Schemes for FECFRAME
- draft-ietf-tsvwg-rlc-fec-scheme-15
+ draft-ietf-tsvwg-rlc-fec-scheme-16
Abstract
This document describes two fully-specified Forward Erasure
Correction (FEC) Schemes for Sliding Window Random Linear Codes
(RLC), one for RLC over the Galois Field (A.K.A. Finite Field)
GF(2), a second one for RLC over the Galois Field GF(2^^8), each time
with the possibility of controlling the code density. They can
protect arbitrary media streams along the lines defined by FECFRAME
extended to sliding window FEC codes. These sliding window FEC codes
@@ -1428,22 +1428,25 @@
symbol, a limited number of pseudo-random numbers is needed,
depending on the DT and encoding window size (Section 3.6), using
either tinymt32_rand16() or tinymt32_rand256(). Therefore we are
more interested in the randomness of small sequences of random
numbers mapped to 4-bit or 8-bit integers, than in the randomness of
a very large sequence of random numbers which is not representative
of the usage of the PRNG.
Evaluation of tinymt32_rand16(): We first generate a huge number
(1,000,000,000) of small sequences (20 pseudo-random numbers per
- sequence), and perform statistics on the number of occurrences of
- each of the 16 possible values across all sequences.
+ sequence), increasing the seed value for each sequence, and perform
+ statistics on the number of occurrences of each of the 16 possible
+ values across all sequences. In this first test we consider 32-bit
+ seed values in order to assess the PRNG quality after output
+ truncation to 4 bits.
value occurrences percentage (%) (total of 20000000000)
0 1250036799 6.2502
1 1249995831 6.2500
2 1250038674 6.2502
3 1250000881 6.2500
4 1250023929 6.2501
5 1249986320 6.2499
6 1249995587 6.2500
7 1250020363 6.2501
@@ -1458,20 +1461,28 @@
Figure 11: tinymt32_rand16(): occurrence statistics across a huge
number (1,000,000,000) of small sequences (20 pseudo-random numbers
per sequence), with 0 as the first PRNG seed.
The results (Figure 11) show that all possible values are almost
equally represented, or said differently, that the tinymt32_rand16()
output converges to a uniform distribution where each of the 16
possible values would appear exactly 1 / 16 * 100 = 6.25% of times.
+ Since the RLC FEC Schemes use of this PRNG will be limited to 16-bit
+ seed values, we carried out the same test for the first 2^^16 seed
+ values only. The distribution (not shown) is of course less uniform,
+ with value occurences ranging between 6.2121% (i.e., 81,423
+ occurences out of a total of 65536*20=1,310,720) and 6.2948% (i.e.,
+ 82,507 occurences). However, we do not believe it significantly
+ impacts the RLC FEC Scheme behavior.
+
Other types of biases may exist that may be visible with smaller
tests, for instance to evaluate the convergence speed to a uniform
distribution. We therefore perform 200 tests, each of them
consisting in producing 200 sequences, keeping only the first value
of each sequence. We use non overlapping repair keys for each
sequence, starting with value 0 and increasing it after each use.
value min occurrences max occurrences average occurrences
0 4 21 6.3675
1 4 22 6.0200