User Grouping and Power Allocation in Non-Orthogonal Multiple Access Systems
English | 简体中文
This repository provides a comprehensive MATLAB simulation suite for Power-Domain NOMA systems. It focuses on the critical trade-offs between User Grouping heuristics and Power Allocation strategies. By implementing 3GPP-standard path-loss models and Rayleigh fading, the framework evaluates system performance through sum throughput, Jain’s fairness index, and computational complexity.
Important
The simulation compares multiple grouping heuristics (Exhaustive, Channel-Difference, Gain-Ratio) against allocation strategies (FSPA, FTPA) to identify optimal configurations for 5G/6G scenarios.
The framework orchestrates multiple simulation modules to analyze NOMA behavior across various user densities.
graph TD
Param[System Parameters] --> Channel[3GPP Channel Model]
Channel --> Grouping{User Grouping}
Grouping --> Allocation{Power Allocation}
Allocation --> SIC[Successive Interference Cancellation]
SIC --> Metrics[Throughput & Fairness Metrics]
style Grouping fill:none,stroke:#000,stroke-width:2px
style Allocation fill:none,stroke:#000,stroke-width:2px
User Grouping Heuristics
The system implements six distinct grouping strategies:
- Exhaustive Search: Benchmarking optimal performance (high complexity).
- Channel-Difference: Pairs users based on maximum channel disparity.
- Gain-Ratio: Groups users according to neighboring channel-gain ratios.
- Distance-Based: Uses spatial coordinates relative to the Base Station.
- Hybrid Grouping: Combines channel quality and spatial distance.
- Random Grouping: Baseline for low-complexity comparisons.
Power Allocation Strategies
Evaluates the allocation of power within NOMA clusters:
- FSPA (Full Search Power Allocation): Iterative search for maximum group throughput.
- FPA (Fixed Power Allocation): Static decay-based assignment.
- FTPA (Fractional Transmit Power Allocation): Dynamic allocation based on instantaneous channel quality.
Installation & Usage
- MATLAB (R2021b or higher recommended)
- Support for class-based MATLAB programming
% Add code directory to path
cd('path/to/NOMA/code');
addpath(pwd);
% Run comprehensive grouping comparison
run('main_group_compare.m')- Sum Throughput: Calculated via SINR-based Shannon rate expressions.
- Jain’s Fairness Index: Ensures quality of service for edge users.
- Complexity Analysis: Runtime evaluation across varying grouping sizes.
© 2026 AsaqeLee. Advanced NOMA simulation for high-integrity research.