step builds H8 from four copies of H4 in Eq. (8.15): (8.15) The resulting eight orthogonal codes of H8 (without the boxes) are shown in Eq. (8.16): (8.16) As in the previous two cases, H8 is an orthogonal matrix with any two of its eight rows having exactly four matches and four mismatches. Changing the sign of any combina- tion of rows does not affect their orthogonal property. Consider a transmitter sending eight CDMA signals using these eight rows as PN codes. Whatever the bits are, +1 or - 1, the receiver sees no net contribution from any of the other seven codes. There is no room for a ninth signal in this scheme, but eight synchronized signals using H8 get a free ride with no interference among them. We can mix orthogonal codes in powers of 2. We can use any row of Eq. (8.14) as an or- thogonal spreading code at the expense of two rows of Eq. (8.16). For example, the first row of Eq. (8.14) used with a processing gain of 4 takes the first and fifth rows of Eq. (8.16), each of which otherwise could have been used with a spreading gain of 8. The first row of Eq. (8.16) sends +1 + 1 or -1 - 1, and the fifth row sends +1 - 1 or -1 + 1. This technique is called orthogonal variable spreading factor (OVSF), and it is used in third- generation (3G) CDMA to mix varying data rates in the same orthogonal PN-code space. There is another use for the H8 codes. These eight codes are maximally different. Consider 3 bits being sent on a noisy channel. The 3 bits can be used to select one of these eight 8-bit codes, and the receiver can translate the code back into the 3 bits. This is a processing gain of 8/3. The likelihood of selecting the wrong 3-bit combination minimized by choosing codes SO far apart in their eight-dimensional space. This eight-to-three scheme, this maximal distance in eight-dimensional space scheme, is a noncoherent modulation scheme. To the demodulator, there is no differ- ence between +1 +1 -1 -1 -1 -1 +1 +1 and -1 -1 +1 +1 +1 +1 -1 -1 The eight-to-three processing gain strategy is less wonderful tha