|
15 |
* along with this program; if not, write to the Free Software |
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 |
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
17 |
* |
17 |
* |
18 |
* Author: Gary Pei <guangyu.pei@boeing.com> |
18 |
* Authors: Gary Pei <guangyu.pei@boeing.com> |
|
|
19 |
* Sébastien Deronne <sebastien.deronne@umons.ac.be> |
19 |
*/ |
20 |
*/ |
20 |
|
21 |
|
21 |
#include <cmath> |
22 |
#include <cmath> |
|
154 |
+ 428005675.0 * std::pow (D, 14.0) |
155 |
+ 428005675.0 * std::pow (D, 14.0) |
155 |
); |
156 |
); |
156 |
} |
157 |
} |
|
|
158 |
else if (bValue == 5) |
159 |
{ |
160 |
//802.11n support by S. Deronne |
161 |
pe = 1.0 / (2.0 * bValue) * |
162 |
( 92.0 * std::pow (D, 4.0) |
163 |
+ 528.0 * std::pow (D, 5.0) |
164 |
+ 8694.0 * std::pow (D, 6.0) |
165 |
+ 79453.0 * std::pow (D, 7.0) |
166 |
+ 792114.0 * std::pow (D, 8.0) |
167 |
+ 7375573.0 * std::pow (D, 9.0) |
168 |
+ 67884974.0 * std::pow (D, 10.0) |
169 |
+ 610875423.0 * std::pow (D, 11.0) |
170 |
+ 5427275376.0 * std::pow (D, 12.0) |
171 |
+ 47664215639.0 * std::pow (D, 13.0) |
172 |
); |
173 |
} |
157 |
else |
174 |
else |
158 |
{ |
175 |
{ |
159 |
NS_ASSERT (false); |
176 |
NS_ASSERT (false); |
|
255 |
2 // b value |
272 |
2 // b value |
256 |
); |
273 |
); |
257 |
} |
274 |
} |
258 |
else |
275 |
else if (mode.GetCodeRate () == WIFI_CODE_RATE_5_6) //802.11n support by S. Deronne |
259 |
{ |
276 |
{ |
260 |
return GetFec64QamBer (snr, |
277 |
return GetFec64QamBer (snr, |
261 |
nbits, |
278 |
nbits, |
262 |
3 // b value |
279 |
5 // b value |
263 |
); |
280 |
); |
264 |
} |
281 |
} |
|
|
282 |
else |
283 |
{ |
284 |
return GetFec64QamBer (snr, |
285 |
nbits, |
286 |
3 // b value |
287 |
); |
288 |
} |
265 |
} |
289 |
} |
266 |
} |
290 |
} |
267 |
else if (mode.GetModulationClass () == WIFI_MOD_CLASS_DSSS) |
291 |
else if (mode.GetModulationClass () == WIFI_MOD_CLASS_DSSS) |