diff --git a/doc/models/Makefile b/doc/models/Makefile index ef959c651..e26f144c7 100644 --- a/doc/models/Makefile +++ b/doc/models/Makefile @@ -115,6 +115,8 @@ SOURCEFIGS = \ $(SRC)/lte/doc/source/figures/ue-meas-piecewise-a1.dia \ $(SRC)/lte/doc/source/figures/ue-meas-piecewise-a1-hys.dia \ $(SRC)/lte/doc/source/figures/lte-cell-selection.dia \ + $(SRC)/lte/doc/source/figures/lte-cell-selection-open-access.dia \ + $(SRC)/lte/doc/source/figures/lte-cell-selection-closed-access.dia \ $(SRC)/lte/doc/source/figures/lena-dual-stripe.eps \ $(SRC)/lte/doc/source/figures/lte-mcs-index.eps \ $(SRC)/lte/doc/source/figures/lenaThrTestCase1.eps \ @@ -254,6 +256,8 @@ IMAGES_EPS = \ $(FIGURES)/ue-meas-piecewise-a1.eps \ $(FIGURES)/ue-meas-piecewise-a1-hys.eps \ $(FIGURES)/lte-cell-selection.eps \ + $(FIGURES)/lte-cell-selection-open-access.eps \ + $(FIGURES)/lte-cell-selection-closed-access.eps \ $(FIGURES)/lena-dual-stripe.eps \ $(FIGURES)/lte-mcs-index.eps \ $(FIGURES)/lenaThrTestCase1.eps \ diff --git a/src/lte/doc/Makefile b/src/lte/doc/Makefile index cb539e3c5..ffc2d7d18 100644 --- a/src/lte/doc/Makefile +++ b/src/lte/doc/Makefile @@ -35,7 +35,9 @@ IMAGES_DIA = \ $(FIGURES)/ue-meas-piecewise-motion.dia \ $(FIGURES)/ue-meas-piecewise-a1.dia \ $(FIGURES)/ue-meas-piecewise-a1-hys.dia \ - $(FIGURES)/lte-cell-selection.dia + $(FIGURES)/lte-cell-selection.dia \ + $(FIGURES)/lte-cell-selection-open-access.dia \ + $(FIGURES)/lte-cell-selection-closed-access.dia # specify eps figures from which .png and .pdf figures need to be built diff --git a/src/lte/doc/source/figures/lte-cell-selection-closed-access.dia b/src/lte/doc/source/figures/lte-cell-selection-closed-access.dia new file mode 100644 index 000000000..354461318 Binary files /dev/null and b/src/lte/doc/source/figures/lte-cell-selection-closed-access.dia differ diff --git a/src/lte/doc/source/figures/lte-cell-selection-open-access.dia b/src/lte/doc/source/figures/lte-cell-selection-open-access.dia new file mode 100644 index 000000000..c3f851cdf Binary files /dev/null and b/src/lte/doc/source/figures/lte-cell-selection-open-access.dia differ diff --git a/src/lte/doc/source/figures/lte-cell-selection.dia b/src/lte/doc/source/figures/lte-cell-selection.dia index 8ae6ea9ee..972ffb4b5 100644 Binary files a/src/lte/doc/source/figures/lte-cell-selection.dia and b/src/lte/doc/source/figures/lte-cell-selection.dia differ diff --git a/src/lte/doc/source/figures/lte-ue-rrc-states.dot b/src/lte/doc/source/figures/lte-ue-rrc-states.dot index ca8180a98..c1e97821c 100644 --- a/src/lte/doc/source/figures/lte-ue-rrc-states.dot +++ b/src/lte/doc/source/figures/lte-ue-rrc-states.dot @@ -11,7 +11,7 @@ CONNECTED_HANDOVER [shape="box",width=4] IDLE_CELL_SELECTION -> IDLE_WAIT_SYSTEM_INFO [label="cell ID enforced\nby upper layers"] -IDLE_CELL_SELECTION -> IDLE_CAMPED_NORMALLY [label="cell selection\nsuccessful"] +IDLE_CELL_SELECTION -> IDLE_WAIT_SYSTEM_INFO [label="cell selection\nsuccessful"] IDLE_WAIT_SYSTEM_INFO -> IDLE_CAMPED_NORMALLY [label="rx MIB + SIB2"] IDLE_CAMPED_NORMALLY -> IDLE_RANDOM_ACCESS [label="connection request\nby upper layers"] IDLE_RANDOM_ACCESS -> IDLE_CONNECTING [label="random access\nsuccessful"] diff --git a/src/lte/doc/source/figures/lte-ue-rrc-states.pdf b/src/lte/doc/source/figures/lte-ue-rrc-states.pdf index 696c7ba8a..b56b7b286 100644 Binary files a/src/lte/doc/source/figures/lte-ue-rrc-states.pdf and b/src/lte/doc/source/figures/lte-ue-rrc-states.pdf differ diff --git a/src/lte/doc/source/figures/lte-ue-rrc-states.png b/src/lte/doc/source/figures/lte-ue-rrc-states.png index 277334b90..daff6badf 100644 Binary files a/src/lte/doc/source/figures/lte-ue-rrc-states.png and b/src/lte/doc/source/figures/lte-ue-rrc-states.png differ diff --git a/src/lte/doc/source/lte-design.rst b/src/lte/doc/source/lte-design.rst index 009f12f05..e95ba796f 100644 --- a/src/lte/doc/source/lte-design.rst +++ b/src/lte/doc/source/lte-design.rst @@ -1969,6 +1969,7 @@ model (see :ref:`sec-rrc-protocol-models`) and no transmission error. .. _fig-lte-cell-selection: .. figure:: figures/lte-cell-selection.* + :scale: 80 % :align: center Sample runs of initial cell selection in UE and timing of related events @@ -2311,8 +2312,7 @@ Section 5.5.4 of [TS36331]_. Event-based trigger can be further configured by introducing hysteresis and time-to-trigger. *Hysteresis* (:math:`Hys`) defines the distance between the entering and leaving conditions in dB. Similarly, *time-to-trigger* introduces -delay to both entering and leaving conditions, but as a unit of time. Section - +delay to both entering and leaving conditions, but as a unit of time. *Periodical* type of reporting trigger is not supported, but can be easily replicated using event-based trigger. This can be done by configuring the diff --git a/src/lte/doc/source/lte-references.rst b/src/lte/doc/source/lte-references.rst index d52cfbc6a..aac69859e 100644 --- a/src/lte/doc/source/lte-references.rst +++ b/src/lte/doc/source/lte-references.rst @@ -40,6 +40,7 @@ References .. [TS36423] 3GPP TS 36.423 "E-UTRAN X2 application protocol (X2AP)" +.. [TS36922] 3GPP TS 36.922 "E-UTRA TDD Home eNode B (HeNB) Radio Frequency (RF) requirements analysis" .. [R1-081483] 3GPP R1-081483 `Conveying MCS and TB size via PDCCH `_ diff --git a/src/lte/doc/source/lte-testing.rst b/src/lte/doc/source/lte-testing.rst index e4438e271..02d42168b 100644 --- a/src/lte/doc/source/lte-testing.rst +++ b/src/lte/doc/source/lte-testing.rst @@ -1012,7 +1012,70 @@ each UE: Initial cell selection ---------------------- -(to be expanded) +The test suite `lte-cell-selection` is responsible for verifying the +:ref:`sec-initial-cell-selection` procedure. 3 short test cases are included in +the suite. + +Each test case is a simulation of a small network of 4 cells. Each eNodeB is +equipped with directional antenna (parabolic model) and is arranged so that some +of their coverage are overlapping with other eNodeB. They are configured using +the same Tx Power. Several static UEs are then placed at predefined locations +and with initial cell selection procedure enabled. Thus the UEs enters the +simulation without being attached to any cell. + +At the end of the simulation, the test verifies that every UE is attached to the +right cell. Moreover, the test also ensures that the UE is properly connected +(i.e. its final state is `CONNECTED_NORMALLY`). + +The first test case is a scenario with open access cells, i.e. without Closed +Subscriber Group (CSG). The result shows that the UEs are attaching to the +expected cells, as shown in Figure :ref:`fig-lte-cell-selection-open-access` +below. Note that the grey area below each eNodeB only indicates the rough +directivity of the antenna, while the actual cell coverage is much wider and +larger. + +.. _fig-lte-cell-selection-open-access: + +.. figure:: figures/lte-cell-selection-open-access.* + :scale: 80 % + :align: center + + Sample result of cell selection in open access scenario + +The second and third cases incorporate CSG into the simulation. 2 out of 4 cells +become a single CSG and implement closed access, while the other 2 cells stay +open. In a similar way, half of the UEs are configured as members of the CSG, +while the rest are not. The resulting simulation is depicted in Figure +:ref:`fig-lte-cell-selection-closed-access` below. + +.. _fig-lte-cell-selection-closed-access: + +.. figure:: figures/lte-cell-selection-closed-access.* + :scale: 80 % + :align: center + + Sample result of cell selection in closed access scenario + +It shows that CSG members may attach to either CSG or non-CSG cells, and simply +choose the stronger one. On the other hand, non-members can only attach to +non-CSG cells, even when they are actually receive stronger signal from a CSG +cell. + +Note that a real life CSG deployment typically implements interference +coordination. Section 5.1 of [TS36922]_ describes frequency, time, and spatial +partitioning as possible approaches to interference coordination. However, none +of these approaches are implemented in this test suite. + +As "expected", interference issues occur in the simulation. The issue is more +apparent in the CSG scenario, as experienced by the UE (highlighted in Figure +:ref:`fig-lte-cell-selection-closed-access` above) which is well positioned +within the coverage of a CSG cell but not a member of the CSG. After the UE +fails to attach to the CSG cell, the cell becomes a major interference to the UE +and causing difficulties to the UE in attempting to attach to the closest +non-CSG cell. In other words, the UE is experiencing low SINR when receiving +transmission from the non-CSG cell. As a result, the UE takes longer time to +attach to the non-CSG cell because it often fails to receive system information +messages (e.g. MIB, SIB1, and SIB2) from the non-CSG cell. diff --git a/src/lte/test/lte-test-cell-selection.cc b/src/lte/test/lte-test-cell-selection.cc index 93fda351d..718668cb8 100644 --- a/src/lte/test/lte-test-cell-selection.cc +++ b/src/lte/test/lte-test-cell-selection.cc @@ -304,13 +304,7 @@ LteCellSelectionTestCase::DoRun () } // end of if (m_isEpcMode) else { - // // TODO remove this - // lteHelper->Attach (ueDevs, enbDevs.Get (0)); - // - // // Activate an EPS bearer - // enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE; - // EpsBearer bearer (q); - // lteHelper->ActivateDataRadioBearer (ueDevs, bearer); + NS_FATAL_ERROR ("No support yet for LTE_only simulations"); } // Connect to trace sources in UEs