ns-3
|
#include <lte-spectrum-phy.h>
Public Types | |
enum | State { IDLE, TX, RX } |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::LteSpectrumPhy. |
Friends | |
class | LteUePhy |
The LteSpectrumPhy models the physical layer of LTE
It supports a single antenna model instance which is used for both transmission and reception.
PHY states
void ns3::LteSpectrumPhy::AddExpectedTb | ( | uint16_t | rnti, |
uint16_t | size, | ||
uint8_t | mcs, | ||
std::vector< int > | map, | ||
uint8_t | layer | ||
) |
rnti | the rnti of the source of the TB |
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) |
References NS_LOG_LOGIC.
Referenced by ns3::LteUePhy::ReceiveIdealControlMessage(), and ns3::LteEnbPhy::StartSubFrame().
void ns3::LteSpectrumPhy::AddSinrChunkProcessor | ( | Ptr< LteSinrChunkProcessor > | p | ) |
p | the new LteSinrChunkProcessor to be added to the processing chain |
References ns3::LteInterference::AddSinrChunkProcessor().
|
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.
References ns3::Object::Dispose(), and NS_LOG_FUNCTION.
|
virtual |
get the associated MobilityModel instance
Implements ns3::SpectrumPhy.
References NS_LOG_FUNCTION.
Referenced by ns3::LteHelper::Attach().
|
virtual |
get the AntennaModel used by the NetDevice for reception
Implements ns3::SpectrumPhy.
|
virtual |
Implements ns3::SpectrumPhy.
|
static |
This method returns the TypeId associated to ns3::LteSpectrumPhy.
Attributes defined for this type:
TraceSources defined for this type:
Reimplemented from ns3::SpectrumPhy.
References ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
void ns3::LteSpectrumPhy::SetAntenna | ( | Ptr< AntennaModel > | a | ) |
void ns3::LteSpectrumPhy::SetCellId | ( | uint16_t | cellId | ) |
cellId | the Cell Identifier |
Referenced by ns3::LtePhy::DoSetCellId(), and ns3::LteUePhy::SetEnbCellId().
|
virtual |
Set the channel attached to this device.
c | the channel |
Implements ns3::SpectrumPhy.
References NS_LOG_FUNCTION.
Referenced by ns3::LtePhy::SetDownlinkChannel(), and ns3::LtePhy::SetUplinkChannel().
set the associated NetDevice instance
d | the NetDevice instance |
Implements ns3::SpectrumPhy.
References NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetGenericPhyRxEndErrorCallback | ( | GenericPhyRxEndErrorCallback | c | ) |
set the callback for the end of a RX in error, as part of the interconnections betweenthe PHY and the MAC
c | the callback |
References NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetGenericPhyRxEndOkCallback | ( | GenericPhyRxEndOkCallback | c | ) |
set the callback for the successful end of a RX, as part of the interconnections betweenthe PHY and the MAC
c | the callback |
References NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetGenericPhyTxEndCallback | ( | GenericPhyTxEndCallback | c | ) |
set the callback for the end of a TX, as part of the interconnections betweenthe PHY and the MAC
c | the callback |
References NS_LOG_FUNCTION.
|
virtual |
Set the mobility model associated with this device.
m | the mobility model |
Implements ns3::SpectrumPhy.
References 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. |
References ns3::SpectrumValue::GetSpectrumModel(), NS_ASSERT, NS_LOG_FUNCTION, and ns3::LteInterference::SetNoisePowerSpectralDensity().
Referenced by ns3::LteEnbPhy::DoStart(), and ns3::LteUePhy::DoStart().
void ns3::LteSpectrumPhy::SetState | ( | State | newState | ) |
Set the state of the phy layer.
newState | the state |
void ns3::LteSpectrumPhy::SetTransmissionMode | ( | uint8_t | txMode | ) |
txMode | UE transmission mode (SISO, MIMO tx diversity, ...) |
References NS_ASSERT_MSG, and NS_LOG_FUNCTION.
void ns3::LteSpectrumPhy::SetTxPowerSpectralDensity | ( | Ptr< SpectrumValue > | txPsd | ) |
set the Power Spectral Density of outgoing signals in W/Hz.
txPsd |
References NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::LteEnbPhy::DoSetDownlinkSubChannels(), and ns3::LteUePhy::SetSubChannelsForTransmission().
|
virtual |
Notify the SpectrumPhy instance of an incoming signal
params | the parameters of the signals being received |
Implements ns3::SpectrumPhy.
References ns3::LteInterference::AddSignal(), ns3::Now(), ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::Packet::RemovePacketTag(), ns3::Simulator::Schedule(), and ns3::LteInterference::StartRx().
bool ns3::LteSpectrumPhy::StartTx | ( | Ptr< PacketBurst > | pb | ) |
Start a transmission
pb | the burst of packets to be transmitted |
References ns3::Packet::AddPacketTag(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::Simulator::Schedule(), ns3::Seconds(), and ns3::SpectrumChannel::StartTx().
Referenced by ns3::LteEnbPhy::StartSubFrame(), and ns3::LteUePhy::SubframeIndication().
void ns3::LteSpectrumPhy::UpdateSinrPerceived | ( | const SpectrumValue & | sinr | ) |
sinr | vector of sinr perceived per each RB |
References NS_LOG_FUNCTION.