NrRlcUmRxEntityD2D¶
Package: simu5g.stack.d2d.rlc
simple module NrRlcUmRxEntityD2D
D2D-capable NR (TS 38.322) RLC UM receiving entity: NrRlcUmRxEntity plus the mode-switch buffer discard/renumbering and the D2D branch of the throughput/delay statistics.
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
NR (TS 38.322) receiving side of the Unacknowledged Mode (UM) of the RLC layer: SI + byte-offset (SO) reassembly with a per-SDU SN window and a t-Reassembly timer. Shares the common RlcUmRxEntityBase shell with the LTE profile LteRlcUmRxEntity. Bound by default inside the NrRlcUmEntity compound. The NR SO-reassembly statistics are declared here so they are recorded only for NR entities. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
macModule |
string |
“^.^.mac” |
Set by the enclosing RlcUmEntityBase compound (per leg) |
rlcMuxModule |
string |
“^.^.rlcMux” |
This bearer’s leg mux; set by the RlcUmEntityBase compound |
UM_Window_Size |
int |
2048 |
SDU reassembly window: 2048 (12-bit SN) or 32 (6-bit SN) |
t_Reassembly |
double |
80ms |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
NrRlcUmRxEntityD2D |
|
display |
i=block/layer |
|
dynamic |
true |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
in |
input |
PDUs from MAC, via the RlcMux |
|
out |
output |
Reassembled SDUs to the PDCP layer (direct per-DRB connection, not via a mux) |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
receivedPacketFromLowerLayer |
|||
rlcDelayD2D |
|||
rlcDelayDl |
|||
rlcDelayUl |
|||
rlcPduDelayD2D |
|||
rlcPduDelayDl |
|||
rlcPduDelayUl |
|||
rlcPduThroughputD2D |
|||
rlcPduThroughputDl |
|||
rlcPduThroughputUl |
|||
rlcThroughputD2D |
|||
rlcThroughputDl |
|||
rlcThroughputUl |
|||
sentPacketToUpperLayer |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
receivedPacketFromLowerLayer |
receivedPacketFromLowerLayer |
count,”sum(packetBytes)”,”vector(packetBytes)” |
none |
|||
rlcDelayD2D |
Delay at the rlc layer D2D |
rlcDelayD2D |
mean |
s |
||
rlcDelayDl |
Delay at the rlc layer DL |
rlcDelayDl |
mean |
s |
||
rlcDelayUl |
Delay at the rlc layer UL |
rlcDelayUl |
mean |
s |
||
rlcPduDelayD2D |
PDU delay at the rlc layer D2D |
rlcPduDelayD2D |
mean |
s |
||
rlcPduDelayDl |
PDU delay at the rlc layer DL |
rlcPduDelayDl |
mean |
s |
||
rlcPduDelayUl |
PDU delay at the rlc layer UL |
rlcPduDelayUl |
mean |
s |
||
rlcPduThroughputD2D |
PDU throughput at the rlc layer D2D |
rlcPduThroughputD2D |
simu5g_rateavg |
Bps |
||
rlcPduThroughputDl |
PDU throughput at the rlc layer DL |
rlcPduThroughputDl |
simu5g_rateavg |
Bps |
||
rlcPduThroughputUl |
PDU throughput at the rlc layer UL |
rlcPduThroughputUl |
simu5g_rateavg |
Bps |
||
rlcThroughputD2D |
Throughput at the rlc layer D2D |
rlcThroughputD2D |
simu5g_rateavg |
Bps |
||
rlcThroughputDl |
Throughput at the rlc layer DL |
rlcThroughputDl |
simu5g_rateavg |
Bps |
||
rlcThroughputUl |
Throughput at the rlc layer UL |
rlcThroughputUl |
simu5g_rateavg |
Bps |
||
sentPacketToUpperLayer |
sentPacketToUpperLayer |
count,”sum(packetBytes)”,”vector(packetBytes)” |
none |
Source code¶
//
// D2D-capable NR (TS 38.322) RLC UM receiving entity: ~NrRlcUmRxEntity plus the
// mode-switch buffer discard/renumbering and the D2D branch of the
// throughput/delay statistics.
//
simple NrRlcUmRxEntityD2D extends NrRlcUmRxEntity
{
parameters:
@class("NrRlcUmRxEntityD2D");
//# D2D statistics, emitted only by this D2D profile
@signal[rlcDelayD2D];
@statistic[rlcDelayD2D](title="Delay at the rlc layer D2D"; unit="s"; source="rlcDelayD2D"; record=mean);
@signal[rlcThroughputD2D];
@statistic[rlcThroughputD2D](title="Throughput at the rlc layer D2D"; unit="Bps"; source="rlcThroughputD2D"; record=simu5g_rateavg);
@signal[rlcPduDelayD2D];
@statistic[rlcPduDelayD2D](title="PDU delay at the rlc layer D2D"; unit="s"; source="rlcPduDelayD2D"; record=mean);
@signal[rlcPduThroughputD2D];
@statistic[rlcPduThroughputD2D](title="PDU throughput at the rlc layer D2D"; unit="Bps"; source="rlcPduThroughputD2D"; record=simu5g_rateavg);
}