BackgroundTrafficGenerator¶
Package: simu5g.background.trafficGenerator
compound module BackgroundTrafficGenerator
Part of a BackgroundCell module and is responsible for instantiating a configurable number of background UEs (see BackgroundUe module) and setting up their method for computing the channel status information required by the BackgroundScheduler module.
Usage diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Implements a lightweight model for a 4G eNodeB or 5G gNodeB for generating configurable inter-cell interference in the simulated network. |
|
compound module |
The LteNicEnb module is a network interface that provides LTE connectivity within an eNodeB. It implements the data and signaling planes of the LTE stack, which includes the PDCP, RLC, MAC, and PHY layers. The parameters and submodules allow customization of the eNodeB’s behavior, including whether it supports D2D communication, CoMP (Coordinated MultiPoint), or dual connectivity. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
numBgUes |
int |
0 |
|
enablePeriodicCqiUpdate |
bool |
true |
|
useProbabilisticCqi |
bool |
false |
|
computeAvgInterference |
bool |
false |
Properties¶
Name |
Value |
Description |
|---|---|---|
display |
i=block/source |
Unassigned submodule parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
bgUE.mobility ↗.displayStringTextFormat |
string |
“p: {position}\nv: {velocity}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
bgUE.mobility ↗.subjectModule |
string |
“^” |
The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module |
bgUE.mobility ↗.coordinateSystemModule |
string |
“” |
The module path of the geographic coordinate system module; optional, empty disables geographic conversion (and the {geo_position} directive) |
bgUE.mobility ↗.updateDisplayString |
bool |
true |
Enables continuous update of the subject module’s position by modifying its display string |
bgUE.mobility ↗.constraintAreaMinX |
double |
-inf m |
The minimum x position of the constraint area. It is unconstrained by default (negative infinity) |
bgUE.mobility ↗.constraintAreaMinY |
double |
-inf m |
The minimum y position of the constraint area. It is unconstrained by default (negative infinity) |
bgUE.mobility ↗.constraintAreaMinZ |
double |
-inf m |
The minimum z position of the constraint area. It is unconstrained by default (negative infinity) |
bgUE.mobility ↗.constraintAreaMaxX |
double |
inf m |
The maximum x position of the constraint area. It is unconstrained by default (positive infinity) |
bgUE.mobility ↗.constraintAreaMaxY |
double |
inf m |
The maximum y position of the constraint area. It is unconstrained by default (positive infinity) |
bgUE.mobility ↗.constraintAreaMaxZ |
double |
inf m |
The maximum z position of the constraint area. It is unconstrained by default (positive infinity) |
bgUE.mobility ↗.initialX |
double |
uniform(this.constraintAreaMinX, this.constraintAreaMaxX) |
|
bgUE.mobility ↗.initialY |
double |
uniform(this.constraintAreaMinY, this.constraintAreaMaxY) |
|
bgUE.mobility ↗.initialZ |
double |
nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ)) |
|
bgUE.mobility ↗.initialLatitude |
double |
nan deg |
|
bgUE.mobility ↗.initialLongitude |
double |
nan deg |
|
bgUE.mobility ↗.initialAltitude |
double |
0m |
|
bgUE.mobility ↗.initialHeading |
double |
0deg |
|
bgUE.mobility ↗.initialElevation |
double |
0deg |
|
bgUE.mobility ↗.initialBank |
double |
0deg |
|
bgUE.mobility ↗.initFromDisplayString |
bool |
true |
Enables one-time initialization from the subject module’s display string |
bgUE.mobility ↗.updateFromDisplayString |
bool |
true |
Enables continuous update from the subject module’s display string for dragging and rotating it |
bool |
|||
bool |
|||
bool |
|||
string |
“^.^.manager” |
||
double |
-1s |
||
double |
-1s |
||
int |
33B |
||
double |
26dBm |
||
int |
6tti |
||
double |
uniform(10ms,50ms) |
||
double |
uniform(10ms,50ms) |
||
int |
intuniform(20B,100B) |
||
int |
intuniform(20B,100B) |
||
double |
0.1 |
||
double |
0.006s |
||
double |
0.1 |
||
double |
0.006s |
||
double |
15 |
These values are only considered when periodicCqi == false && computeAvgInterference == false |
|
double |
15 |
||
double |
0 |
||
double |
0 |
||
manager.binderModule |
string |
“binder” |
|
manager.numBgUes |
int |
||
manager.macModule |
string |
“^.^.mac” |
|
manager.phyModule |
string |
“^.^.phy” |
|
manager.enablePeriodicCqiUpdate |
bool |
||
manager.computeAvgInterference |
bool |
Source code¶
//
// Part of a ~BackgroundCell module and is responsible for instantiating a
// configurable number of background UEs (see ~BackgroundUe module) and setting up
// their method for computing the channel status information required by the
// ~BackgroundScheduler module.
//
module BackgroundTrafficGenerator
{
parameters:
@display("i=block/source");
int numBgUes = default(0);
bool enablePeriodicCqiUpdate = default(true);
bool useProbabilisticCqi = default(false);
bool computeAvgInterference = default(false);
*.computeAvgInterference = this.computeAvgInterference;
*.enablePeriodicCqiUpdate = this.enablePeriodicCqiUpdate;
*.useProbabilisticCqi = this.useProbabilisticCqi;
*.numBgUes = this.numBgUes;
submodules:
bgUE[numBgUes]: BackgroundUe {
@display("p=77,118");
}
manager: <default("BackgroundTrafficManager")> like IBackgroundTrafficManager {
@display("p=77,41");
}
}
File: src/simu5g/background/trafficGenerator/BackgroundTrafficGenerator.ned