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.

simu5g.stack.d2d.rlc.NrRlcUmRxEntityD2DNrRlcUmRxEntityD2Dsimple

Inheritance diagram

Extends

Name

Type

Description

NrRlcUmRxEntity

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);
}

File: src/simu5g/stack/d2d/rlc/NrRlcUmRxEntityD2D.ned