Package: simu5g.stack.phy
PhyEnb
simple moduleExtends the PhyBase module by providing the specific PHY functions on the eNodeB side. It is responsible for checking if a frame received on the air interface originates from a User Equipment (UE) connected to the eNB itself, and it provides the functions necessary to compute the Channel Status Information (CSI) for the UEs connected to it.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
| Name | Type | Description |
|---|---|---|
| PhyEnbD2D | simple module |
Extends the PHY functionalities on the eNodeB side to support device-to-device (D2D) communications. Specifically, it enables the computation of Channel Status Information (CSI) related to the D2D link between two UEs, which still needs to be stored at the eNodeB for scheduling purposes. |
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 |
| enableHandover | bool | false |
Marks this eNB as a handover target: its beacons are used by UEs for handover feasibility assessment. Requires enableBeacons=true (the default when handover is on); the module errors out at initialization if beacons are disabled while handover is enabled. |
| enableBeacons | bool | enableHandover |
Enables broadcasting periodic beacons (at cellInfo.beaconInterval). Beacons are the measurement signal UEs use both for handover feasibility assessment and for radio link monitoring (RLF detection), decoupled from enableHandover so radio link monitoring can run without handover. Defaults to enableHandover (beacons flow exactly when handover is enabled). cellInfo.beaconInterval must be positive: a zero/negative interval is an error -- switch beacons off with enableBeacons=false. |
| targetBler | double | 0.001 |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/wrxtx | |
| class | PhyEnb |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| upperGateIn | input |
From upper layer |
|
| upperGateOut | output |
To upper layer |
|
| radioIn | input |
Gate to receive message via sendDirect |
Source code
// // Extends the ~PhyBase module by providing the specific PHY functions // on the eNodeB side. It is responsible for checking if a frame received on the air interface // originates from a User Equipment (UE) connected to the eNB itself, and it provides the // functions necessary to compute the Channel Status Information (CSI) for the UEs connected to it. // simple PhyEnb extends PhyBase { parameters: @class("PhyEnb"); // Marks this eNB as a handover target: its beacons are used by UEs for handover // feasibility assessment. Requires enableBeacons=true (the default when handover is // on); the module errors out at initialization if beacons are disabled while // handover is enabled. bool enableHandover = default(false); // Enables broadcasting periodic beacons (at cellInfo.beaconInterval). Beacons are the // measurement signal UEs use both for handover feasibility assessment and for radio // link monitoring (RLF detection), decoupled from enableHandover so radio link // monitoring can run without handover. Defaults to enableHandover (beacons flow // exactly when handover is enabled). cellInfo.beaconInterval must be positive: a // zero/negative interval is an error -- switch beacons off with enableBeacons=false. bool enableBeacons = default(enableHandover); double targetBler = default(0.001); }File: src/simu5g/stack/phy/PhyEnb.ned