Package: simu5g.stack.phy
PhyUe
simple moduleExtends 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