OLD | NEW |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2014 Piotr Gawlowicz | 3 * Copyright (c) 2014 Piotr Gawlowicz |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 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 | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 } | 273 } |
274 InitializeDownlinkRbgMaps (); | 274 InitializeDownlinkRbgMaps (); |
275 InitializeUplinkRbgMaps (); | 275 InitializeUplinkRbgMaps (); |
276 m_needReconfiguration = false; | 276 m_needReconfiguration = false; |
277 } | 277 } |
278 | 278 |
279 void | 279 void |
280 LteFfrSoftAlgorithm::SetDownlinkConfiguration (uint16_t cellId, uint8_t bandwidt
h) | 280 LteFfrSoftAlgorithm::SetDownlinkConfiguration (uint16_t cellId, uint8_t bandwidt
h) |
281 { | 281 { |
282 NS_LOG_FUNCTION (this); | 282 NS_LOG_FUNCTION (this); |
| 283 NS_UNUSED(bandwidth); |
283 for (uint16_t i = 0; i < NUM_DOWNLINK_CONFS; ++i) | 284 for (uint16_t i = 0; i < NUM_DOWNLINK_CONFS; ++i) |
284 { | 285 { |
285 if ((g_ffrSoftDownlinkDefaultConfiguration[i].cellId == cellId) | 286 if ((g_ffrSoftDownlinkDefaultConfiguration[i].cellId == cellId) |
286 && g_ffrSoftDownlinkDefaultConfiguration[i].dlBandwidth == m_dlBandwid
th) | 287 && g_ffrSoftDownlinkDefaultConfiguration[i].dlBandwidth == m_dlBandwid
th) |
287 { | 288 { |
288 m_dlCommonSubBandwidth = g_ffrSoftDownlinkDefaultConfiguration[i].dlCo
mmonSubBandwidth; | 289 m_dlCommonSubBandwidth = g_ffrSoftDownlinkDefaultConfiguration[i].dlCo
mmonSubBandwidth; |
289 m_dlEdgeSubBandOffset = g_ffrSoftDownlinkDefaultConfiguration[i].dlEdg
eSubBandOffset; | 290 m_dlEdgeSubBandOffset = g_ffrSoftDownlinkDefaultConfiguration[i].dlEdg
eSubBandOffset; |
290 m_dlEdgeSubBandwidth = g_ffrSoftDownlinkDefaultConfiguration[i].dlEdge
SubBandwidth; | 291 m_dlEdgeSubBandwidth = g_ffrSoftDownlinkDefaultConfiguration[i].dlEdge
SubBandwidth; |
291 } | 292 } |
292 } | 293 } |
293 } | 294 } |
294 | 295 |
295 void | 296 void |
296 LteFfrSoftAlgorithm::SetUplinkConfiguration (uint16_t cellId, uint8_t bandwidth) | 297 LteFfrSoftAlgorithm::SetUplinkConfiguration (uint16_t cellId, uint8_t bandwidth) |
297 { | 298 { |
298 NS_LOG_FUNCTION (this); | 299 NS_LOG_FUNCTION (this); |
| 300 NS_UNUSED(bandwidth); |
299 for (uint16_t i = 0; i < NUM_UPLINK_CONFS; ++i) | 301 for (uint16_t i = 0; i < NUM_UPLINK_CONFS; ++i) |
300 { | 302 { |
301 if ((g_ffrSoftUplinkDefaultConfiguration[i].cellId == cellId) | 303 if ((g_ffrSoftUplinkDefaultConfiguration[i].cellId == cellId) |
302 && g_ffrSoftUplinkDefaultConfiguration[i].ulBandwidth == m_ulBandwidth
) | 304 && g_ffrSoftUplinkDefaultConfiguration[i].ulBandwidth == m_ulBandwidth
) |
303 { | 305 { |
304 m_ulCommonSubBandwidth = g_ffrSoftUplinkDefaultConfiguration[i].ulComm
onSubBandwidth; | 306 m_ulCommonSubBandwidth = g_ffrSoftUplinkDefaultConfiguration[i].ulComm
onSubBandwidth; |
305 m_ulEdgeSubBandOffset = g_ffrSoftUplinkDefaultConfiguration[i].ulEdgeS
ubBandOffset; | 307 m_ulEdgeSubBandOffset = g_ffrSoftUplinkDefaultConfiguration[i].ulEdgeS
ubBandOffset; |
306 m_ulEdgeSubBandwidth = g_ffrSoftUplinkDefaultConfiguration[i].ulEdgeSu
bBandwidth; | 308 m_ulEdgeSubBandwidth = g_ffrSoftUplinkDefaultConfiguration[i].ulEdgeSu
bBandwidth; |
307 } | 309 } |
308 } | 310 } |
(...skipping 21 matching lines...) Expand all Loading... |
330 NS_ASSERT_MSG ((m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset + m_dlEdgeSubBa
ndwidth) <= m_dlBandwidth, | 332 NS_ASSERT_MSG ((m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset + m_dlEdgeSubBa
ndwidth) <= m_dlBandwidth, |
331 "(DlCommonSubBandwidth + DlEdgeSubBandOffset+DlEdgeSubBandwidth
) higher than DlBandwidth"); | 333 "(DlCommonSubBandwidth + DlEdgeSubBandOffset+DlEdgeSubBandwidth
) higher than DlBandwidth"); |
332 | 334 |
333 for (uint8_t i = 0; | 335 for (uint8_t i = 0; |
334 i < m_dlCommonSubBandwidth / rbgSize; i++) | 336 i < m_dlCommonSubBandwidth / rbgSize; i++) |
335 { | 337 { |
336 m_dlMediumRbgMap[i] = true; | 338 m_dlMediumRbgMap[i] = true; |
337 m_dlCenterRbgMap[i] = false; | 339 m_dlCenterRbgMap[i] = false; |
338 } | 340 } |
339 | 341 |
340 for (uint8_t i = (m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset) / rbgSize; | 342 for (uint8_t i = static_cast<uint8_t>((m_dlCommonSubBandwidth + m_dlEdgeSubBan
dOffset) / rbgSize); |
341 i < (m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset + m_dlEdgeSubBandwidt
h) / rbgSize; i++) | 343 i < static_cast<uint8_t>((m_dlCommonSubBandwidth + m_dlEdgeSubBandOffset
+ m_dlEdgeSubBandwidth) / rbgSize); i++) |
342 { | 344 { |
343 m_dlEdgeRbgMap[i] = true; | 345 m_dlEdgeRbgMap[i] = true; |
344 m_dlCenterRbgMap[i] = false; | 346 m_dlCenterRbgMap[i] = false; |
345 } | 347 } |
346 } | 348 } |
347 | 349 |
348 | 350 |
349 void | 351 void |
350 LteFfrSoftAlgorithm::InitializeUplinkRbgMaps () | 352 LteFfrSoftAlgorithm::InitializeUplinkRbgMaps () |
351 { | 353 { |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 } | 506 } |
505 | 507 |
506 return (isCenterRbg && isCenterUe) || (isMediumRbg && isMediumUe) || (isEdgeRb
g && isEdgeUe); | 508 return (isCenterRbg && isCenterUe) || (isMediumRbg && isMediumUe) || (isEdgeRb
g && isEdgeUe); |
507 } | 509 } |
508 | 510 |
509 void | 511 void |
510 LteFfrSoftAlgorithm::DoReportDlCqiInfo (const struct FfMacSchedSapProvider::Sche
dDlCqiInfoReqParameters& params) | 512 LteFfrSoftAlgorithm::DoReportDlCqiInfo (const struct FfMacSchedSapProvider::Sche
dDlCqiInfoReqParameters& params) |
511 { | 513 { |
512 NS_LOG_FUNCTION (this); | 514 NS_LOG_FUNCTION (this); |
513 NS_LOG_WARN ("Method should not be called, because it is empty"); | 515 NS_LOG_WARN ("Method should not be called, because it is empty"); |
| 516 NS_UNUSED(params); |
514 } | 517 } |
515 | 518 |
516 void | 519 void |
517 LteFfrSoftAlgorithm::DoReportUlCqiInfo (const struct FfMacSchedSapProvider::Sche
dUlCqiInfoReqParameters& params) | 520 LteFfrSoftAlgorithm::DoReportUlCqiInfo (const struct FfMacSchedSapProvider::Sche
dUlCqiInfoReqParameters& params) |
518 { | 521 { |
519 NS_LOG_FUNCTION (this); | 522 NS_LOG_FUNCTION (this); |
520 NS_LOG_WARN ("Method should not be called, because it is empty"); | 523 NS_LOG_WARN ("Method should not be called, because it is empty"); |
| 524 NS_UNUSED(params); |
521 } | 525 } |
522 | 526 |
523 void | 527 void |
524 LteFfrSoftAlgorithm::DoReportUlCqiInfo (std::map <uint16_t, std::vector <double>
> ulCqiMap) | 528 LteFfrSoftAlgorithm::DoReportUlCqiInfo (std::map <uint16_t, std::vector <double>
> ulCqiMap) |
525 { | 529 { |
526 NS_LOG_FUNCTION (this); | 530 NS_LOG_FUNCTION (this); |
527 NS_LOG_WARN ("Method should not be called, because it is empty"); | 531 NS_LOG_WARN ("Method should not be called, because it is empty"); |
528 } | 532 } |
529 | 533 |
530 uint8_t | 534 uint8_t |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 } | 693 } |
690 | 694 |
691 void | 695 void |
692 LteFfrSoftAlgorithm::DoRecvLoadInformation (EpcX2Sap::LoadInformationParams para
ms) | 696 LteFfrSoftAlgorithm::DoRecvLoadInformation (EpcX2Sap::LoadInformationParams para
ms) |
693 { | 697 { |
694 NS_LOG_FUNCTION (this); | 698 NS_LOG_FUNCTION (this); |
695 NS_LOG_WARN ("Method should not be called, because it is empty"); | 699 NS_LOG_WARN ("Method should not be called, because it is empty"); |
696 } | 700 } |
697 | 701 |
698 } // end of namespace ns3 | 702 } // end of namespace ns3 |
OLD | NEW |