# User Association Performance Trade-Offs in Integrated RF/mmWave/THz Communications
## 5 Algorithm Description
Collect the network parameters: * User profiles, positions, and applications. * Base station positions and supported frequency bands. * Blockage probability models per band. 2. Categorize users based on profile: * High data, low latency, reliability, etc. Users are categorized into profiles like high-data, low-latency, etc., based on their usage preferences. This forms association priorities. 3. Calculate band metrics: * Raw SINR per user-BS per band. SINR is estimated for each user-BS link based on path loss models. * Blockage probability per user-BS per band. The blockage probability is obtained from the respective environment models (indoor, urban, and rural), accounting for materials, density etc. RF does not consider blockage, so its probability is zero for all BSs. The blockage model would contain information about the types of blockages in the environment (e.g., buildings), their positions and dimensions. Our function returns the blockage probability calculated based on the positions and the blockage model. We considered the urban environment in our model, so we used ray tracing. The urban model contains:  
* A 3D map of buildings in the urban environment. * Total number of rays to trace. It uses ray tracing to simulate signal propagation. The ray trace function traces the number of rays from the given position towards the surrounding buildingsrepresented in the urban map. It returns the number of rays \"hits\" that intersect with buildings. The blockage probability is then calculated as the number of hits over the number of rays. This estimates the probability based on the fraction of rays that encounter a building during propagation. - Normalize SINR across bands. SINR values are normalized to a 0-1 scale to make them comparable across frequency bands with different intrinsic path loss. * Calculate the blockage risk per band. Blockage risk is calculated as (1\(-\) Blockage Probability) to quantify the likelihood of an unblocked link. Higher values mean lower risk. * Calculate user scores per BS:  
The proposed dynamic user association algorithm periodically calculates the association scores for each user-BS pair. The scores are based on real-time measurements. User association scores are computed as the normalized SINR divided by (Blockage Risk + Category Weights). This balances the SINR, blockage effect, and user preferences differently for each band. - Score = NormSINR/(BlockageRisk + ProfileWeight). Let \(S_{u}k\) represent the association score between user u and BS k.  
The score is computed as a weighted sum of the SINR and blockage probability terms:  
\[S_{u}k=w_{1}*SINR+w_{2}*B_{mm} \tag{22}\]  
- Higher weight given to preferred band based on user profile. User categories (e.g., high data rate, low latency, and high reliability) inform the weighting of blockage risk vs. SINR in scores. Higher weights prioritize users sensitive to that metric. * The 'highData' category is assigned a weight of 0.8. * The 'lowLatency' category is assigned a weight of 0.6. * The'reliability' category (default/else case) is assigned a weight of 0.4. - Scores balance link metrics, blockage risk and user priorities. Figure 1 shows snapshot plots of the user scores for the three bands for several user profiles. This pattern suggests that there are distinct clusters or groups of users with different levels of performance or satisfaction. Some users are experiencing very poor performance or low satisfaction. These users may have low signal quality, high blockage probabilities, or other factors that lead to low user scores. Distribution does not significantly change between bands, which suggests load balancing among bands. * Rank the top BSs for each user by score. * Reassociate users in batches: Scores are periodically recomputed based on changing channel conditions. Users are reassigned to the best BSs in batches to gradually optimize the associations over time (based on time-varying scores). - Rank the top BSs for each user by score. - Select the BS from the top ranks weighted by scores. - Maintain the minimum users per band.