|
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 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
-Examples (in scratch directory) show how FR algorithms can be configured:
-lena-fr-simple
-lena-hard-fr
-lena-strict-fr
-lena-soft-fr
-lena-soft-ffr
-lena-enhanced-ffr
-lena-distributed-ffr
-lena-upc (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
Total comments: 122
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+4402 lines, -2885 lines) |
Patch |
|
M |
CHANGES.html
|
View
|
1
|
1 chunk |
+56 lines, -0 lines |
0 comments
|
Download
|
|
M |
RELEASE_NOTES
|
View
|
1
2
|
1 chunk |
+39 lines, -0 lines |
0 comments
|
Download
|
|
M |
doc/models/Makefile
|
View
|
1
2
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
R |
scratch/lena-distributed-ffr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -194 lines |
0 comments
|
Download
|
|
R |
scratch/lena-enhanced-ffr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -171 lines |
0 comments
|
Download
|
|
R |
scratch/lena-fr-simple.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -112 lines |
0 comments
|
Download
|
|
R |
scratch/lena-hard-fr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -159 lines |
0 comments
|
Download
|
|
R |
scratch/lena-hard-fr-cqi.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -162 lines |
0 comments
|
Download
|
|
R |
scratch/lena-no-ffr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -153 lines |
0 comments
|
Download
|
|
R |
scratch/lena-soft-ffr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -176 lines |
0 comments
|
Download
|
|
R |
scratch/lena-soft-fr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -170 lines |
0 comments
|
Download
|
|
R |
scratch/lena-strict-fr.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -170 lines |
0 comments
|
Download
|
|
R |
scratch/lena-upc.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -97 lines |
0 comments
|
Download
|
|
M |
src/lte/doc/Makefile
|
View
|
1
2
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-ffr-soft-2-spectrum-trace.pdf
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-ffr-soft-2-spectrum-trace.png
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-hard-1-rem.pdf
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-hard-1-rem.png
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-hard-2-rem.pdf
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-hard-2-rem.png
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-hard-3-rem.pdf
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-hard-3-rem.png
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-soft-1-rem.pdf
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
A |
src/lte/doc/source/figures/lte-fr-soft-1-rem.png
|
View
|
1
2
|
Binary file |
0 comments
|
Download
|
|
M |
src/lte/doc/source/lte-design.rst
|
View
|
1
2
|
11 chunks |
+256 lines, -46 lines |
0 comments
|
Download
|
|
M |
src/lte/doc/source/lte-testing.rst
|
View
|
1
2
|
3 chunks |
+73 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/lte/doc/source/lte-user.rst
|
View
|
1
2
|
17 chunks |
+284 lines, -23 lines |
0 comments
|
Download
|
|
A |
src/lte/examples/lena-distributed-ffr.cc
|
View
|
1
2
|
1 chunk |
+392 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/examples/lena-dual-stripe.cc
|
View
|
1
2
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/examples/lena-frequency-reuse.cc
|
View
|
1
2
|
1 chunk |
+386 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/examples/lena-uplink-power-control.cc
|
View
|
1
2
|
1 chunk |
+100 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/examples/lena-x2-handover.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/helper/lte-helper.cc
|
View
|
1
2
|
6 chunks |
+27 lines, -30 lines |
0 comments
|
Download
|
|
M |
src/lte/helper/lte-hex-grid-enb-topology-helper.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/helper/radio-environment-map-helper.h
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/helper/radio-environment-map-helper.cc
|
View
|
1
2
|
6 chunks |
+24 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/lte/model/cqa-ff-mac-scheduler.cc
|
View
|
1
2
|
8 chunks |
+20 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/lte/model/fdbet-ff-mac-scheduler.cc
|
View
|
1
2
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/fdmt-ff-mac-scheduler.cc
|
View
|
1
2
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/fdtbfq-ff-mac-scheduler.cc
|
View
|
1
2
|
8 chunks |
+20 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-chunk-processor.h
|
View
|
1
2
|
1 chunk |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-chunk-processor.cc
|
View
|
1
2
|
2 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-cphy-sap.h
|
View
|
1
2
|
5 chunks |
+18 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-mac.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-mac.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-net-device.cc
|
View
|
1
2
|
1 chunk |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-phy.h
|
View
|
1
2
|
3 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-phy.cc
|
View
|
1
2
|
5 chunks |
+13 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-rrc.h
|
View
|
1
2
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-enb-rrc.cc
|
View
|
1
2
|
8 chunks |
+10 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-algorithm.h
|
View
|
1
2
|
4 chunks |
+27 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-algorithm.cc
|
View
|
1
2
|
4 chunks |
+26 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-distributed-algorithm.h
|
View
|
1
2
|
3 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-distributed-algorithm.cc
|
View
|
1
2
|
15 chunks |
+106 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-enhanced-algorithm.h
|
View
|
1
2
|
3 chunks |
+9 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-enhanced-algorithm.cc
|
View
|
1
2
|
25 chunks |
+321 lines, -204 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-sap.h
|
View
|
1
2
|
3 chunks |
+13 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-soft-algorithm.h
|
View
|
1
2
|
3 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ffr-soft-algorithm.cc
|
View
|
1
2
|
14 chunks |
+154 lines, -18 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-hard-algorithm.h
|
View
|
1
2
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-hard-algorithm.cc
|
View
|
1
2
|
9 chunks |
+58 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-no-op-algorithm.h
|
View
|
1
2
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-no-op-algorithm.cc
|
View
|
1
2
|
4 chunks |
+20 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-soft-algorithm.h
|
View
|
1
2
|
4 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-soft-algorithm.cc
|
View
|
1
2
|
15 chunks |
+126 lines, -28 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-strict-algorithm.h
|
View
|
1
2
|
4 chunks |
+9 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-fr-strict-algorithm.cc
|
View
|
1
2
|
13 chunks |
+117 lines, -23 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-rrc-header.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/lte-rrc-header.cc
|
View
|
1
2
|
2 chunks |
+13 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-rrc-sap.h
|
View
|
1
2
|
2 chunks |
+55 lines, -48 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-spectrum-phy.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/lte-spectrum-signal-parameters.h
|
View
|
1
2
|
4 chunks |
+14 lines, -14 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-spectrum-signal-parameters.cc
|
View
|
1
2
|
7 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-spectrum-value-helper.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ue-cphy-sap.h
|
View
|
1
2
|
3 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ue-phy.h
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ue-phy.cc
|
View
|
1
2
|
16 chunks |
+278 lines, -267 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ue-power-control.h
|
View
|
1
2
|
4 chunks |
+42 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ue-power-control.cc
|
View
|
1
2
|
4 chunks |
+200 lines, -198 lines |
0 comments
|
Download
|
|
M |
src/lte/model/lte-ue-rrc.cc
|
View
|
1
2
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/model/pf-ff-mac-scheduler.cc
|
View
|
1
2
|
8 chunks |
+19 lines, -27 lines |
0 comments
|
Download
|
|
M |
src/lte/model/pss-ff-mac-scheduler.cc
|
View
|
1
2
|
8 chunks |
+20 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/lte/model/rem-spectrum-phy.h
|
View
|
1
2
|
3 chunks |
+19 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/lte/model/rem-spectrum-phy.cc
|
View
|
1
2
|
4 chunks |
+51 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/lte/model/rr-ff-mac-scheduler.cc
|
View
|
1
2
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/tdbet-ff-mac-scheduler.cc
|
View
|
1
2
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/tdmt-ff-mac-scheduler.cc
|
View
|
1
2
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lte/model/tdtbfq-ff-mac-scheduler.cc
|
View
|
1
2
|
8 chunks |
+20 lines, -25 lines |
0 comments
|
Download
|
|
M |
src/lte/model/tta-ff-mac-scheduler.cc
|
View
|
1
2
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/lte/test/lte-ffr-simple.h
|
View
|
1
2
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-ffr-simple.cc
|
View
|
1
2
|
4 chunks |
+17 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-downlink-power-control.h
|
View
|
1
2
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-downlink-power-control.cc
|
View
|
1
2
|
5 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-fdbet-ff-mac-scheduler.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-fdmt-ff-mac-scheduler.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-frequency-reuse.h
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-frequency-reuse.cc
|
View
|
1
2
|
21 chunks |
+307 lines, -78 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-harq.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-interference.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-interference-fr.cc
|
View
|
1
2
|
3 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-link-adaptation.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-mimo.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-pathloss-model.cc
|
View
|
1
2
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-phy-error-model.cc
|
View
|
1
2
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-rr-ff-mac-scheduler.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-tdbet-ff-mac-scheduler.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-tdmt-ff-mac-scheduler.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-tta-ff-mac-scheduler.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-ue-measurements.cc
|
View
|
1
2
|
4 chunks |
+13 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/lte-test-uplink-power-control.cc
|
View
|
1
2
|
9 chunks |
+36 lines, -36 lines |
0 comments
|
Download
|
|
A |
src/lte/test/reference/lte_cqi_generation.m
|
View
|
1
2
|
1 chunk |
+86 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/test/reference/lte_frequency_reuse.m
|
View
|
1
2
|
1 chunk |
+73 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/test/reference/lte_link_budget_interference_fr.m
|
View
|
1
2
|
1 chunk |
+73 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/test/reference/lte_uplink_power_control.m
|
View
|
1
2
|
1 chunk |
+135 lines, -0 lines |
0 comments
|
Download
|
|
A |
src/lte/test/reference/path_loss.m
|
View
|
1
2
|
1 chunk |
+18 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/test-asn1-encoding.cc
|
View
|
1
2
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/lte/test/test-lte-antenna.cc
|
View
|
1
2
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/test-lte-x2-handover.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/lte/test/test-lte-x2-handover-measures.cc
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/spectrum/doc/spectrum.rst
|
View
|
1
2
|
5 chunks |
+5 lines, -6 lines |
0 comments
|
Download
|
Total messages: 5
|