 00000 0000011 00001 1000011 100010 0100011 100100 0010011 100101 0001011 101000 1001011 1010010101011 1010101101011 1000000 00000011 100000110000011 100001001000011 11000100 00100011 000101 00010011 100100000001011 00100 1 10001011 1001010 01001011 1010000 11001011 1010001 00101011 101001010101011 32 101010011101011 Fibonacci: 21 138532 in increasing order. The suite of Fibonacci numbers, {1, 2, 3, 5, 8, 13, 21}, starting with F(0)=F(1)= 1 up to F(7)= = 21, is written at bottom, from right to left, defining seven columns. It is easily checked that all integer numbers are given by a sum of the Fibonacci numbers, for instance: 7 5 + 2 = X F(4)+0xF(3)+1x F(2)+0xF(1), 12=8+3+1=1xF(5)+0xF(4)+1x F(3)+0xF(2)+1xF(1), which can be coded as 710 = 1010Fibonacci and 1210 10101 Fibonacci, respectively. The second column in Table 10.2 shows the codewords obtained according to such It is left as an exercise to show that a Fibonacci code of order m= 3 requires level-three coding. 10.1 Integer coding a decomposition into Fibonacci numbers. The actual Fibonacci code is obtained by taking the mirror image of this initial codeword and appending a 1 postfix, as seen from the last column at right: thus f (i = 1) = 11, f (i = 2) = 011, f (i = 3) = 0011, f(i = 5) = 00011, and SO on. The result of this operation is a prefix code, i.e., a code for which no codeword is the prefix of another codeword. This code example is also listed in Table 10.1, for comparison with the Elias codes. The comparison shows that the Fibonacci codewords are significantly shorter. Using the English-language source (Table 8.3), we find that our Fibonacci code has a mean codeword length of L = 4.928 bit/word, which corresponds to an efficiency of n = H/L = 4.184/4.928 = 84.90%, and represents an improvement on the previous Elias-gamma and delta codes (n = 79.83%). It can be shown that Fibonacci codes are not asymptotically optimal, like Elias-gamma codes but unlike Elias-delta codes. Higher-order Fibonacci codes (m > 2) have better compression rates, provided th