Main Content


Configure uplink power control parameters

Since R2023b

    Download Required: To use configureULPowerControl, first download the Communications Toolbox Wireless Network Simulation Library add-on.



    configureULPowerControl(gnb,Name=Value) configures uplink (UL) power control parameters at a 5G base station (gNB) node, gnb. This object function sets the power control configuration parameters using one or more optional name-value arguments. For example, PoPUSCH=8 sets the nominal transmit power of a user equipment (UE) node per resource block to 8 dBm. To calculate the UL transmit power, the UE nodes connected to a gNB node use the same power control parameter values specified by the name-value arguments.


    To disable the uplink power control mechanism, set Alpha to 1 and PoPUSCH to 24 dBm.


    collapse all

    Initialize wireless network simulator.

    networkSimulator = wirelessNetworkSimulator.init;

    Create a gNB node with these specifications.

    • Duplex mode — Time division duplex

    • Channel bandwidth — 20 MHz

    • Subcarrier spacing — 30 KHz

    gnb = nrGNB(ChannelBandwidth=20e6,DuplexMode="TDD",SubcarrierSpacing=30e3);

    Create a UE node with a transmit power of 20 dBm.

    ue = nrUE(TransmitPower=20);

    Configure these uplink power control parameters at the gNB node.

    • Nominal transmit power of UE per resource block — 7 dBm

    • Fractional power control multiplier— 2


    Add a random way point mobility model to the UE node.


    Establish a connection between the UE and gNB nodes.


    Create a voice over Internet protocol (VoIP) application traffic pattern object.

    traffic = networkTrafficVoIP(GeneratePacket=true);

    Add the data traffic source to the gNB node. Set the destination node as the UE node.


    Add the gNB node to the wireless network simulator.


    Add the UE node to the wireless network simulator.


    Specify the simulation time, in seconds.

    simulationTime = 0.3;

    Run the simulation for the specified simulation time.


    Obtain the statistics for the gNB and UE nodes.

    gnbStats = statistics(gnb);
    ueStats = statistics(ue);

    Input Arguments

    collapse all

    gNB node, specified as an nrGNB object.

    Name-Value Arguments

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Example: configureULPowerControl(gnb,PoPUSCH=8) sets the nominal transmit power of a UE node per resource block to 8 dBm.

    Nominal transmit power of a UE per resource block, specified as a numeric scalar in the range [-202, 24]. Units are in dBm. Increasing the PoPUSCH value causes the uplink transmit power to approach the maximum attainable value.

    Data Types: double

    Fractional power control multiplier, specified as one of these options. Units are in dBm.

    • 0

    • 0.4

    • 0.5

    • 0.6

    • 0.7

    • 0.8

    • 0.9

    • 1

    Increasing the Alpha value causes the uplink transmit power to approach the maximum attainable value.

    Data Types: double

    More About

    collapse all

    UL Power Control Equation

    Section 7.1 of TS 38.213 specifies the UL power control equation that governs uplink power levels [1] and states the equation as


    In this equation,

    • Pcmax— Configured UE transmit power

    • POPUSCH— Nominal UE transmit power

    • μ— Subcarrier spacing

    • MRB— Allocated resource blocks

    • α— Fractional power control multiplier

    • PL— Path loss measurements

    • ΔSINR— Difference between the target signal-to-interference-plus-noise ratio (SINR) and the actual SINR measured at the base station


    [1] 3GPP TS 38.213. “NR; Physical layer procedures for control.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

    Version History

    Introduced in R2023b