OCC

Orthogonal Covering Code

Physical Layer
Introduced in Rel-15
A sequence applied to modulate or spread signals from multiple users or antenna ports in the same time-frequency resources to make them separable. It is crucial for uplink multi-user MIMO and control channel transmission in 5G NR, enabling efficient multiplexing and interference suppression.

Description

An Orthogonal Covering Code (OCC) is a mathematical sequence, often based on Walsh-Hadamard codes or Discrete Fourier Transform (DFT) vectors, used in wireless communication systems to orthogonalize signals transmitted over the same physical resources. In 5G New Radio (NR), OCCs are primarily applied in the uplink direction for two key purposes: demodulation reference signals (DM-RS) for multi-user MIMO (MU-MIMO) and for spreading control information on the Physical Uplink Control Channel (PUCCH). For DM-RS, when multiple user equipments (UEs) are scheduled on the same time-frequency resource blocks in an MU-MIMO scheme, their reference signals must be distinguishable at the gNodeB receiver. This is achieved by applying different, orthogonal OCCs across adjacent symbols or subcarriers to the DM-RS sequences of the different UEs. The orthogonality property ensures that the gNodeB can separate and estimate the channel for each UE independently, which is fundamental for coherent detection of their data. For PUCCH formats that carry uplink control information (UCI) like HARQ-ACK and CSI, OCCs are applied across symbols within a slot to provide spreading gain and enable multiplexing of multiple UEs on the same resource block. The specific OCC length and application pattern are defined by the PUCCH format and its configured duration. The gNodeB assigns the OCC index to the UE via downlink control information (DCI), managing the orthogonality between simultaneously transmitting users. The generation and application of OCCs are handled in the baseband processing chain, involving layer mapping, precoding, and resource element mapping stages as per 3GPP TS 38.211. Their correct application is critical for maintaining low inter-user interference, which directly impacts uplink spectral efficiency and system capacity in dense deployment scenarios.

Purpose & Motivation

The purpose of the Orthogonal Covering Code is to enable non-interfering multiplexing of multiple data or control streams within identical time-frequency resources. This solves the fundamental problem of resource scarcity in the radio interface by allowing more users or data layers to be served simultaneously, thereby increasing spectral efficiency. In the context of 5G NR's aggressive capacity and connectivity goals, techniques like MU-MIMO are essential. However, MU-MIMO requires accurate channel estimation for each user, which would be impossible if their reference signals interfered with each other. OCCs applied to DM-RS provide this necessary separation. For control channels, efficiently transmitting small payloads from many users (e.g., for massive IoT) requires a method to share resources without complex scheduling overhead. OCC-based spreading on PUCCH allows this low-overhead multiplexing. The motivation for its introduction and refinement in Rel-15 and beyond was to support the advanced antenna systems and diverse use cases of 5G. Previous systems like LTE used similar concepts (e.g., orthogonal codes for reference signals), but 5G NR's more flexible numerology and broader range of deployment scenarios necessitated a redefined and more adaptable OCC framework. It addresses the limitations of simple time/frequency division multiplexing by providing a code-domain separation layer that is more robust to certain types of fading and allows for denser user packing.

Key Features

  • Enables separation of DM-RS for multiple UEs in uplink MU-MIMO scenarios.
  • Used for spreading and multiplexing UCI from multiple UEs on PUCCH resources.
  • Based on orthogonal sequences (e.g., Walsh codes) applied across time-domain symbols or frequency subcarriers.
  • Configurable length and application pattern tied to specific PUCCH formats and DM-RS configurations.
  • Dynamically assigned to UEs via DCI scheduling grants.
  • Critical for interference suppression and enhancing uplink capacity and spectral efficiency.

Evolution Across Releases

Rel-15 Initial

Introduced as a foundational component for 5G NR uplink, defining OCC application for DM-RS in support of uplink MU-MIMO and for several PUCCH formats (e.g., Format 0, 1, 3, 4). Specified the code sequences, lengths, and mapping to physical resources in TS 38.211, establishing the framework for orthogonal multiplexing in the NR physical layer.

Defining Specifications

SpecificationTitle
TS 38.104 3GPP TR 38.104
TS 38.141 3GPP TR 38.141
TS 38.176 3GPP TR 38.176
TS 38.808 3GPP TR 38.808
TS 38.812 3GPP TR 38.812