5G-LENA  nr-v3.0-29-g83cc959
The 5G/NR module for the ns-3 simulator

Interface between the physical layer and the channel. More...

#include "nr-spectrum-phy.h"

+ Inheritance diagram for ns3::NrSpectrumPhy:
+ Collaboration diagram for ns3::NrSpectrumPhy:

Public Types

typedef void(* DataSnrTracedCallback) (const SfnSf &sfnSf, const uint16_t cellId, const uint8_t bwpId, const uint64_t imsi, const double snr)
 
typedef Callback< void, const DlHarqInfo & > NrPhyDlHarqFeedbackCallback
 
typedef std::function< void(const std::list< Ptr< NrControlMessage >> &, uint8_t)> NrPhyRxCtrlEndOkCallback
 This callback method type is used to notify that CTRL is received.
 
typedef Callback< void, const Ptr< Packet > & > NrPhyRxDataEndOkCallback
 This callback method type is used to notify that DATA is received.
 
typedef Callback< void, uint16_t, const Ptr< SpectrumValue > & > NrPhyRxPssCallback
 
typedef Callback< void, const UlHarqInfo & > NrPhyUlHarqFeedbackCallback
 
typedef void(* RxDataTracedCallback) (const SfnSf &sfnSf, Ptr< const SpectrumValue > v, const Time &t, uint16_t bwpId, uint16_t cellId)
 TracedCallback signature for RB statistics. More...
 
typedef Callback< void, uint16_t, uint16_t, double > SrsSinrReportCallback
 
typedef Callback< void, uint16_t, uint16_t, double > SrsSnrReportCallback
 
enum  State {
  IDLE = 0 , TX , RX_DATA , RX_DL_CTRL ,
  RX_UL_CTRL , RX_UL_SRS , CCA_BUSY
}
 Enum that defines possible states of the spectrum phy. More...
 

Public Member Functions

 NrSpectrumPhy ()
 NrSpectrumPhy constructor.
 
 ~NrSpectrumPhy () override
 ~NrSpectrumPhy
 
void AddDataMimoChunkProcessor (const Ptr< NrMimoChunkProcessor > &p)
 
void AddDataPowerChunkProcessor (const Ptr< LteChunkProcessor > &p)
 Adds the chunk processor that will process the power for the data. More...
 
void AddDataSinrChunkProcessor (const Ptr< LteChunkProcessor > &p)
 Adds the chunk processor that will process the interference. More...
 
void AddDlCtrlSinrChunkProcessor (const Ptr< LteChunkProcessor > &p)
 Adds the chunk processor that will process the received power. More...
 
void AddExpectedSrsRnti (uint16_t rnti)
 
void AddExpectedTb (uint16_t rnti, uint8_t ndi, uint32_t size, uint8_t mcs, uint8_t rank, const std::vector< int > &rbMap, uint8_t harqId, uint8_t rv, bool downlink, uint8_t symStart, uint8_t numSym, const SfnSf &sfn)
 Instruct the Spectrum Model of a incoming transmission. More...
 
void AddRsPowerChunkProcessor (const Ptr< LteChunkProcessor > &p)
 Adds the chunk processor that will process the received power. More...
 
void AddSrsSinrChunkProcessor (const Ptr< LteChunkProcessor > &p)
 
void AddSrsSinrReportCallback (SrsSinrReportCallback callback)
 It adds callback to the list of callbacks that will be notified once SRS is being received. More...
 
void AddSrsSnrReportCallback (SrsSnrReportCallback callback)
 It adds callback to the list of callbacks that will be notified once SRS is being received. More...
 
int64_t AssignStreams (int64_t stream)
 
void EnableDlCtrlPathlossTrace ()
 
void EnableDlDataPathlossTrace ()
 
Ptr< Object > GetAntenna () const override
 Inherited from SpectrumPhy Note: Implements GetAntenna function from SpectrumPhy. More...
 
Ptr< BeamManagerGetBeamManager ()
 
uint16_t GetBwpId () const
 
double GetCcaMode1Threshold () const
 
uint16_t GetCellId () const
 
Ptr< NetDevice > GetDevice () const override
 
Ptr< NrErrorModelGetErrorModel () const
 
Ptr< NrHarqPhyGetHarqPhyModule () const
 
Ptr< MobilityModel > GetMobility () const override
 
Ptr< NrInterferenceGetNrInterference () const
 
Ptr< NrPhyGetPhy () const
 
Ptr< const SpectrumModel > GetRxSpectrumModel () const override
 
Ptr< SpectrumChannel > GetSpectrumChannel () const
 Returns spectrum channel object to which is attached this spectrum phy instance.
 
Ptr< const SpectrumValue > GetTxPowerSpectralDensity ()
 
void InstallHarqPhyModule (const Ptr< NrHarqPhy > &harq)
 Install HARQ phy module of this spectrum phy. More...
 
void InstallPhy (const Ptr< NrPhy > &phyModel)
 Set NrPhy of this spectrum phy in order to be able to obtain information such as cellId, bwpId, etc.
 
bool IsTransmitting ()
 Return true if the current Phy State is TX.
 
void ReportDlCtrlSinr (const SpectrumValue &sinr)
 Called when DlCtrlSinr is fired. More...
 
void ReportWbDlDataSnrPerceived (const double dlDataSnr)
 Report wideband perceived downlink data SNR. More...
 
void SetAntenna (Ptr< Object > antenna)
 Sets the antenna of this NrSpectrumPhy instance, currently in NR module it is expected to be of type UniformPlannarArray. More...
 
void SetBeamManager (Ptr< BeamManager > b)
 
void SetCcaMode1Threshold (double thresholdDBm)
 Set clear channel assessment (CCA) threshold. More...
 
void SetChannel (Ptr< SpectrumChannel > c) override
 
void SetDataErrorModelEnabled (bool dataErrorModelEnabled)
 Enables or disabled data error model. More...
 
void SetDevice (Ptr< NetDevice > d) override
 
void SetErrorModel (Ptr< NrErrorModel > em)
 
void SetErrorModelType (TypeId errorModelType)
 Sets the error model type.
 
void SetIsEnb (bool isEnb)
 Set whether this spectrum PHY belongs to eNB or UE TODO NrHelper should be declared as friend and this function should be private. More...
 
void SetMobility (Ptr< MobilityModel > m) override
 
void SetNoisePowerSpectralDensity (const Ptr< const SpectrumValue > &noisePsd)
 Sets noise power spectral density to be used by this device. More...
 
void SetPhyDlHarqFeedbackCallback (const NrPhyDlHarqFeedbackCallback &c)
 Sets the callback to be called when DL HARQ feedback is generated.
 
void SetPhyRxCtrlEndOkCallback (const NrPhyRxCtrlEndOkCallback &c)
 Sets the callback to be called when CTRL is received successfully. More...
 
void SetPhyRxDataEndOkCallback (const NrPhyRxDataEndOkCallback &c)
 Sets the callback to be called when DATA is received successfully. More...
 
void SetPhyRxPssCallback (const NrPhyRxPssCallback &c)
 
void SetPhyUlHarqFeedbackCallback (const NrPhyUlHarqFeedbackCallback &c)
 Sets the callback to be called when UL HARQ feedback is generated.
 
void SetRnti (uint16_t rnti)
 
void SetTxPowerSpectralDensity (const Ptr< SpectrumValue > &txPsd)
 Sets transmit power spectral density. More...
 
void SetUnlicensedMode (bool unlicensedMode)
 Sets whether to perform in unclicensed mode in which the channel monitoring is enabled. More...
 
void StartRx (Ptr< SpectrumSignalParameters > params) override
 Inherited from SpectrumPhy. When this function is called this spectrum phy starts receiving a signal from its spectrum channel. More...
 
void StartTxDataFrames (const Ptr< PacketBurst > &pb, const std::list< Ptr< NrControlMessage >> &ctrlMsgList, const std::shared_ptr< DciInfoElementTdma > dci, const Time &duration)
 Starts transmission of data frames on connected spectrum channel object. More...
 
void StartTxDlControlFrames (const std::list< Ptr< NrControlMessage >> &ctrlMsgList, const Time &duration)
 Starts transmission of DL CTRL. More...
 
void StartTxUlControlFrames (const std::list< Ptr< NrControlMessage >> &ctrlMsgList, const Time &duration)
 Start transmission of UL CTRL. More...
 
void UpdateMimoSinrPerceived (const std::vector< MimoSinrChunk > &sinr)
 Store the SINR chunks for all received signals at end of interference calculations. More...
 
void UpdateSinrPerceived (const SpectrumValue &sinr)
 SpectrumPhy that will be called when the SINR for the received DATA is being calculated by the interference object over DATA chunk processor. More...
 
void UpdateSrsSinrPerceived (const SpectrumValue &srsSinr)
 SpectrumPhy that will be called when the SINR for the received SRS at gNB is being calculated by the interference object over SRS chunk processor. More...
 
void UpdateSrsSnrPerceived (const double srsSnr)
 SpectrumPhy that will be called when the SNR for the received SRS at gNB is being calculated. More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the object TypeId. More...
 

Protected Member Functions

void DoDispose () override
 DoDispose method inherited from Object.
 

Detailed Description

Interface between the physical layer and the channel.

General information

NrSpectrumPhy models some of the basic physical layer functionalities such as transmitting CTRL or DATA, receiving the signals, decoding them, and distinguishing whether the signal is useful (CTRL, DATA), i.e. sent to this NR device NrPhy instance, or it should be considered as interference. It is also responsible for obtaining measurements, and for HARQ feedback generation by leveraging HARQ module.

This class implements the interface between the NrPhy and the spectrum channel, and provides to NrPhy aforementioned functionalities. Each NR device's NrPhy has its own NrSpectrumPhy that is in charge of providing these basic phy layer functionalities. In order to be able to receive signals from the channel, each NrSpectrumPhy should be registered to listen events from its channel. To achieve that, during the configuration of NR device's NrPhy at some point should be called AddRx function of the spectrum channel to register the NrSpectrumPhy instance as a receiver on that channel.

This class also has the interface with NrInterference class to pass the necessary information for the interference calculation and to obtain the interference calculation results.

Also it has interface with HARQ module, to which it passes necessary information for the HARQ feedback generation, which is then forwarded to NrPhy.

Configuration

The user can configure the class using the method NrHelper::SetGnbSpectrumAttribute(), or NrHelper::SetUeSpectrumAttribute(), depending on the type of user you want to configure, or by directly calling SetAttribute on the pointer. The list of attributes is reported below, in the Attributes section.

Config Paths

ns3::NrSpectrumPhy is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrGnbNetDevice/BandwidthPartMap/[i]/NrGnbPhy/SpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NrNetDevice/$ns3::NrUeNetDevice/ComponentCarrierMapUe/[i]/NrUePhy/SpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NrGnbNetDevice/BandwidthPartMap/[i]/NrGnbPhy/SpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NrUeNetDevice/ComponentCarrierMapUe/[i]/NrUePhy/SpectrumPhy

Attributes

  • DataErrorModelEnabled: Activate/Deactivate the error model of data (TBs of PDSCH and PUSCH) [by default is active].
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write
  • ErrorModelType: Type of the Error Model to apply to TBs of PDSCH and PUSCH
    • Set with class: TypeIdValue
    • Underlying type: TypeId
    • Initial value: ns3::NrLteMiErrorModel
    • Flags: construct write
  • UnlicensedMode: Activate/Deactivate unlicensed mode in which energy detection is performed and PHY state machine has an additional state CCA_BUSY.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: construct write
  • CcaMode1Threshold: The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to declare CCA BUSY state.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: -62
    • Flags: construct write read

TraceSources

  • RxPacketTraceEnb: The no. of packets received and transmitted by the Base Station
    Callback signature: ns3::RxPacketTraceParams::TracedCallback
  • TxPacketTraceEnb: Traces when the packet is being transmitted by the Base Station
    Callback signature: ns3::GnbPhyPacketCountParameter::TracedCallback
  • RxPacketTraceUe: The no. of packets received and transmitted by the User Device
    Callback signature: ns3::RxPacketTraceParams::TracedCallback
  • ChannelOccupied: This traced callback is triggered every time that the channel is occupied
    Callback signature: ns3::Time::TracedCallback
  • TxDataTrace: Indicates when the channel is being occupied by a data transmission
    Callback signature: ns3::Time::TracedCallback
  • TxCtrlTrace: Indicates when the channel is being occupied by a ctrl transmission
    Callback signature: ns3::Time::TracedCallback

Size of this type is 520 bytes (on a 64-bit architecture).

Definition at line 72 of file nr-spectrum-phy.h.

Member Typedef Documentation

◆ DataSnrTracedCallback

typedef void(* ns3::NrSpectrumPhy::DataSnrTracedCallback) (const SfnSf &sfnSf, const uint16_t cellId, const uint8_t bwpId, const uint64_t imsi, const double snr)
Parameters
[in]sfnSfSfnSf
[in]cellId
[in]bwpId
[in]imsi
[in]snr

Definition at line 470 of file nr-spectrum-phy.h.

◆ NrPhyDlHarqFeedbackCallback

This callback method type is used by the NrSpectrumPhy to notify the PHY about the status of a DL HARQ feedback

Definition at line 126 of file nr-spectrum-phy.h.

◆ NrPhyRxPssCallback

typedef Callback<void, uint16_t, const Ptr<SpectrumValue>&> ns3::NrSpectrumPhy::NrPhyRxPssCallback

This method is used by the NrSpectrumPhy to notify the UE PHY that a PSS has been received

Definition at line 120 of file nr-spectrum-phy.h.

◆ NrPhyUlHarqFeedbackCallback

This callback method type is used by the NrSpectrumPhy to notify the PHY about the status of a UL HARQ feedback

Definition at line 131 of file nr-spectrum-phy.h.

◆ RxDataTracedCallback

typedef void(* ns3::NrSpectrumPhy::RxDataTracedCallback) (const SfnSf &sfnSf, Ptr< const SpectrumValue > v, const Time &t, uint16_t bwpId, uint16_t cellId)

TracedCallback signature for RB statistics.

Parameters
[in]sfnSfSfnSf
[in]vrxPsd values
[in]tduration of the reception
[in]bwpIdBWP ID
[in]cellIdCell ID

Definition at line 423 of file nr-spectrum-phy.h.

Member Enumeration Documentation

◆ State

Enum that defines possible states of the spectrum phy.

Enumerator
IDLE 

IDLE state (no action in progress)

TX 

Transmitting state (data or ctrl)

RX_DATA 

Receiving data.

RX_DL_CTRL 

receiving DL CTRL

RX_UL_CTRL 

Receiving UL CTRL.

RX_UL_SRS 

Receiving SRS.

CCA_BUSY 

BUSY state (channel occupied by another entity)

Definition at line 94 of file nr-spectrum-phy.h.

Member Function Documentation

◆ AddDataPowerChunkProcessor()

void ns3::NrSpectrumPhy::AddDataPowerChunkProcessor ( const Ptr< LteChunkProcessor > &  p)

Adds the chunk processor that will process the power for the data.

Parameters
pthe chunk processor

Definition at line 744 of file nr-spectrum-phy.cc.

◆ AddDataSinrChunkProcessor()

void ns3::NrSpectrumPhy::AddDataSinrChunkProcessor ( const Ptr< LteChunkProcessor > &  p)

Adds the chunk processor that will process the interference.

Parameters
pthe chunk processor

Definition at line 751 of file nr-spectrum-phy.cc.

◆ AddDlCtrlSinrChunkProcessor()

void ns3::NrSpectrumPhy::AddDlCtrlSinrChunkProcessor ( const Ptr< LteChunkProcessor > &  p)

Adds the chunk processor that will process the received power.

Parameters
pthe chunk processor

Definition at line 812 of file nr-spectrum-phy.cc.

◆ AddExpectedTb()

void ns3::NrSpectrumPhy::AddExpectedTb ( uint16_t  rnti,
uint8_t  ndi,
uint32_t  size,
uint8_t  mcs,
uint8_t  rank,
const std::vector< int > &  rbMap,
uint8_t  harqId,
uint8_t  rv,
bool  downlink,
uint8_t  symStart,
uint8_t  numSym,
const SfnSf sfn 
)

Instruct the Spectrum Model of a incoming transmission.

Parameters
rntiRNTI
ndiNew data indicator (0 for retx)
sizeTB Size
mcsMCS of the transmission
rankMIMO rank
rbMapResource Block map (PHY-ready vector of SINR indices)
harqIdID of the HARQ process in the MAC
rvRedundancy Version: number of times the HARQ has been retransmitted
downlinkindicate if it is downling
symStartSym start
numSymNum of symbols
sfnSFN

Definition at line 871 of file nr-spectrum-phy.cc.

◆ AddRsPowerChunkProcessor()

void ns3::NrSpectrumPhy::AddRsPowerChunkProcessor ( const Ptr< LteChunkProcessor > &  p)

Adds the chunk processor that will process the received power.

Parameters
pthe chunk processor

Definition at line 805 of file nr-spectrum-phy.cc.

◆ AddSrsSinrReportCallback()

void ns3::NrSpectrumPhy::AddSrsSinrReportCallback ( SrsSinrReportCallback  callback)

It adds callback to the list of callbacks that will be notified once SRS is being received.

Parameters
callbackcallback to be added to the list of callbacks

Definition at line 924 of file nr-spectrum-phy.cc.

◆ AddSrsSnrReportCallback()

void ns3::NrSpectrumPhy::AddSrsSnrReportCallback ( SrsSnrReportCallback  callback)

It adds callback to the list of callbacks that will be notified once SRS is being received.

Parameters
callbackcallback to be added to the list of callbacks

Definition at line 930 of file nr-spectrum-phy.cc.

◆ AssignStreams()

int64_t ns3::NrSpectrumPhy::AssignStreams ( int64_t  stream)

Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Definition at line 1739 of file nr-spectrum-phy.cc.

◆ GetAntenna()

Ptr< Object > ns3::NrSpectrumPhy::GetAntenna ( ) const
override

Inherited from SpectrumPhy Note: Implements GetAntenna function from SpectrumPhy.

Returns
Antenna of this NrSpectrumPhy

Definition at line 288 of file nr-spectrum-phy.cc.

Referenced by ns3::LenaV2Utils::SetLenaV2SimulatorParameters().

+ Here is the caller graph for this function:

◆ GetBwpId()

uint16_t ns3::NrSpectrumPhy::GetBwpId ( ) const
Returns
the bwp id

Definition at line 1194 of file nr-spectrum-phy.cc.

Referenced by StartRx().

+ Here is the caller graph for this function:

◆ GetCcaMode1Threshold()

double ns3::NrSpectrumPhy::GetCcaMode1Threshold ( ) const

Returns clear channel assessment (CCA) threshold

Returns
CCA threshold in dBms

Definition at line 349 of file nr-spectrum-phy.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetCellId()

uint16_t ns3::NrSpectrumPhy::GetCellId ( ) const
Returns
the cell id

Definition at line 1188 of file nr-spectrum-phy.cc.

Referenced by StartRx(), StartTxDataFrames(), StartTxDlControlFrames(), StartTxUlControlFrames(), UpdateSrsSinrPerceived(), and UpdateSrsSnrPerceived().

+ Here is the caller graph for this function:

◆ GetHarqPhyModule()

Ptr< NrHarqPhy > ns3::NrSpectrumPhy::GetHarqPhyModule ( ) const
Returns
HARQ module of this spectrum phy

Definition at line 858 of file nr-spectrum-phy.cc.

◆ GetNrInterference()

Ptr< NrInterference > ns3::NrSpectrumPhy::GetNrInterference ( ) const
Returns
NrInterference instance of this spectrum phy

Definition at line 864 of file nr-spectrum-phy.cc.

◆ GetTypeId()

TypeId ns3::NrSpectrumPhy::GetTypeId ( )
static

Get the object TypeId.

Returns
the object TypeId

Definition at line 114 of file nr-spectrum-phy.cc.

References GetCcaMode1Threshold(), ns3::NrLteMiErrorModel::GetTypeId(), SetCcaMode1Threshold(), SetDataErrorModelEnabled(), SetErrorModelType(), and SetUnlicensedMode().

Referenced by ns3::NrHelper::NrHelper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InstallHarqPhyModule()

void ns3::NrSpectrumPhy::InstallHarqPhyModule ( const Ptr< NrHarqPhy > &  harq)

Install HARQ phy module of this spectrum phy.

Parameters
harqHarq module of this spectrum phy

Definition at line 827 of file nr-spectrum-phy.cc.

◆ ReportDlCtrlSinr()

void ns3::NrSpectrumPhy::ReportDlCtrlSinr ( const SpectrumValue &  sinr)

Called when DlCtrlSinr is fired.

Parameters
sinrthe sinr PSD

Definition at line 768 of file nr-spectrum-phy.cc.

◆ ReportWbDlDataSnrPerceived()

void ns3::NrSpectrumPhy::ReportWbDlDataSnrPerceived ( const double  dlDataSnr)

Report wideband perceived downlink data SNR.

Parameters
dlDataSnrthe downlink data SNR

Definition at line 1725 of file nr-spectrum-phy.cc.

◆ SetAntenna()

void ns3::NrSpectrumPhy::SetAntenna ( Ptr< Object >  antenna)

Sets the antenna of this NrSpectrumPhy instance, currently in NR module it is expected to be of type UniformPlannarArray.

Parameters
antennathe antenna to be set to this NrSpectrumPhy instance

Definition at line 846 of file nr-spectrum-phy.cc.

◆ SetCcaMode1Threshold()

void ns3::NrSpectrumPhy::SetCcaMode1Threshold ( double  thresholdDBm)

Set clear channel assessment (CCA) threshold.

Parameters
thresholdDBm- CCA threshold in dBms

Definition at line 341 of file nr-spectrum-phy.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetDataErrorModelEnabled()

void ns3::NrSpectrumPhy::SetDataErrorModelEnabled ( bool  dataErrorModelEnabled)

Enables or disabled data error model.

Parameters
dataErrorModelEnabledboolean saying whether the data error model should be enabled

Definition at line 363 of file nr-spectrum-phy.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIsEnb()

void ns3::NrSpectrumPhy::SetIsEnb ( bool  isEnb)

Set whether this spectrum PHY belongs to eNB or UE TODO NrHelper should be declared as friend and this function should be private.

Parameters
isEnbwhether the spectrum PHY belongs to eNB or UE

Definition at line 1206 of file nr-spectrum-phy.cc.

◆ SetNoisePowerSpectralDensity()

void ns3::NrSpectrumPhy::SetNoisePowerSpectralDensity ( const Ptr< const SpectrumValue > &  noisePsd)

Sets noise power spectral density to be used by this device.

Parameters
noisePsdSpectrumValue object holding noise PSD

Definition at line 377 of file nr-spectrum-phy.cc.

◆ SetPhyRxCtrlEndOkCallback()

void ns3::NrSpectrumPhy::SetPhyRxCtrlEndOkCallback ( const NrPhyRxCtrlEndOkCallback c)

Sets the callback to be called when CTRL is received successfully.

Parameters
cthe callback function

Definition at line 201 of file nr-spectrum-phy.cc.

◆ SetPhyRxDataEndOkCallback()

void ns3::NrSpectrumPhy::SetPhyRxDataEndOkCallback ( const NrPhyRxDataEndOkCallback c)

Sets the callback to be called when DATA is received successfully.

Parameters
cthe callback function

Definition at line 194 of file nr-spectrum-phy.cc.

◆ SetPhyRxPssCallback()

void ns3::NrSpectrumPhy::SetPhyRxPssCallback ( const NrPhyRxPssCallback c)

set the callback for the reception of the PSS as part of the interconnections between the NrSpectrumPhy and the UE PHY

Parameters
cthe callback

Definition at line 208 of file nr-spectrum-phy.cc.

◆ SetTxPowerSpectralDensity()

void ns3::NrSpectrumPhy::SetTxPowerSpectralDensity ( const Ptr< SpectrumValue > &  txPsd)

Sets transmit power spectral density.

Parameters
txPsdtransmit power spectral density to be used for the upcoming transmissions by this spectrum phy

Definition at line 391 of file nr-spectrum-phy.cc.

◆ SetUnlicensedMode()

void ns3::NrSpectrumPhy::SetUnlicensedMode ( bool  unlicensedMode)

Sets whether to perform in unclicensed mode in which the channel monitoring is enabled.

Parameters
unlicensedModeif true the unlicensed mode is enabled

Definition at line 356 of file nr-spectrum-phy.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ StartRx()

void ns3::NrSpectrumPhy::StartRx ( Ptr< SpectrumSignalParameters >  params)
override

Inherited from SpectrumPhy. When this function is called this spectrum phy starts receiving a signal from its spectrum channel.

Parameters
paramsSpectrumSignalParameters object that will be used to process this signal

Definition at line 403 of file nr-spectrum-phy.cc.

References GetBwpId(), GetCellId(), and IDLE.

+ Here is the call graph for this function:

◆ StartTxDataFrames()

void ns3::NrSpectrumPhy::StartTxDataFrames ( const Ptr< PacketBurst > &  pb,
const std::list< Ptr< NrControlMessage >> &  ctrlMsgList,
const std::shared_ptr< DciInfoElementTdma dci,
const Time &  duration 
)

Starts transmission of data frames on connected spectrum channel object.

Parameters
pbpacket burst to be transmitted
ctrlMsgListcontrol message list
dcidownlink control information
durationthe duration of transmission

Definition at line 562 of file nr-spectrum-phy.cc.

References CCA_BUSY, GetCellId(), IDLE, RX_DATA, RX_DL_CTRL, RX_UL_CTRL, RX_UL_SRS, and TX.

+ Here is the call graph for this function:

◆ StartTxDlControlFrames()

void ns3::NrSpectrumPhy::StartTxDlControlFrames ( const std::list< Ptr< NrControlMessage >> &  ctrlMsgList,
const Time &  duration 
)

Starts transmission of DL CTRL.

Parameters
durationthe duration of this transmission

Definition at line 644 of file nr-spectrum-phy.cc.

References CCA_BUSY, GetCellId(), IDLE, RX_DATA, RX_DL_CTRL, RX_UL_CTRL, RX_UL_SRS, and TX.

+ Here is the call graph for this function:

◆ StartTxUlControlFrames()

void ns3::NrSpectrumPhy::StartTxUlControlFrames ( const std::list< Ptr< NrControlMessage >> &  ctrlMsgList,
const Time &  duration 
)

Start transmission of UL CTRL.

Parameters
ctrlMsgListthe list of control messages to be transmitted in UL
durationthe duration of the CTRL messages transmission

Definition at line 695 of file nr-spectrum-phy.cc.

References CCA_BUSY, GetCellId(), IDLE, RX_DATA, RX_DL_CTRL, RX_UL_CTRL, RX_UL_SRS, and TX.

+ Here is the call graph for this function:

◆ UpdateMimoSinrPerceived()

void ns3::NrSpectrumPhy::UpdateMimoSinrPerceived ( const std::vector< MimoSinrChunk > &  sinr)

Store the SINR chunks for all received signals at end of interference calculations.

Parameters
sinrThe vector of all SINR values of receive signals. A new chunk is generated for each different receive signal (for example for each UL reception of a signal from a different UE) and at each time instant where the interference changes.

Definition at line 1747 of file nr-spectrum-phy.cc.

◆ UpdateSinrPerceived()

void ns3::NrSpectrumPhy::UpdateSinrPerceived ( const SpectrumValue &  sinr)

SpectrumPhy that will be called when the SINR for the received DATA is being calculated by the interference object over DATA chunk processor.

Parameters
sinrthe resulting SINR spectrum value

Definition at line 819 of file nr-spectrum-phy.cc.

◆ UpdateSrsSinrPerceived()

void ns3::NrSpectrumPhy::UpdateSrsSinrPerceived ( const SpectrumValue &  srsSinr)

SpectrumPhy that will be called when the SINR for the received SRS at gNB is being calculated by the interference object over SRS chunk processor.

Parameters
srsSinrthe resulting SRS SINR spectrum value

Definition at line 779 of file nr-spectrum-phy.cc.

References GetCellId().

+ Here is the call graph for this function:

◆ UpdateSrsSnrPerceived()

void ns3::NrSpectrumPhy::UpdateSrsSnrPerceived ( const double  srsSnr)

SpectrumPhy that will be called when the SNR for the received SRS at gNB is being calculated.

Parameters
srsSnrthe resulting SRS SNR

Definition at line 793 of file nr-spectrum-phy.cc.

References GetCellId().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: