A Discrete-Event Network Simulator
API
lr-wpan-phy.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011 The Boeing Company
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation;
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  *
17  * Author:
18  * Gary Pei <guangyu.pei@boeing.com>
19  * Sascha Alexander Jopen <jopen@cs.uni-bonn.de>
20  */
21 #ifndef LR_WPAN_PHY_H
22 #define LR_WPAN_PHY_H
23 
25 
26 #include <ns3/event-id.h>
27 #include <ns3/spectrum-phy.h>
28 #include <ns3/traced-callback.h>
29 #include <ns3/traced-value.h>
30 
31 #include <iostream>
32 
33 namespace ns3
34 {
35 
36 class Packet;
37 class SpectrumValue;
38 class LrWpanErrorModel;
39 struct LrWpanSpectrumSignalParameters;
40 class MobilityModel;
41 class SpectrumChannel;
42 class SpectrumModel;
43 class AntennaModel;
44 class NetDevice;
45 class UniformRandomVariable;
46 class ErrorModel;
47 
54 {
55  double averagePower;
58 };
59 
67 {
68  double bitRate;
69  double symbolRate;
70 };
71 
79 {
80  double shrPreamble;
81  double shrSfd;
82  double phr;
83 };
84 
91 {
102 };
103 
111 {
124  IEEE_802_15_4_PHY_UNSPECIFIED = 0xc // all cases not covered by ieee802.15.4
125 };
126 
134 std::ostream& operator<<(std::ostream& os, const LrWpanPhyEnumeration& state);
135 
143 std::ostream& operator<<(std::ostream& os, const TracedValue<LrWpanPhyEnumeration>& state);
144 
145 namespace TracedValueCallback
146 {
155 } // namespace TracedValueCallback
156 
163 {
167  phyCCAMode = 0x03,
171  phySymbolsPerOctet = 0x07
172 };
173 
179 struct LrWpanPhyPibAttributes : public SimpleRefCount<LrWpanPhyPibAttributes>
180 {
182  uint32_t phyChannelsSupported[32];
186  uint8_t phyCCAMode;
187  uint8_t phyCurrentPage;
189  uint32_t phySHRDuration;
191 };
192 
203 
212 
221 
231 
241 typedef Callback<void,
246 
255 
266 
273 class LrWpanPhy : public SpectrumPhy
274 {
275  public:
281  static TypeId GetTypeId();
282 
286  LrWpanPhy();
287  ~LrWpanPhy() override;
288 
289  // inherited from SpectrumPhy
290  void SetMobility(Ptr<MobilityModel> m) override;
291  Ptr<MobilityModel> GetMobility() const override;
292  void SetChannel(Ptr<SpectrumChannel> c) override;
293 
300  void SetDevice(Ptr<NetDevice> d) override;
301  Ptr<NetDevice> GetDevice() const override;
302 
309  Ptr<Object> GetAntenna() const override;
311 
318 
326 
333 
340  void SetPhyOption(LrWpanPhyOption phyOption);
341 
353  void SetRxSensitivity(double dbmSensitivity);
354 
360  double GetRxSensitivity();
361 
368 
376  void PdDataRequest(const uint32_t psduLength, Ptr<Packet> p);
377 
383  void PlmeCcaRequest();
384 
388  void CcaCancel();
389 
395  void PlmeEdRequest();
396 
404 
412 
421  Ptr<LrWpanPhyPibAttributes> attribute);
422 
430 
438 
446 
454 
462 
470 
478 
484  uint8_t GetCurrentPage() const;
485 
491  uint8_t GetCurrentChannelNum() const;
492 
499  double GetDataOrSymbolRate(bool isData);
500 
507 
514 
527 
534  uint64_t GetPhySHRDuration() const;
535 
542  double GetPhySymbolsPerOctet() const;
543 
550  double GetCurrentSignalPsd();
551 
559  int64_t AssignStreams(int64_t stream);
560 
571  typedef void (*StateTracedCallback)(Time time,
572  LrWpanPhyEnumeration oldState,
573  LrWpanPhyEnumeration newState);
574 
575  private:
579  typedef std::pair<Ptr<Packet>, bool> PacketAndStatus;
580 
581  // Inherited from Object.
582  void DoInitialize() override;
583  void DoDispose() override;
584 
590  void ChangeTrxState(LrWpanPhyEnumeration newState);
591 
599 
605  void EndTx();
606 
611  void CheckInterference();
612 
624 
632  void CancelEd(LrWpanPhyEnumeration state);
633 
638  void EndEd();
639 
644  void EndCca();
645 
650  void EndSetTRXState();
651 
660 
667 
674  bool ChannelSupported(uint8_t channel);
675 
682  bool PageSupported(uint8_t page);
683 
690  bool PhyIsBusy() const;
691 
692  // Trace sources
700 
708 
716 
724 
735 
744 
754 
772 
779  double WToDbm(double watt);
780 
787  double DbmToW(double dbm);
788 
793 
798 
803 
808 
813 
818 
823 
828 
829  // State variables
834 
840 
841  // Callbacks
847 
853 
859 
865 
871 
877 
883 
888 
893 
898 
903 
908 
915 
920 
927  std::pair<Ptr<LrWpanSpectrumSignalParameters>, bool> m_currentRxPacket;
928 
936 
941 
946 
951 
956 
961 
963 };
964 
965 } // namespace ns3
966 
967 #endif /* LR_WPAN_PHY_H */
Callback template class.
Definition: callback.h:438
An identifier for simulation events.
Definition: event-id.h:55
Make LrWpanPhy a SpectrumPhy so we can enable the eventual modeling of device interference.
Definition: lr-wpan-phy.h:274
double GetCurrentSignalPsd()
Get the current accumulated sum of signals in the transceiver including signals considered as interfe...
static TypeId GetTypeId()
Get the type ID.
Definition: lr-wpan-phy.cc:146
Ptr< const SpectrumValue > m_noise
The spectral density for for the noise.
Definition: lr-wpan-phy.h:817
std::pair< Ptr< Packet >, bool > PacketAndStatus
The second is true if the first is flagged as error/invalid.
Definition: lr-wpan-phy.h:579
void SetPdDataConfirmCallback(PdDataConfirmCallback c)
set the callback for the end of a TX, as part of the interconnections between the PHY and the MAC.
void SetPhyOption(LrWpanPhyOption phyOption)
Set the modulation option used by this PHY.
void(* StateTracedCallback)(Time time, LrWpanPhyEnumeration oldState, LrWpanPhyEnumeration newState)
TracedCallback signature for Trx state change events.
Definition: lr-wpan-phy.h:571
void EndTx()
Finish the transmission of a frame.
EventId m_setTRXState
Scheduler event of a currently running deferred transceiver state switch.
Definition: lr-wpan-phy.h:950
Ptr< const SpectrumValue > GetNoisePowerSpectralDensity()
Get the noise power spectral density.
bool ChannelSupported(uint8_t channel)
Check if the given channel is supported by the PHY.
Definition: lr-wpan-phy.cc:993
Ptr< SpectrumValue > m_txPsd
The transmit power spectral density.
Definition: lr-wpan-phy.h:812
void ChangeTrxState(LrWpanPhyEnumeration newState)
Change the PHY state to the given new state, firing the state change trace.
PlmeSetAttributeConfirmCallback m_plmeSetAttributeConfirmCallback
This callback is used to report attribute set results back to the MAC.
Definition: lr-wpan-phy.h:882
void SetPlmeGetAttributeConfirmCallback(PlmeGetAttributeConfirmCallback c)
set the callback for the end of an GetAttribute, as part of the interconnections between the PHY and ...
Time CalculateTxTime(Ptr< const Packet > packet)
Calculate the time required for sending the given packet, including preamble, SFD and PHR.
Ptr< AntennaModel > m_antenna
The antenna used by the transceiver.
Definition: lr-wpan-phy.h:807
double GetDataOrSymbolRate(bool isData)
implement PLME SetAttribute confirm SAP bit rate is in bit/s.
void SetPlmeSetTRXStateConfirmCallback(PlmeSetTRXStateConfirmCallback c)
set the callback for the end of an SetTRXState, as part of the interconnections between the PHY and t...
void PlmeSetTRXStateRequest(LrWpanPhyEnumeration state)
IEEE 802.15.4-2006 section 6.2.2.7 PLME-SET-TRX-STATE.request Set PHY state.
Definition: lr-wpan-phy.cc:805
void SetTxPowerSpectralDensity(Ptr< SpectrumValue > txPsd)
Set the Power Spectral Density of outgoing signals in W/Hz.
void PlmeGetAttributeRequest(LrWpanPibAttributeIdentifier id)
IEEE 802.15.4-2006 section 6.2.2.5 PLME-GET.request Get attributes per definition from Table 23 in se...
Definition: lr-wpan-phy.cc:772
Ptr< UniformRandomVariable > m_random
Uniform random variable stream.
Definition: lr-wpan-phy.h:960
TracedValue< LrWpanPhyEnumeration > m_trxState
The current transceiver state.
Definition: lr-wpan-phy.h:833
TracedCallback< Ptr< const Packet > > m_phyTxEndTrace
The trace source fired when a packet ends the transmission process on the medium.
Definition: lr-wpan-phy.h:707
void SetPlmeEdConfirmCallback(PlmeEdConfirmCallback c)
set the callback for the end of an ED, as part of the interconnections between the PHY and the MAC.
LrWpanPhyOption GetMyPhyOption()
Get the currently configured PHY option.
void EndRx(Ptr< SpectrumSignalParameters > params)
Finish the reception of a frame.
Definition: lr-wpan-phy.cc:550
PlmeCcaConfirmCallback m_plmeCcaConfirmCallback
This callback is used to report CCA status to the MAC or CSMA/CA.
Definition: lr-wpan-phy.h:858
bool PhyIsBusy() const
Check if the PHY is busy, which is the case if the PHY is currently sending or receiving a frame.
Ptr< NetDevice > m_device
The configured net device.
Definition: lr-wpan-phy.h:797
uint64_t GetPhySHRDuration() const
Get the duration of the SHR (preamble and SFD) in symbols, depending on the currently selected channe...
void PdDataRequest(const uint32_t psduLength, Ptr< Packet > p)
IEEE 802.15.4-2006 section 6.2.1.1 PD-DATA.request Request to transfer MPDU from MAC (transmitting)
Definition: lr-wpan-phy.cc:635
void SetRxSensitivity(double dbmSensitivity)
Set the receiver power sensitivity used by this device in dBm.
Ptr< ErrorModel > m_postReceptionErrorModel
Error model for receive packet events.
Definition: lr-wpan-phy.h:962
Ptr< LrWpanErrorModel > m_errorModel
The error model describing the bit and packet error rates.
Definition: lr-wpan-phy.h:822
uint8_t GetCurrentPage() const
Get The current channel page number in use in this PHY from the PIB attributes.
bool PageSupported(uint8_t page)
Check if the given page is supported by the PHY.
void DoInitialize() override
Initialize() implementation.
Definition: lr-wpan-phy.cc:229
void EndEd()
Called at the end of the ED procedure.
PlmeEdConfirmCallback m_plmeEdConfirmCallback
This callback is used to report ED status to the MAC.
Definition: lr-wpan-phy.h:864
std::pair< Ptr< LrWpanSpectrumSignalParameters >, bool > m_currentRxPacket
Status information of the currently received packet.
Definition: lr-wpan-phy.h:927
EventId m_ccaRequest
Scheduler event of a currently running CCA request.
Definition: lr-wpan-phy.h:940
void CheckInterference()
Check if the interference destroys a frame currently received.
Definition: lr-wpan-phy.cc:500
void EndCca()
Called at the end of the CCA.
LrWpanEdPower m_edPower
Helper value for tracking the average power during ED.
Definition: lr-wpan-phy.h:892
Ptr< LrWpanErrorModel > GetErrorModel() const
get the error model in use
uint8_t GetCurrentChannelNum() const
Get The current channel number in use in this PHY from the PIB attributes.
PacketAndStatus m_currentTxPacket
Status information of the currently transmitted packet.
Definition: lr-wpan-phy.h:935
TracedCallback< Ptr< const Packet >, double > m_phyRxEndTrace
The trace source fired when a packet ends the reception process from the medium.
Definition: lr-wpan-phy.h:734
void SetMobility(Ptr< MobilityModel > m) override
Set the mobility model associated with this device.
Definition: lr-wpan-phy.cc:316
Ptr< SpectrumChannel > m_channel
The channel attached to this transceiver.
Definition: lr-wpan-phy.h:802
PdDataConfirmCallback m_pdDataConfirmCallback
This callback is used to report packet transmission status to the MAC layer.
Definition: lr-wpan-phy.h:852
TracedCallback< Ptr< const Packet > > m_phyTxBeginTrace
The trace source fired when a packet begins the transmission process on the medium.
Definition: lr-wpan-phy.h:699
Ptr< MobilityModel > m_mobility
The mobility model used by the PHY.
Definition: lr-wpan-phy.h:792
double GetPhySymbolsPerOctet() const
Get the number of symbols per octet, depending on the currently selected channel.
double m_ccaPeakPower
Helper value for the peak power value during CCA.
Definition: lr-wpan-phy.h:897
LrWpanPhyOption m_phyOption
The currently configured PHY type.
Definition: lr-wpan-phy.h:887
EventId m_edRequest
Scheduler event of a currently running ED request.
Definition: lr-wpan-phy.h:945
LrWpanPhyPibAttributes m_phyPIBAttributes
The current PHY PIB attributes.
Definition: lr-wpan-phy.h:827
double m_rxSensitivity
The receiver sensitivity.
Definition: lr-wpan-phy.h:902
LrWpanPhyEnumeration m_trxStatePending
The next pending state to applied after the current action of the PHY is completed.
Definition: lr-wpan-phy.h:839
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
void EndSetTRXState()
Called after applying a deferred transceiver state switch.
Ptr< LrWpanInterferenceHelper > m_signal
The accumulated signals currently received by the transceiver, including the signal of a possibly rec...
Definition: lr-wpan-phy.h:914
int8_t GetNominalTxPowerFromPib(uint8_t phyTransmitPower)
Calculates the nominal transmit power of the device in decibels relative to 1 mW according to the rep...
Ptr< MobilityModel > GetMobility() const override
Get the associated MobilityModel instance.
Definition: lr-wpan-phy.cc:303
PdDataIndicationCallback m_pdDataIndicationCallback
This callback is used to notify incoming packets to the MAC layer.
Definition: lr-wpan-phy.h:846
Time GetPpduHeaderTxTime()
Calculate the time required for sending the PPDU header, that is the preamble, SFD and PHR.
void PlmeSetAttributeRequest(LrWpanPibAttributeIdentifier id, Ptr< LrWpanPhyPibAttributes > attribute)
IEEE 802.15.4-2006 section 6.2.2.9 PLME-SET.request Set attributes per definition from Table 23 in se...
void DoDispose() override
Destructor implementation.
Definition: lr-wpan-phy.cc:254
~LrWpanPhy() override
Definition: lr-wpan-phy.cc:224
void SetErrorModel(Ptr< LrWpanErrorModel > e)
set the error model to use
TracedCallback< Ptr< const Packet > > m_phyRxDropTrace
The trace source fired when the phy layer drops a packet it has received.
Definition: lr-wpan-phy.h:743
double WToDbm(double watt)
Transform watts (W) to decibels milliwatts (dBm).
void SetChannel(Ptr< SpectrumChannel > c) override
Set the channel attached to this device.
Definition: lr-wpan-phy.cc:323
void CcaCancel()
Cancel an ongoing CCA request.
Definition: lr-wpan-phy.cc:738
PlmeSetTRXStateConfirmCallback m_plmeSetTRXStateConfirmCallback
This callback is used to report transceiver state change status to the MAC.
Definition: lr-wpan-phy.h:876
PlmeGetAttributeConfirmCallback m_plmeGetAttributeConfirmCallback
This callback is used to report requested attribute values back to the MAC.
Definition: lr-wpan-phy.h:870
void SetPdDataIndicationCallback(PdDataIndicationCallback c)
set the callback for the end of a RX, as part of the interconnections between the PHY and the MAC.
EventId m_pdDataRequest
Scheduler event of a currently running data transmission request.
Definition: lr-wpan-phy.h:955
Ptr< NetDevice > GetDevice() const override
Get the associated NetDevice instance.
Definition: lr-wpan-phy.cc:297
void PlmeEdRequest()
IEEE 802.15.4-2006 section 6.2.2.3 PLME-ED.request Perform an ED per section 6.9.7.
Definition: lr-wpan-phy.cc:745
TracedCallback< Ptr< const Packet > > m_phyTxDropTrace
The trace source fired when the phy layer drops a packet as it tries to transmit it.
Definition: lr-wpan-phy.h:715
void SetPostReceptionErrorModel(const Ptr< ErrorModel > em)
Attach a receive ErrorModel to the LrWpanPhy.
TracedCallback< Ptr< const Packet > > m_phyRxBeginTrace
The trace source fired when a packet begins the reception process from the medium.
Definition: lr-wpan-phy.h:723
bool m_isRxCanceled
Indicates if the reception of frame has been canceled.
Definition: lr-wpan-phy.h:907
void SetPlmeSetAttributeConfirmCallback(PlmeSetAttributeConfirmCallback c)
set the callback for the end of an SetAttribute, as part of the interconnections between the PHY and ...
double DbmToW(double dbm)
Transforms decibels milliwatts (dBm) to watts (W).
Time m_rxLastUpdate
Timestamp of the last calculation of the PER of a packet currently received.
Definition: lr-wpan-phy.h:919
Ptr< SpectrumChannel > GetChannel()
Get the currently attached channel.
Definition: lr-wpan-phy.cc:330
TracedCallback< Time, LrWpanPhyEnumeration, LrWpanPhyEnumeration > m_trxStateLogger
The trace source fired when the phy layer changes the transceiver state.
Definition: lr-wpan-phy.h:753
void StartRx(Ptr< SpectrumSignalParameters > params) override
Notify the SpectrumPhy instance of an incoming waveform.
Definition: lr-wpan-phy.cc:364
LrWpanPhy()
Default constructor.
Definition: lr-wpan-phy.cc:203
void PlmeCcaRequest()
IEEE 802.15.4-2006 section 6.2.2.1 PLME-CCA.request Perform a CCA per section 6.9....
Definition: lr-wpan-phy.cc:711
void SetDevice(Ptr< NetDevice > d) override
Set the associated NetDevice instance.
Definition: lr-wpan-phy.cc:309
void CancelEd(LrWpanPhyEnumeration state)
Cancel an ongoing ED procedure.
void SetAntenna(Ptr< AntennaModel > a)
Set the attached antenna.
Definition: lr-wpan-phy.cc:357
double GetRxSensitivity()
Get the receiver power sensitivity used by this device in dBm.
void SetNoisePowerSpectralDensity(Ptr< const SpectrumValue > noisePsd)
Set the noise power spectral density.
Ptr< Object > GetAntenna() const override
Get the AntennaModel used by this SpectrumPhy instance for transmission and/or reception.
Definition: lr-wpan-phy.cc:351
void SetPlmeCcaConfirmCallback(PlmeCcaConfirmCallback c)
set the callback for the end of a CCA, as part of the interconnections between the PHY and the MAC.
Ptr< const SpectrumModel > GetRxSpectrumModel() const override
Definition: lr-wpan-phy.cc:337
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
A template-based reference counting class.
Abstract base class for Spectrum-aware PHY layers.
Definition: spectrum-phy.h:46
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
Forward calls to a chain of Callback.
a unique identifier for an interface.
Definition: type-id.h:59
Callback< void, LrWpanPhyEnumeration > PlmeSetTRXStateConfirmCallback
This method implements the PD SAP: PlmeSetTRXStateConfirm.
Definition: lr-wpan-phy.h:254
LrWpanPhyOption
This Phy option will be used to index various Tables in IEEE802.15.4-2011.
Definition: lr-wpan-phy.h:91
Callback< void, LrWpanPhyEnumeration > PdDataConfirmCallback
This method implements the PD SAP: PdDataConfirm.
Definition: lr-wpan-phy.h:211
LrWpanPhyEnumeration
IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.
Definition: lr-wpan-phy.h:111
Callback< void, LrWpanPhyEnumeration, LrWpanPibAttributeIdentifier, Ptr< LrWpanPhyPibAttributes > > PlmeGetAttributeConfirmCallback
This method implements the PD SAP: PlmeGetAttributeConfirm.
Definition: lr-wpan-phy.h:245
Callback< void, LrWpanPhyEnumeration, uint8_t > PlmeEdConfirmCallback
This method implements the PD SAP: PlmeEdConfirm.
Definition: lr-wpan-phy.h:230
Callback< void, LrWpanPhyEnumeration, LrWpanPibAttributeIdentifier > PlmeSetAttributeConfirmCallback
This method implements the PD SAP: PlmeSetAttributeConfirm.
Definition: lr-wpan-phy.h:265
Callback< void, uint32_t, Ptr< Packet >, uint8_t > PdDataIndicationCallback
This method implements the PD SAP: PdDataIndication.
Definition: lr-wpan-phy.h:202
Callback< void, LrWpanPhyEnumeration > PlmeCcaConfirmCallback
This method implements the PD SAP: PlmeCcaConfirm.
Definition: lr-wpan-phy.h:220
LrWpanPibAttributeIdentifier
IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2.
Definition: lr-wpan-phy.h:163
@ IEEE_802_15_4_868MHZ_BPSK
Definition: lr-wpan-phy.h:92
@ IEEE_802_15_4_915MHZ_OQPSK
Definition: lr-wpan-phy.h:99
@ IEEE_802_15_4_868MHZ_ASK
Definition: lr-wpan-phy.h:95
@ IEEE_802_15_4_950MHZ_BPSK
Definition: lr-wpan-phy.h:94
@ IEEE_802_15_4_868MHZ_OQPSK
Definition: lr-wpan-phy.h:98
@ IEEE_802_15_4_780MHZ_OQPSK
Definition: lr-wpan-phy.h:97
@ IEEE_802_15_4_2_4GHZ_OQPSK
Definition: lr-wpan-phy.h:100
@ IEEE_802_15_4_915MHZ_ASK
Definition: lr-wpan-phy.h:96
@ IEEE_802_15_4_915MHZ_BPSK
Definition: lr-wpan-phy.h:93
@ IEEE_802_15_4_INVALID_PHY_OPTION
Definition: lr-wpan-phy.h:101
@ IEEE_802_15_4_PHY_BUSY_RX
Definition: lr-wpan-phy.h:113
@ IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE
Definition: lr-wpan-phy.h:122
@ IEEE_802_15_4_PHY_BUSY
Definition: lr-wpan-phy.h:112
@ IEEE_802_15_4_PHY_SUCCESS
Definition: lr-wpan-phy.h:119
@ IEEE_802_15_4_PHY_UNSPECIFIED
Definition: lr-wpan-phy.h:124
@ IEEE_802_15_4_PHY_TRX_OFF
Definition: lr-wpan-phy.h:120
@ IEEE_802_15_4_PHY_FORCE_TRX_OFF
Definition: lr-wpan-phy.h:115
@ IEEE_802_15_4_PHY_BUSY_TX
Definition: lr-wpan-phy.h:114
@ IEEE_802_15_4_PHY_RX_ON
Definition: lr-wpan-phy.h:118
@ IEEE_802_15_4_PHY_TX_ON
Definition: lr-wpan-phy.h:121
@ IEEE_802_15_4_PHY_INVALID_PARAMETER
Definition: lr-wpan-phy.h:117
@ IEEE_802_15_4_PHY_READ_ONLY
Definition: lr-wpan-phy.h:123
@ IEEE_802_15_4_PHY_IDLE
Definition: lr-wpan-phy.h:116
@ phyMaxFrameDuration
Definition: lr-wpan-phy.h:169
@ phyChannelsSupported
Definition: lr-wpan-phy.h:165
@ phyCurrentChannel
Definition: lr-wpan-phy.h:164
@ phyCurrentPage
Definition: lr-wpan-phy.h:168
@ phyCCAMode
Definition: lr-wpan-phy.h:167
@ phySymbolsPerOctet
Definition: lr-wpan-phy.h:171
@ phySHRDuration
Definition: lr-wpan-phy.h:170
@ phyTransmitPower
Definition: lr-wpan-phy.h:166
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition: angles.cc:159
channel
Definition: third.py:88
params
Fit Fluctuating Two Ray model to the 3GPP TR 38.901 using the Anderson-Darling goodness-of-fit ##.
Helper structure to manage the power measurement during ED.
Definition: lr-wpan-phy.h:54
double averagePower
Average measured power.
Definition: lr-wpan-phy.h:55
Time lastUpdate
Last update time.
Definition: lr-wpan-phy.h:56
Time measurementLength
Total measurement period.
Definition: lr-wpan-phy.h:57
This data structure provides the Bit rate and Symbol rate for a given channel See IEEE802....
Definition: lr-wpan-phy.h:67
double symbolRate
symbol rate
Definition: lr-wpan-phy.h:69
IEEE802.15.4-2006 PHY PIB Attributes Table 23 in section 6.4.2.
Definition: lr-wpan-phy.h:180
uint32_t phyChannelsSupported[32]
BitField representing the available channels supported by a channel page.
Definition: lr-wpan-phy.h:182
uint8_t phyTransmitPower
2 MSB: tolerance on the transmit power, 6 LSB: Tx power in dBm relative to 1mW (signed int in 2-compl...
Definition: lr-wpan-phy.h:184
uint8_t phyCCAMode
CCA mode.
Definition: lr-wpan-phy.h:186
uint8_t phyCurrentPage
Current channel page.
Definition: lr-wpan-phy.h:187
double phySymbolsPerOctet
The number of symbols per octet.
Definition: lr-wpan-phy.h:190
uint8_t phyCurrentChannel
The RF channel to use.
Definition: lr-wpan-phy.h:181
uint32_t phySHRDuration
The duration of the synchronization header (SHR) in symbols.
Definition: lr-wpan-phy.h:189
uint32_t phyMaxFrameDuration
The maximum number of symbols in a frame.
Definition: lr-wpan-phy.h:188
This data structure provides number of symbols for the PPDU headers: SHR and PHR See IEEE802....
Definition: lr-wpan-phy.h:79
double shrSfd
Number of symbols for the SHR SFD.
Definition: lr-wpan-phy.h:81
double phr
Number of symbols for the PHR.
Definition: lr-wpan-phy.h:82
double shrPreamble
Number of symbols for the SHR preamble.
Definition: lr-wpan-phy.h:80