NED File src/simu5g/stack/rrc/ConnectionControlUe.ned¶
Name |
Type |
Description |
|---|---|---|
simple module |
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. |
Source code¶
//
// Simu5G
//
// Authors: Andras Varga (OpenSim Ltd)
//
// This file is part of a software released under the license included in file
// "license.pdf". Please read LICENSE and README files before using it.
// The above files and the present reference are part of the software itself,
// and cannot be removed from it.
//
package simu5g.stack.rrc;
//
// 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);
}