Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(64)

Issue 130130043: GSoC 2014 LTE FFR algorithms project

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 8 months ago by gawlowicz.p
Modified:
9 years, 7 months ago
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

GSOC 2014 LTE FFR Final code review The review covers all the changes from the beginning of the project, so my patch contains: -FfrAlgorithm abstract class -Two SAPs FfrSchedulerSap and FfrRrcSap -Updated all schedulers and eNB RRC with new SAPs -Updated LteHelper -Downlink Power Control (3 modes: Open Loop, Closed Loop Absolute, Closed Loop Accumulative) -Updated RrcAsn1Header with PdschConfigDedicated structure -Implementation of new CQI generation approach -Code refactoring of LteSinrChunkProcessor -Connected FR algorithms with PF, PSS, CQA, FD-TBFQ, TD-TBFQ Schedulers -Fixed HARQ bug -Uplink Power Control -Frequency Reuse Algorithms: -NoOp FR algorithm -Hard FR algorithm -Strict FR algorithm -Soft FR algorithm -Soft FFR algorithm -Enhanced FFR algorithm -Distributed FFR algorithm -Tests: -lte-downlink-power-control to check correctness of Downlink Power Control -lte-frequency-reuse to check if scheduler (PF, PSS, CQA, FD-TBFQ, TD-TBFQ) is not using forbidden RBGs, and if UE is served with proper power and RBGs in downlink according to FFR algorithm policy -lte-interference-fr checks interference level with Hard and Strict FR algorithms -lte-cqi-generation check new CQI generation approach -lte-uplink-power-control to check correctness of Uplink Power Control in 3 modes -Design, user and test documentation -Automatic Frequency Reuse configuration in DL and UL (cell can be configured with only 1 attribute) -Fixed problem with uplink scheduling with frequency reuse algorithm -Fixed 2 HARQ bugs in all MAC schedulers -Examples: -lena-frequency-reuse -lena-distributed-ffr -lena-uplink-power-control There are 5 test suites of interest, which can be run as follows: ./test.py -s lte-downlink-power-control ./test.py -s lte-frequency-reuse ./test.py -s lte-interference-fr ./test.py -s lte-cqi-generation ./test.py -s lte-uplink-power-control More details can be found in the project Wiki page [1] and documentation page [2]. Source code is available for download in project Mercurial repository [3]. Please feel free to contact me if you have any comments or questions. Thanks in advance for reviewing. [1] http://www.nsnam.org/wiki/GSOC2014LteFFR [2] http://code.nsnam.org/pgawlowicz/ns-3-dev-lte-ffr/ [3] http://www.nsnam.org/~pgawlowicz/lte.html

Patch Set 1 #

Total comments: 51
Unified diffs Side-by-side diffs Delta from patch set Stats (+16037 lines, -892 lines) Patch
M CHANGES.html View 1 chunk +56 lines, -0 lines 0 comments Download
M RELEASE_NOTES View 1 chunk +39 lines, -0 lines 0 comments Download
M doc/models/Makefile View 2 chunks +30 lines, -0 lines 0 comments Download
M src/lte/doc/Makefile View 2 chunks +30 lines, -0 lines 0 comments Download
A src/lte/doc/source/figures/ffr-distributed-scheme.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/ffr-distributed-scheme.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-enhanced-fractional-frequency-reuse-scheme.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-enhanced-fractional-frequency-reuse-scheme.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-full-frequency-reuse-scheme.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-full-frequency-reuse-scheme.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-hard-frequency-reuse-scheme.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-hard-frequency-reuse-scheme.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-soft-fractional-frequency-reuse-scheme.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-soft-fractional-frequency-reuse-scheme.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-soft-frequency-reuse-scheme-v1.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-soft-frequency-reuse-scheme-v1.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-soft-frequency-reuse-scheme-v2.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-soft-frequency-reuse-scheme-v2.png View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-strict-frequency-reuse-scheme.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/fr-strict-frequency-reuse-scheme.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-dl-power-control.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-dl-power-control.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-ffr-scheduling.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-ffr-scheduling.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-ffr-soft-2-spectrum-trace.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-ffr-soft-2-spectrum-trace.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-hard-1-rem.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-hard-1-rem.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-hard-2-rem.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-hard-2-rem.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-hard-3-rem.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-hard-3-rem.png View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-soft-1-rem.pdf View Binary file 0 comments Download
A src/lte/doc/source/figures/lte-fr-soft-1-rem.png View Binary file 0 comments Download
M src/lte/doc/source/lte-design.rst View 4 chunks +547 lines, -3 lines 10 comments Download
M src/lte/doc/source/lte-references.rst View 1 chunk +5 lines, -1 line 0 comments Download
M src/lte/doc/source/lte-testing.rst View 2 chunks +137 lines, -1 line 6 comments Download
M src/lte/doc/source/lte-user.rst View 5 chunks +493 lines, -3 lines 4 comments Download
A src/lte/examples/lena-distributed-ffr.cc View 1 chunk +392 lines, -0 lines 2 comments Download
M src/lte/examples/lena-dual-stripe.cc View 1 chunk +4 lines, -0 lines 0 comments Download
A src/lte/examples/lena-frequency-reuse.cc View 1 chunk +386 lines, -0 lines 0 comments Download
A src/lte/examples/lena-uplink-power-control.cc View 1 chunk +100 lines, -0 lines 0 comments Download
M src/lte/examples/lena-x2-handover.cc View 1 chunk +3 lines, -0 lines 4 comments Download
M src/lte/helper/lte-helper.h View 3 chunks +23 lines, -0 lines 0 comments Download
M src/lte/helper/lte-helper.cc View 11 chunks +71 lines, -9 lines 4 comments Download
M src/lte/helper/lte-hex-grid-enb-topology-helper.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/helper/radio-environment-map-helper.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/helper/radio-environment-map-helper.cc View 6 chunks +24 lines, -2 lines 2 comments Download
M src/lte/model/cqa-ff-mac-scheduler.h View 3 chunks +8 lines, -0 lines 0 comments Download
M src/lte/model/cqa-ff-mac-scheduler.cc View 19 chunks +110 lines, -11 lines 0 comments Download
M src/lte/model/fdbet-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/fdbet-ff-mac-scheduler.cc View 24 chunks +45 lines, -31 lines 0 comments Download
M src/lte/model/fdmt-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/fdmt-ff-mac-scheduler.cc View 4 chunks +16 lines, -2 lines 0 comments Download
M src/lte/model/fdtbfq-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/fdtbfq-ff-mac-scheduler.cc View 17 chunks +102 lines, -11 lines 0 comments Download
M src/lte/model/ff-mac-scheduler.h View 2 chunks +17 lines, -0 lines 0 comments Download
M src/lte/model/lte-chunk-processor.h View 2 chunks +21 lines, -112 lines 8 comments Download
M src/lte/model/lte-chunk-processor.cc View 2 chunks +25 lines, -215 lines 0 comments Download
M src/lte/model/lte-enb-cphy-sap.h View 5 chunks +29 lines, -1 line 0 comments Download
M src/lte/model/lte-enb-net-device.h View 2 chunks +3 lines, -1 line 0 comments Download
M src/lte/model/lte-enb-net-device.cc View 4 chunks +11 lines, -0 lines 0 comments Download
M src/lte/model/lte-enb-phy.h View 12 chunks +58 lines, -22 lines 0 comments Download
M src/lte/model/lte-enb-phy.cc View 19 chunks +92 lines, -25 lines 0 comments Download
M src/lte/model/lte-enb-rrc.h View 13 chunks +41 lines, -9 lines 0 comments Download
M src/lte/model/lte-enb-rrc.cc View 59 chunks +183 lines, -115 lines 0 comments Download
A src/lte/model/lte-ffr-algorithm.h View 1 chunk +274 lines, -0 lines 4 comments Download
A src/lte/model/lte-ffr-algorithm.cc View 1 chunk +180 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-distributed-algorithm.h View 1 chunk +160 lines, -0 lines 2 comments Download
A src/lte/model/lte-ffr-distributed-algorithm.cc View 1 chunk +685 lines, -0 lines 4 comments Download
A src/lte/model/lte-ffr-enhanced-algorithm.h View 1 chunk +161 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-enhanced-algorithm.cc View 1 chunk +877 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-rrc-sap.h View 1 chunk +278 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-rrc-sap.cc View 1 chunk +39 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-sap.h View 1 chunk +265 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-sap.cc View 1 chunk +38 lines, -0 lines 0 comments Download
A src/lte/model/lte-ffr-soft-algorithm.h View 1 chunk +150 lines, -0 lines 2 comments Download
A src/lte/model/lte-ffr-soft-algorithm.cc View 1 chunk +663 lines, -0 lines 0 comments Download
A src/lte/model/lte-fr-hard-algorithm.h View 1 chunk +113 lines, -0 lines 0 comments Download
A src/lte/model/lte-fr-hard-algorithm.cc View 1 chunk +394 lines, -0 lines 0 comments Download
A src/lte/model/lte-fr-no-op-algorithm.h View 1 chunk +105 lines, -0 lines 2 comments Download
A src/lte/model/lte-fr-no-op-algorithm.cc View 1 chunk +208 lines, -0 lines 0 comments Download
A src/lte/model/lte-fr-soft-algorithm.h View 1 chunk +140 lines, -0 lines 0 comments Download
A src/lte/model/lte-fr-soft-algorithm.cc View 1 chunk +548 lines, -0 lines 0 comments Download
A src/lte/model/lte-fr-strict-algorithm.h View 1 chunk +141 lines, -0 lines 2 comments Download
A src/lte/model/lte-fr-strict-algorithm.cc View 1 chunk +566 lines, -0 lines 0 comments Download
M src/lte/model/lte-interference.h View 3 chunks +13 lines, -13 lines 0 comments Download
M src/lte/model/lte-interference.cc View 5 chunks +16 lines, -16 lines 0 comments Download
M src/lte/model/lte-rrc-header.h View 1 chunk +1 line, -1 line 2 comments Download
M src/lte/model/lte-rrc-header.cc View 3 chunks +27 lines, -2 lines 0 comments Download
M src/lte/model/lte-rrc-sap.h View 3 chunks +63 lines, -0 lines 0 comments Download
M src/lte/model/lte-spectrum-phy.h View 1 chunk +36 lines, -28 lines 0 comments Download
M src/lte/model/lte-spectrum-phy.cc View 2 chunks +11 lines, -6 lines 0 comments Download
M src/lte/model/lte-spectrum-value-helper.h View 1 chunk +21 lines, -0 lines 0 comments Download
M src/lte/model/lte-spectrum-value-helper.cc View 3 chunks +39 lines, -2 lines 0 comments Download
M src/lte/model/lte-ue-cphy-sap.h View 3 chunks +15 lines, -0 lines 0 comments Download
M src/lte/model/lte-ue-phy.h View 6 chunks +16 lines, -0 lines 0 comments Download
M src/lte/model/lte-ue-phy.cc View 18 chunks +330 lines, -139 lines 0 comments Download
A src/lte/model/lte-ue-power-control.h View 1 chunk +138 lines, -0 lines 0 comments Download
A src/lte/model/lte-ue-power-control.cc View 1 chunk +429 lines, -0 lines 0 comments Download
M src/lte/model/lte-ue-rrc.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/lte/model/lte-ue-rrc.cc View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/pf-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/pf-ff-mac-scheduler.cc View 34 chunks +130 lines, -36 lines 0 comments Download
M src/lte/model/pss-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/pss-ff-mac-scheduler.cc View 18 chunks +106 lines, -12 lines 0 comments Download
M src/lte/model/rem-spectrum-phy.h View 3 chunks +19 lines, -2 lines 0 comments Download
M src/lte/model/rem-spectrum-phy.cc View 4 chunks +51 lines, -11 lines 0 comments Download
M src/lte/model/rr-ff-mac-scheduler.h View 3 chunks +8 lines, -0 lines 0 comments Download
M src/lte/model/rr-ff-mac-scheduler.cc View 4 chunks +17 lines, -2 lines 0 comments Download
M src/lte/model/tdbet-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/tdbet-ff-mac-scheduler.cc View 4 chunks +16 lines, -2 lines 0 comments Download
M src/lte/model/tdmt-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/tdmt-ff-mac-scheduler.cc View 4 chunks +16 lines, -2 lines 0 comments Download
M src/lte/model/tdtbfq-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/tdtbfq-ff-mac-scheduler.cc View 17 chunks +102 lines, -11 lines 0 comments Download
M src/lte/model/tta-ff-mac-scheduler.h View 3 chunks +8 lines, -1 line 0 comments Download
M src/lte/model/tta-ff-mac-scheduler.cc View 4 chunks +16 lines, -2 lines 0 comments Download
A src/lte/test/lte-ffr-simple.h View 1 chunk +139 lines, -0 lines 0 comments Download
A src/lte/test/lte-ffr-simple.cc View 1 chunk +322 lines, -0 lines 0 comments Download
A src/lte/test/lte-simple-spectrum-phy.h View 1 chunk +91 lines, -0 lines 0 comments Download
A src/lte/test/lte-simple-spectrum-phy.cc View 1 chunk +166 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-cqi-generation.h View 1 chunk +57 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-cqi-generation.cc View 1 chunk +208 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-downlink-power-control.h View 1 chunk +97 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-downlink-power-control.cc View 1 chunk +598 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-downlink-sinr.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/lte/test/lte-test-fading.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/lte/test/lte-test-fdbet-ff-mac-scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-fdmt-ff-mac-scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-frequency-reuse.h View 1 chunk +211 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-frequency-reuse.cc View 1 chunk +1702 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-harq.cc View 2 chunks +4 lines, -1 line 0 comments Download
M src/lte/test/lte-test-interference.cc View 1 chunk +3 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-interference-fr.h View 1 chunk +77 lines, -0 lines 2 comments Download
A src/lte/test/lte-test-interference-fr.cc View 1 chunk +413 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-link-adaptation.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-mimo.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-pathloss-model.cc View 3 chunks +4 lines, -1 line 0 comments Download
M src/lte/test/lte-test-phy-error-model.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-rr-ff-mac-scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-sinr-chunk-processor.h View 1 chunk +5 lines, -4 lines 2 comments Download
M src/lte/test/lte-test-sinr-chunk-processor.cc View 2 chunks +7 lines, -1 line 0 comments Download
M src/lte/test/lte-test-tdbet-ff-mac-scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-tdmt-ff-mac-scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-tta-ff-mac-scheduler.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-ue-measurements.cc View 4 chunks +13 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-uplink-power-control.h View 1 chunk +102 lines, -0 lines 0 comments Download
A src/lte/test/lte-test-uplink-power-control.cc View 1 chunk +528 lines, -0 lines 0 comments Download
M src/lte/test/lte-test-uplink-sinr.cc View 2 chunks +2 lines, -2 lines 0 comments Download
A src/lte/test/reference/lte_cqi_generation.m View 1 chunk +86 lines, -0 lines 0 comments Download
A src/lte/test/reference/lte_frequency_reuse.m View 1 chunk +73 lines, -0 lines 0 comments Download
A src/lte/test/reference/lte_link_budget_interference_fr.m View 1 chunk +73 lines, -0 lines 0 comments Download
A src/lte/test/reference/lte_uplink_power_control.m View 1 chunk +135 lines, -0 lines 0 comments Download
A src/lte/test/reference/path_loss.m View 1 chunk +18 lines, -0 lines 0 comments Download
M src/lte/test/test-asn1-encoding.cc View 2 chunks +14 lines, -0 lines 0 comments Download
M src/lte/test/test-lte-antenna.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/lte/test/test-lte-x2-handover.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/lte/test/test-lte-x2-handover-measures.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/lte/wscript View 5 chunks +31 lines, -2 lines 0 comments Download
M src/spectrum/doc/spectrum.rst View 5 chunks +5 lines, -6 lines 0 comments Download

Messages

Total messages: 4
buherman
Hi Piotr, Well done for a tremendous piece of work. I especially like the new ...
9 years, 8 months ago (2014-08-21 23:43:37 UTC) #1
gawlowicz.p
Hi Budiarto, Thank you for code review. Sorry for delay with fixing your comments, but ...
9 years, 7 months ago (2014-09-01 22:48:45 UTC) #2
Nicola Baldo
Some further comments on issues raised by Budi and still open... https://codereview.appspot.com/130130043/diff/1/src/lte/examples/lena-x2-handover.cc File src/lte/examples/lena-x2-handover.cc (right): ...
9 years, 7 months ago (2014-09-03 17:00:52 UTC) #3
gawlowicz.p
9 years, 7 months ago (2014-09-05 00:12:29 UTC) #4
Hi,

I have fixed last two comments.

Piotr

https://codereview.appspot.com/130130043/diff/1/src/lte/examples/lena-x2-hand...
File src/lte/examples/lena-x2-handover.cc (right):

https://codereview.appspot.com/130130043/diff/1/src/lte/examples/lena-x2-hand...
src/lte/examples/lena-x2-handover.cc:152: Config::SetDefault
("ns3::LteUePhy::EnableUplinkPowerControl", BooleanValue (false));
On 2014/09/03 17:00:52, Nicola Baldo wrote:
> I think Budi is right here, we should test with UPC enabled. Otherwise, if
> handover fails with UPC enabled, and UPC defaults to enabled, we'll start
> getting lots of complaints by users that handover doesn't work anymore.

Done.

https://codereview.appspot.com/130130043/diff/1/src/lte/model/lte-chunk-proce...
File src/lte/model/lte-chunk-processor.h (right):

https://codereview.appspot.com/130130043/diff/1/src/lte/model/lte-chunk-proce...
src/lte/model/lte-chunk-processor.h:33: #include <ns3/lte-spectrum-phy.h>
On 2014/09/03 17:00:52, Nicola Baldo wrote:
> On 2014/09/01 22:47:30, gawlowicz.p wrote:
> > Remove #include <ns3/spectrum-value.h> in here and add it in .cc file? 
> 
> Yes. IIRC the ns-3 coding style says to use forward declarations wherever
> possible

Done.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b