#include <lte-enb-phy.h>
Public Member Functions | |
LteEnbPhy () | |
LteEnbPhy (Ptr< LteSpectrumPhy > dlPhy, Ptr< LteSpectrumPhy > ulPhy) | |
virtual | ~LteEnbPhy () |
void | CalcChannelQualityForUe (std::vector< double > sinr, Ptr< LteSpectrumPhy > ue) |
Calculate the channel quality for a given UE. More... | |
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters | CreatePuschCqiReport (const SpectrumValue &sinr) |
Create the UL CQI feedback from SINR values perceived at the physical layer with the PUSCH signal received from eNB. More... | |
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters | CreateSrsCqiReport (const SpectrumValue &sinr) |
Create the UL CQI feedback from SINR values perceived at the physical layer with the SRS signal received from eNB. More... | |
virtual Ptr< SpectrumValue > | CreateTxPowerSpectralDensity () |
Create the PSD for TX. More... | |
std::list< UlDciLteControlMessage > | DequeueUlDci (void) |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
void | EndFrame (void) |
End a LTE frame. More... | |
void | EndSubFrame (void) |
End a LTE sub frame. More... | |
virtual void | GenerateCtrlCqiReport (const SpectrumValue &sinr) |
virtual void | GenerateDataCqiReport (const SpectrumValue &sinr) |
Ptr< LteSpectrumPhy > | GetDlSpectrumPhy () const |
std::vector< int > | GetDownlinkSubChannels (void) |
LteEnbCphySapProvider * | GetLteEnbCphySapProvider () |
Get the CPHY SAP provider. More... | |
LteEnbPhySapProvider * | GetLteEnbPhySapProvider () |
Get the PHY SAP provider. More... | |
uint8_t | GetMacChDelay (void) const |
double | GetNoiseFigure () const |
double | GetTxPower () const |
Ptr< LteSpectrumPhy > | GetUlSpectrumPhy () const |
void | PhyPduReceived (Ptr< Packet > p) |
PhySpectrum received a new PHY-PDU. More... | |
void | QueueUlDci (UlDciLteControlMessage m) |
virtual void | ReceiveLteControlMessage (Ptr< LteControlMessage > msg) |
Receive the control message. More... | |
virtual void | ReceiveLteControlMessageList (std::list< Ptr< LteControlMessage > >) |
PhySpectrum received a new list of LteControlMessage. More... | |
virtual void | ReceiveLteUlHarqFeedback (UlInfoListElement_s mes) |
PhySpectrum generated a new UL HARQ feedback. More... | |
virtual void | ReportInterference (const SpectrumValue &interf) |
virtual void | ReportRsReceivedPower (const SpectrumValue &interf) |
void | SendControlChannels (std::list< Ptr< LteControlMessage > > ctrlMsgList) |
Send the PDCCH and PCFICH in the first 3 symbols. More... | |
void | SendDataChannels (Ptr< PacketBurst > pb) |
Send the PDSCH. More... | |
void | SetDownlinkSubChannels (std::vector< int > mask) |
set the resource blocks (a.k.a. sub channels) to be used in the downlink for transmission More... | |
void | SetHarqPhyModule (Ptr< LteHarqPhy > harq) |
void | SetLteEnbCphySapUser (LteEnbCphySapUser *s) |
Set the CPHY SAP User. More... | |
void | SetLteEnbPhySapUser (LteEnbPhySapUser *s) |
Set the PHY SAP User. More... | |
void | SetMacChDelay (uint8_t delay) |
void | SetNoiseFigure (double pow) |
void | SetTxPower (double pow) |
void | StartFrame (void) |
Start a LTE frame. More... | |
void | StartSubFrame (void) |
Start a LTE sub frame. More... | |
![]() | |
LtePhy () | |
LtePhy (Ptr< LteSpectrumPhy > dlPhy, Ptr< LteSpectrumPhy > ulPhy) | |
virtual | ~LtePhy () |
void | DoDispose () |
void | DoSetCellId (uint16_t cellId) |
std::list< Ptr < LteControlMessage > > | GetControlMessages (void) |
Ptr< LteNetDevice > | GetDevice () |
Get the device where the phy layer is attached. More... | |
Ptr< LteSpectrumPhy > | GetDownlinkSpectrumPhy () |
Ptr< PacketBurst > | GetPacketBurst (void) |
uint8_t | GetRbgSize (void) const |
uint16_t | GetSrsPeriodicity (uint16_t srcCi) const |
uint16_t | GetSrsSubframeOffset (uint16_t srcCi) const |
double | GetTti (void) const |
Ptr< LteSpectrumPhy > | GetUplinkSpectrumPhy () |
void | SetControlMessages (Ptr< LteControlMessage > m) |
void | SetDevice (Ptr< LteNetDevice > d) |
Set the device where the phy layer is attached. More... | |
void | SetDownlinkChannel (Ptr< SpectrumChannel > c) |
void | SetMacPdu (Ptr< Packet > p) |
void | SetTti (double tti) |
Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel. More... | |
void | SetUplinkChannel (Ptr< SpectrumChannel > c) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Private Member Functions | |
bool | AddUePhy (uint16_t rnti) |
void | CreateSrsReport (uint16_t rnti, double srs) |
bool | DeleteUePhy (uint16_t rnti) |
void | DoAddUe (uint16_t rnti) |
uint8_t | DoGetMacChTtiDelay () |
void | DoRemoveUe (uint16_t rnti) |
void | DoSendLteControlMessage (Ptr< LteControlMessage > msg) |
void | DoSendMacPdu (Ptr< Packet > p) |
Queue the MAC PDU to be sent (according to m_macChTtiDelay) More... | |
void | DoSetBandwidth (uint8_t ulBandwidth, uint8_t dlBandwidth) |
void | DoSetEarfcn (uint16_t dlEarfcn, uint16_t ulEarfcn) |
void | DoSetMasterInformationBlock (LteRrcSap::MasterInformationBlock mib) |
void | DoSetSrsConfigurationIndex (uint16_t rnti, uint16_t srcCi) |
void | DoSetTransmissionMode (uint16_t rnti, uint8_t txMode) |
Private Attributes | |
uint16_t | m_currentSrsOffset |
std::vector< int > | m_dlDataRbMap |
TracedCallback < PhyTransmissionStatParameters > | m_dlPhyTransmission |
LteEnbCphySapProvider * | m_enbCphySapProvider |
LteEnbCphySapUser * | m_enbCphySapUser |
LteEnbPhySapProvider * | m_enbPhySapProvider |
LteEnbPhySapUser * | m_enbPhySapUser |
Ptr< LteHarqPhy > | m_harqPhyModule |
uint16_t | m_interferenceSampleCounter |
uint16_t | m_interferenceSamplePeriod |
std::vector< int > | m_listOfDownlinkSubchannel |
LteRrcSap::MasterInformationBlock | m_mib |
uint32_t | m_nrFrames |
uint32_t | m_nrSubFrames |
TracedCallback< uint16_t, Ptr < SpectrumValue > > | m_reportInterferenceTrace |
TracedCallback< uint16_t, uint16_t, double > | m_reportUeSinr |
std::map< uint16_t, uint16_t > | m_srsCounter |
uint16_t | m_srsPeriodicity |
std::map< uint16_t, uint16_t > | m_srsSampleCounterMap |
uint16_t | m_srsSamplePeriod |
Time | m_srsStartTime |
std::vector< uint16_t > | m_srsUeOffset |
std::set< uint16_t > | m_ueAttached |
std::vector< std::list < UlDciLteControlMessage > > | m_ulDciQueue |
Friends | |
class | EnbMemberLteEnbPhySapProvider |
class | MemberLteEnbCphySapProvider< LteEnbPhy > |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
![]() | |
uint16_t | m_cellId |
std::vector< std::list< Ptr < LteControlMessage > > > | m_controlMessagesQueue |
uint8_t | m_dlBandwidth |
uint16_t | m_dlEarfcn |
Ptr< LteSpectrumPhy > | m_downlinkSpectrumPhy |
uint8_t | m_macChTtiDelay |
Ptr< LteNetDevice > | m_netDevice |
double | m_noiseFigure |
std::vector< Ptr< PacketBurst > > | m_packetBurstQueue |
uint8_t | m_rbgSize |
double | m_tti |
double | m_txPower |
uint8_t | m_ulBandwidth |
uint16_t | m_ulEarfcn |
Ptr< LteSpectrumPhy > | m_uplinkSpectrumPhy |
LteEnbPhy models the physical layer for the eNodeB
ns3::LteEnbPhy is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 47 of file lte-enb-phy.h.
ns3::LteEnbPhy::LteEnbPhy | ( | ) |
Definition at line 126 of file lte-enb-phy.cc.
References NS_FATAL_ERROR, and NS_LOG_FUNCTION.
ns3::LteEnbPhy::LteEnbPhy | ( | Ptr< LteSpectrumPhy > | dlPhy, |
Ptr< LteSpectrumPhy > | ulPhy | ||
) |
dlPhy | the downlink LteSpectrumPhy instance |
ulPhy | the uplink LteSpectrumPhy instance |
Definition at line 132 of file lte-enb-phy.cc.
References EnbMemberLteEnbPhySapProvider, ns3::LtePhy::m_downlinkSpectrumPhy, m_enbCphySapProvider, m_enbPhySapProvider, m_harqPhyModule, ns3::LtePhy::m_uplinkSpectrumPhy, ns3::Simulator::ScheduleNow(), and StartFrame().
|
virtual |
Definition at line 217 of file lte-enb-phy.cc.
|
private |
Definition at line 336 of file lte-enb-phy.cc.
References m_ueAttached, NS_LOG_ERROR, and NS_LOG_FUNCTION.
Referenced by DoAddUe().
void ns3::LteEnbPhy::CalcChannelQualityForUe | ( | std::vector< double > | sinr, |
Ptr< LteSpectrumPhy > | ue | ||
) |
Calculate the channel quality for a given UE.
sinr | a list of computed SINR |
ue | the UE |
Definition at line 422 of file lte-enb-phy.cc.
References NS_LOG_FUNCTION.
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ns3::LteEnbPhy::CreatePuschCqiReport | ( | const SpectrumValue & | sinr | ) |
Create the UL CQI feedback from SINR values perceived at the physical layer with the PUSCH signal received from eNB.
sinr | SINR values vector |
Definition at line 773 of file lte-enb-phy.cc.
References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), ns3::LteFfConverter::double2fpS11dot3(), ns3::UlCqi_s::m_sinr, ns3::UlCqi_s::m_type, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, NS_LOG_FUNCTION, and ns3::UlCqi_s::PUSCH.
Referenced by GenerateDataCqiReport().
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ns3::LteEnbPhy::CreateSrsCqiReport | ( | const SpectrumValue & | sinr | ) |
Create the UL CQI feedback from SINR values perceived at the physical layer with the SRS signal received from eNB.
sinr | SINR values vector |
Definition at line 846 of file lte-enb-phy.cc.
References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), CreateSrsReport(), ns3::LteFfConverter::double2fpS11dot3(), m_currentSrsOffset, ns3::UlCqi_s::m_sinr, m_srsUeOffset, ns3::VendorSpecificListElement_s::m_type, ns3::UlCqi_s::m_type, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_vendorSpecificList, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::UlCqi_s::SRS, and SRS_CQI_RNTI_VSP.
Referenced by GenerateCtrlCqiReport().
|
private |
Definition at line 881 of file lte-enb-phy.cc.
References ns3::LtePhy::m_cellId, m_reportUeSinr, m_srsSampleCounterMap, m_srsSamplePeriod, and NS_LOG_FUNCTION.
Referenced by CreateSrsCqiReport().
|
virtual |
Create the PSD for TX.
Implements ns3::LtePhy.
Definition at line 411 of file lte-enb-phy.cc.
References ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity(), GetDownlinkSubChannels(), ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_dlEarfcn, ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.
Referenced by SetDownlinkSubChannels().
|
private |
Definition at line 354 of file lte-enb-phy.cc.
References m_ueAttached, NS_LOG_ERROR, and NS_LOG_FUNCTION.
Referenced by DoRemoveUe().
std::list< UlDciLteControlMessage > ns3::LteEnbPhy::DequeueUlDci | ( | void | ) |
Definition at line 914 of file lte-enb-phy.cc.
References m_ulDciQueue, and NS_LOG_FUNCTION.
Referenced by StartSubFrame().
|
private |
Definition at line 827 of file lte-enb-phy.cc.
References AddUePhy(), NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
Definition at line 222 of file lte-enb-phy.cc.
References ns3::LtePhy::DoDispose(), m_enbCphySapProvider, m_enbPhySapProvider, m_srsUeOffset, m_ueAttached, and NS_LOG_FUNCTION.
|
private |
Definition at line 381 of file lte-enb-phy.cc.
References ns3::LtePhy::m_macChTtiDelay.
Referenced by ns3::EnbMemberLteEnbPhySapProvider::GetMacChTtiDelay().
|
virtual |
This method is called only once by Object::Initialize. If the user calls Object::Initialize multiple times, DoInitialize is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.
Reimplemented from ns3::Object.
Definition at line 233 of file lte-enb-phy.cc.
References ns3::LteSpectrumValueHelper::CreateNoisePowerSpectralDensity(), ns3::Object::DoInitialize(), ns3::LtePhy::m_noiseFigure, ns3::LtePhy::m_ulBandwidth, ns3::LtePhy::m_ulEarfcn, ns3::LtePhy::m_uplinkSpectrumPhy, and NS_LOG_FUNCTION.
|
private |
Definition at line 836 of file lte-enb-phy.cc.
References DeleteUePhy(), NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
private |
Definition at line 429 of file lte-enb-phy.cc.
References NS_LOG_FUNCTION, and ns3::LtePhy::SetControlMessages().
Referenced by ns3::EnbMemberLteEnbPhySapProvider::SendLteControlMessage().
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
p | the MAC PDU to sent |
Implements ns3::LtePhy.
Definition at line 374 of file lte-enb-phy.cc.
References NS_LOG_FUNCTION, and ns3::LtePhy::SetMacPdu().
Referenced by ns3::EnbMemberLteEnbPhySapProvider::SendMacPdu().
|
private |
Definition at line 795 of file lte-enb-phy.cc.
References ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_rbgSize, ns3::LtePhy::m_ulBandwidth, NS_LOG_FUNCTION, and ns3::Type0AllocationRbg.
Referenced by ns3::EnbMemberLteEnbPhySapProvider::SetBandwidth().
|
private |
Definition at line 818 of file lte-enb-phy.cc.
References ns3::LtePhy::m_dlEarfcn, ns3::LtePhy::m_ulEarfcn, and NS_LOG_FUNCTION.
|
private |
Definition at line 969 of file lte-enb-phy.cc.
References m_mib, and NS_LOG_FUNCTION.
|
private |
Definition at line 936 of file lte-enb-phy.cc.
References ns3::LtePhy::GetSrsPeriodicity(), ns3::LtePhy::GetSrsSubframeOffset(), ns3::LtePhy::m_macChTtiDelay, m_srsCounter, m_srsPeriodicity, m_srsStartTime, m_srsUeOffset, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.
|
private |
Definition at line 900 of file lte-enb-phy.cc.
References NS_LOG_FUNCTION.
void ns3::LteEnbPhy::EndFrame | ( | void | ) |
End a LTE frame.
Definition at line 724 of file lte-enb-phy.cc.
References ns3::Simulator::Now(), NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), and StartFrame().
Referenced by EndSubFrame().
void ns3::LteEnbPhy::EndSubFrame | ( | void | ) |
End a LTE sub frame.
Definition at line 709 of file lte-enb-phy.cc.
References EndFrame(), m_nrSubFrames, ns3::Simulator::Now(), NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), and StartSubFrame().
Referenced by StartSubFrame().
|
virtual |
generate a CQI report based on the given SINR of Ctrl frame
sinr | the SINR vs frequency measured by the device |
Implements ns3::LtePhy.
Definition at line 732 of file lte-enb-phy.cc.
References CreateSrsCqiReport(), m_enbPhySapUser, m_srsStartTime, ns3::Simulator::Now(), NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::UlCqiReport().
|
virtual |
generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs)
sinr | the SINR vs frequency measured by the device |
Implements ns3::LtePhy.
Definition at line 744 of file lte-enb-phy.cc.
References CreatePuschCqiReport(), m_enbPhySapUser, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::UlCqiReport().
Ptr< LteSpectrumPhy > ns3::LteEnbPhy::GetDlSpectrumPhy | ( | ) | const |
Definition at line 324 of file lte-enb-phy.cc.
References ns3::LtePhy::m_downlinkSpectrumPhy.
Referenced by GetTypeId().
std::vector< int > ns3::LteEnbPhy::GetDownlinkSubChannels | ( | void | ) |
Definition at line 404 of file lte-enb-phy.cc.
References m_listOfDownlinkSubchannel, and NS_LOG_FUNCTION.
Referenced by CreateTxPowerSpectralDensity().
LteEnbCphySapProvider * ns3::LteEnbPhy::GetLteEnbCphySapProvider | ( | ) |
Get the CPHY SAP provider.
Definition at line 262 of file lte-enb-phy.cc.
References m_enbCphySapProvider, and NS_LOG_FUNCTION.
LteEnbPhySapProvider * ns3::LteEnbPhy::GetLteEnbPhySapProvider | ( | ) |
Get the PHY SAP provider.
Definition at line 249 of file lte-enb-phy.cc.
References m_enbPhySapProvider.
uint8_t ns3::LteEnbPhy::GetMacChDelay | ( | void | ) | const |
Definition at line 318 of file lte-enb-phy.cc.
References ns3::LtePhy::m_macChTtiDelay.
Referenced by GetTypeId().
double ns3::LteEnbPhy::GetNoiseFigure | ( | ) | const |
Definition at line 290 of file lte-enb-phy.cc.
References ns3::LtePhy::m_noiseFigure, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
double ns3::LteEnbPhy::GetTxPower | ( | ) | const |
Definition at line 276 of file lte-enb-phy.cc.
References ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
|
static |
Definition at line 152 of file lte-enb-phy.cc.
References ns3::TypeId::ATTR_GET, GetDlSpectrumPhy(), GetMacChDelay(), GetNoiseFigure(), GetTxPower(), GetUlSpectrumPhy(), m_dlPhyTransmission, m_interferenceSamplePeriod, m_reportInterferenceTrace, m_reportUeSinr, m_srsSamplePeriod, ns3::MakeTraceSourceAccessor(), SetMacChDelay(), SetNoiseFigure(), ns3::TypeId::SetParent(), and SetTxPower().
Ptr< LteSpectrumPhy > ns3::LteEnbPhy::GetUlSpectrumPhy | ( | ) | const |
Definition at line 330 of file lte-enb-phy.cc.
References ns3::LtePhy::m_uplinkSpectrumPhy.
Referenced by GetTypeId().
PhySpectrum received a new PHY-PDU.
Definition at line 388 of file lte-enb-phy.cc.
References m_enbPhySapUser, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::ReceivePhyPdu().
Referenced by ns3::LteHelper::InstallSingleEnbDevice().
void ns3::LteEnbPhy::QueueUlDci | ( | UlDciLteControlMessage | m | ) |
m | the UL-CQI to be queued |
Definition at line 907 of file lte-enb-phy.cc.
References m_ulDciQueue, NS_LOG_FUNCTION, and UL_PUSCH_TTIS_DELAY.
Referenced by StartSubFrame().
|
virtual |
Receive the control message.
msg | the received message |
Definition at line 439 of file lte-enb-phy.cc.
References m_enbPhySapUser, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::ReceiveLteControlMessage().
|
virtual |
PhySpectrum received a new list of LteControlMessage.
Definition at line 447 of file lte-enb-phy.cc.
References ns3::LteControlMessage::BSR, ns3::LteControlMessage::DL_CQI, ns3::LteControlMessage::DL_HARQ, m_enbPhySapUser, ns3::MacCeListElement_s::m_rnti, ns3::DlInfoListElement_s::m_rnti, ns3::CqiListElement_s::m_rnti, m_ueAttached, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::LteControlMessage::RACH_PREAMBLE, ns3::LteEnbPhySapUser::ReceiveLteControlMessage(), and ns3::LteEnbPhySapUser::ReceiveRachPreamble().
Referenced by ns3::LteHelper::InstallSingleEnbDevice().
|
virtual |
PhySpectrum generated a new UL HARQ feedback.
Definition at line 984 of file lte-enb-phy.cc.
References m_enbPhySapUser, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::UlInfoListElementHarqFeeback().
Referenced by ns3::LteHelper::InstallSingleEnbDevice().
|
virtual |
generate a report based on the linear interference and noise power perceived during DATA frame NOTE: used only by eNB
sinr | the interference + noise power measured by the device |
Implements ns3::LtePhy.
Definition at line 752 of file lte-enb-phy.cc.
References ns3::LtePhy::m_cellId, m_interferenceSampleCounter, m_interferenceSamplePeriod, m_reportInterferenceTrace, and NS_LOG_FUNCTION.
|
virtual |
generate a report based on the linear RS power perceived during CTRL frame NOTE: used only by UE for evaluating RSRP
sinr | the RS power measured by the device |
Implements ns3::LtePhy.
Definition at line 765 of file lte-enb-phy.cc.
void ns3::LteEnbPhy::SendControlChannels | ( | std::list< Ptr< LteControlMessage > > | ctrlMsgList | ) |
Send the PDCCH and PCFICH in the first 3 symbols.
ctrlMsgList | the list of control messages of PDCCH |
Definition at line 675 of file lte-enb-phy.cc.
References ns3::LtePhy::m_cellId, ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_downlinkSpectrumPhy, m_nrSubFrames, NS_LOG_FUNCTION, NS_LOG_LOGIC, and SetDownlinkSubChannels().
Referenced by StartSubFrame().
void ns3::LteEnbPhy::SendDataChannels | ( | Ptr< PacketBurst > | pb | ) |
Send the PDSCH.
pb | the PacketBurst to be sent |
Definition at line 696 of file lte-enb-phy.cc.
References ns3::DL_DATA_DURATION, m_dlDataRbMap, ns3::LtePhy::m_downlinkSpectrumPhy, NS_LOG_LOGIC, and SetDownlinkSubChannels().
Referenced by StartSubFrame().
void ns3::LteEnbPhy::SetDownlinkSubChannels | ( | std::vector< int > | mask | ) |
set the resource blocks (a.k.a. sub channels) to be used in the downlink for transmission
mask | a vector of integers, if the i-th value is j it means that the j-th resource block is used for transmission in the downlink. If there is no i such that the value of the i-th element is j, it means that RB j is not used. |
Definition at line 395 of file lte-enb-phy.cc.
References CreateTxPowerSpectralDensity(), ns3::LtePhy::m_downlinkSpectrumPhy, m_listOfDownlinkSubchannel, and NS_LOG_FUNCTION.
Referenced by SendControlChannels(), and SendDataChannels().
void ns3::LteEnbPhy::SetHarqPhyModule | ( | Ptr< LteHarqPhy > | harq | ) |
Definition at line 977 of file lte-enb-phy.cc.
References m_harqPhyModule.
void ns3::LteEnbPhy::SetLteEnbCphySapUser | ( | LteEnbCphySapUser * | s | ) |
Set the CPHY SAP User.
s | a pointer to the SAP user |
Definition at line 255 of file lte-enb-phy.cc.
References m_enbCphySapUser, NS_LOG_FUNCTION, and s.
void ns3::LteEnbPhy::SetLteEnbPhySapUser | ( | LteEnbPhySapUser * | s | ) |
Set the PHY SAP User.
s | a pointer to the PHY SAP user |
Definition at line 243 of file lte-enb-phy.cc.
References m_enbPhySapUser, and s.
void ns3::LteEnbPhy::SetMacChDelay | ( | uint8_t | delay | ) |
delay | the TTI delay between MAC and channel |
Definition at line 297 of file lte-enb-phy.cc.
References ns3::LtePhy::m_controlMessagesQueue, ns3::LtePhy::m_macChTtiDelay, ns3::LtePhy::m_packetBurstQueue, m_ulDciQueue, NS_LOG_FUNCTION, and UL_PUSCH_TTIS_DELAY.
Referenced by GetTypeId().
void ns3::LteEnbPhy::SetNoiseFigure | ( | double | pow | ) |
pw | the noise figure in dB |
Definition at line 283 of file lte-enb-phy.cc.
References ns3::LtePhy::m_noiseFigure, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::LteEnbPhy::SetTxPower | ( | double | pow | ) |
pw | the transmission power in dBm |
Definition at line 269 of file lte-enb-phy.cc.
References ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
void ns3::LteEnbPhy::StartFrame | ( | void | ) |
Start a LTE frame.
Definition at line 504 of file lte-enb-phy.cc.
References ns3::LtePhy::m_controlMessagesQueue, m_mib, m_nrFrames, m_nrSubFrames, NS_LOG_FUNCTION, NS_LOG_INFO, StartSubFrame(), and ns3::LteRrcSap::MasterInformationBlock::systemFrameNumber.
Referenced by EndFrame(), and LteEnbPhy().
void ns3::LteEnbPhy::StartSubFrame | ( | void | ) |
Start a LTE sub frame.
Definition at line 523 of file lte-enb-phy.cc.
References DequeueUlDci(), ns3::DL_CTRL_DELAY_FROM_SUBFRAME_START, ns3::LteControlMessage::DL_DCI, EndSubFrame(), ns3::LtePhy::GetControlMessages(), ns3::Time::GetMilliSeconds(), ns3::LtePhy::GetPacketBurst(), ns3::LtePhy::GetRbgSize(), ns3::LtePhy::GetTti(), ns3::PhyTransmissionStatParameters::m_cellId, ns3::LtePhy::m_cellId, ns3::UlDciListElement_s::m_cqiRequest, ns3::UlGrant_s::m_cqiRequest, m_currentSrsOffset, m_dlDataRbMap, m_dlPhyTransmission, m_enbPhySapUser, m_harqPhyModule, ns3::UlDciListElement_s::m_hopping, ns3::UlGrant_s::m_hopping, ns3::PhyTransmissionStatParameters::m_imsi, ns3::PhyTransmissionStatParameters::m_layer, ns3::PhyTransmissionStatParameters::m_mcs, ns3::UlDciListElement_s::m_mcs, ns3::UlGrant_s::m_mcs, ns3::PhyTransmissionStatParameters::m_ndi, ns3::UlDciListElement_s::m_ndi, m_nrFrames, m_nrSubFrames, ns3::UlDciListElement_s::m_rbLen, ns3::UlGrant_s::m_rbLen, ns3::UlDciListElement_s::m_rbStart, ns3::UlGrant_s::m_rbStart, ns3::PhyTransmissionStatParameters::m_rnti, ns3::UlDciListElement_s::m_rnti, ns3::UlGrant_s::m_rnti, ns3::PhyTransmissionStatParameters::m_rv, ns3::PhyTransmissionStatParameters::m_size, m_srsPeriodicity, ns3::UlDciListElement_s::m_tbSize, ns3::UlGrant_s::m_tbSize, ns3::PhyTransmissionStatParameters::m_timestamp, ns3::UlDciListElement_s::m_tpc, ns3::UlGrant_s::m_tpc, ns3::PhyTransmissionStatParameters::m_txMode, m_ueAttached, ns3::LtePhy::m_uplinkSpectrumPhy, ns3::Simulator::Now(), NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, QueueUlDci(), ns3::LteControlMessage::RAR, ns3::Simulator::Schedule(), SendControlChannels(), SendDataChannels(), ns3::UlDciLteControlMessage::SetDci(), ns3::LteEnbPhySapUser::SubframeIndication(), and ns3::LteControlMessage::UL_DCI.
Referenced by EndSubFrame(), and StartFrame().
|
friend |
Definition at line 49 of file lte-enb-phy.h.
Referenced by LteEnbPhy().
|
friend |
Definition at line 50 of file lte-enb-phy.h.
|
private |
Definition at line 301 of file lte-enb-phy.h.
Referenced by CreateSrsCqiReport(), and StartSubFrame().
|
private |
Definition at line 284 of file lte-enb-phy.h.
Referenced by SendDataChannels(), and StartSubFrame().
|
private |
Trace information regarding PHY stats from UL Tx perspective PhyTrasmissionStatParameters see lte-common.h
Definition at line 328 of file lte-enb-phy.h.
Referenced by GetTypeId(), and StartSubFrame().
|
private |
Definition at line 291 of file lte-enb-phy.h.
Referenced by DoDispose(), GetLteEnbCphySapProvider(), and LteEnbPhy().
|
private |
Definition at line 292 of file lte-enb-phy.h.
Referenced by SetLteEnbCphySapUser().
|
private |
Definition at line 288 of file lte-enb-phy.h.
Referenced by DoDispose(), GetLteEnbPhySapProvider(), and LteEnbPhy().
|
private |
Definition at line 289 of file lte-enb-phy.h.
Referenced by GenerateCtrlCqiReport(), GenerateDataCqiReport(), PhyPduReceived(), ReceiveLteControlMessage(), ReceiveLteControlMessageList(), ReceiveLteUlHarqFeedback(), SetLteEnbPhySapUser(), and StartSubFrame().
|
private |
Definition at line 305 of file lte-enb-phy.h.
Referenced by LteEnbPhy(), SetHarqPhyModule(), and StartSubFrame().
|
private |
Definition at line 322 of file lte-enb-phy.h.
Referenced by ReportInterference().
|
private |
Definition at line 321 of file lte-enb-phy.h.
Referenced by GetTypeId(), and ReportInterference().
|
private |
Definition at line 282 of file lte-enb-phy.h.
Referenced by GetDownlinkSubChannels(), and SetDownlinkSubChannels().
|
private |
Definition at line 303 of file lte-enb-phy.h.
Referenced by DoSetMasterInformationBlock(), and StartFrame().
|
private |
Definition at line 294 of file lte-enb-phy.h.
Referenced by StartFrame(), and StartSubFrame().
|
private |
Definition at line 295 of file lte-enb-phy.h.
Referenced by EndSubFrame(), SendControlChannels(), StartFrame(), and StartSubFrame().
|
private |
Trace reporting the interference per PHY RB (TS 36.214 section 5.2.2, measured on DATA) uint16_t cellId, Ptr<SpectrumValue> interference linear power per RB basis
Definition at line 320 of file lte-enb-phy.h.
Referenced by GetTypeId(), and ReportInterference().
|
private |
Trace reporting the linear average of SRS SINRs uint16_t cellId, uint16_t rnti, double sinrLinear
Definition at line 311 of file lte-enb-phy.h.
Referenced by CreateSrsReport(), and GetTypeId().
|
private |
Definition at line 299 of file lte-enb-phy.h.
Referenced by DoSetSrsConfigurationIndex().
|
private |
Definition at line 297 of file lte-enb-phy.h.
Referenced by DoSetSrsConfigurationIndex(), and StartSubFrame().
|
private |
Definition at line 313 of file lte-enb-phy.h.
Referenced by CreateSrsReport().
|
private |
Definition at line 312 of file lte-enb-phy.h.
Referenced by CreateSrsReport(), and GetTypeId().
|
private |
Definition at line 298 of file lte-enb-phy.h.
Referenced by DoSetSrsConfigurationIndex(), and GenerateCtrlCqiReport().
|
private |
Definition at line 300 of file lte-enb-phy.h.
Referenced by CreateSrsCqiReport(), DoDispose(), and DoSetSrsConfigurationIndex().
|
private |
Definition at line 280 of file lte-enb-phy.h.
Referenced by AddUePhy(), DeleteUePhy(), DoDispose(), ReceiveLteControlMessageList(), and StartSubFrame().
|
private |
Definition at line 286 of file lte-enb-phy.h.
Referenced by DequeueUlDci(), QueueUlDci(), and SetMacChDelay().