The orthogonal coding scheme takes b bits, which have m = 2b possible states. It codes each of these m states as an m bit long pattern, which is orthogonal to all the other (m - 1) patterns in the set of bit patterns. How the original b bit long patterns map to the m bit long patterns is arbitrary. As long as the coder and decoder use the same mapping everything will be OK. Orthogonal in this context means half the bits should be different between any two bit patterns in the set. Hadamard matrices are one way to produce a set of m orthogonal m bit long patterns. The smallest Hadamard matrix
0 0
0 1
contains orthogonal patterns. If you make a larger matrix from four of these, like so
0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 0
you have four orthogonal patterns. Do the same again
0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1
0 1 1 0 0 1 1 0
0 0 0 0 1 1 1 1
0 1 0 1 1 0 1 0
0 0 1 1 1 1 0 0
0 1 1 0 1 0 0 1
and now you have 8 orthogonal patterns. In the original posting these patterns are assigned to incrementing binary values of the 3 bit input field.