PhyBase

Package: simu5g.stack.phy

PhyBase

simple module

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.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the 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