What exactly are orthogonal codes in UMTS, who generates them, and what is a well-known example?
Orthogonal codes (spreading codes) have zero cross-correlation between any pair; in UMTS the base station generates and assigns them to separate the downlink signals of users within its own cell — Walsh codes are the classic example.
Definition: Special codes where the cross-correlation between the codes is zero. Multiplying a user's signal by such a code spreads it over a wider frequency band AND makes it separable from other users' signals.
Function in UMTS:
- Used to separate the signals of different users in the downlink within the same cell
- The base station serves all users in the cell, so it assigns each user an individual orthogonal code
- Because the codes are orthogonal, there is no interference between the users — even though they share the same frequency and the same time
- The base station determines and generates the codes for the users in its cell
Example: Walsh codes — the classic family of orthogonal codes used in CDMA systems (the OVSF tree generates Walsh-type codes of variable length).
Why the downlink is the easy case: All downlink signals originate from one transmitter (the base station), so they are inherently synchronized — and orthogonality only works when the codes are time-aligned. This is exactly why the uplink needs a different solution (pseudo-orthogonal codes).
Go deeper:
Hadamard code (Wikipedia) — the math of the Walsh codes named in the card: why they are pairwise orthogonal and how CDMA uses them as channel codes.
CDMA orthogonal spreading codes (Electronics Notes) — defines orthogonality as "multiply and sum to zero" and ties it to the spreading factor.