PhyBase

Package: simu5g.stack.phy

simple module PhyBase

Base module for the Physical (PHY) layer of the LTE/NR protocol stack.

Provides the common functionalities for PHY operations at both the eNodeB and User Equipment (UE) sides, such as the initialization of ChannelModel module instances, one for each Carrier Component (CC) supported by the node, and the transmission of frames over the radio. It provides parameters to configure the transmission power and direction of the node, as well as to enable or disable handover procedures.

simu5g.stack.phy.PhyBasePhyBasesimple

Inheritance diagram

Known subclasses

Name

Type

Description

PhyEnb

simple module

Extends the PhyBase module by providing the specific PHY functions on the eNodeB side. It is responsible for checking if a frame received on the air interface originates from a User Equipment (UE) connected to the eNB itself, and it provides the functions necessary to compute the Channel Status Information (CSI) for the UEs connected to it.

PhyUe

simple module

Extends the PhyBase module by providing specific PHY functions on the User Equipment (UE) side. It ensures that frames received on the air interface are sourced from the serving eNodeB (eNB) and provides functions to manage the handover procedure, including periodic measurement of channel conditions to determine when a handover should occur. If enabled, the selection of the serving eNB at initialization is done dynamically based on radio conditions.

Parameters

Name

Type

Default value

Description

isNr

bool

false

True for the NR leg (set by NrNicUe/NrNicEnb on their PHY submodule)

macNodeId

int

MacNodeId of the stack leg this PHY belongs to (set by the NIC)

ueTxPower

double

26dBm

eNodeBTxPower

double

46dBm

microTxPower

double

30dBm

txDirection

string

“OMNI”

txAngle

double

0deg

binderModule

string

“binder”

channelModelModule

string

“^.channelModel[0]”

Set to “^.nrChannelModel[0]” on an NR leg, see NrNicUe

Properties

Name

Value

Description

display

i=block/wrxtx

Gates

Name

Direction

Size

Description

upperGateIn

input

From upper layer

upperGateOut

output

To upper layer

radioIn

input

Gate to receive message via sendDirect

Source code

//
// Base module for the Physical (PHY) layer of the LTE/NR protocol stack.
//
// Provides the common functionalities for PHY operations at both the
// eNodeB and User Equipment (UE) sides, such as the initialization of ChannelModel
// module instances, one for each Carrier Component (CC) supported by the node, and
// the transmission of frames over the radio. It provides parameters to configure
// the transmission power and direction of the node, as well as to enable or disable
// handover procedures.
//
simple PhyBase like IPhy
{
    parameters:
        @display("i=block/wrxtx");
        bool isNr = default(false);   // True for the NR leg (set by NrNicUe/NrNicEnb on their PHY submodule)
        int macNodeId;                // MacNodeId of the stack leg this PHY belongs to (set by the NIC)
        double ueTxPower @unit(dBm) = default(26dBm);
        double eNodeBTxPower @unit(dBm) = default(46dBm);
        double microTxPower @unit(dBm) = default(30dBm);
        string txDirection @enum(ANISOTROPIC,OMNI) = default("OMNI");
        double txAngle @unit(deg) = default(0deg);

        string binderModule = default("binder");
        string channelModelModule = default("^.channelModel[0]"); // Set to "^.nrChannelModel[0]" on an NR leg, see ~NrNicUe

    gates:
        input upperGateIn;       // From upper layer
        output upperGateOut;    // To upper layer
        input radioIn;           // Gate to receive message via sendDirect
}

File: src/simu5g/stack/phy/PhyBase.ned