ymbol Baseband Data bits Spreading code (Spreading) Spread signal Air interface Spreading code (De-spreading) Recieved data bits Figure 2.6 Spreading and de-spreading Spreading and De-spreading The spreading codes are Walsh-Hadamard codes: orthogonal variable spreading factor (OVSF) codes. The Walsh-Hadamard codes are selected because the code property is called orthogonality. By definition, orthogonality is a property of two codes where their cross-correlation equals zero. In a more practical example, orthogonality implies that information coded with orthogonal codes can be separated without incurring any errors. Multiplying a baseband chip sequence with one spreading code and multiplying the same baseband chip sequence with another spreading code, both change the order of bits in the baseband chip sequence. However, the spreading code is also applied again when information is to be extracted from the base- band chips, after the signal has been received on another end of the air interface. This is shown in Figure 2.6. De-spreading the baseband bit sequence with one spreading code gives the first coded information bit sequence; de-spreading the same baseband bit sequence with another spreading code gives another coded bit sequence. No errors are due to coding and decoding. The same baseland bit sequence can carry several coded information sequences. Spreading codes are also called channellisation codes. This is because spreading codes are used in uplink to separate user and control data (one user) and in downlink to separate common and dedicated channels within a cell (multiple users). The length of the spreading code varies according to the symbol rate (shown in Figure 2.7). Spreading codes must be orthogonal. When selecting a scrambling code to be used, other spreading codes belonging to the same code branch cannot be used. This kind of hierarchical selection of scrambling codes forms a 'code tree'. If the branch is in use spreading codes belonging to that same code branch cannot be used. Running out of code re