split manual into design, user and testing documentation
authorNicola Baldo <nbaldo@cttc.es>
Wed, 11 May 2011 19:26:06 +0200
changeset 8050 3d595056658b
parent 8049 7daa03922316
child 8051 f12fba152dfd
split manual into design, user and testing documentation
doc/manual/source/lte-design.rst
doc/manual/source/lte-testing.rst
doc/manual/source/lte-user.rst
doc/manual/source/lte.rst
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/manual/source/lte-design.rst	Wed May 11 19:26:06 2011 +0200
@@ -0,0 +1,107 @@
+.. include:: replace.txt
+
+
+++++++++++++++++++++++++++
+ LTE Design Documentation
+++++++++++++++++++++++++++
+
+-----------------------------------------------------------------------------
+
+* the new eutra stack diagram with all SAPs, differentiated between eNB and UE
+* the explanation of the new example program
+
+
+-----------------------------------------------------------------------------
+
+Radio Resource Management and Packet Scheduling
+###############################################
+
+For how the ns-3 LTE module handles Radio Resource Management and Packet Scheduling at the eNB, please see the :ref:`ff-mac-sched-api`.
+
+
+Physical layer
+##############
+
+A :cpp:class:`ns3::LtePhy` class models the LTE PHY layer. 
+
+Basic functionalities of the PHY layer are: (i) transmit packets coming from the device to the channel; (ii) receive packets from the channel; (ii) evaluate the quality of the channel from the Signal To Noise ratio of the received signal; and (iii) forward received packets to the device.
+
+Both the PHY and channel have been developed extending :cpp:class:`ns3::SpectrumPhy` and 
+:cpp:class:`ns3::SpectrumChannel` classes, respectively, which are provided by the Spectrum Framework [1]_.
+ 
+The module implements an FDD channel access. In FDD channel access, downlink and uplink 
+transmissions work together in the time but using a different set of frequencies.  
+Since DL and UL are indipendent between them, the PHY is composed by couple of 
+:cpp:class:`ns3::LteSpectrumPhy` object, one for the downlink and one for the uplink.
+The :cpp:class:`ns3::LtePhy` stores and manages both downlink and uplink 
+:cpp:class:`ns3::LteSpectrumPhy` elements. 
+
+In order to customize all physical functionalities for both UE and eNB devices, dedicated 
+classes have been inherited from ones described before. In particular, 
+:cpp:class:`ns3::LteUePhy` and :cpp:class:`ns3::LteEnbPhy` classes, inherited from 
+the :cpp:class:`ns3::LtePhy` class, implement the PHY layer for the UE and the 
+eNB, respectively. 
+
+The figure below shows how UE and eNB can exchange packets through the considered PHY layer.
+
+.. _lte-transmission:
+
+.. figure:: figures/lte-transmission.png
+
+    DL and UL transmision on the LTE network
+
+For the downlink, when the eNB whants to send packets, it calls the ``StartTx`` function to 
+send them into the downlink channel. Then, the downlink channel delivers the burst 
+of packets to all the :cpp:class:`ns3::UeLteSpectrumPhy` attached to it, handling the 
+``StartRx`` function. 
+When the UE receives packets, it executes the following tasks:
+
+* compute the SINR for all the sub channel used in the downlink
+
+* create and send CQI feedbacks
+
+* forward all the received packets to the MAC layer through the PHY SAP.
+
+The uplink works similary.
+
+Propagation Loss Models
+#######################
+
+A proper propagation loss model has been developed for the LTE E-UTRAN interface (see [2]_ and [3]_).
+It is used by the PHY layer to compute the loss due to the propagation. 
+
+The LTE propagation loss model is composed by 4 different models (shadowing, multipath, 
+penetration loss and path loss) [2]_:
+
+* Pathloss: :math:`PL = 128.1 + (37.6 * log10 (R))`, where R is the distance between the 
+  UE and the eNB in Km.
+
+* Multipath: Jakes model
+
+* PenetrationLoss: 10 dB
+
+* Shadowing: log-normal distribution (mean=0dB, standard deviation=8dB)
+
+Every time that the ``LteSpectrumPHY::StartRx ()`` function is called, the 
+``SpectrumInterferenceModel`` is used to computed the SINR, as proposed in [3]_. Then, 
+the network device uses the AMC module to map the SINR to a proper CQI and to send it 
+to the eNB using the ideal control channel.
+
+
+References
+----------
+
+.. [1] N. Baldo and M. Miozzo, Spectrum-aware Channel and PHY layer modeling for ns3, Proceedings 
+       of ICST NSTools 2009, Pisa, Italy. The framework is designed to simulate only data 
+       transmissions. For the transmission of control messages (such as CQI feedback, PDCCH, 
+       etc..) will be used an ideal control channel). 
+
+.. [2] 3GPP TS 25.814 ( http://www.3gpp.org/ftp/specs/html-INFO/25814.htm ) 
+
+.. [3] Giuseppe Piro, Luigi Alfredo Grieco, Gennaro Boggia, and Pietro Camarda", A Two-level 
+       Scheduling Algorithm for QoS Support in the Downlink of LTE Cellular Networks", Proc. of 
+       European Wireless, EW2010, Lucca, Italy, Apr., 2010 ( draft version is available on 
+       http://telematics.poliba.it/index.php?option=com_jombib&task=showbib&id=330 )
+
+.. [4] 3GPP R1-081483 (available on 
+       http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_52b/Docs/R1-081483.zip )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/manual/source/lte-testing.rst	Wed May 11 19:26:06 2011 +0200
@@ -0,0 +1,52 @@
+.. include:: replace.txt
+
+
++++++++++++++++++++++++++++
+ LTE Testing Documentation
++++++++++++++++++++++++++++
+
+
+Overview
+********
+
+The tests for the ns-3 LTE module are integrated with the ns-3 test framework.
+To run them, you need to have configured the build of the simulator in this way::
+
+    ./waf configure --enable-tests --enable-modules=lte --enable-examples
+    ./test.py
+
+The above will run not only the test suites belonging to the LTE module, but also those belonging to all the other ns-3 modules on which the LTE module depends. See the ns-3 manual for generic information on the testing framework.
+
+You can get a more detailed report in HTML format in this way::
+
+    ./test.py -w results.html
+
+After the above command has run, you can view the detailed result for each test by opebning the file ``results.html`` with a web browser.
+
+
+
+
+Description of the tests
+************************
+
+Unit Tests
+~~~~~~~~~~
+
+SINR calculation in the Downlink
+--------------------------------
+
+SINR calculation in the uplink
+------------------------------
+
+
+System Tests
+~~~~~~~~~~~~
+
+Adaptive Modulation and Coding
+------------------------------
+
+Round Robin scheduler performance
+---------------------------------
+
+Proportional Fair scheduler performance
+---------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/manual/source/lte-user.rst	Wed May 11 19:26:06 2011 +0200
@@ -0,0 +1,71 @@
+.. include:: replace.txt
+
+
++++++++++++++++++++++++++
+ LTE User Documentation
++++++++++++++++++++++++++
+
+EUTRA stack diagram
+*******************
+
+  
+Usage
+*****
+
+Users interact with the LTE model through the LENA helper API and through the publicly visible methods of the model. The helper API is defined in ``src/lte/helper/lena-helper.h``.
+
+The ``src/lte/examples/`` directory contains some basic examples that shows how to set up the LTE model in order to simulate an EUTRA downlink transmission.
+
+Example simulation program
+--------------------------
+
+``src/lte/examples/lena-first-sim.cc`` shows how to build a simple but complete simulation with one LTE eNB and one LTE UE. The detail explanation of the code follows:
+
+#. Declare the helper. This helper keeps together all the LTE components::
+
+    LenaHelper lena;
+
+
+#. Enable the logs in the LTE components::
+
+    lena.EnableLogComponents ();
+
+
+#. Create eNB and UE. They are created in its own node container::
+
+    NodeContainer enbNodes;
+    NodeContainer ueNodes;
+    enbNodes.Create (1);
+    ueNodes.Create (1);
+
+
+#. Install mobility models to eNB and UE. This has to be done before devices are created and installed::
+
+    MobilityHelper mobility;
+    mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
+    mobility.Install (enbNodes);
+    mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
+    mobility.Install (ueNodes);
+
+
+#. Create devices and install them to the eNB and UE::
+
+    NetDeviceContainer enbDevs;
+    NetDeviceContainer ueDevs;
+    enbDevs = lena.InstallEnbDevice (enbNodes);
+    ueDevs = lena.InstallUeDevice (ueNodes);
+
+
+#. Attach a UE to a eNB. It will also create a RRC connection between them and configure the UE::
+
+    lena.Attach (ueDevs, enbDevs.Get (0));
+
+
+#. Activate an EPS Bearer including the setup of the Radio Bearer between an eNB and its attached UE::
+
+    enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
+    EpsBearer bearer (q);
+    lena.ActivateEpsBearer (ueDevs, bearer);
+
+
+``src/lte/examples/lena-first-sim.cc`` shows how to build a simple but complete simulation with one LTE eNB and one LTE UE. The detail explanation of the code follows:
--- a/doc/manual/source/lte.rst	Wed May 11 17:45:27 2011 +0200
+++ b/doc/manual/source/lte.rst	Wed May 11 19:26:06 2011 +0200
@@ -1,175 +1,18 @@
-.. include:: replace.txt
 
+########################
 LTE Module
-----------
+########################
+
 
 This chapter describes the ns-3 LTE module located in ``src/lte``.
 
-EUTRA stack diagram
-*******************
-
-
-Usage
-*****
-
-Users interact with the LTE model through the LENA helper API and through the publicly visible methods of the model. The helper API is defined in ``src/lte/helper/lena-helper.h``.
-
-The ``src/lte/examples/`` directory contains some basic examples that shows how to set up the LTE model in order to simulate an EUTRA downlink transmission.
-
-Example simulation program
-==========================
-
-``src/lte/examples/lena-first-sim.cc`` shows how to build a simple but complete simulation with one LTE eNB and one LTE UE. The detail explanation of the code follows:
-
-#. Declare the helper. This helper keeps together all the LTE components::
-
-    LenaHelper lena;
-
-
-#. Enable the logs in the LTE components::
-
-    lena.EnableLogComponents ();
-
-
-#. Create eNB and UE. They are created in its own node container::
-
-    NodeContainer enbNodes;
-    NodeContainer ueNodes;
-    enbNodes.Create (1);
-    ueNodes.Create (1);
-
-
-#. Install mobility models to eNB and UE. This has to be done before devices are created and installed::
-
-    MobilityHelper mobility;
-    mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
-    mobility.Install (enbNodes);
-    mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
-    mobility.Install (ueNodes);
-
-
-#. Create devices and install them to the eNB and UE::
-
-    NetDeviceContainer enbDevs;
-    NetDeviceContainer ueDevs;
-    enbDevs = lena.InstallEnbDevice (enbNodes);
-    ueDevs = lena.InstallUeDevice (ueNodes);
-
-
-#. Attach a UE to a eNB. It will also create a RRC connection between them and configure the UE::
-
-    lena.Attach (ueDevs, enbDevs.Get (0));
-
-
-#. Activate an EPS Bearer including the setup of the Radio Bearer between an eNB and its attached UE::
-
-    enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
-    EpsBearer bearer (q);
-    lena.ActivateEpsBearer (ueDevs, bearer);
-
-
-``src/lte/examples/lena-first-sim.cc`` shows how to build a simple but complete simulation with one LTE eNB and one LTE UE. The detail explanation of the code follows:
-
------------------------------------------------------------------------------
-
-* the new eutra stack diagram with all SAPs, differentiated between eNB and UE
-* the explanation of the new example program
-
-
------------------------------------------------------------------------------
-
-Radio Resource Management and Packet Scheduling
-###############################################
-
-For how the ns-3 LTE module handles Radio Resource Management and Packet Scheduling at the eNB, please see the :ref:`ff-mac-sched-api`.
 
 
-Physical layer
-##############
-
-A :cpp:class:`ns3::LtePhy` class models the LTE PHY layer. 
-
-Basic functionalities of the PHY layer are: (i) transmit packets coming from the device to the channel; (ii) receive packets from the channel; (ii) evaluate the quality of the channel from the Signal To Noise ratio of the received signal; and (iii) forward received packets to the device.
-
-Both the PHY and channel have been developed extending :cpp:class:`ns3::SpectrumPhy` and 
-:cpp:class:`ns3::SpectrumChannel` classes, respectively, which are provided by the Spectrum Framework [1]_.
- 
-The module implements an FDD channel access. In FDD channel access, downlink and uplink 
-transmissions work together in the time but using a different set of frequencies.  
-Since DL and UL are indipendent between them, the PHY is composed by couple of 
-:cpp:class:`ns3::LteSpectrumPhy` object, one for the downlink and one for the uplink.
-The :cpp:class:`ns3::LtePhy` stores and manages both downlink and uplink 
-:cpp:class:`ns3::LteSpectrumPhy` elements. 
-
-In order to customize all physical functionalities for both UE and eNB devices, dedicated 
-classes have been inherited from ones described before. In particular, 
-:cpp:class:`ns3::LteUePhy` and :cpp:class:`ns3::LteEnbPhy` classes, inherited from 
-the :cpp:class:`ns3::LtePhy` class, implement the PHY layer for the UE and the 
-eNB, respectively. 
-
-The figure below shows how UE and eNB can exchange packets through the considered PHY layer.
-
-.. _lte-transmission:
-
-.. figure:: figures/lte-transmission.png
-
-    DL and UL transmision on the LTE network
-
-For the downlink, when the eNB whants to send packets, it calls the ``StartTx`` function to 
-send them into the downlink channel. Then, the downlink channel delivers the burst 
-of packets to all the :cpp:class:`ns3::UeLteSpectrumPhy` attached to it, handling the 
-``StartRx`` function. 
-When the UE receives packets, it executes the following tasks:
-
-* compute the SINR for all the sub channel used in the downlink
-
-* create and send CQI feedbacks
-
-* forward all the received packets to the MAC layer through the PHY SAP.
+.. toctree::
 
-The uplink works similary.
-
-Propagation Loss Models
-#######################
-
-A proper propagation loss model has been developed for the LTE E-UTRAN interface (see [2]_ and [3]_).
-It is used by the PHY layer to compute the loss due to the propagation. 
-
-The LTE propagation loss model is composed by 4 different models (shadowing, multipath, 
-penetration loss and path loss) [2]_:
-
-* Pathloss: :math:`PL = 128.1 + (37.6 * log10 (R))`, where R is the distance between the 
-  UE and the eNB in Km.
-
-* Multipath: Jakes model
-
-* PenetrationLoss: 10 dB
-
-* Shadowing: log-normal distribution (mean=0dB, standard deviation=8dB)
-
-Every time that the ``LteSpectrumPHY::StartRx ()`` function is called, the 
-``SpectrumInterferenceModel`` is used to computed the SINR, as proposed in [3]_. Then, 
-the network device uses the AMC module to map the SINR to a proper CQI and to send it 
-to the eNB using the ideal control channel.
-
-
-References
-==========
-
-.. [1] N. Baldo and M. Miozzo, Spectrum-aware Channel and PHY layer modeling for ns3, Proceedings 
-       of ICST NSTools 2009, Pisa, Italy. The framework is designed to simulate only data 
-       transmissions. For the transmission of control messages (such as CQI feedback, PDCCH, 
-       etc..) will be used an ideal control channel). 
-
-.. [2] 3GPP TS 25.814 ( http://www.3gpp.org/ftp/specs/html-INFO/25814.htm ) 
-
-.. [3] Giuseppe Piro, Luigi Alfredo Grieco, Gennaro Boggia, and Pietro Camarda", A Two-level 
-       Scheduling Algorithm for QoS Support in the Downlink of LTE Cellular Networks", Proc. of 
-       European Wireless, EW2010, Lucca, Italy, Apr., 2010 ( draft version is available on 
-       http://telematics.poliba.it/index.php?option=com_jombib&task=showbib&id=330 )
-
-.. [4] 3GPP R1-081483 (available on 
-       http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_52b/Docs/R1-081483.zip )
+    lte-design
+    lte-user
+    lte-testing