Code Domain Noma
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
λ = 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
| Scheme | Proponent | Spreading | Overloading | Detection |
|---|---|---|---|---|
| SCMA | Huawei | Sparse codebooks | 150 to 300% | MPA (iterative) |
| MUSA | ZTE | Complex sequences | 150 to 300% | SIC |
| NOCA | Nokia | Low cross-corr codes | 100 to 200% | MMSE-SIC |
| IDMA | Academic | User-specific interleavers | 200 to 400% | Turbo MUD |
| PDMA | CATT/Datang | Pattern diversity | 150 to 300% | SIC / MPA |
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.