22 #include <ns3/waveform-generator.h>
23 #include <ns3/object-factory.h>
26 #include <ns3/simulator.h>
27 #include "ns3/spectrum-error-model.h"
47 : m_downlinkSpectrumPhy (dlPhy),
48 m_uplinkSpectrumPhy (ulPhy),
151 uint16_t SrsPeriodicity[9] = {0, 2, 5, 10, 20, 40, 80, 160, 320};
152 uint16_t SrsCiLow[9] = {0, 0, 2, 7, 17, 37, 77, 157, 317};
153 uint16_t SrsCiHigh[9] = {0, 1, 6, 16, 36, 76, 156, 316, 636};
155 for (i = 8; i > 0; i --)
157 if ((srcCi>=SrsCiLow[i])&&(srcCi<=SrsCiHigh[i]))
162 return SrsPeriodicity[i];
169 uint16_t SrsSubframeOffset[9] = {0, 0, 2, 7, 17, 37, 77, 157, 317};
170 uint16_t SrsCiLow[9] = {0, 0, 2, 7, 17, 37, 77, 157, 317};
171 uint16_t SrsCiHigh[9] = {0, 1, 6, 16, 36, 76, 156, 316, 636};
173 for (i = 8; i > 0; i --)
175 if ((srcCi>=SrsCiLow[i])&&(srcCi<=SrsCiHigh[i]))
180 return (srcCi - SrsSubframeOffset[i]);
222 std::list<Ptr<LteControlMessage> >
230 std::list<Ptr<LteControlMessage> > newlist;
237 std::list<Ptr<LteControlMessage> > newlist;
239 std::list<Ptr<LteControlMessage> > emptylist;
void SetDevice(Ptr< LteNetDevice > d)
Set the device where the phy layer is attached.
static TypeId GetTypeId(void)
smart pointer class similar to boost::intrusive_ptr
#define NS_LOG_FUNCTION(parameters)
void DoSetCellId(uint16_t cellId)
std::vector< Ptr< PacketBurst > > m_packetBurstQueue
uint16_t GetSrsPeriodicity(uint16_t srcCi) const
double GetTti(void) const
NS_OBJECT_ENSURE_REGISTERED(NullMessageSimulatorImpl)
Ptr< LteSpectrumPhy > m_downlinkSpectrumPhy
void SetUplinkChannel(Ptr< SpectrumChannel > c)
Set the uplink channel.
Ptr< LteSpectrumPhy > GetUplinkSpectrumPhy()
virtual void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
Ptr< LteNetDevice > GetDevice()
Get the device where the phy layer is attached.
#define NS_FATAL_ERROR(msg)
fatal error handling
uint16_t GetSrsSubframeOffset(uint16_t srcCi) const
void DoDispose()
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
uint8_t GetRbgSize(void) const
void SetDownlinkChannel(Ptr< SpectrumChannel > c)
Set the downlink channel.
Ptr< LteSpectrumPhy > GetDownlinkSpectrumPhy()
void SetControlMessages(Ptr< LteControlMessage > m)
NS_LOG_COMPONENT_DEFINE("LtePhy")
Ptr< LteNetDevice > m_netDevice
std::list< Ptr< LteControlMessage > > GetControlMessages(void)
Ptr< PacketBurst > GetPacketBurst(void)
std::vector< std::list< Ptr< LteControlMessage > > > m_controlMessagesQueue
a base class which provides memory management and object aggregation
Ptr< LteSpectrumPhy > m_uplinkSpectrumPhy
void SetMacPdu(Ptr< Packet > p)
a unique identifier for an interface.
TypeId SetParent(TypeId tid)