Wireless Protocols

Code Domain Noma

/kohd doh-mayn noh-muh/
Code-domain NOMA uses sparse or non-orthogonal spreading codes to serve more users than available time-frequency resources (overloading). SCMA (Huawei): sparse multi-dimensional codebooks, 150 to 300% overloading, MPA decoding. MUSA (ZTE): short complex spreading sequences. NOCA (Nokia): low cross-correlation codes. Targets grant-free massive IoT (mMTC) in 5G-Advanced and 6G, enabling millions of devices without scheduling overhead.
Category: Wireless Protocols
Overloading: 150 to 300%
Target: mMTC / 6G

Understanding Code-Domain NOMA

Conventional orthogonal multiple access (OFDMA in LTE/5G) assigns each user exclusive time-frequency resources, ensuring no mutual interference but limiting the number of simultaneously served users to the number of available resource elements. Code-domain NOMA breaks this constraint: by assigning each user a unique spreading code or codebook and allowing multiple users to share the same resources, the system can serve more users than available resource slots. The price is inter-user interference, which must be resolved by sophisticated multi-user detection at the receiver.

The key insight enabling code-domain NOMA is sparsity. In SCMA, each user's codeword has only 2 non-zero elements out of 4 resource elements, meaning each user interferes with only a subset of other users on each resource. This sparse structure creates a factor graph (bipartite graph connecting users to resources) where message passing algorithms can iteratively resolve the multi-user interference with near-optimal performance. The sparsity keeps the factor graph tree-like locally, ensuring that the message passing algorithm converges rapidly (5 to 10 iterations). With proper codebook design (maximizing minimum distance between codewords), SCMA can achieve 300% overloading (12 users on 4 resources) with only 1 to 2 dB loss compared to orthogonal access at the same total throughput.

Code-Domain NOMA Parameters

Overloading Factor:
λ = J/N × 100%   (J users, N resource elements)

SCMA Factor Graph:
dv = non-zero elements per codeword   ;   df = users per resource

MPA Complexity:
O(J × Mdf × I) per code block

Where M = codebook size (e.g., 4-point), I = iterations (5 to 10). SCMA example: N=4, J=6, dv=2, df=3. λ=150%. Complexity: O(6 × 4³ × 10) = 3,840 operations per code block. At J=12, df=4: 30,720 operations.

Code-Domain NOMA Schemes

SchemeProponentSpreadingOverloadingDetection
SCMAHuaweiSparse codebooks150 to 300%MPA (iterative)
MUSAZTEComplex sequences150 to 300%SIC
NOCANokiaLow cross-corr codes100 to 200%MMSE-SIC
IDMAAcademicUser-specific interleavers200 to 400%Turbo MUD
PDMACATT/DatangPattern diversity150 to 300%SIC / MPA
Common Questions

Frequently Asked Questions

How does SCMA work?

Maps data bits directly to sparse multi-dimensional codewords (dv=2 non-zero of N=4). Each resource shared by df=3 to 4 users. 6 to 12 users on 4 resources (150 to 300%). MPA on factor graph: resource nodes ↔ user nodes, 5 to 10 iterations. Complexity O(J×Mdf) per iteration, manageable for small df.

How does it differ from power-domain NOMA?

Power-domain: separates by power level (SIC), needs dissimilar channel conditions. Code-domain: separates by spreading codes, works with similar power levels. Code-domain better for mMTC (many similar devices). Supports grant-free access (pre-assigned codebooks, no scheduling). Power-domain needs scheduling for power allocation. Hybrid approaches studied for 6G.

What are the practical challenges?

MPA complexity scales exponentially with df (mitigated by partial marginalization, 5 to 10x reduction, 0.5 to 1 dB loss). Channel estimation harder with non-orthogonal pilots (compressed sensing helps). Performance advantage over OFDMA limited for high-rate traffic; best for small packets (100 to 1,000 bits) in mMTC scenario.

5G & 6G Solutions

Request a Quote

Need NOMA-capable baseband IPs, massive connectivity test platforms, or IoT access solutions? Contact our team.

Get in Touch