PhyUe

Package: simu5g.stack.phy

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.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Known subclasses

Name Type Description
PhyUeD2D simple module

Extends the PHY functionalities at the User Equipment side to support device-to-device (D2D) communications. Specifically, it customizes the PhyUe functionalities to support the transmission and reception of frames to another UE directly, without going through the serving eNodeB. It also supports one-to-many D2D transmission to UEs belonging to a multicast group. It is assumed that one-to-one D2D communication is only possible when both endpoints are served by the same eNodeB. When a handover is triggered, this module is responsible for initiating a mode switch from direct (D2D) mode to infrastructure mode.

Extends

Name Type Description
PhyBase simple module

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

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

handoverControllerModule string "^.rrc.handoverController"

Properties

Name Value Description
display i=block/wrxtx
class PhyUe

Gates

Name Direction Size Description
upperGateIn input

From upper layer

upperGateOut output

To upper layer

radioIn input

Gate to receive message via sendDirect

Signals

Name Type Unit Description
distance
averageCqiDl
averageCqiUl

Statistics

Name Title Source Record Unit Interpolation Mode Description
distance distance between UE and serving base station distance mean, vector meters
averageCqiDl Average Cqi reported in DL averageCqiDl mean, count, vector cqi
averageCqiUl Average Cqi reported in UL averageCqiUl mean, count, vector cqi

Source code

//
// 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.
//
simple PhyUe extends PhyBase
{
    parameters:
        @class("PhyUe");

        string handoverControllerModule = default("^.rrc.handoverController");

        @signal[distance];
        @statistic[distance](title="distance between UE and serving base station"; unit="meters"; source="distance"; record=mean,vector);

        //# CQI statistics
        @signal[averageCqiDl];
        @statistic[averageCqiDl](title="Average Cqi reported in DL"; unit="cqi"; source="averageCqiDl"; record=mean,count,vector);
        @signal[averageCqiUl];
        @statistic[averageCqiUl](title="Average Cqi reported in UL"; unit="cqi"; source="averageCqiUl"; record=mean,count,vector);
}

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