ConnectionControlUe

Package: simu5g.stack.rrc

simple module ConnectionControlUe

UE-side component that manages handover decisions and procedures. Receives RSSI measurements from the PHY layer based on broadcast frames, and triggers handover when a better serving cell is detected.

simu5g.stack.rrc.ConnectionControlUeConnectionControlUesimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Rrc

compound module

RRC (Radio Resource Control) layer for LTE/NR networks.

Known subclasses

Name

Type

Description

ConnectionControlUeD2D

simple module

D2D-capable variant of the ConnectionControlUe: the leg reports itself D2D-capable when it connects to a base station (if its PHY is), which is where the D2D side of its handovers is handled (ConnectionControlEnbD2D), and a torn-down sidelink bearer’s DRB identity returns to the network-wide sidelink pool (D2dBinder). Selected via ‘connectionControl.typename’ / ‘nrConnectionControl.typename’ by the D2D-capable UE NICs.

Parameters

Name

Type

Default value

Description

dynamicCellAssociation

bool

false

enableHandover

bool

false

Allows handovers in the UE

isNr

bool

Whether this instance is associated with the NR or the LTE stack

macNodeId

int

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

sessionType

string

The type of the session the UE requests at connection setup (see LteUe), set by the NIC

handoverLatency

double

50ms

Handover duration

handoverDetachmentTime

double

handoverLatency > 0s ? handoverLatency/2 : 25ms

handoverAttachmentTime

double

handoverLatency > 0s ? handoverLatency-handoverDetachmentTime : handoverDetachmentTime

minRssiDefault

bool

true

Whether minRssi is taken from PhyPisaData instead of the minRssi parameter

minRssi

double

-99.0dB

Configurable minimum threshold RSSI for attaching to an eNB (meaningful only if minRssiDefault==false)

hysteresisFactor

double

10

binderModule

string

“binder”

macModule

string

“^.^.mac”

bearerManagementModule

string

“^.bearerManagement”

handoverPacketHolderModule

string

“^.^.handoverPacketHolder”

feedbackGeneratorModule

string

“^.^.dlFbGen”

TODO or “^.^.nrDlFbGen”

otherConnectionControlModule

string

“”

hasCollector

bool

false

True when node has a collector module (ueCollector/nrUeCollector) for this PHY module

Properties

Name

Value

Description

class

ConnectionControlUe

display

i=block/control

Signals

Name

Type

Unit

Description

servingCell

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

servingCell

ID of the serving cell for the UE

servingCell

vector

Source code

//
// UE-side component that manages handover decisions and procedures.
// Receives RSSI measurements from the PHY layer based on broadcast frames,
// and triggers handover when a better serving cell is detected.
//
simple ConnectionControlUe like IConnectionControl
{
    parameters:
        @display("i=block/control");
        @class(ConnectionControlUe);

        bool dynamicCellAssociation = default(false);

        // Allows handovers in the UE
        bool enableHandover = default(false);

        // Whether this instance is associated with the NR or the LTE stack
        bool isNr;

        // MacNodeId of the stack leg this controller belongs to (set by the NIC)
        int macNodeId;

        string sessionType;  // The type of the session the UE requests at connection setup (see ~LteUe), set by the NIC

        // Handover duration
        double handoverLatency @unit(s) = default(50ms);
        double handoverDetachmentTime @unit(s) = default(handoverLatency > 0s ? handoverLatency/2 : 25ms);
        double handoverAttachmentTime @unit(s) = default(handoverLatency > 0s ? handoverLatency-handoverDetachmentTime : handoverDetachmentTime);

        // Whether minRssi is taken from PhyPisaData instead of the minRssi parameter
        bool minRssiDefault = default(true);

        // Configurable minimum threshold RSSI for attaching to an eNB (meaningful only if minRssiDefault==false)
        double minRssi @unit("dB") = default(-99.0dB);

        double hysteresisFactor = default(10);

        string binderModule = default("binder");
        string macModule = default("^.^.mac");
        string bearerManagementModule = default("^.bearerManagement");
        string handoverPacketHolderModule = default("^.^.handoverPacketHolder");
        string feedbackGeneratorModule = default("^.^.dlFbGen"); // TODO or "^.^.nrDlFbGen"
        string otherConnectionControlModule = default("");

        bool hasCollector = default(false); // True when node has a collector module (ueCollector/nrUeCollector) for this PHY module

        @signal[servingCell];
        @statistic[servingCell](title="ID of the serving cell for the UE"; unit=""; source="servingCell"; record=vector);

}

File: src/simu5g/stack/rrc/ConnectionControlUe.ned