Package: simu5g.stack.rrc
ConnectionControlUe
simple moduleUE-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.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
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 |
|---|---|---|
| display | i=block/control | |
| class | ConnectionControlUe |
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