# 8.6 CDMA Downlink - simulation algorithm

# 8.6.1 Simulation Methodology

The main goal of the downlink power control in SEAMCAT is to calculate the total <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">BS</span></span></span> output power and the success rate (% of calls with no link quality degradation) for a given snapshot of the system. <span data-highlighted="true" data-vc="highlighted-text">BS</span> output power is a key parameter in the scenarios where <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">CDMA</span></span></span> is the interferer. Success rate, on the other hand, is crucial in <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> victim scenarios. One possible way to analyze the impact of other system interference on <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> is to compare the success rates in the presence and absence of external interference.

A snapshot of the mutually existing systems is modeled at each event generation in SEAMCAT. Hence, at each event generation the power control algorithm should also be run for the <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> cell, whether it is the victim or the interferer. This is illustrated in Figure 194. The setup block is inherited from the higher layers of SEAMCAT and consists of initializing the system parameters. The next step involves the generation of traffic for power control, calculation of appropriate path losses within the <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> cell layout and determination of soft handover states. Power control is then performed by utilizing the link level data via an iterative process. Finally, necessary outputs are generated and fed into the interference calculation modules in SEAMCAT.

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/YP7nS30VpVbHEcRd-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/YP7nS30VpVbHEcRd-image.png)

**Figure 194: DL Power Control Simulation Methodology – Overview**

For simplicity, the <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> downlink power control methodology is described for omni-cells. However, extension to multi-sector cells is straightforward. In a multi-sector configuration, each sector should be treated in the same way a cell is treated in the omni configuration.

# 8.6.2 Traffic Generation

While the <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">BS</span></span></span> output power and the outage ratio is likely to be calculated for a single <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">CDMA</span></span></span> cell, accurate modelling of power control requires the consideration of inner-system interference generated by the surrounding tiers of <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> cells. The significance of other cell interference in <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> requires that at least two tiers surrounding the cell of interest be considered. However, <span data-highlighted="true" data-vc="highlighted-text">BS</span> power and outage statistics will only be collected from the center cell, which has the most accurate interference background (two surrounding tiers). Cells surrounding the center cell will not be visible to the higher levels of SEAMCAT and will only be used to generate the inner-system other-cell interference background for the center cell (Figure 195).

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/AVpV5tB0J1kqIROC-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/AVpV5tB0J1kqIROC-image.png)

**Figure 195: Cell layout for power control**

![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/Zb1xgj1tNCeN7JPB-image.png)

The power control simulation time increases with the number of cells for which power control algorithm is run. One way to reduce the simulation time is to simulate only the center cell and the first tier around it with actual power control algorithms and use artificial interference generators for the second tier as shown in Figure 195. More specifically, the <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the center cell and the first tier go through the power control algorithms and calculate the precise power they need to transmit. Whereas, the <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the second tier are assigned an output power level to generate interference into the center cell and the first tier. If the output power level set for the second tier is reasonable, this approach will speed up the simulation considerably without sacrificing much from accuracy. Possible methods to determine the appropriate artificial interference level will be addressed later in the paper. Nevertheless, if more accurate results are desired, the second tier can also be simulated using actual power control. In that case, a third tier with artificial interference generators would further increase accuracy by presenting the second tier with a more realistic interference background. However, given the considerations on complexity, the layout shown in Figure 195 presents the most appropriate balance between simulation speed and accuracy.

Since higher levels in SEAMCAT consider only a single <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> cell, the cell layout shown in Figure 195 may need to be generated separately in the power control module. It is expected that the <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">UE</span></span></span> placement be done consistently with SEAMCAT’s existing algorithms. However, once the UEs are placed, their mobility assignment should also be done. Actual mobility of the UEs cannot be simulated easily in a static simulation, but the effects of mobility on the channel power can be modeled in a limited sense. While the UEs will be treated at fixed locations within each snapshot, each will be assigned a speed to determine their channel conditions (fast fading), which will be used in the determination of their channel power requirements. This allows the flexibility to simulate various system configurations (fixed, highway, pedestrian, etc.).

# 8.6.3 Soft Handover

A user may simultaneously be connected to multiple <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">BS</span></span></span>’s in <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">CDMA</span></span></span> based systems (soft handover). Since soft handover affects the amount of power transmitted by each <span data-highlighted="true" data-vc="highlighted-text">BS</span> to a certain user, it is necessary to determine whether the <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">UE</span></span></span> is served by a single <span data-highlighted="true" data-vc="highlighted-text">BS</span> or multiple <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s. The actual determination of the soft handover state of a user and the corresponding channel power requirements may get complicated. Hence, a simplified soft handover algorithm is presented next, which captures the essence of soft handover effects while avoiding implementation of complex algorithms.

Base stations that are connected to a user are included in the “active set” of that user. A base station is initially selected to be in the “active set” based on the strength of its pilot signal versus the interference background. Each base station broadcasts a certain fixed percentage of its maximum power on the pilot channel. The interference background consists of the non-orthogonal energy received on the other channels of the base stations within the active set and the total broadcast power of the base stations that are not in the active set. The <span data-highlighted="true" data-vc="highlighted-text">BS</span> selection criterion, “pilot Ec/Io” is then defined as

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/0aom4TPKs0y7JtbV-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/0aom4TPKs0y7JtbV-image.png) *(Eq. 34)*

with the following definitions:

- *Ec* is the chip energy received from ith <span data-highlighted="true" data-vc="highlighted-text">BS</span>;
- *Io* is the spectral density of total received interference;
- *pilot\_frac* is the fraction of <span data-highlighted="true" data-vc="highlighted-text">BS</span> power allocated to pilot;
- *P*<sub data-renderer-mark="true">max,</sub>*I* is the maximum receivable power from ith <span data-highlighted="true" data-vc="highlighted-text">BS</span> (max <span data-highlighted="true" data-vc="highlighted-text">BS</span> transmit power\*path loss);
- *W* is the system bandwidth;
- *Pj* is the total received power from jth <span data-highlighted="true" data-vc="highlighted-text">BS</span>;
- *F* is the mobile station noise figure;
- *N0* is the thermal noise power density;
- *I<sub data-renderer-mark="true">ext</sub>* is the external interference (out of system).

Based on this selection criterion, the following simplified soft handover algorithm can be employed to assign soft handover states to each user:

For each user:

1. Add the <span data-highlighted="true" data-vc="highlighted-text">BS</span> with the strongest corresponding Ec/Io to the active set;
2. Add the <span data-highlighted="true" data-vc="highlighted-text">BS</span> with the second strongest corresponding Ec/Io to the active set if its Ec/Io is within 4 dB of the strongest Ec/Io.

Then the soft handover state of a user becomes the number of <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in its active set, which is either one or two. Note that in actual systems, the active set of a user may have more than 2 <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s. However, in order to develop a unified methodology that can simulate various implementations of <span data-highlighted="true" data-vc="highlighted-text">CDMA</span> based systems and to avoid overwhelming complexity, this simplified approach is suggested. Several standards (including <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">UMTS</span></span></span>) present similar methodologies for simulations.

# 8.6.4 Power Control

As far as SEAMCAT is concerned, the actual <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">CDMA</span></span></span> power control algorithm looks merely like a black box that maps link quality to channel power. However, the mapping is not simply one-to-one. Depending on the conditions of the mobile user, the same link quality can map to different channel power requirements. A key parameter that determines the condition of a user is called the “geometry”. The higher the geometry, the more favorable the <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">UE</span></span></span>’s condition is. The geometry is defined as:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/cIY8CPNbQy7cqIan-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/cIY8CPNbQy7cqIan-image.png) *(Eq. 35)*

with the following definitions:

- P<sub data-renderer-mark="true">active</sub> is the total power received from <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">BS</span></span></span>’s in the active set;
- *No* is the thermal noise;
- *P*<sub data-renderer-mark="true">other</sub> is the total power received from <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s not in the active set;
- *I*<sub data-renderer-mark="true">ext</sub> is the external Interference (out of system).

The fractional power levels found in the link level data are defined for each user (channel) as:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/Wi23GOne9Y4buPz1-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/Wi23GOne9Y4buPz1-image.png) *(Eq. 36)*

with the following definitions:

- *P<sub data-renderer-mark="true">traff\_active</sub>* is the total received traffic channel power from <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active set
- *P<sub data-renderer-mark="true">total\_active</sub>* is the total power received from <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active set

P<sub data-renderer-mark="true">total\_active</sub> is the sum of the total received power from the <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active set including their pilot, overhead and all traffic channels. Whereas P<sub data-renderer-mark="true">traff\_active</sub> includes only the traffic channel power that is received from the <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active for the particular user. In other words, a user’s Ec/Ior shows the fraction of the total received power that is used for voice communication with that user. Based on this definition, the amount of traffic channel power received from a <span data-highlighted="true" data-vc="highlighted-text">BS</span> for a particular user can be derived from the Ec/Ior requirements reported in the link level data.

If user has only 1 <span data-highlighted="true" data-vc="highlighted-text">BS</span> in the active set (simplex), the power received from the <span data-highlighted="true" data-vc="highlighted-text">BS</span> is:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/XywpaHBJvG43gYH6-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/XywpaHBJvG43gYH6-image.png) *(Eq. 37)*

If user has 2 <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active set (2-way soft handover), power received from one of the <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s is then:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/duZVAGYMskbXPONw-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/duZVAGYMskbXPONw-image.png) *(Eq. 38)*

Note that symmetry between the two soft handover legs (links with <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active set) is assumed. Therefore, when a user is connected to two <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s, it receives equal power from each link. The determination of the traffic channel power levels for each user cannot be done in a single step. The inherent assumption in equations 37 and 38 is that Ptotal\_active is known. However, Ptotal\_active itself is the sum of the pilot, overhead and all traffic channel power levels received from the <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s in the active set. Therefore, an iterative process is required to determine the individual traffic channel received power levels.

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/mspuin7Xdpys7IdM-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/mspuin7Xdpys7IdM-image.png)

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-11yt8uf" data-layout="align-start" data-media-vc-wrapper="true" data-node-type="mediaSingle" data-renderer-start-pos="2784" data-vc="media-single" data-width="506" data-width-type="pixel" id="bkmrk-figure-196%3A-power-co"><div class="css-1a7buj8"><div data-alt="" data-collection="contentId-493226" data-context-id="493226" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="678" data-id="f8f25a83-512d-46a4-b367-47bf8d2b80a6" data-node-type="media" data-renderer-start-pos="2785" data-type="file" data-width="859"><div class="_2rko18qm _vchhusvi _kqswh2mm _ect4ttxp _p12f1osq _c71l1osq _1bsb1qmm _4t3ine4n _1hlmd0i9 _1rquusvi _eg541i5c _mts3kb7n _1ntskb7n _yfmhtlke _5sb1v00u new-file-experience-wrapper" data-media-vc-wrapper="true" data-testid="media-card-view" id="bkmrk-figure-196%3A-power-co-1"><div class="_1reo15vq _18m915vq _2rko18qm _1e0c1txw _kqswh2mm _p12f1osq _1bsb1osq _4t3i1osq _c71l1osq media-file-card-view" data-cursor="pointer" data-test-media-name="96.png" data-test-progress="1" data-test-source="remote" data-test-status="complete" data-testid="media-file-card-view"><div class="_kqswstnw _1bsb1osq _4t3i1osq _1e0c1txw _2lx21bp4 _1bah1h6o _4cvr1h6o align-center" data-testid="ImageRendererWrapper">![](blob:https://ecowiki.atlassian.net/4bd933e9-7155-4cc1-96f8-8df60c5108be#media-blob-url=true&id=f8f25a83-512d-46a4-b367-47bf8d2b80a6&collection=contentId-493226&contextId=493226&width=859&height=678&alt=&clientId=113268fe-fe5b-4bc3-8ff3-07965dbf1d18)**Figure 196: Power Control Loop**</div></div></div></div></div></div>Figure 196 shows how the power control loop operates. The initial step is to initialize each <span data-highlighted="true" data-vc="highlighted-text">BS</span> in the cell layout (figure 1) by assigning total broadcast power levels. A figure around 70% of maximum <span data-highlighted="true" data-vc="highlighted-text">BS</span> power is appropriate. Note that for the simulated <span data-highlighted="true" data-vc="highlighted-text">BS</span>’s, the total <span data-highlighted="true" data-vc="highlighted-text">BS</span> power will be updated at each iteration by the power control loop. After enough iterations, the power levels will converge to the correct values.

Once the initialization is complete, geometry and soft handover state for each user can be calculated based on the initial values of the <span data-highlighted="true" data-vc="highlighted-text">BS</span> broadcast levels. Then the Ec/Ior requirement for each active user can be obtained from the link level data using its mobile speed assignment, calculated geometry and soft handover state. Equations 37 and 38 can then be used to get the received traffic channel power levels for each user. Path loss information can then be used to determine the corresponding transmit channel power levels. However, the calculated transmit traffic channel power levels should be checked against the maximum allowable traffic channel power and transmit/receive levels should be adjusted if necessary. As a result of such an adjustment, a user may not meet its Ec/Ior requirement. Based on a “call drop threshold”, such a user may be removed from the system if it meets the following criterion:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/0hgGMg3DpvxUj7YB-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/0hgGMg3DpvxUj7YB-image.png) *(Eq. 39)*

The call drop threshold is set such that dropping a call is limited to extreme circumstances (thresholds less than 2dB are not recommended) and kept mostly as a safety measure to avoid a single user hogging the <span data-highlighted="true" data-vc="highlighted-text">BS</span> resources. In an actual system, calls are not dropped at the instant they fail to meet their link quality target. The system will tolerate quality degradation up to certain durations and at the same time avoid a single user to sacrifice the overall system performance by consuming all the <span data-highlighted="true" data-vc="highlighted-text">BS</span> resources (max. traff. chan. pow. setting). In fact, for systems that employ sufficient control of maximum traffic channel power, call drops may be avoided completely within the power control loop. Eventually, users not meeting their Ec/Ior target will be evaluated when the success rate of the system is calculated.

Once the transmit traffic channel levels are calculated, the broadcast power of each <span data-highlighted="true" data-vc="highlighted-text">BS</span> should accordingly be updated. If the total broadcast power of a <span data-highlighted="true" data-vc="highlighted-text">BS</span> turns out to be greater than its maximum allowable level, all traffic channels served by that <span data-highlighted="true" data-vc="highlighted-text">BS</span> should be scaled down so that the maximum <span data-highlighted="true" data-vc="highlighted-text">BS</span> power constraint is met. The scaling factor that should be applied to the traffic channel power levels can easily be calculated as:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/bZbyoKC5yBoxQOF8-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/bZbyoKC5yBoxQOF8-image.png) (Eq. 40)

where:

- *P<sub data-renderer-mark="true">max</sub>* is the maximum allowable <span data-highlighted="true" data-vc="highlighted-text">BS</span> power
- *P<sub data-renderer-mark="true">calculated</sub>* is the actual calculated <span data-highlighted="true" data-vc="highlighted-text">BS</span> broadcast power (including pilot and overhead).

Scaling is only done if P<sub data-renderer-mark="true">calculated</sub> &gt; P<sub data-renderer-mark="true">max</sub> and it is done only on the traffic channels; pilot and overhead power levels remain at a constant percentage of the maximum allowable <span data-highlighted="true" data-vc="highlighted-text">BS</span> power. For channels that go through the scaling, achieved E<sub data-renderer-mark="true">c</sub>/I<sub data-renderer-mark="true">or</sub> levels may not match the required E<sub data-renderer-mark="true">c</sub>/I<sub data-renderer-mark="true">or</sub> levels. Therefore, call drop criterion (if used) shown in equation 6 should also be checked after the scaling. The process is outlined in Figure 199.

This process describes a single iteration of the power control loop. After all the traffic channel power levels are determined and the <span data-highlighted="true" data-vc="highlighted-text">BS</span> levels are updated, the process should be repeated (with the new, more accurate <span data-highlighted="true" data-vc="highlighted-text">BS</span> broadcast levels). Convergence of the traffic channel power levels should be checked at the end of each iteration. The loop can be terminated once the traffic channel power of every simulated user in the network converges to the desired precision.

Signaling and other errors in power control are considered in the link level simulations. System level simulations do not consider additional errors and assume that each user is served with the required power level that is determined from link level data, provided that the <span data-highlighted="true" data-vc="highlighted-text">BS</span> has enough power to do so and the maximum traffic channel limit is not exceeded.

# 8.6.5 Success rate

The power control loop terminates when every <span data-highlighted="true" data-vc="highlighted-text"><span class="_kqswh2mm"><span class="_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke" data-testid="definition-highlighter">BS</span></span></span> broadcast power converges and traffic channel power level for every user is calculated. Therefore, both the <span data-highlighted="true" data-vc="highlighted-text">BS</span> output power and the success rate for the cell of interest (center cell in Figure 198) can be calculated. <span data-highlighted="true" data-vc="highlighted-text">BS</span> output power is the sum of the power in pilot, overhead and all traffic channels. Success rate is the percentage of calls that do not suffer quality degradation. The following process can be used to calculate both output metrics:

i. Power control loop is terminated (traffic power converges for every user)

ii. Final <span data-highlighted="true" data-vc="highlighted-text">BS</span> transmit power levels are calculated (sum of all traffic, pilot and overhead)

iii. Total <span data-highlighted="true" data-vc="highlighted-text">BS</span> broadcast power for the cell of interest is determined

(For each active user in the cell of interest)

iv. Final geometry is calculated based on <span data-highlighted="true" data-vc="highlighted-text">BS</span> power levels calculated in ii.

v. Traffic E<sub data-renderer-mark="true">c</sub>/I<sub data-renderer-mark="true">or</sub> target is determined based on geometries calculated in iv.

vi. Achieved E<sub data-renderer-mark="true">c</sub>/I<sub data-renderer-mark="true">or</sub> is calculated based on <span data-highlighted="true" data-vc="highlighted-text">BS</span> power levels calculated in ii.

vii. Success criterion is checked

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/TYeSD4ZYQyMIZzD7-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/TYeSD4ZYQyMIZzD7-image.png) *(Eq. 41)*

viii. Success rate is determined for the cell of interest

Success Threshold is usually a small figure such as 0.5dB. Users who miss their E<sub data-renderer-mark="true">c</sub>/I<sub data-renderer-mark="true">or</sub> targets by more than the threshold suffer link quality degradation. Note that if call drops occurred within the power control loop, they should also be considered when success rate is determined:

[![image.png](https://wiki.cept.org/uploads/images/gallery/2026-04/scaled-1680-/zmFbK0YnsH852Flp-image.png)](https://wiki.cept.org/uploads/images/gallery/2026-04/zmFbK0YnsH852Flp-image.png)  *(Eq. 42)*