NED File src/simu5g/stack/d2d/mac/NrMacUeD2D.ned¶
Name |
Type |
Description |
|---|---|---|
compound module |
NR-UE MAC with D2D support. Extends NrMacUe with the device-to-device (D2D) deltas: it customizes the numerology-aware MAC to support the transmission and reception of MAC PDUs, CSI, and BSRs over a D2D link, including one-to-many D2D multicast transmission. It is the NR counterpart of LteMacUeD2D. |
Source code¶
//
// Simu5G
//
// Copyright (C) 2019-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa)
// Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa)
//
// This file is part of a software released under the license included in file
// "license.pdf". Please read LICENSE and README files before using it.
// The above files and the present reference are part of the software itself,
// and cannot be removed from it.
//
package simu5g.stack.d2d.mac;
import simu5g.stack.mac.NrMacUe;
//
// NR-UE MAC with D2D support. Extends ~NrMacUe with the device-to-device (D2D)
// deltas: it customizes the numerology-aware MAC to support the transmission and
// reception of MAC PDUs, CSI, and BSRs over a D2D link, including one-to-many D2D
// multicast transmission. It is the NR counterpart of ~LteMacUeD2D.
//
module NrMacUeD2D extends NrMacUe
{
parameters:
@class("NrMacUeD2D");
bool usePreconfiguredTxParams = default(false);
int d2dCqi = default(7);
@signal[harqErrorRate_1st_D2D];
@statistic[harqErrorRate_1st_D2D](title="Harq Error Rate D2D (1st Tx)"; unit=""; source="harqErrorRate_1st_D2D"; record=mean,vector);
@signal[harqErrorRate_2nd_D2D];
@statistic[harqErrorRate_2nd_D2D](title="Harq Error Rate D2D (2nd Tx)"; unit=""; source="harqErrorRate_2nd_D2D"; record=mean,vector);
@signal[harqErrorRate_3rd_D2D];
@statistic[harqErrorRate_3rd_D2D](title="Harq Error Rate D2D (3rd Tx)"; unit=""; source="harqErrorRate_3rd_D2D"; record=mean,vector);
@signal[harqErrorRate_4th_D2D];
@statistic[harqErrorRate_4th_D2D](title="Harq Error Rate D2D (4th Tx)"; unit=""; source="harqErrorRate_4th_D2D"; record=mean,vector);
@signal[harqErrorRateD2D];
@statistic[harqErrorRateD2D](title="Harq Error Rate D2D"; unit=""; source="harqErrorRateD2D"; record=mean,vector);
@signal[macPacketLossD2D];
@statistic[macPacketLossD2D](title="Mac Packet Loss D2D"; unit=""; source="macPacketLossD2D"; record=mean);
@signal[macDelayD2D];
@statistic[macDelayD2D](title="Delay at the MAC layer D2D"; unit="s"; source="macDelayD2D"; record=mean,vector);
@signal[macThroughputD2D];
@statistic[macThroughputD2D](title="Throughput at the MAC layer D2D"; unit="Bps"; source="macThroughputD2D"; record=simu5g_rateavg);
@signal[macBufferOverFlowD2D];
@statistic[macBufferOverFlowD2D](title="Mac buffer overflow as function of time"; unit="Byte/s"; source="macBufferOverFlowD2D"; record=mean);
@signal[rcvdD2DModeSwitchNotification];
@statistic[rcvdD2DModeSwitchNotification](title="Reception of mode switch notification (tx side)"; unit=""; source="rcvdD2DModeSwitchNotification"; record=count,vector);
}