Four UMTS users (A, B, C, D) served by one base station each transmit a two-bit codeword (alphabet +1/−1) simultaneously over the same air interface, using the shortest same-level OVSF codes that can separate all four users. How are codes assigned, the combined signal computed, and one user's codeword extracted?
Each user gets one of the four orthogonal SF=4 OVSF/Walsh codes; every data bit is spread into 4 chips; the air signal is the chip-wise sum of all four spread signals; a receiver recovers a user's bits by correlating with that user's code and dividing by 4.
The setup (a base station and four participants sending codewords over the alphabet +1/−1):
-
Create 4 orthogonal codes of length 4 — take the four codes at level SF=4 of the OVSF tree, for example c₁ = (+ + + +), c₂ = (+ + − −), c₃ = (+ − + −), c₄ = (+ − − +). Any two have dot product 0. Assign one code per user: A→c₁, B→c₂, C→c₃, D→c₄. A length-16 set would also work, but it is not required for only four users and would spread each bit over more chips.
-
The users send the codewords A: (1, 1), B: (1, −1), C: (−1, 1), D: (−1, −1). Each bit is multiplied by the user's full 4-chip code, so each two-bit codeword becomes 2 × 4 = 8 chips.
-
The combined air signal is the chip-wise sum of all four spread signals: Z* = Z_A + Z_B + Z_C + Z_D = (0 4 0 0, 0 0 4 0)
-
Extraction of user A's codeword: correlate with A's code (c₁) and normalize by the code length n = 4: c_A = (Z* · c₁) / 4 = ((0+4+0+0)/4, (0+0+4+0)/4) = (1, 1) ✓
Two things worth noticing:
- Most chips of the combined signal are 0 — at those positions the four users' chips cancel exactly. A zero on the air does NOT mean lost information: the data is still perfectly recoverable, because the information lives in the correlation with each code, not in individual chips.
- The normalization factor equals the spreading factor (divide by 4 for SF=4, by 16 for SF=16) — the receiver averages over one code period.
Tip: This is the same mathematics as longer OVSF examples. The shortest same-level code length that can provide four orthogonal codes is SF=4; larger spreading factors are possible, but they trade data rate for more code space.