The LteSpectrumPhy models the physical layer of LTE. More...
#include <lte-spectrum-phy.h>
Public Types | |
enum | State { IDLE, TX, RX_DATA, RX_CTRL } |
PHY states. More... | |
Public Member Functions | |
LteSpectrumPhy () | |
virtual | ~LteSpectrumPhy () |
void | AddCtrlSinrChunkProcessor (Ptr< LteChunkProcessor > p) |
void | AddDataPowerChunkProcessor (Ptr< LteChunkProcessor > p) |
void | AddDataSinrChunkProcessor (Ptr< LteChunkProcessor > p) |
void | AddExpectedTb (uint16_t rnti, uint8_t ndi, uint16_t size, uint8_t mcs, std::vector< int > map, uint8_t layer, uint8_t harqId, uint8_t rv, bool downlink) |
void | AddInterferenceCtrlChunkProcessor (Ptr< LteChunkProcessor > p) |
LteChunkProcessor devoted to evaluate interference + noise power in control symbols of the subframe. More... | |
void | AddInterferenceDataChunkProcessor (Ptr< LteChunkProcessor > p) |
LteChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe. More... | |
void | AddRsPowerChunkProcessor (Ptr< LteChunkProcessor > p) |
int64_t | AssignStreams (int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
virtual void | DoDispose () |
Destructor implementation. More... | |
Ptr< SpectrumChannel > | GetChannel () |
Ptr< NetDevice > | GetDevice () |
get the associated NetDevice instance More... | |
Ptr< MobilityModel > | GetMobility () |
get the associated MobilityModel instance More... | |
Ptr< AntennaModel > | GetRxAntenna () |
get the AntennaModel used by the NetDevice for reception More... | |
Ptr< const SpectrumModel > | GetRxSpectrumModel () const |
void | Reset () |
reset the internal state More... | |
void | SetAntenna (Ptr< AntennaModel > a) |
set the AntennaModel to be used More... | |
void | SetCellId (uint16_t cellId) |
void | SetChannel (Ptr< SpectrumChannel > c) |
Set the channel attached to this device. More... | |
void | SetDevice (Ptr< NetDevice > d) |
set the associated NetDevice instance More... | |
void | SetHarqPhyModule (Ptr< LteHarqPhy > harq) |
void | SetLtePhyDlHarqFeedbackCallback (LtePhyDlHarqFeedbackCallback c) |
set the callback for the DL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY More... | |
void | SetLtePhyRxCtrlEndErrorCallback (LtePhyRxCtrlEndErrorCallback c) |
set the callback for the erroneous end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY More... | |
void | SetLtePhyRxCtrlEndOkCallback (LtePhyRxCtrlEndOkCallback c) |
set the callback for the successful end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY More... | |
void | SetLtePhyRxDataEndErrorCallback (LtePhyRxDataEndErrorCallback c) |
set the callback for the end of a RX in error, as part of the interconnections between the PHY and the MAC More... | |
void | SetLtePhyRxDataEndOkCallback (LtePhyRxDataEndOkCallback c) |
set the callback for the successful end of a RX, as part of the interconnections between the PHY and the MAC More... | |
void | SetLtePhyRxPssCallback (LtePhyRxPssCallback c) |
set the callback for the reception of the PSS as part of the interconnections between the LteSpectrumPhy and the UE PHY More... | |
void | SetLtePhyTxEndCallback (LtePhyTxEndCallback c) |
set the callback for the end of a TX, as part of the interconnections between the PHY and the MAC More... | |
void | SetLtePhyUlHarqFeedbackCallback (LtePhyUlHarqFeedbackCallback c) |
set the callback for the UL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY More... | |
void | SetMobility (Ptr< MobilityModel > m) |
Set the mobility model associated with this device. More... | |
void | SetNoisePowerSpectralDensity (Ptr< const SpectrumValue > noisePsd) |
set the noise power spectral density More... | |
void | SetState (State newState) |
Set the state of the phy layer. More... | |
void | SetTransmissionMode (uint8_t txMode) |
void | SetTxPowerSpectralDensity (Ptr< SpectrumValue > txPsd) |
set the Power Spectral Density of outgoing signals in W/Hz. More... | |
void | StartRx (Ptr< SpectrumSignalParameters > params) |
Notify the SpectrumPhy instance of an incoming signal. More... | |
void | StartRxCtrl (Ptr< SpectrumSignalParameters > params) |
void | StartRxData (Ptr< LteSpectrumSignalParametersDataFrame > params) |
bool | StartTxDataFrame (Ptr< PacketBurst > pb, std::list< Ptr< LteControlMessage > > ctrlMsgList, Time duration) |
Start a transmission of data frame in DL and UL. More... | |
bool | StartTxDlCtrlFrame (std::list< Ptr< LteControlMessage > > ctrlMsgList, bool pss) |
Start a transmission of control frame in DL. More... | |
bool | StartTxUlSrsFrame () |
Start a transmission of control frame in UL. More... | |
void | UpdateSinrPerceived (const SpectrumValue &sinr) |
![]() | |
SpectrumPhy () | |
virtual | ~SpectrumPhy () |
![]() | |
Object () | |
Constructor. More... | |
virtual | ~Object () |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose (void) |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator (void) const |
Get an iterator to the Objects aggregated to this one. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Implement the GetInstanceTypeId method defined in ObjectBase. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object. More... | |
void | Initialize (void) |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising erros. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Member Functions | |
void | ChangeState (State newState) |
void | EndRxData () |
void | EndRxDlCtrl () |
void | EndRxUlSrs () |
void | EndTx () |
void | SetTxModeGain (uint8_t txMode, double gain) |
Friends | |
class | LteUePhy |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | DoInitialize (void) |
Initialize() implementation. More... | |
virtual void | NotifyNewAggregate (void) |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted (void) |
Notifier called once the ObjectBase is fully constructed. More... | |
![]() | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
The LteSpectrumPhy models the physical layer of LTE.
It supports a single antenna model instance which is used for both transmission and reception.
ns3::LteSpectrumPhy is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 592 bytes (on a 64-bit architecture).
Definition at line 153 of file lte-spectrum-phy.h.
ns3::LteSpectrumPhy::LteSpectrumPhy | ( | ) |
Definition at line 114 of file lte-spectrum-phy.cc.
References m_interferenceCtrl, m_interferenceData, m_random, m_txModeGain, NS_LOG_FUNCTION, and ns3::ObjectBase::SetAttribute().
|
virtual |
Definition at line 134 of file lte-spectrum-phy.cc.
References m_expectedTbs, m_txModeGain, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::AddCtrlSinrChunkProcessor | ( | Ptr< LteChunkProcessor > | p | ) |
p | the new LteChunkProcessor to be added to the ctrl processing chain |
Definition at line 1155 of file lte-spectrum-phy.cc.
References m_interferenceCtrl.
void ns3::LteSpectrumPhy::AddDataPowerChunkProcessor | ( | Ptr< LteChunkProcessor > | p | ) |
p | the new LteChunkProcessor to be added to the Data Channel power processing chain |
Definition at line 1131 of file lte-spectrum-phy.cc.
References m_interferenceData.
void ns3::LteSpectrumPhy::AddDataSinrChunkProcessor | ( | Ptr< LteChunkProcessor > | p | ) |
p | the new LteChunkProcessor to be added to the data processing chain |
Definition at line 1137 of file lte-spectrum-phy.cc.
References m_interferenceData.
void ns3::LteSpectrumPhy::AddExpectedTb | ( | uint16_t | rnti, |
uint8_t | ndi, | ||
uint16_t | size, | ||
uint8_t | mcs, | ||
std::vector< int > | map, | ||
uint8_t | layer, | ||
uint8_t | harqId, | ||
uint8_t | rv, | ||
bool | downlink | ||
) |
rnti | the rnti of the source of the TB |
ndi | new data indicator flag |
size | the size of the TB |
mcs | the MCS of the TB |
map | the map of RB(s) used |
layer | the layer (in case of MIMO tx) |
harqId | the id of the HARQ process (valid only for DL) |
downlink | true when the TB is for DL |
Definition at line 842 of file lte-spectrum-phy.cc.
References m_expectedTbs, ns3::TbId_t::m_layer, ns3::TbId_t::m_rnti, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::AddInterferenceCtrlChunkProcessor | ( | Ptr< LteChunkProcessor > | p | ) |
LteChunkProcessor devoted to evaluate interference + noise power in control symbols of the subframe.
p | the new LteChunkProcessor to be added to the data processing chain |
Definition at line 1143 of file lte-spectrum-phy.cc.
References m_interferenceCtrl.
void ns3::LteSpectrumPhy::AddInterferenceDataChunkProcessor | ( | Ptr< LteChunkProcessor > | p | ) |
LteChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe.
p | the new LteChunkProcessor to be added to the data processing chain |
Definition at line 1149 of file lte-spectrum-phy.cc.
References m_interferenceData.
void ns3::LteSpectrumPhy::AddRsPowerChunkProcessor | ( | Ptr< LteChunkProcessor > | p | ) |
p | the new LteChunkProcessor to be added to the RS power processing chain |
Definition at line 1125 of file lte-spectrum-phy.cc.
References m_interferenceCtrl.
int64_t ns3::LteSpectrumPhy::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.
stream | first stream index to use |
Definition at line 1197 of file lte-spectrum-phy.cc.
References m_random, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
private |
Definition at line 409 of file lte-spectrum-phy.cc.
References m_state, and NS_LOG_LOGIC.
Referenced by EndRxData(), EndRxDlCtrl(), EndRxUlSrs(), EndTx(), SetState(), StartRxCtrl(), StartRxData(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
virtual |
Destructor implementation.
This method is called by 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 141 of file lte-spectrum-phy.cc.
References ns3::Object::DoDispose(), m_channel, m_device, m_interferenceCtrl, m_interferenceData, m_ltePhyDlHarqFeedbackCallback, m_ltePhyRxCtrlEndErrorCallback, m_ltePhyRxCtrlEndOkCallback, m_ltePhyRxDataEndErrorCallback, m_ltePhyRxDataEndOkCallback, m_ltePhyRxPssCallback, m_ltePhyTxEndCallback, m_ltePhyUlHarqFeedbackCallback, m_mobility, and NS_LOG_FUNCTION.
|
private |
Definition at line 862 of file lte-spectrum-phy.cc.
References ns3::DlInfoListElement_s::ACK, ChangeState(), ns3::LteRadioBearerTag::GetLayer(), ns3::Time::GetMilliSeconds(), ns3::LteRadioBearerTag::GetRnti(), ns3::LteMiErrorModel::GetTbDecodificationStats(), ns3::UniformRandomVariable::GetValue(), IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), list, ns3::PhyReceptionStatParameters::m_cellId, m_cellId, ns3::PhyReceptionStatParameters::m_correctness, m_dataErrorModelEnabled, m_dlPhyReception, m_expectedTbs, m_harqPhyModule, ns3::DlInfoListElement_s::m_harqProcessId, ns3::DlInfoListElement_s::m_harqStatus, ns3::PhyReceptionStatParameters::m_imsi, m_interferenceData, ns3::TbId_t::m_layer, ns3::PhyReceptionStatParameters::m_layer, m_layersNum, m_ltePhyDlHarqFeedbackCallback, m_ltePhyRxCtrlEndOkCallback, m_ltePhyRxDataEndOkCallback, m_ltePhyUlHarqFeedbackCallback, ns3::PhyReceptionStatParameters::m_mcs, ns3::PhyReceptionStatParameters::m_ndi, m_phyRxEndErrorTrace, m_phyRxEndOkTrace, m_random, ns3::UlInfoListElement_s::m_receptionStatus, ns3::TbId_t::m_rnti, ns3::PhyReceptionStatParameters::m_rnti, ns3::UlInfoListElement_s::m_rnti, ns3::DlInfoListElement_s::m_rnti, ns3::PhyReceptionStatParameters::m_rv, m_rxControlMessageList, m_rxPacketBurstList, m_sinrPerceived, ns3::PhyReceptionStatParameters::m_size, m_state, ns3::PhyReceptionStatParameters::m_timestamp, ns3::UlInfoListElement_s::m_tpc, m_transmissionMode, ns3::PhyReceptionStatParameters::m_txMode, m_txModeGain, m_ulPhyReception, ns3::TbStats_t::mi, ns3::DlInfoListElement_s::NACK, ns3::UlInfoListElement_s::NotOk, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::UlInfoListElement_s::Ok, RX_DATA, and ns3::TbStats_t::tbler.
Referenced by StartRxData().
|
private |
Definition at line 1060 of file lte-spectrum-phy.cc.
References ChangeState(), ns3::LteMiErrorModel::GetPcfichPdcchError(), ns3::UniformRandomVariable::GetValue(), IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_ctrlErrorModelEnabled, m_interferenceCtrl, m_ltePhyRxCtrlEndErrorCallback, m_ltePhyRxCtrlEndOkCallback, m_random, m_rxControlMessageList, m_sinrPerceived, m_state, m_transmissionMode, m_txModeGain, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RX_CTRL.
Referenced by StartRxCtrl().
|
private |
Definition at line 1109 of file lte-spectrum-phy.cc.
References ChangeState(), IDLE, m_interferenceCtrl, m_state, NS_ASSERT, and RX_CTRL.
Referenced by StartRxCtrl().
|
private |
Definition at line 596 of file lte-spectrum-phy.cc.
References ChangeState(), ns3::Packet::Copy(), IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), list, m_ltePhyTxEndCallback, m_phyTxEndTrace, m_state, m_txPacketBurst, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, and TX.
Referenced by StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
Ptr< SpectrumChannel > ns3::LteSpectrumPhy::GetChannel | ( | void | ) |
Definition at line 274 of file lte-spectrum-phy.cc.
References m_channel.
Referenced by LteHardFrTestCase::DoRun(), LteStrictFrTestCase::DoRun(), LteStrictFrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), and LteDistributedFfrAreaTestCase::DoRun().
get the associated NetDevice instance
Implements ns3::SpectrumPhy.
Definition at line 235 of file lte-spectrum-phy.cc.
References m_device, and NS_LOG_FUNCTION.
|
virtual |
get the associated MobilityModel instance
Implements ns3::SpectrumPhy.
Definition at line 243 of file lte-spectrum-phy.cc.
References m_mobility, and NS_LOG_FUNCTION.
|
virtual |
get the AntennaModel used by the NetDevice for reception
Implements ns3::SpectrumPhy.
Definition at line 389 of file lte-spectrum-phy.cc.
References m_antenna.
|
virtual |
Implements ns3::SpectrumPhy.
Definition at line 280 of file lte-spectrum-phy.cc.
References m_rxSpectrumModel.
|
static |
Definition at line 186 of file lte-spectrum-phy.cc.
References m_ctrlErrorModelEnabled, m_dataErrorModelEnabled, m_dlPhyReception, m_phyRxEndErrorTrace, m_phyRxEndOkTrace, m_phyRxStartTrace, m_phyTxEndTrace, m_phyTxStartTrace, m_ulPhyReception, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
void ns3::LteSpectrumPhy::Reset | ( | void | ) |
reset the internal state
Definition at line 307 of file lte-spectrum-phy.cc.
References ns3::EventId::Cancel(), IDLE, m_cellId, m_endRxDataEvent, m_endRxDlCtrlEvent, m_endRxUlSrsEvent, m_endTxEvent, m_expectedTbs, m_layersNum, m_rxControlMessageList, m_rxPacketBurstList, m_rxSpectrumModel, m_state, m_transmissionMode, m_txControlMessageList, m_txPacketBurst, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetAntenna | ( | Ptr< AntennaModel > | a | ) |
set the AntennaModel to be used
a | the Antenna Model |
Definition at line 395 of file lte-spectrum-phy.cc.
References m_antenna, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetCellId | ( | uint16_t | cellId | ) |
cellId | the Cell Identifier |
Definition at line 1118 of file lte-spectrum-phy.cc.
References m_cellId.
|
virtual |
Set the channel attached to this device.
c | the channel |
Implements ns3::SpectrumPhy.
Definition at line 267 of file lte-spectrum-phy.cc.
References m_channel, and NS_LOG_FUNCTION.
set the associated NetDevice instance
d | the NetDevice instance |
Implements ns3::SpectrumPhy.
Definition at line 251 of file lte-spectrum-phy.cc.
References m_device, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetHarqPhyModule | ( | Ptr< LteHarqPhy > | harq | ) |
Definition at line 417 of file lte-spectrum-phy.cc.
References m_harqPhyModule.
void ns3::LteSpectrumPhy::SetLtePhyDlHarqFeedbackCallback | ( | LtePhyDlHarqFeedbackCallback | c | ) |
set the callback for the DL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY
c | the callback |
Definition at line 374 of file lte-spectrum-phy.cc.
References m_ltePhyDlHarqFeedbackCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyRxCtrlEndErrorCallback | ( | LtePhyRxCtrlEndErrorCallback | c | ) |
set the callback for the erroneous end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY
c | the callback |
Definition at line 359 of file lte-spectrum-phy.cc.
References m_ltePhyRxCtrlEndErrorCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyRxCtrlEndOkCallback | ( | LtePhyRxCtrlEndOkCallback | c | ) |
set the callback for the successful end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY
c | the callback |
Definition at line 352 of file lte-spectrum-phy.cc.
References m_ltePhyRxCtrlEndOkCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyRxDataEndErrorCallback | ( | LtePhyRxDataEndErrorCallback | c | ) |
set the callback for the end of a RX in error, as part of the interconnections between the PHY and the MAC
c | the callback |
Definition at line 337 of file lte-spectrum-phy.cc.
References m_ltePhyRxDataEndErrorCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyRxDataEndOkCallback | ( | LtePhyRxDataEndOkCallback | c | ) |
set the callback for the successful end of a RX, as part of the interconnections between the PHY and the MAC
c | the callback |
Definition at line 345 of file lte-spectrum-phy.cc.
References m_ltePhyRxDataEndOkCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyRxPssCallback | ( | LtePhyRxPssCallback | c | ) |
set the callback for the reception of the PSS as part of the interconnections between the LteSpectrumPhy and the UE PHY
c | the callback |
Definition at line 367 of file lte-spectrum-phy.cc.
References m_ltePhyRxPssCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyTxEndCallback | ( | LtePhyTxEndCallback | c | ) |
set the callback for the end of a TX, as part of the interconnections between the PHY and the MAC
c | the callback |
Definition at line 329 of file lte-spectrum-phy.cc.
References m_ltePhyTxEndCallback, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetLtePhyUlHarqFeedbackCallback | ( | LtePhyUlHarqFeedbackCallback | c | ) |
set the callback for the UL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY
c | the callback |
Definition at line 381 of file lte-spectrum-phy.cc.
References m_ltePhyUlHarqFeedbackCallback, and NS_LOG_FUNCTION.
|
virtual |
Set the mobility model associated with this device.
m | the mobility model |
Implements ns3::SpectrumPhy.
Definition at line 259 of file lte-spectrum-phy.cc.
References m_mobility, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetNoisePowerSpectralDensity | ( | Ptr< const SpectrumValue > | noisePsd | ) |
set the noise power spectral density
noisePsd | the Noise Power Spectral Density in power units (Watt, Pascal...) per Hz. |
Definition at line 296 of file lte-spectrum-phy.cc.
References m_interferenceCtrl, m_interferenceData, m_rxSpectrumModel, NS_ASSERT, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetState | ( | State | newState | ) |
Set the state of the phy layer.
newState | the state |
Definition at line 402 of file lte-spectrum-phy.cc.
References ChangeState().
void ns3::LteSpectrumPhy::SetTransmissionMode | ( | uint8_t | txMode | ) |
txMode | UE transmission mode (SISO, MIMO tx diversity, ...) |
Definition at line 1161 of file lte-spectrum-phy.cc.
References m_layersNum, m_transmissionMode, m_txModeGain, NS_ASSERT_MSG, NS_LOG_FUNCTION, and ns3::TransmissionModesLayers::TxMode2LayerNum().
|
private |
Definition at line 1171 of file lte-spectrum-phy.cc.
References m_txModeGain, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetTxPowerSpectralDensity | ( | Ptr< SpectrumValue > | txPsd | ) |
set the Power Spectral Density of outgoing signals in W/Hz.
txPsd |
Definition at line 287 of file lte-spectrum-phy.cc.
References m_txPsd, NS_ASSERT, and NS_LOG_FUNCTION.
|
virtual |
Notify the SpectrumPhy instance of an incoming signal.
params | the parameters of the signals being received |
Implements ns3::SpectrumPhy.
Definition at line 621 of file lte-spectrum-phy.cc.
References m_interferenceCtrl, m_interferenceData, m_state, NS_LOG_FUNCTION, NS_LOG_LOGIC, StartRxCtrl(), and StartRxData().
void ns3::LteSpectrumPhy::StartRxCtrl | ( | Ptr< SpectrumSignalParameters > | params | ) |
Definition at line 733 of file lte-spectrum-phy.cc.
References ChangeState(), EndRxDlCtrl(), EndRxUlSrs(), IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_cellId, m_endRxDlCtrlEvent, m_endRxUlSrsEvent, m_firstRxDuration, m_firstRxStart, m_interferenceCtrl, m_ltePhyRxPssCallback, m_rxControlMessageList, m_state, ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), and TX.
Referenced by StartRx().
void ns3::LteSpectrumPhy::StartRxData | ( | Ptr< LteSpectrumSignalParametersDataFrame > | params | ) |
Definition at line 657 of file lte-spectrum-phy.cc.
References ChangeState(), EndRxData(), IDLE, m_cellId, m_endRxDataEvent, m_firstRxDuration, m_firstRxStart, m_interferenceData, m_phyRxStartTrace, m_rxControlMessageList, m_rxPacketBurstList, m_state, ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), and TX.
Referenced by StartRx().
bool ns3::LteSpectrumPhy::StartTxDataFrame | ( | Ptr< PacketBurst > | pb, |
std::list< Ptr< LteControlMessage > > | ctrlMsgList, | ||
Time | duration | ||
) |
Start a transmission of data frame in DL and UL.
pb | the burst of packets to be transmitted in PDSCH/PUSCH |
ctrlMsgList | the list of LteControlMessage to send |
duration | the duration of the data frame |
Definition at line 426 of file lte-spectrum-phy.cc.
References ChangeState(), EndTx(), IDLE, m_antenna, m_cellId, m_channel, m_endTxEvent, m_phyTxStartTrace, m_state, m_txPacketBurst, m_txPsd, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), and TX.
bool ns3::LteSpectrumPhy::StartTxDlCtrlFrame | ( | std::list< Ptr< LteControlMessage > > | ctrlMsgList, |
bool | pss | ||
) |
Start a transmission of control frame in DL.
ctrlMsgList | the burst of control messages to be transmitted |
pss | the flag for transmitting the primary synchronization signal |
Definition at line 482 of file lte-spectrum-phy.cc.
References ChangeState(), ns3::DL_CTRL_DURATION, EndTx(), IDLE, m_antenna, m_cellId, m_channel, m_endTxEvent, m_state, m_txPsd, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), and TX.
bool ns3::LteSpectrumPhy::StartTxUlSrsFrame | ( | ) |
Start a transmission of control frame in UL.
Definition at line 540 of file lte-spectrum-phy.cc.
References ChangeState(), EndTx(), IDLE, m_antenna, m_cellId, m_channel, m_endTxEvent, m_state, m_txPsd, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), TX, and ns3::UL_SRS_DURATION.
void ns3::LteSpectrumPhy::UpdateSinrPerceived | ( | const SpectrumValue & | sinr | ) |
sinr | vector of sinr perceived per each RB |
Definition at line 834 of file lte-spectrum-phy.cc.
References m_sinrPerceived, and NS_LOG_FUNCTION.
Referenced by ns3::LteHelper::InstallSingleEnbDevice(), and ns3::LteHelper::InstallSingleUeDevice().
|
friend |
Definition at line 409 of file lte-spectrum-phy.h.
|
private |
Definition at line 432 of file lte-spectrum-phy.h.
Referenced by GetRxAntenna(), SetAntenna(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
private |
Definition at line 467 of file lte-spectrum-phy.h.
Referenced by EndRxData(), Reset(), SetCellId(), StartRxCtrl(), StartRxData(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
private |
Definition at line 435 of file lte-spectrum-phy.h.
Referenced by DoDispose(), GetChannel(), SetChannel(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
private |
Definition at line 475 of file lte-spectrum-phy.h.
Referenced by EndRxDlCtrl(), and GetTypeId().
|
private |
Definition at line 474 of file lte-spectrum-phy.h.
Referenced by EndRxData(), and GetTypeId().
Definition at line 433 of file lte-spectrum-phy.h.
Referenced by DoDispose(), GetDevice(), and SetDevice().
|
private |
Trace information regarding PHY stats from DL Rx perspective PhyReceptionStatParameters (see lte-common.h)
Definition at line 490 of file lte-spectrum-phy.h.
Referenced by EndRxData(), and GetTypeId().
|
private |
Definition at line 500 of file lte-spectrum-phy.h.
Referenced by Reset(), and StartRxData().
|
private |
Definition at line 501 of file lte-spectrum-phy.h.
Referenced by Reset(), and StartRxCtrl().
|
private |
Definition at line 502 of file lte-spectrum-phy.h.
Referenced by Reset(), and StartRxCtrl().
|
private |
Definition at line 499 of file lte-spectrum-phy.h.
Referenced by Reset(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
private |
Definition at line 469 of file lte-spectrum-phy.h.
Referenced by AddExpectedTb(), EndRxData(), Reset(), and ~LteSpectrumPhy().
|
private |
Definition at line 448 of file lte-spectrum-phy.h.
Referenced by StartRxCtrl(), and StartRxData().
|
private |
Definition at line 447 of file lte-spectrum-phy.h.
Referenced by StartRxCtrl(), and StartRxData().
|
private |
Definition at line 481 of file lte-spectrum-phy.h.
Referenced by EndRxData(), and SetHarqPhyModule().
|
private |
Definition at line 465 of file lte-spectrum-phy.h.
Referenced by AddCtrlSinrChunkProcessor(), AddInterferenceCtrlChunkProcessor(), AddRsPowerChunkProcessor(), DoDispose(), EndRxDlCtrl(), EndRxUlSrs(), LteSpectrumPhy(), SetNoisePowerSpectralDensity(), StartRx(), and StartRxCtrl().
|
private |
Definition at line 464 of file lte-spectrum-phy.h.
Referenced by AddDataPowerChunkProcessor(), AddDataSinrChunkProcessor(), AddInterferenceDataChunkProcessor(), DoDispose(), EndRxData(), LteSpectrumPhy(), SetNoisePowerSpectralDensity(), StartRx(), and StartRxData().
|
private |
Definition at line 478 of file lte-spectrum-phy.h.
Referenced by EndRxData(), Reset(), and SetTransmissionMode().
|
private |
Definition at line 482 of file lte-spectrum-phy.h.
Referenced by DoDispose(), EndRxData(), and SetLtePhyDlHarqFeedbackCallback().
|
private |
Definition at line 461 of file lte-spectrum-phy.h.
Referenced by DoDispose(), EndRxDlCtrl(), and SetLtePhyRxCtrlEndErrorCallback().
|
private |
Definition at line 460 of file lte-spectrum-phy.h.
Referenced by DoDispose(), EndRxData(), EndRxDlCtrl(), and SetLtePhyRxCtrlEndOkCallback().
|
private |
Definition at line 457 of file lte-spectrum-phy.h.
Referenced by DoDispose(), and SetLtePhyRxDataEndErrorCallback().
|
private |
Definition at line 458 of file lte-spectrum-phy.h.
Referenced by DoDispose(), EndRxData(), and SetLtePhyRxDataEndOkCallback().
|
private |
Definition at line 462 of file lte-spectrum-phy.h.
Referenced by DoDispose(), SetLtePhyRxPssCallback(), and StartRxCtrl().
|
private |
Definition at line 456 of file lte-spectrum-phy.h.
Referenced by DoDispose(), EndTx(), and SetLtePhyTxEndCallback().
|
private |
Definition at line 483 of file lte-spectrum-phy.h.
Referenced by DoDispose(), EndRxData(), and SetLtePhyUlHarqFeedbackCallback().
|
private |
Definition at line 431 of file lte-spectrum-phy.h.
Referenced by DoDispose(), GetMobility(), and SetMobility().
|
private |
Definition at line 454 of file lte-spectrum-phy.h.
Referenced by EndRxData(), and GetTypeId().
|
private |
Definition at line 453 of file lte-spectrum-phy.h.
Referenced by EndRxData(), and GetTypeId().
|
private |
Definition at line 452 of file lte-spectrum-phy.h.
Referenced by GetTypeId(), and StartRxData().
|
private |
Definition at line 451 of file lte-spectrum-phy.h.
Referenced by EndTx(), and GetTypeId().
|
private |
Definition at line 450 of file lte-spectrum-phy.h.
Referenced by GetTypeId(), and StartTxDataFrame().
|
private |
Provides uniform random variables.
Definition at line 473 of file lte-spectrum-phy.h.
Referenced by AssignStreams(), EndRxData(), EndRxDlCtrl(), and LteSpectrumPhy().
|
private |
Definition at line 443 of file lte-spectrum-phy.h.
Referenced by EndRxData(), EndRxDlCtrl(), Reset(), StartRxCtrl(), and StartRxData().
|
private |
Definition at line 440 of file lte-spectrum-phy.h.
Referenced by EndRxData(), Reset(), and StartRxData().
|
private |
Definition at line 437 of file lte-spectrum-phy.h.
Referenced by GetRxSpectrumModel(), Reset(), and SetNoisePowerSpectralDensity().
|
private |
Definition at line 470 of file lte-spectrum-phy.h.
Referenced by EndRxData(), EndRxDlCtrl(), and UpdateSinrPerceived().
|
private |
Definition at line 446 of file lte-spectrum-phy.h.
Referenced by ChangeState(), EndRxData(), EndRxDlCtrl(), EndRxUlSrs(), EndTx(), Reset(), StartRx(), StartRxCtrl(), StartRxData(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
private |
Definition at line 477 of file lte-spectrum-phy.h.
Referenced by EndRxData(), EndRxDlCtrl(), Reset(), and SetTransmissionMode().
|
private |
Definition at line 442 of file lte-spectrum-phy.h.
Referenced by Reset().
|
private |
Definition at line 479 of file lte-spectrum-phy.h.
Referenced by EndRxData(), EndRxDlCtrl(), LteSpectrumPhy(), SetTransmissionMode(), SetTxModeGain(), and ~LteSpectrumPhy().
|
private |
Definition at line 439 of file lte-spectrum-phy.h.
Referenced by EndTx(), Reset(), and StartTxDataFrame().
|
private |
Definition at line 438 of file lte-spectrum-phy.h.
Referenced by SetTxPowerSpectralDensity(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().
|
private |
Trace information regarding PHY stats from UL Rx perspective PhyReceptionStatParameters (see lte-common.h)
Definition at line 497 of file lte-spectrum-phy.h.
Referenced by EndRxData(), and GetTypeId().