A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
wimax-phy.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2007,2008 INRIA
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: Jahanzeb Farooq <jahanzeb.farooq@sophia.inria.fr>
18 */
19
20#ifndef WIMAX_PHY_H
21#define WIMAX_PHY_H
22
23#include "bvec.h"
24#include "send-params.h"
25
26#include "ns3/callback.h"
27#include "ns3/event-id.h"
28#include "ns3/log.h"
29#include "ns3/nstime.h"
30#include "ns3/object.h"
31#include "ns3/traced-callback.h"
32
33#include <list>
34#include <stdint.h>
35
36namespace ns3
37{
38
39class WimaxChannel;
40class WimaxNetDevice;
41class NetDevice;
42class Packet;
43
44/**
45 * \ingroup wimax
46 *
47 * WiMAX PHY entity
48 */
49class WimaxPhy : public Object
50{
51 public:
52 /// ModulationType enumeration
53 enum ModulationType // Table 356 and 362
54 {
62 };
63
64 /// PhyState enumeration
66 {
71 };
72
73 /// PhyType enumeration
75 {
78 };
79
80 /**
81 * \brief Get the type ID.
82 * \return the object TypeId
83 */
84 static TypeId GetTypeId();
85 WimaxPhy();
86 ~WimaxPhy() override;
87 /**
88 * Attach the physical layer to a channel.
89 * \param channel the channel to which the physical layer will be attached
90 */
91 void Attach(Ptr<WimaxChannel> channel);
92 /**
93 * \return the channel to which this physical layer is attached
94 */
96 /**
97 * \brief Set the device in which this physical layer is installed
98 * \param device the device in which this physical layer is installed
99 */
100 void SetDevice(Ptr<WimaxNetDevice> device);
101 /**
102 * \return the the device in which this physical layer is installed
103 */
105 /**
106 * \brief set the callback function to call when a burst is received
107 * \param callback the callback function to call when a burst is received
108 */
110 /**
111 * \return the receive callback
112 */
114 /**
115 * \brief send a packet on the channel
116 * \param params the parameters used to send the packet
117 */
118 virtual void Send(SendParams* params) = 0;
119 /**
120 * \brief Get the type of the physical layer
121 * \returns the phy type
122 */
123 virtual PhyType GetPhyType() const = 0;
124 /**
125 * \brief configure the physical layer in duplex mode
126 * \param rxFrequency the reception frequency
127 * \param txFrequency the transmission frequency
128 */
129 void SetDuplex(uint64_t rxFrequency, uint64_t txFrequency);
130 /**
131 * \brief configure the physical layer in simplex mode
132 * \param frequency the frequency to be used for reception and transmission process
133 */
134 void SetSimplex(uint64_t frequency);
135 /**
136 * Get the reception frequency
137 * \return the reception frequency
138 */
139 uint64_t GetRxFrequency() const;
140 /**
141 * Get the transmission frequency
142 * \return the transmission frequency
143 */
144 uint64_t GetTxFrequency() const;
145 /**
146 * Get the scanning frequency
147 * \return the scanning frequency
148 */
149 uint64_t GetScanningFrequency() const;
150 /**
151 * Set the number of carriers in the physical frame
152 * \brief Set the number of carriers in the physical frame
153 * \param nrCarriers the number of carriers in the frame
154 */
155 void SetNrCarriers(uint8_t nrCarriers);
156 /**
157 * Get the number of carriers in the physical frame
158 * \return the number of carriers in the physical frame
159 */
160 uint8_t GetNrCarriers() const;
161 /**
162 * \brief Set the frame duration
163 * \param frameDuration the frame duration
164 */
165 void SetFrameDuration(Time frameDuration);
166 /**
167 * \brief Get the frame duration
168 * This method is redundant with GetFrameDuration ()
169 * \return the frame duration
170 */
172 /**
173 * \brief Get the frame duration
174 * \return the frame duration
175 */
176 Time GetFrameDuration() const;
177 /**
178 * \brief set the frequency on which the device should lock
179 * \param frequency the frequency to configure
180 */
181 void SetFrequency(uint32_t frequency);
182 /**
183 * Get the frequency on which the device is locked
184 * \return the frequency on which the device is locked
185 */
186 uint32_t GetFrequency() const;
187 /**
188 * \brief Set the channel bandwidth
189 * \param channelBandwidth The channel bandwidth
190 */
191 void SetChannelBandwidth(uint32_t channelBandwidth);
192 /**
193 * Get the channel bandwidth
194 * \return the channel bandwidth
195 */
197 /**
198 * Get the size of the FFT
199 * \return the size of the FFT
200 */
201 uint16_t GetNfft() const;
202 /**
203 * Get the sampling factor
204 * \return the sampling factor
205 */
206 double GetSamplingFactor() const;
207 /**
208 * Get the sampling frequency
209 * \return the sampling frequency
210 */
211 double GetSamplingFrequency() const;
212 /**
213 * \brief set the physical slot duration
214 * \param psDuration the physical slot duration
215 */
216 void SetPsDuration(Time psDuration);
217 /**
218 * Get the physical slot duration
219 * \return the physical slot duration
220 */
221 Time GetPsDuration() const;
222 /**
223 * \brief set the OFDM symbol duration
224 * \param symbolDuration the symbol duration
225 */
226 void SetSymbolDuration(Time symbolDuration);
227 /**
228 * Get the OFDM symbol duration
229 * \return the symbol duration in second
230 */
231 Time GetSymbolDuration() const;
232 /**
233 * Get the guard interval factor (the ratio TG/Td)
234 * \return the guard interval factor
235 */
236 double GetGValue() const;
237 /**
238 * \brief set the number of physical slots per symbol
239 * \param psPerSymbol the number of physical slots per symbol
240 */
241 void SetPsPerSymbol(uint16_t psPerSymbol);
242 /**
243 * Get the number of physical slots per symbol
244 * \return the number of physical slots per symbol
245 */
246 uint16_t GetPsPerSymbol() const;
247
248 /**
249 * \brief set the number of physical slots per frame
250 * \param psPerFrame the number of physical slots per frame
251 */
252 void SetPsPerFrame(uint16_t psPerFrame);
253 /**
254 * Get the number of physical slots per frame
255 * \return the number of physical slot per frame
256 */
257 uint16_t GetPsPerFrame() const;
258 /**
259 * \brief set the number of symbols per frame
260 * \param symbolsPerFrame the number of symbols per frame
261 */
262 void SetSymbolsPerFrame(uint32_t symbolsPerFrame);
263 /**
264 * Get the number of symbols per frame
265 * \return the number of symbols per frame
266 */
268 /**
269 * Check if configured in duplex mode
270 * \return true if the device is configured in duplex mode
271 */
272 bool IsDuplex() const;
273 /**
274 * \brief set the state of the device
275 * \param state the state to be set (PHY_STATE_IDLE, PHY_STATE_SCANNING, PHY_STATE_TX,
276 * PHY_STATE_RX)
277 */
278 void SetState(PhyState state);
279 /**
280 * Get the state of the device
281 * \return the state of the device (PHY_STATE_IDLE, PHY_STATE_SCANNING, PHY_STATE_TX,
282 * PHY_STATE_RX)
283 */
284 PhyState GetState() const;
285 /**
286 * \brief scan a frequency for maximum timeout seconds and call the callback if the frequency
287 * can be used
288 * \param frequency the frequency to scan
289 * \param timeout the timeout before considering the channel as unusable
290 * \param callback the function to call if the channel could be used
291 */
292 void StartScanning(uint64_t frequency, Time timeout, Callback<void, bool, uint64_t> callback);
293
294 /**
295 * \brief calls the scanning call back function
296 */
297 void SetScanningCallback() const;
298 /**
299 * \brief Get channel search timeout event
300 * \return event ID
301 */
303 /**
304 * \brief calculates the data rate of each modulation and save them for future use
305 */
306 void SetDataRates();
307 /**
308 * Get the data rate corresponding to a modulation type
309 * \return the data rate
310 * \param modulationType the modulation that you want to get its data rate
311 */
312 uint32_t GetDataRate(ModulationType modulationType) const;
313 /**
314 * Get transmission time needed to send bytes at a given modulation
315 * \return the time needed
316 * \param size the number of byte to transmit
317 * \param modulationType the modulation that will be used to transmit the bytes
318 */
319 Time GetTransmissionTime(uint32_t size, ModulationType modulationType) const;
320 /**
321 * Get the number of symbols needed to transmit size bytes using the modulation modulationType
322 * \return the number of symbols needed
323 * \param size the number of byte to transmit
324 * \param modulationType the modulation that will be used to transmit the bytes
325 */
326 uint64_t GetNrSymbols(uint32_t size, ModulationType modulationType) const;
327 /**
328 * Get the maximum number of bytes that could be carried by symbols symbols using the modulation
329 * modulationType
330 * \param symbols the number of symbols to use
331 * \param modulationType the modulation that will be used
332 * \return the maximum number of bytes
333 */
334 uint64_t GetNrBytes(uint32_t symbols, ModulationType modulationType) const;
335 /**
336 * Get the transmit/receive transition gap
337 * \return the transmit/receive transition gap
338 */
339 uint16_t GetTtg() const;
340 /**
341 * Get the receive/transmit transition gap
342 * \return the receive/transmit transition gap
343 */
344 uint16_t GetRtg() const;
345 /**
346 * Get the frame duration code
347 * \return the frame duration code
348 */
349 uint8_t GetFrameDurationCode() const;
350 /**
351 * Get the frame duration corresponding to a given code
352 * \param frameDurationCode the frame duration code to use
353 * \return the frame duration
354 */
355 Time GetFrameDuration(uint8_t frameDurationCode) const;
356 /**
357 * \brief computes the Physical parameters and store them
358 */
359 void SetPhyParameters();
360 void DoDispose() override;
361
362 /**
363 * Assign a fixed random variable stream number to the random variables
364 * used by this model. Return the number of streams (possibly zero) that
365 * have been assigned.
366 *
367 * \param stream first stream index to use
368 * \return the number of stream indices assigned by this model
369 */
370 virtual int64_t AssignStreams(int64_t stream) = 0;
371
372 private:
373 /**
374 * Get modulation FEC parameters
375 * \param modulationType the modultion type
376 * \param bitsPerSymbol the number of bits per symbol page
377 * \param fecCode the FEC code
378 */
380 uint8_t& bitsPerSymbol,
381 double& fecCode) const;
382 /// End scanning
383 void EndScanning();
384 /**
385 * Get transmission time
386 * \param size the transmission size
387 * \param modulationType the modulation type
388 * \returns the transmission time
389 */
390 virtual Time DoGetTransmissionTime(uint32_t size, ModulationType modulationType) const = 0;
391 /**
392 * Attach channel
393 * \param channel the wimax channel
394 */
395 virtual void DoAttach(Ptr<WimaxChannel> channel) = 0;
396 /// Set data rates
397 virtual void DoSetDataRates() = 0;
398 /**
399 * Get data rate
400 * \param modulationType the modulation type
401 * \returns the data rate
402 */
403 virtual uint32_t DoGetDataRate(ModulationType modulationType) const = 0;
404 /**
405 * Get number of symbols
406 * \param size the transmission size
407 * \param modulationType the modulation type
408 * \returns the number of symbols
409 */
410 virtual uint64_t DoGetNrSymbols(uint32_t size, ModulationType modulationType) const = 0;
411 /**
412 * Get number of bytes
413 * \param symbols the number of symbols
414 * \param modulationType the modulation type
415 * \returns the number of bytes
416 */
417 virtual uint64_t DoGetNrBytes(uint32_t symbols, ModulationType modulationType) const = 0;
418 /**
419 * Get TTG
420 * \returns the TTG
421 */
422 virtual uint16_t DoGetTtg() const = 0;
423 /**
424 * Get RTG
425 * \returns the RTG
426 */
427 virtual uint16_t DoGetRtg() const = 0;
428
429 /**
430 * Get frame duration code
431 * \returns the frame duration code
432 */
433 virtual uint8_t DoGetFrameDurationCode() const = 0;
434 /**
435 * Get frame duration
436 * \param frameDurationCode the frame duration code
437 * \returns the frame duration time
438 */
439 virtual Time DoGetFrameDuration(uint8_t frameDurationCode) const = 0;
440 /**
441 * Set phy parameters
442 */
443 virtual void DoSetPhyParameters() = 0;
444 /**
445 * Get sampling factor
446 * \return the sampling factor
447 */
448 virtual double DoGetSamplingFactor() const = 0;
449 /**
450 * Get NFFT
451 * \returns the NFFT
452 */
453 virtual uint16_t DoGetNfft() const = 0;
454 /**
455 * Get sampling frequency
456 * \returns the sampling frequency
457 */
458 virtual double DoGetSamplingFrequency() const = 0;
459 /**
460 * Get G value
461 * \returns he G value
462 */
463 virtual double DoGetGValue() const = 0;
464
467
468 uint64_t m_txFrequency; ///< transmit frequency
469 uint64_t m_rxFrequency; ///< receive frequency
470 uint64_t m_scanningFrequency; ///< scanning frequency
471 EventId m_dlChnlSrchTimeoutEvent; ///< DL channel search timeout event
472 bool m_duplex; ///< duplex
473 PhyState m_state; ///< state
474
476 Callback<void, bool, uint64_t> m_scanningCallback; ///< scanning callback function
477
478 uint8_t m_nrCarriers; ///< number of carriers
479 Time m_frameDuration; ///< in seconds
482 Time m_psDuration; ///< in seconds
483 Time m_symbolDuration; ///< in seconds
484 uint16_t m_psPerSymbol; ///< ps per sumbol
485 uint16_t m_psPerFrame; ///< ps per framce
486 uint32_t m_symbolsPerFrame; ///< symbols per frame
487};
488
489} // namespace ns3
490
491#endif /* WIMAX_PHY_H */
Callback template class.
Definition: callback.h:438
An identifier for simulation events.
Definition: event-id.h:55
A base class which provides memory management and object aggregation.
Definition: object.h:89
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
The SendParams class defines the parameters with which Send() function of a particular PHY is called.
Definition: send-params.h:42
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
a unique identifier for an interface.
Definition: type-id.h:59
WiMAX PHY entity.
Definition: wimax-phy.h:50
Time GetTransmissionTime(uint32_t size, ModulationType modulationType) const
Get transmission time needed to send bytes at a given modulation.
Definition: wimax-phy.cc:240
Time GetFrameDuration() const
Get the frame duration.
Definition: wimax-phy.cc:308
ModulationType
ModulationType enumeration.
Definition: wimax-phy.h:54
@ MODULATION_TYPE_QPSK_12
Definition: wimax-phy.h:56
@ MODULATION_TYPE_QAM16_12
Definition: wimax-phy.h:58
@ MODULATION_TYPE_QAM64_34
Definition: wimax-phy.h:61
@ MODULATION_TYPE_QAM16_34
Definition: wimax-phy.h:59
@ MODULATION_TYPE_QAM64_23
Definition: wimax-phy.h:60
@ MODULATION_TYPE_QPSK_34
Definition: wimax-phy.h:57
@ MODULATION_TYPE_BPSK_12
Definition: wimax-phy.h:55
virtual double DoGetGValue() const =0
Get G value.
bool m_duplex
duplex
Definition: wimax-phy.h:472
void SetSymbolDuration(Time symbolDuration)
set the OFDM symbol duration
Definition: wimax-phy.cc:374
Ptr< WimaxChannel > GetChannel() const
Definition: wimax-phy.cc:117
uint32_t GetSymbolsPerFrame() const
Get the number of symbols per frame.
Definition: wimax-phy.cc:422
void SetChannelBandwidth(uint32_t channelBandwidth)
Set the channel bandwidth.
Definition: wimax-phy.cc:332
uint64_t GetNrBytes(uint32_t symbols, ModulationType modulationType) const
Get the maximum number of bytes that could be carried by symbols symbols using the modulation modulat...
Definition: wimax-phy.cc:252
virtual uint8_t DoGetFrameDurationCode() const =0
Get frame duration code.
virtual int64_t AssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used by this model.
uint64_t m_txFrequency
transmit frequency
Definition: wimax-phy.h:468
~WimaxPhy() override
Definition: wimax-phy.cc:98
void SetDuplex(uint64_t rxFrequency, uint64_t txFrequency)
configure the physical layer in duplex mode
Definition: wimax-phy.cc:166
EventId m_dlChnlSrchTimeoutEvent
DL channel search timeout event.
Definition: wimax-phy.h:471
uint64_t GetRxFrequency() const
Get the reception frequency.
Definition: wimax-phy.cc:180
Time GetFrameDurationSec() const
Get the frame duration This method is redundant with GetFrameDuration ()
Definition: wimax-phy.cc:314
void SetDataRates()
calculates the data rate of each modulation and save them for future use
Definition: wimax-phy.cc:228
uint16_t GetPsPerFrame() const
Get the number of physical slots per frame.
Definition: wimax-phy.cc:410
PhyType
PhyType enumeration.
Definition: wimax-phy.h:75
@ simpleOfdmWimaxPhy
Definition: wimax-phy.h:77
Time GetSymbolDuration() const
Get the OFDM symbol duration.
Definition: wimax-phy.cc:380
uint8_t GetNrCarriers() const
Get the number of carriers in the physical frame.
Definition: wimax-phy.cc:296
uint32_t m_channelBandwidth
in Hz
Definition: wimax-phy.h:481
Time m_psDuration
in seconds
Definition: wimax-phy.h:482
PhyState GetState() const
Get the state of the device.
Definition: wimax-phy.cc:204
virtual void DoSetPhyParameters()=0
Set phy parameters.
virtual uint16_t DoGetTtg() const =0
Get TTG.
void Attach(Ptr< WimaxChannel > channel)
Attach the physical layer to a channel.
Definition: wimax-phy.cc:110
uint16_t m_psPerFrame
ps per framce
Definition: wimax-phy.h:485
virtual uint16_t DoGetNfft() const =0
Get NFFT.
void SetFrequency(uint32_t frequency)
set the frequency on which the device should lock
Definition: wimax-phy.cc:320
uint32_t m_symbolsPerFrame
symbols per frame
Definition: wimax-phy.h:486
uint8_t GetFrameDurationCode() const
Get the frame duration code.
Definition: wimax-phy.cc:270
void SetDevice(Ptr< WimaxNetDevice > device)
Set the device in which this physical layer is installed.
Definition: wimax-phy.cc:123
uint64_t m_rxFrequency
receive frequency
Definition: wimax-phy.h:469
void StartScanning(uint64_t frequency, Time timeout, Callback< void, bool, uint64_t > callback)
scan a frequency for maximum timeout seconds and call the callback if the frequency can be used
Definition: wimax-phy.cc:135
virtual void DoSetDataRates()=0
Set data rates.
void SetReceiveCallback(Callback< void, Ptr< const PacketBurst > > callback)
set the callback function to call when a burst is received
Definition: wimax-phy.cc:154
virtual void DoAttach(Ptr< WimaxChannel > channel)=0
Attach channel.
virtual void Send(SendParams *params)=0
send a packet on the channel
void SetSymbolsPerFrame(uint32_t symbolsPerFrame)
set the number of symbols per frame
Definition: wimax-phy.cc:416
Ptr< WimaxNetDevice > m_device
the device
Definition: wimax-phy.h:465
void SetScanningCallback() const
calls the scanning call back function
Definition: wimax-phy.cc:222
virtual uint64_t DoGetNrSymbols(uint32_t size, ModulationType modulationType) const =0
Get number of symbols.
double GetSamplingFrequency() const
Get the sampling frequency.
Definition: wimax-phy.cc:356
virtual double DoGetSamplingFactor() const =0
Get sampling factor.
virtual uint64_t DoGetNrBytes(uint32_t symbols, ModulationType modulationType) const =0
Get number of bytes.
void SetNrCarriers(uint8_t nrCarriers)
Set the number of carriers in the physical frame.
Definition: wimax-phy.cc:290
Ptr< WimaxChannel > m_channel
channel
Definition: wimax-phy.h:466
Time GetPsDuration() const
Get the physical slot duration.
Definition: wimax-phy.cc:368
static TypeId GetTypeId()
Get the type ID.
Definition: wimax-phy.cc:42
uint64_t m_scanningFrequency
scanning frequency
Definition: wimax-phy.h:470
void DoDispose() override
Destructor implementation.
Definition: wimax-phy.cc:103
uint32_t GetFrequency() const
Get the frequency on which the device is locked.
Definition: wimax-phy.cc:326
double GetGValue() const
Get the guard interval factor (the ratio TG/Td)
Definition: wimax-phy.cc:386
Ptr< NetDevice > GetDevice() const
Definition: wimax-phy.cc:129
void SetPsPerFrame(uint16_t psPerFrame)
set the number of physical slots per frame
Definition: wimax-phy.cc:404
PhyState
PhyState enumeration.
Definition: wimax-phy.h:66
@ PHY_STATE_SCANNING
Definition: wimax-phy.h:68
uint32_t GetDataRate(ModulationType modulationType) const
Get the data rate corresponding to a modulation type.
Definition: wimax-phy.cc:234
virtual Time DoGetTransmissionTime(uint32_t size, ModulationType modulationType) const =0
Get transmission time.
uint32_t m_frequency
in KHz
Definition: wimax-phy.h:480
virtual Time DoGetFrameDuration(uint8_t frameDurationCode) const =0
Get frame duration.
uint8_t m_nrCarriers
number of carriers
Definition: wimax-phy.h:478
void SetSimplex(uint64_t frequency)
configure the physical layer in simplex mode
Definition: wimax-phy.cc:173
Callback< void, Ptr< const PacketBurst > > m_rxCallback
receive callback function
Definition: wimax-phy.h:475
void SetFrameDuration(Time frameDuration)
Set the frame duration.
Definition: wimax-phy.cc:302
uint64_t GetScanningFrequency() const
Get the scanning frequency.
Definition: wimax-phy.cc:192
Time m_symbolDuration
in seconds
Definition: wimax-phy.h:483
void SetPsDuration(Time psDuration)
set the physical slot duration
Definition: wimax-phy.cc:362
uint64_t GetNrSymbols(uint32_t size, ModulationType modulationType) const
Get the number of symbols needed to transmit size bytes using the modulation modulationType.
Definition: wimax-phy.cc:246
void EndScanning()
End scanning.
Definition: wimax-phy.cc:148
uint16_t GetPsPerSymbol() const
Get the number of physical slots per symbol.
Definition: wimax-phy.cc:398
void SetState(PhyState state)
set the state of the device
Definition: wimax-phy.cc:198
Callback< void, bool, uint64_t > m_scanningCallback
scanning callback function
Definition: wimax-phy.h:476
virtual uint16_t DoGetRtg() const =0
Get RTG.
virtual double DoGetSamplingFrequency() const =0
Get sampling frequency.
virtual PhyType GetPhyType() const =0
Get the type of the physical layer.
virtual uint32_t DoGetDataRate(ModulationType modulationType) const =0
Get data rate.
void GetModulationFecParams(ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const
Get modulation FEC parameters.
uint32_t GetChannelBandwidth() const
Get the channel bandwidth.
Definition: wimax-phy.cc:338
uint16_t m_psPerSymbol
ps per sumbol
Definition: wimax-phy.h:484
EventId GetChnlSrchTimeoutEvent() const
Get channel search timeout event.
Definition: wimax-phy.cc:216
double GetSamplingFactor() const
Get the sampling factor.
Definition: wimax-phy.cc:350
void SetPhyParameters()
computes the Physical parameters and store them
Definition: wimax-phy.cc:284
Time m_frameDuration
in seconds
Definition: wimax-phy.h:479
bool IsDuplex() const
Check if configured in duplex mode.
Definition: wimax-phy.cc:210
Callback< void, Ptr< const PacketBurst > > GetReceiveCallback() const
Definition: wimax-phy.cc:160
void SetPsPerSymbol(uint16_t psPerSymbol)
set the number of physical slots per symbol
Definition: wimax-phy.cc:392
PhyState m_state
state
Definition: wimax-phy.h:473
uint64_t GetTxFrequency() const
Get the transmission frequency.
Definition: wimax-phy.cc:186
uint16_t GetRtg() const
Get the receive/transmit transition gap.
Definition: wimax-phy.cc:264
uint16_t GetTtg() const
Get the transmit/receive transition gap.
Definition: wimax-phy.cc:258
uint16_t GetNfft() const
Get the size of the FFT.
Definition: wimax-phy.cc:344
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Time timeout