OVSF

Orthogonal Variable Spreading Factor

Physical Layer
Introduced in R99
A code generation technique used in WCDMA (UMTS) to create orthogonal channelization codes. These codes separate different user and control channels transmitted on the same frequency and timeslot, enabling variable data rates while maintaining orthogonality to minimize interference.

Description

Orthogonal Variable Spreading Factor (OVSF) codes are fundamental to the Wideband Code Division Multiple Access (WCDMA) air interface used in UMTS. They provide the channelization function in the downlink and uplink. An OVSF code tree is generated recursively: a root code (e.g., C_{ch,1,0} = [1]) is defined, and each parent code spawns two child codes. One child is the concatenation of the parent with itself ([P, P]), and the other is the concatenation of the parent with its inverse ([P, -P]). This structure creates a set of codes where any two codes are orthogonal if neither is an ancestor of the other in the tree. The Spreading Factor (SF) defines the code length and is inversely related to the symbol rate; lower SF (shorter code) provides higher data rate, and higher SF (longer code) provides lower data rate. A physical channel is assigned a specific OVSF code from the tree. This allows the system to multiplex channels with different data rates simultaneously on the same carrier frequency. The orthogonality, when preserved (especially in the downlink with synchronous transmission), greatly reduces Multiple Access Interference (MAI) between channels. Code management, including assignment and blocking to maintain orthogonality, is a critical function of the Radio Network Controller (RNC).

Purpose & Motivation

OVSF codes were developed specifically for WCDMA/UMTS to solve the challenge of supporting multiple users and services with highly variable data rates on a single frequency band. Previous CDMA systems like IS-95 used Walsh codes with a fixed spreading factor, limiting flexibility. The primary problem OVSF addresses is how to maintain orthogonality between channels while allowing the spreading factor (and thus the data rate) to be variable on a per-connection basis. This was essential for UMTS's goal of supporting both voice and high-speed data services. The tree structure elegantly provides this flexibility: a high-rate call uses a low SF code (occupying a large branch of the tree), while multiple low-rate calls can use higher SF codes from the disjoint branches of the same tree. It solved the limitation of fixed-rate spreading, enabling efficient and dynamic resource allocation that is central to 3G services. The motivation was to maximize spectral efficiency and capacity in a mixed-service environment.

Key Features

  • Generates orthogonal channelization codes via a recursive tree structure
  • Supports variable spreading factors (SF), enabling variable user data rates
  • Maintains orthogonality between codes of different SFs when properly allocated
  • Fundamental for downlink and uplink channel separation in WCDMA
  • Allows dynamic code assignment and management by the RNC
  • Code blocking feature: assigning a code blocks all its descendant and ancestor codes to preserve orthogonality

Evolution Across Releases

R99 Initial

Introduced as the core channelization coding scheme for the new WCDMA-based UMTS air interface. Defined the complete OVSF code tree structure, generation algorithm, and its application for physical channel separation in both FDD and TDD modes, establishing the foundation for 3G data services.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905
TS 25.212 3GPP TS 25.212
TS 25.213 3GPP TS 25.213
TS 25.221 3GPP TS 25.221
TS 25.222 3GPP TS 25.222
TS 25.223 3GPP TS 25.223
TS 25.823 3GPP TS 25.823
TS 37.105 3GPP TR 37.105