Classical Spectrum Allocation Algorithm Based on Proportional Fairness

Resource Overview

Classical Spectrum Allocation Algorithm Using Proportional Fairness Approach with Water-Filling Implementation

Detailed Documentation

The proportional fairness algorithm in spectrum allocation represents a classic strategy for wireless communication resource management, with its core objective being to balance fairness among users and system throughput. Unlike algorithms that simply pursue maximum throughput, the proportional fairness algorithm dynamically adjusts resource allocation weights among users to ensure each user receives fair service opportunities commensurate with their channel conditions.

A classical implementation method combines the Water-Filling algorithm. This algorithm analogizes spectrum resources to containers, where users' channel quality determines the height of the container bottom - better channel quality corresponds to a "higher bottom." The water-filling process symbolizes power or bandwidth allocation: similar to pouring water into containers, resources preferentially fill "low-lying areas" with better channel conditions until reaching the optimal filling level under fairness constraints. This dynamic allocation both utilizes the efficiency advantages of high-quality channels while preventing users with weak channels from being completely ignored through proportional fairness factors.

Optimization requires consideration of two types of constraints: first, the hard limit of total power or bandwidth, and second, quantifying fairness through mathematical tools like logarithmic utility functions. In practical systems, the algorithm is typically implemented iteratively: first calculating initial allocation based on instantaneous channel states, then dynamically adjusting weights according to users' historical average rates, finally converging to an allocation scheme that balances instantaneous efficiency with long-term fairness. This approach remains widely used in 4G/5G schedulers, with subsequent evolution directions including combining machine learning to predict channel states or user demands.

Code Implementation Insight: A typical proportional fairness scheduler can be implemented using a priority metric calculation where each user's scheduling priority is determined by R_i(t)/T_i(t), where R_i(t) is the instantaneous achievable rate and T_i(t) is the exponentially weighted average throughput. The Water-Filling algorithm can be programmed by solving the convex optimization problem max Σ log(r_i) subject to total power constraint, often implemented using Lagrangian multipliers and iterative power allocation across subcarriers.