This message describes another method of generating an index number or coordinate using MMI Generator bits. The algorithm assembles a binary word with the more significant bits receiving a higher weight than the less significant bits. Each bit is generated by performing a majority vote (MV) of an odd number of MMI bits.
The MV for this algorithm is 2 times the count of 1s used to generate each bit, less N, the total number of bits used for that bit. The value of each resulting bit is 1 if the MV is positive, else it is 0. This means simply, if there are more 1s in the sequence, a majority of 1s, the result of the MV is 1, otherwise there is a majority of 0s and the result is 0.
Each bit’s weight is determined by the number of MMI bits, N, used to produce that bit. The weight is proportional to the square root of N. For this version of the algorithm, N is doubled for each more significant bit in the generated index. Note, N is made odd to prevent ties in the MV. The is done by adding 1 bit to each N value.
Assume there are 32,768 bits available to generate the desired index value. About 0.33 seconds from a 100Kbps MMI generator. These bits will be used to generate a 10-bit index word in the range 0 to 1023.
MV0 through MV9 represent the results of the majority voting of the least significant bit (LSB) through the most significant bit (MSB). N1 through N9 are the number of bits used to produce the MV for MV0 through MV9. Choose N0 = 32 + 1 or 33 bits. Each increasing N value is two times the previous base value plus 1, so N2 = 65 and up through N9 = 16,385 bits. The total number of MMI bits used is 32,746. The full equation is:
index = MV0 + 2 * MV1 + 4 * MV2 + 8 * MV3 + 16 * MV4 + 32 * MV5 + 64 * MV6 + 128 * MV7 + 256 * MV9 + 512 * MV9
This is equal to a 10-bit integer shown with LSB on the left and MSB on the right (reverse order for many systems), though the multipliers would not be used if it is represented as a binary integer.
This index generator has pros and cons versus the random walk (RW) index generation method. The binary generator produces a theoretically perfectly linear result (see the results of the KS testing below), while the RW algorithm can never be perfectly linear. The binary approach is mathematically simpler, but it also has a clear limitation in the number of bits of resolution that are possible with a reasonable number of MMI bits available. The weight doubling for each more significant bit limits the number of bits to about 14, but the LSBs may use too few MMI bits to produce reliable MV results. Both types of index generator assume the MMI bits are unbiased or have insignificant biases. Actual MMI generator bias will add additional errors to the results of the index generation.
As with the RW index generator, the weighted binary index generator has not yet been tested in real MMI applications. The results of the KS testing confirm the expected linearity and functioning of the algorithm. For 100,000 trial indexes, KS+ was 0.835 and KS- was 0.340 – both in the nominal range. Consistent with the KS statistics, the graphical display of the cumulative distribution function of the test data shows no indication of nonlinearity: