A Discrete-Event Network Simulator
API
lte-spectrum-phy.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2009 CTTC
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Nicola Baldo <nbaldo@cttc.es>
19  * Giuseppe Piro <g.piro@poliba.it>
20  * Modified by: Marco Miozzo <mmiozzo@cttc.es> (introduce physical error model)
21  */
22 
23 #ifndef LTE_SPECTRUM_PHY_H
24 #define LTE_SPECTRUM_PHY_H
25 
26 #include <ns3/event-id.h>
27 #include <ns3/spectrum-value.h>
28 #include <ns3/mobility-model.h>
29 #include <ns3/packet.h>
30 #include <ns3/nstime.h>
31 #include <ns3/net-device.h>
32 #include <ns3/spectrum-phy.h>
33 #include <ns3/spectrum-channel.h>
34 #include <ns3/spectrum-interference.h>
35 #include <ns3/data-rate.h>
36 #include <ns3/generic-phy.h>
37 #include <ns3/packet-burst.h>
38 #include <ns3/lte-interference.h>
39 #include "ns3/random-variable-stream.h"
40 #include <map>
41 #include <ns3/ff-mac-common.h>
42 #include <ns3/lte-harq-phy.h>
43 #include <ns3/lte-common.h>
44 
45 namespace ns3 {
46 
48 struct TbId_t
49 {
50  uint16_t m_rnti;
51  uint8_t m_layer;
52 
53  public:
54  TbId_t ();
61  TbId_t (const uint16_t a, const uint8_t b);
62 
63  friend bool operator == (const TbId_t &a, const TbId_t &b);
64  friend bool operator < (const TbId_t &a, const TbId_t &b);
65 };
66 
67 
69 struct tbInfo_t
70 {
71  uint8_t ndi;
72  uint16_t size;
73  uint8_t mcs;
74  std::vector<int> rbBitmap;
75  uint8_t harqProcessId;
76  uint8_t rv;
77  double mi;
78  bool downlink;
79  bool corrupt;
81 };
82 
83 typedef std::map<TbId_t, tbInfo_t> expectedTbs_t;
84 
85 
86 class LteNetDevice;
87 class AntennaModel;
88 class LteControlMessage;
92 
105 
106 
115 
122 
128 
129 
135 
141 
142 
143 
154 {
155 
156 public:
157  LteSpectrumPhy ();
158  virtual ~LteSpectrumPhy ();
159 
163  enum State
164  {
166  };
167 
172  static TypeId GetTypeId (void);
173  // inherited from Object
174  virtual void DoDispose ();
175 
176  // inherited from SpectrumPhy
179  void SetDevice (Ptr<NetDevice> d);
181  Ptr<NetDevice> GetDevice () const;
204  void SetHarqPhyModule (Ptr<LteHarqPhy> harq);
205 
212 
219 
224  void Reset ();
225 
231  void SetAntenna (Ptr<AntennaModel> a);
232 
244  bool StartTxDataFrame (Ptr<PacketBurst> pb, std::list<Ptr<LteControlMessage> > ctrlMsgList, Time duration);
245 
256  bool StartTxDlCtrlFrame (std::list<Ptr<LteControlMessage> > ctrlMsgList, bool pss);
257 
258 
265  bool StartTxUlSrsFrame ();
266 
274 
282 
290 
298 
306 
314 
322 
327  void SetState (State newState);
328 
334  void SetCellId (uint16_t cellId);
335 
340  void SetComponentCarrierId (uint8_t componentCarrierId);
341 
349 
357 
364 
372 
380 
381 
388 
402  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);
414  void RemoveExpectedTb (uint16_t rnti);
415 
421  void UpdateSinrPerceived (const SpectrumValue& sinr);
422 
428  void SetTransmissionMode (uint8_t txMode);
429 
430 
436 
438  friend class LteUePhy;
439 
448  int64_t AssignStreams (int64_t stream);
449 
450 private:
456  void ChangeState (State newState);
458  void EndTxData ();
460  void EndTxDlCtrl ();
462  void EndTxUlSrs ();
464  void EndRxData ();
466  void EndRxDlCtrl ();
468  void EndRxUlSrs ();
469 
476  void SetTxModeGain (uint8_t txMode, double gain);
477 
478 
482 
484 
488  std::list<Ptr<PacketBurst> > m_rxPacketBurstList;
489 
490  std::list<Ptr<LteControlMessage> > m_txControlMessageList;
491  std::list<Ptr<LteControlMessage> > m_rxControlMessageList;
492 
493 
497 
503 
506 
510 
513 
514  uint16_t m_cellId;
515 
519 
524 
526  uint8_t m_layersNum;
527  std::vector <double> m_txModeGain;
528 
532 
533 
539 
540 
546 
551 
552 
553 };
554 
555 
556 
557 
558 
559 
560 }
561 
562 #endif /* LTE_SPECTRUM_PHY_H */
ns3::LteSpectrumPhy::SetHarqPhyModule
void SetHarqPhyModule(Ptr< LteHarqPhy > harq)
Set HARQ phy function.
Definition: lte-spectrum-phy.cc:435
ns3::LteSpectrumPhy::LteSpectrumPhy
LteSpectrumPhy()
Definition: lte-spectrum-phy.cc:127
ns3::LteSpectrumPhy::m_mobility
Ptr< MobilityModel > m_mobility
the modility model
Definition: lte-spectrum-phy.h:479
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::LteUePhy
The LteSpectrumPhy models the physical layer of LTE.
Definition: lte-ue-phy.h:55
ns3::LteSpectrumPhy::m_state
State m_state
the state
Definition: lte-spectrum-phy.h:494
ns3::TbId_t
TbId_t structure.
Definition: lte-spectrum-phy.h:49
ns3::LteSpectrumSignalParametersDataFrame
Signal parameters for Lte Data Frame (PDSCH), and eventually after some control messages through othe...
Definition: lte-spectrum-signal-parameters.h:71
ns3::LteSpectrumSignalParametersDlCtrlFrame
Signal parameters for Lte DL Ctrl Frame (RS, PCFICH and PDCCH)
Definition: lte-spectrum-signal-parameters.h:104
ns3::LteSpectrumPhy::m_txControlMessageList
std::list< Ptr< LteControlMessage > > m_txControlMessageList
the transmit control message list
Definition: lte-spectrum-phy.h:490
ns3::LteSpectrumPhy::m_phyRxEndErrorTrace
TracedCallback< Ptr< const Packet > > m_phyRxEndErrorTrace
the phy receive end error trace callback
Definition: lte-spectrum-phy.h:502
ns3::LteSpectrumPhy::SetLtePhyUlHarqFeedbackCallback
void SetLtePhyUlHarqFeedbackCallback(LtePhyUlHarqFeedbackCallback c)
set the callback for the UL HARQ feedback as part of the interconnections between the LteSpectrumPhy ...
Definition: lte-spectrum-phy.cc:399
ns3::tbInfo_t::downlink
bool downlink
whether is downlink
Definition: lte-spectrum-phy.h:78
ns3::LteSpectrumPhy::m_ltePhyUlHarqFeedbackCallback
LtePhyUlHarqFeedbackCallback m_ltePhyUlHarqFeedbackCallback
the LTE phy UL HARQ feedback callback
Definition: lte-spectrum-phy.h:531
ns3::LtePhyUlHarqFeedbackCallback
Callback< void, UlInfoListElement_s > LtePhyUlHarqFeedbackCallback
This method is used by the LteSpectrumPhy to notify the PHY about the status of a certain UL HARQ pro...
Definition: lte-spectrum-phy.h:140
ns3::EventId
An identifier for simulation events.
Definition: event-id.h:54
ns3::Callback< void >
ns3::LteSpectrumPhy::StartTxDlCtrlFrame
bool StartTxDlCtrlFrame(std::list< Ptr< LteControlMessage > > ctrlMsgList, bool pss)
Start a transmission of control frame in DL.
Definition: lte-spectrum-phy.cc:503
ns3::LteSpectrumPhy::SetLtePhyDlHarqFeedbackCallback
void SetLtePhyDlHarqFeedbackCallback(LtePhyDlHarqFeedbackCallback c)
set the callback for the DL HARQ feedback as part of the interconnections between the LteSpectrumPhy ...
Definition: lte-spectrum-phy.cc:392
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LteSpectrumPhy::AddInterferenceDataChunkProcessor
void AddInterferenceDataChunkProcessor(Ptr< LteChunkProcessor > p)
LteChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe.
Definition: lte-spectrum-phy.cc:1266
ns3::LteSpectrumPhy
The LteSpectrumPhy models the physical layer of LTE.
Definition: lte-spectrum-phy.h:154
ns3::LteSpectrumPhy::m_sinrPerceived
SpectrumValue m_sinrPerceived
the preceived SINR
Definition: lte-spectrum-phy.h:518
ns3::LteSpectrumPhy::RemoveExpectedTb
void RemoveExpectedTb(uint16_t rnti)
Remove expected transport block.
Definition: lte-spectrum-phy.cc:952
ns3::LteSpectrumPhy::TX_UL_SRS
@ TX_UL_SRS
Definition: lte-spectrum-phy.h:165
ns3::LteSpectrumPhy::StartRxDlCtrl
void StartRxDlCtrl(Ptr< LteSpectrumSignalParametersDlCtrlFrame > lteDlCtrlRxParams)
Start receive DL control function.
Definition: lte-spectrum-phy.cc:770
ns3::LteSpectrumPhy::RX_DATA
@ RX_DATA
Definition: lte-spectrum-phy.h:165
ns3::LteSpectrumPhy::State
State
PHY states.
Definition: lte-spectrum-phy.h:164
ns3::LteSpectrumPhy::EndTxUlSrs
void EndTxUlSrs()
End transmit UL SRS function.
Definition: lte-spectrum-phy.cc:641
ns3::LteSpectrumPhy::m_harqPhyModule
Ptr< LteHarqPhy > m_harqPhyModule
the HARQ phy module
Definition: lte-spectrum-phy.h:529
ns3::LteSpectrumPhy::m_txPsd
Ptr< SpectrumValue > m_txPsd
the transmit PSD
Definition: lte-spectrum-phy.h:486
ns3::LteSpectrumPhy::~LteSpectrumPhy
virtual ~LteSpectrumPhy()
Definition: lte-spectrum-phy.cc:148
ns3::LteSpectrumPhy::StartRxData
void StartRxData(Ptr< LteSpectrumSignalParametersDataFrame > params)
Start receive data function.
Definition: lte-spectrum-phy.cc:692
ns3::LteSpectrumPhy::SetAntenna
void SetAntenna(Ptr< AntennaModel > a)
set the AntennaModel to be used
Definition: lte-spectrum-phy.cc:413
ns3::LteSpectrumPhy::SetLtePhyRxDataEndErrorCallback
void SetLtePhyRxDataEndErrorCallback(LtePhyRxDataEndErrorCallback c)
set the callback for the end of a RX in error, as part of the interconnections between the PHY and th...
Definition: lte-spectrum-phy.cc:355
ns3::LteSpectrumPhy::m_antenna
Ptr< AntennaModel > m_antenna
the antenna model
Definition: lte-spectrum-phy.h:480
ns3::LteSpectrumPhy::SetLtePhyRxCtrlEndOkCallback
void SetLtePhyRxCtrlEndOkCallback(LtePhyRxCtrlEndOkCallback c)
set the callback for the successful end of a RX ctrl frame, as part of the interconnections between t...
Definition: lte-spectrum-phy.cc:370
ns3::LteSpectrumPhy::SetCellId
void SetCellId(uint16_t cellId)
Definition: lte-spectrum-phy.cc:1230
ns3::LteSpectrumPhy::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: lte-spectrum-phy.cc:212
ns3::LteSpectrumPhy::m_firstRxDuration
Time m_firstRxDuration
the first receive duration
Definition: lte-spectrum-phy.h:496
ns3::LteSpectrumPhy::m_ltePhyRxCtrlEndOkCallback
LtePhyRxCtrlEndOkCallback m_ltePhyRxCtrlEndOkCallback
the LTE phy receive control end ok callback
Definition: lte-spectrum-phy.h:507
ns3::LteSpectrumPhy::m_expectedTbs
expectedTbs_t m_expectedTbs
the expected TBS
Definition: lte-spectrum-phy.h:517
ns3::LteSpectrumPhy::m_txPacketBurst
Ptr< PacketBurst > m_txPacketBurst
the transmit packet burst
Definition: lte-spectrum-phy.h:487
ns3::tbInfo_t
tbInfo_t structure
Definition: lte-spectrum-phy.h:70
ns3::LteSpectrumPhy::EndRxData
void EndRxData()
End receive data function.
Definition: lte-spectrum-phy.cc:974
ns3::LteSpectrumPhy::m_txModeGain
std::vector< double > m_txModeGain
duplicate value of LteUePhy
Definition: lte-spectrum-phy.h:527
ns3::TbId_t::operator==
friend bool operator==(const TbId_t &a, const TbId_t &b)
Equality operator.
Definition: lte-spectrum-phy.cc:107
ns3::LteSpectrumPhy::m_dlPhyReception
TracedCallback< PhyReceptionStatParameters > m_dlPhyReception
Trace information regarding PHY stats from DL Rx perspective PhyReceptionStatParameters (see lte-comm...
Definition: lte-spectrum-phy.h:538
ns3::tbInfo_t::ndi
uint8_t ndi
New data indicator.
Definition: lte-spectrum-phy.h:71
ns3::LteSpectrumPhy::GetRxSpectrumModel
Ptr< const SpectrumModel > GetRxSpectrumModel() const
Definition: lte-spectrum-phy.cc:307
ns3::LteSpectrumPhy::AddDataSinrChunkProcessor
void AddDataSinrChunkProcessor(Ptr< LteChunkProcessor > p)
Definition: lte-spectrum-phy.cc:1254
ns3::LtePhyRxPssCallback
Callback< void, uint16_t, Ptr< SpectrumValue > > LtePhyRxPssCallback
This method is used by the LteSpectrumPhy to notify the UE PHY that a PSS has been received.
Definition: lte-spectrum-phy.h:127
ns3::LteSpectrumPhy::RX_UL_SRS
@ RX_UL_SRS
Definition: lte-spectrum-phy.h:165
ns3::LteSpectrumPhy::SetChannel
void SetChannel(Ptr< SpectrumChannel > c)
Set the channel attached to this device.
Definition: lte-spectrum-phy.cc:294
ns3::LteSpectrumPhy::IDLE
@ IDLE
Definition: lte-spectrum-phy.h:165
ns3::LteSpectrumPhy::m_cellId
uint16_t m_cellId
the cell ID
Definition: lte-spectrum-phy.h:514
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
ns3::LteSpectrumPhy::SetNoisePowerSpectralDensity
void SetNoisePowerSpectralDensity(Ptr< const SpectrumValue > noisePsd)
set the noise power spectral density
Definition: lte-spectrum-phy.cc:323
ns3::LteSpectrumPhy::SetTransmissionMode
void SetTransmissionMode(uint8_t txMode)
Definition: lte-spectrum-phy.cc:1278
ns3::LteSpectrumPhy::m_random
Ptr< UniformRandomVariable > m_random
Provides uniform random variables.
Definition: lte-spectrum-phy.h:521
ns3::LteSpectrumPhy::m_firstRxStart
Time m_firstRxStart
the first receive start
Definition: lte-spectrum-phy.h:495
ns3::expectedTbs_t
std::map< TbId_t, tbInfo_t > expectedTbs_t
expectedTbs_t typedef
Definition: lte-spectrum-phy.h:83
ns3::LteSpectrumPhy::m_interferenceData
Ptr< LteInterference > m_interferenceData
the data interference
Definition: lte-spectrum-phy.h:511
ns3::tbInfo_t::harqProcessId
uint8_t harqProcessId
HARQ process id.
Definition: lte-spectrum-phy.h:75
ns3::LteSpectrumPhy::m_channel
Ptr< SpectrumChannel > m_channel
the channel
Definition: lte-spectrum-phy.h:483
ns3::LteSpectrumPhy::SetLtePhyRxPssCallback
void SetLtePhyRxPssCallback(LtePhyRxPssCallback c)
set the callback for the reception of the PSS as part of the interconnections between the LteSpectrum...
Definition: lte-spectrum-phy.cc:385
ns3::LtePhyRxDataEndOkCallback
Callback< void, Ptr< Packet > > LtePhyRxDataEndOkCallback
This method is used by the LteSpectrumPhy to notify the PHY that a previously started RX attempt has ...
Definition: lte-spectrum-phy.h:104
ns3::LteSpectrumPhy::DoDispose
virtual void DoDispose()
Destructor implementation.
Definition: lte-spectrum-phy.cc:155
ns3::tbInfo_t::rbBitmap
std::vector< int > rbBitmap
Resource block bitmap.
Definition: lte-spectrum-phy.h:74
ns3::LteSpectrumPhy::ChangeState
void ChangeState(State newState)
Change state function.
Definition: lte-spectrum-phy.cc:427
ns3::LteSpectrumPhy::AddDataPowerChunkProcessor
void AddDataPowerChunkProcessor(Ptr< LteChunkProcessor > p)
Definition: lte-spectrum-phy.cc:1248
ns3::TbId_t::operator<
friend bool operator<(const TbId_t &a, const TbId_t &b)
Less than operator.
Definition: lte-spectrum-phy.cc:120
ns3::SpectrumPhy
Abstract base class for Spectrum-aware PHY layers.
Definition: spectrum-phy.h:46
ns3::LteSpectrumPhy::RX_DL_CTRL
@ RX_DL_CTRL
Definition: lte-spectrum-phy.h:165
ns3::LtePhyRxCtrlEndOkCallback
Callback< void, std::list< Ptr< LteControlMessage > > > LtePhyRxCtrlEndOkCallback
This method is used by the LteSpectrumPhy to notify the PHY that a previously started RX of a control...
Definition: lte-spectrum-phy.h:114
ns3::LteSpectrumPhy::m_ltePhyRxCtrlEndErrorCallback
LtePhyRxCtrlEndErrorCallback m_ltePhyRxCtrlEndErrorCallback
the LTE phy receive control end error callback
Definition: lte-spectrum-phy.h:508
ns3::LteSpectrumPhy::m_ltePhyRxDataEndErrorCallback
LtePhyRxDataEndErrorCallback m_ltePhyRxDataEndErrorCallback
the LTE phy receive data end error callback
Definition: lte-spectrum-phy.h:504
ns3::SpectrumValue
Set of values corresponding to a given SpectrumModel.
Definition: spectrum-value.h:59
ns3::LteSpectrumPhy::m_ltePhyRxPssCallback
LtePhyRxPssCallback m_ltePhyRxPssCallback
the LTE phy receive PSS callback
Definition: lte-spectrum-phy.h:509
ns3::AntennaModel
interface for antenna radiation pattern models
Definition: antenna-model.h:45
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:104
ns3::LteSpectrumPhy::SetComponentCarrierId
void SetComponentCarrierId(uint8_t componentCarrierId)
Definition: lte-spectrum-phy.cc:1236
ns3::LteSpectrumPhy::SetTxModeGain
void SetTxModeGain(uint8_t txMode, double gain)
Set transmit mode gain function.
Definition: lte-spectrum-phy.cc:1288
ns3::LteSpectrumPhy::StartRx
void StartRx(Ptr< SpectrumSignalParameters > params)
Notify the SpectrumPhy instance of an incoming signal.
Definition: lte-spectrum-phy.cc:655
ns3::LteSpectrumPhy::m_rxControlMessageList
std::list< Ptr< LteControlMessage > > m_rxControlMessageList
the receive control message list
Definition: lte-spectrum-phy.h:491
ns3::LteSpectrumPhy::UpdateSinrPerceived
void UpdateSinrPerceived(const SpectrumValue &sinr)
Definition: lte-spectrum-phy.cc:925
ns3::LteSpectrumPhy::m_rxPacketBurstList
std::list< Ptr< PacketBurst > > m_rxPacketBurstList
the receive burst list
Definition: lte-spectrum-phy.h:488
list
#define list
Definition: openflow-interface.h:47
ns3::TbId_t::TbId_t
TbId_t()
Definition: lte-spectrum-phy.cc:91
ns3::LteSpectrumPhy::AddCtrlSinrChunkProcessor
void AddCtrlSinrChunkProcessor(Ptr< LteChunkProcessor > p)
Definition: lte-spectrum-phy.cc:1272
ns3::LteSpectrumPhy::GetRxAntenna
Ptr< AntennaModel > GetRxAntenna() const
Get the AntennaModel used by the NetDevice for reception.
Definition: lte-spectrum-phy.cc:407
ns3::LteSpectrumPhy::AssignStreams
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
Definition: lte-spectrum-phy.cc:1314
ns3::LteSpectrumPhy::SetMobility
void SetMobility(Ptr< MobilityModel > m)
Set the mobility model associated with this device.
Definition: lte-spectrum-phy.cc:286
ns3::tbInfo_t::harqFeedbackSent
bool harqFeedbackSent
is HARQ feedback sent
Definition: lte-spectrum-phy.h:80
ns3::LteSpectrumPhy::m_endRxUlSrsEvent
EventId m_endRxUlSrsEvent
end receive UL SRS event
Definition: lte-spectrum-phy.h:550
ns3::LteSpectrumPhy::m_phyRxStartTrace
TracedCallback< Ptr< const PacketBurst > > m_phyRxStartTrace
the phy receive start trace callback
Definition: lte-spectrum-phy.h:500
ns3::LteSpectrumPhy::m_rxSpectrumModel
Ptr< const SpectrumModel > m_rxSpectrumModel
the spectrum model
Definition: lte-spectrum-phy.h:485
ns3::LteSpectrumPhy::EndRxUlSrs
void EndRxUlSrs()
End receive UL SRS function.
Definition: lte-spectrum-phy.cc:1221
ns3::TbId_t::m_layer
uint8_t m_layer
layer
Definition: lte-spectrum-phy.h:51
ns3::LteSpectrumPhy::m_phyTxStartTrace
TracedCallback< Ptr< const PacketBurst > > m_phyTxStartTrace
the phy transmit start trace callback
Definition: lte-spectrum-phy.h:498
ns3::LteSpectrumPhy::m_endRxDlCtrlEvent
EventId m_endRxDlCtrlEvent
end receive DL control event
Definition: lte-spectrum-phy.h:549
ns3::LteSpectrumPhy::EndTxDlCtrl
void EndTxDlCtrl()
End transmit DL control function.
Definition: lte-spectrum-phy.cc:630
ns3::LteSpectrumPhy::StartTxDataFrame
bool StartTxDataFrame(Ptr< PacketBurst > pb, std::list< Ptr< LteControlMessage > > ctrlMsgList, Time duration)
Start a transmission of data frame in DL and UL.
Definition: lte-spectrum-phy.cc:444
ns3::LtePhyDlHarqFeedbackCallback
Callback< void, DlInfoListElement_s > LtePhyDlHarqFeedbackCallback
This method is used by the LteSpectrumPhy to notify the PHY about the status of a certain DL HARQ pro...
Definition: lte-spectrum-phy.h:134
ns3::LteSpectrumPhy::m_endTxEvent
EventId m_endTxEvent
end transmit event
Definition: lte-spectrum-phy.h:547
ns3::LteSpectrumPhy::TX_DATA
@ TX_DATA
Definition: lte-spectrum-phy.h:165
ns3::LtePhyRxDataEndErrorCallback
Callback< void > LtePhyRxDataEndErrorCallback
This method is used by the LteSpectrumPhy to notify the PHY that a previously started RX attempt has ...
Definition: lte-spectrum-phy.h:91
ns3::LteSpectrumPhy::m_ctrlErrorModelEnabled
bool m_ctrlErrorModelEnabled
when true (default) the phy error model is enabled for DL ctrl frame
Definition: lte-spectrum-phy.h:523
ns3::LteSpectrumPhy::TX_DL_CTRL
@ TX_DL_CTRL
Definition: lte-spectrum-phy.h:165
ns3::LteSpectrumPhy::GetDevice
Ptr< NetDevice > GetDevice() const
Get the associated NetDevice instance.
Definition: lte-spectrum-phy.cc:262
ns3::LteSpectrumPhy::m_transmissionMode
uint8_t m_transmissionMode
for UEs: store the transmission mode
Definition: lte-spectrum-phy.h:525
ns3::TbId_t::m_rnti
uint16_t m_rnti
RNTI.
Definition: lte-spectrum-phy.h:50
ns3::LteSpectrumPhy::Reset
void Reset()
reset the internal state
Definition: lte-spectrum-phy.cc:334
ns3::LteSpectrumPhy::m_ulPhyReception
TracedCallback< PhyReceptionStatParameters > m_ulPhyReception
Trace information regarding PHY stats from UL Rx perspective PhyReceptionStatParameters (see lte-comm...
Definition: lte-spectrum-phy.h:545
ns3::LteSpectrumPhy::m_dataErrorModelEnabled
bool m_dataErrorModelEnabled
when true (default) the phy error model is enabled
Definition: lte-spectrum-phy.h:522
ns3::LteSpectrumPhy::m_phyRxEndOkTrace
TracedCallback< Ptr< const Packet > > m_phyRxEndOkTrace
the phy receive end ok trace callback
Definition: lte-spectrum-phy.h:501
ns3::LteSpectrumPhy::m_componentCarrierId
uint8_t m_componentCarrierId
the component carrier ID
Definition: lte-spectrum-phy.h:516
ns3::tbInfo_t::mcs
uint8_t mcs
MCS.
Definition: lte-spectrum-phy.h:73
ns3::LteSpectrumPhy::StartTxUlSrsFrame
bool StartTxUlSrsFrame()
Start a transmission of control frame in UL.
Definition: lte-spectrum-phy.cc:561
ns3::tbInfo_t::size
uint16_t size
Transport block size.
Definition: lte-spectrum-phy.h:72
ns3::LteControlMessage
The LteControlMessage provides a basic implementations for control messages (such as PDCCH allocation...
Definition: lte-control-messages.h:44
ns3::LteSpectrumPhy::EndRxDlCtrl
void EndRxDlCtrl()
End receive DL control function.
Definition: lte-spectrum-phy.cc:1173
ns3::LteSpectrumPhy::m_phyTxEndTrace
TracedCallback< Ptr< const PacketBurst > > m_phyTxEndTrace
the phy transmit end trace callback
Definition: lte-spectrum-phy.h:499
ns3::LteSpectrumPhy::AddRsPowerChunkProcessor
void AddRsPowerChunkProcessor(Ptr< LteChunkProcessor > p)
Definition: lte-spectrum-phy.cc:1242
ns3::LteSpectrumPhy::m_interferenceCtrl
Ptr< LteInterference > m_interferenceCtrl
the control interference
Definition: lte-spectrum-phy.h:512
ns3::LteSpectrumPhy::m_device
Ptr< NetDevice > m_device
the device
Definition: lte-spectrum-phy.h:481
ns3::tbInfo_t::corrupt
bool corrupt
whether is corrupt
Definition: lte-spectrum-phy.h:79
ns3::LteNetDevice
LteNetDevice provides basic implementation for all LTE network devices.
Definition: lte-net-device.h:49
ns3::LteSpectrumPhy::m_layersNum
uint8_t m_layersNum
layers num
Definition: lte-spectrum-phy.h:526
ns3::tbInfo_t::rv
uint8_t rv
Redundancy version.
Definition: lte-spectrum-phy.h:76
ns3::LteSpectrumPhy::SetLtePhyRxCtrlEndErrorCallback
void SetLtePhyRxCtrlEndErrorCallback(LtePhyRxCtrlEndErrorCallback c)
set the callback for the erroneous end of a RX ctrl frame, as part of the interconnections between th...
Definition: lte-spectrum-phy.cc:377
ns3::LteSpectrumPhy::m_ltePhyRxDataEndOkCallback
LtePhyRxDataEndOkCallback m_ltePhyRxDataEndOkCallback
the LTE phy receive data end ok callback
Definition: lte-spectrum-phy.h:505
ns3::LteSpectrumPhy::SetTxPowerSpectralDensity
void SetTxPowerSpectralDensity(Ptr< SpectrumValue > txPsd)
set the Power Spectral Density of outgoing signals in W/Hz.
Definition: lte-spectrum-phy.cc:314
ns3::LteSpectrumPhy::SetLtePhyRxDataEndOkCallback
void SetLtePhyRxDataEndOkCallback(LtePhyRxDataEndOkCallback c)
set the callback for the successful end of a RX, as part of the interconnections between the PHY and ...
Definition: lte-spectrum-phy.cc:363
ns3::TracedCallback
Forward calls to a chain of Callback.
Definition: traced-callback.h:53
ns3::LteSpectrumPhy::m_endRxDataEvent
EventId m_endRxDataEvent
end receive data event
Definition: lte-spectrum-phy.h:548
ns3::LteSpectrumSignalParametersUlSrsFrame
Signal parameters for Lte SRS Frame.
Definition: lte-spectrum-signal-parameters.h:135
ns3::LteSpectrumPhy::EndTxData
void EndTxData()
End transmit data function.
Definition: lte-spectrum-phy.cc:618
ns3::LteSpectrumPhy::AddExpectedTb
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)
Definition: lte-spectrum-phy.cc:933
ns3::tbInfo_t::mi
double mi
Mutual information.
Definition: lte-spectrum-phy.h:77
ns3::LtePhyRxCtrlEndErrorCallback
Callback< void > LtePhyRxCtrlEndErrorCallback
This method is used by the LteSpectrumPhy to notify the PHY that a previously started RX of a control...
Definition: lte-spectrum-phy.h:121
ns3::LteSpectrumPhy::m_ltePhyDlHarqFeedbackCallback
LtePhyDlHarqFeedbackCallback m_ltePhyDlHarqFeedbackCallback
the LTE phy DL HARQ feedback callback
Definition: lte-spectrum-phy.h:530
ns3::LteSpectrumPhy::GetChannel
Ptr< SpectrumChannel > GetChannel()
Definition: lte-spectrum-phy.cc:301
ns3::LteSpectrumPhy::StartRxUlSrs
void StartRxUlSrs(Ptr< LteSpectrumSignalParametersUlSrsFrame > lteUlSrsRxParams)
Start receive UL SRS function.
Definition: lte-spectrum-phy.cc:854
ns3::LteSpectrumPhy::SetDevice
void SetDevice(Ptr< NetDevice > d)
Set the associated NetDevice instance.
Definition: lte-spectrum-phy.cc:278
ns3::LteSpectrumPhy::SetState
void SetState(State newState)
Set the state of the phy layer.
Definition: lte-spectrum-phy.cc:420
ns3::LteSpectrumPhy::GetMobility
Ptr< MobilityModel > GetMobility() const
Get the associated MobilityModel instance.
Definition: lte-spectrum-phy.cc:270
ns3::LteSpectrumPhy::AddInterferenceCtrlChunkProcessor
void AddInterferenceCtrlChunkProcessor(Ptr< LteChunkProcessor > p)
LteChunkProcessor devoted to evaluate interference + noise power in control symbols of the subframe.
Definition: lte-spectrum-phy.cc:1260