A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
simple-ofdm-send-param.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2007,2008, 2009 INRIA, UDcast
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
7 * <amine.ismail@udcast.com>
8 */
9
10#ifndef SIMPLE_OFDM_SEND_PARAM_H
11#define SIMPLE_OFDM_SEND_PARAM_H
12
13#include "bvec.h"
14#include "wimax-channel.h"
15#include "wimax-phy.h"
16
17#include "ns3/propagation-loss-model.h"
18
19#include <list>
20
21namespace ns3
22{
23
24/**
25 * \ingroup wimax
26 * SimpleOfdmSendParam class
27 */
29{
30 public:
32 /**
33 * Constructor
34 *
35 * \param fecBlock FEC block
36 * \param burstSize burst size
37 * \param isFirstBlock is the first block
38 * \param Frequency frequency
39 * \param modulationType modulation type
40 * \param direction the direction
41 * \param rxPowerDbm receive power
42 */
43 SimpleOfdmSendParam(const Bvec& fecBlock,
44 uint32_t burstSize,
45 bool isFirstBlock,
46 uint64_t Frequency,
47 WimaxPhy::ModulationType modulationType,
48 uint8_t direction,
49 double rxPowerDbm);
50 /**
51 * Constructor
52 *
53 * \param burstSize burst size
54 * \param isFirstBlock is the first block
55 * \param Frequency frequency
56 * \param modulationType modulation type
57 * \param direction the direction
58 * \param rxPowerDbm receive power
59 * \param burst packet burst object
60 */
62 bool isFirstBlock,
63 uint64_t Frequency,
64 WimaxPhy::ModulationType modulationType,
65 uint8_t direction,
66 double rxPowerDbm,
67 Ptr<PacketBurst> burst);
69 /**
70 * \brief sent the fec block to send
71 * \param fecBlock the fec block to send
72 */
73 void SetFecBlock(const Bvec& fecBlock);
74 /**
75 * \brief set the burst size
76 * \param burstSize the burst size in bytes
77 */
78 void SetBurstSize(uint32_t burstSize);
79 /**
80 * \param isFirstBlock Set to true if this fec block is the first one in the burst, set to false
81 * otherwise
82 */
83 void SetIsFirstBlock(bool isFirstBlock);
84 /**
85 * \param Frequency set the frequency of the channel in which this fec block will be sent
86 */
87 void SetFrequency(uint64_t Frequency);
88 /**
89 * \param modulationType the modulation type used to send this fec block
90 */
92 /**
93 * \param direction the direction on which this fec block will be sent
94 */
95 void SetDirection(uint8_t direction);
96 /**
97 * \param rxPowerDbm the received power
98 */
99 void SetRxPowerDbm(double rxPowerDbm);
100 /**
101 * \return the fec block
102 */
104 /**
105 * \return the burst size
106 */
107 uint32_t GetBurstSize() const;
108 /**
109 * \return true if this fec block is the first one in the burst, false otherwise
110 */
111 bool GetIsFirstBlock() const;
112 /**
113 * \return the frequency on which the fec block is sent/received
114 */
115 uint64_t GetFrequency() const;
116 /**
117 * \return the modulation type used to send this fec block
118 */
120 /**
121 * \return the direction on which this fec block was sent. UP or DOWN
122 */
123 uint8_t GetDirection() const;
124 /**
125 * \return the Received power
126 */
127 double GetRxPowerDbm() const;
128 /**
129 * \return the received burst
130 */
132
133 private:
134 Bvec m_fecBlock; ///< FEC block
135 uint32_t m_burstSize; ///< burst size
136 bool m_isFirstBlock; ///< is first block
137 uint64_t m_frequency; ///< frequency
139 uint8_t m_direction; ///< direction
140 double m_rxPowerDbm; ///< receive power dbM
142};
143} // namespace ns3
144
145#endif /* SIMPLE_OFDM_SEND_PARAM_H */
Smart pointer class similar to boost::intrusive_ptr.
SimpleOfdmSendParam class.
void SetFrequency(uint64_t Frequency)
WimaxPhy::ModulationType m_modulationType
modulation type
WimaxPhy::ModulationType GetModulationType()
Ptr< PacketBurst > m_burst
burst
void SetBurstSize(uint32_t burstSize)
set the burst size
double m_rxPowerDbm
receive power dbM
void SetFecBlock(const Bvec &fecBlock)
sent the fec block to send
void SetDirection(uint8_t direction)
void SetModulationType(WimaxPhy::ModulationType modulationType)
void SetIsFirstBlock(bool isFirstBlock)
void SetRxPowerDbm(double rxPowerDbm)
ModulationType
ModulationType enumeration.
Definition wimax-phy.h:43
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::vector< bool > Bvec
boolean vector typedef
Definition bvec.h:18