author | Peter D. Barnes, Jr. <barnes26@llnl.gov> |
Fri, 26 Sep 2014 15:51:00 -0700 | |
changeset 10968 | 2d29fee2b7b8 |
parent 10381 | 31dc8d6462f9 |
child 10983 | 087597a150da |
permissions | -rw-r--r-- |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
2 |
/* |
10379
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
3 |
* Copyright (c) 2011, 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) |
10353
938b6e44ab95
Updated GPL header of GSoC files
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10327
diff
changeset
|
4 |
* Copyright (c) 2013 Budiarto Herman |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
5 |
* |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
6 |
* This program is free software; you can redistribute it and/or modify |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
7 |
* it under the terms of the GNU General Public License version 2 as |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
8 |
* published by the Free Software Foundation; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
9 |
* |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
10 |
* This program is distributed in the hope that it will be useful, |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
13 |
* GNU General Public License for more details. |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
14 |
* |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
15 |
* You should have received a copy of the GNU General Public License |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
16 |
* along with this program; if not, write to the Free Software |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
17 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
18 |
* |
10379
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
19 |
* Original work authors (from lte-enb-rrc.cc): |
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
20 |
* - Nicola Baldo <nbaldo@cttc.es> |
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
21 |
* - Marco Miozzo <mmiozzo@cttc.es> |
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
22 |
* - Manuel Requena <manuel.requena@cttc.es> |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
23 |
* |
10379
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
24 |
* Converted to handover algorithm interface by: |
c61db1276872
Correction to copyright notices in some GSoC LTE code
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10376
diff
changeset
|
25 |
* - Budiarto Herman <budiarto.herman@magister.fi> |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
26 |
*/ |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
27 |
|
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
28 |
#ifndef A2_A4_RSRQ_HANDOVER_ALGORITHM_H |
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
29 |
#define A2_A4_RSRQ_HANDOVER_ALGORITHM_H |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
30 |
|
10322
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
31 |
#include <ns3/lte-handover-algorithm.h> |
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
32 |
#include <ns3/lte-handover-management-sap.h> |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
33 |
#include <ns3/lte-rrc-sap.h> |
10381
31dc8d6462f9
UeMeasure class now inherits from SimpleRefCount
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10380
diff
changeset
|
34 |
#include <ns3/simple-ref-count.h> |
31dc8d6462f9
UeMeasure class now inherits from SimpleRefCount
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10380
diff
changeset
|
35 |
#include <ns3/ptr.h> |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
36 |
#include <map> |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
37 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
38 |
namespace ns3 { |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
39 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
40 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
41 |
/** |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
42 |
* \brief Handover algorithm implementation based on RSRQ measurements, Event |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
43 |
* A2 and Event A4. |
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
44 |
* |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
45 |
* Handover decision made by this algorithm is primarily based on Event A2 |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
46 |
* measurements (serving cell's RSRQ becomes worse than threshold). When the |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
47 |
* event is triggered, the first condition of handover is fulfilled. |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
48 |
* |
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
49 |
* Event A4 measurements (neighbour cell's RSRQ becomes better than threshold) |
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
50 |
* are used to detect neighbouring cells and their respective RSRQ. When a |
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
51 |
* neighbouring cell's RSRQ is higher than the serving cell's RSRQ by a certain |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
52 |
* offset, then the second condition of handover is fulfilled. |
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
53 |
* |
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
54 |
* When the first and second conditions above are fulfilled, the algorithm |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
55 |
* informs the eNodeB RRC to trigger a handover. |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
56 |
* |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
57 |
* The threshold for Event A2 can be configured in the `ServingCellThreshold` |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
58 |
* attribute. The offset used in the second condition can also be configured by |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
59 |
* setting the `NeighbourCellOffset` attribute. |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
60 |
* |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
61 |
* The following code snippet is an example of using and configuring the |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
62 |
* handover algorithm in a simulation program: |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
63 |
* |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
64 |
* Ptr<LteHelper> lteHelper = CreateObject<LteHelper> (); |
10327
4ea8ec2bfb68
Handover algorithm based on Event A3 and RSRP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10324
diff
changeset
|
65 |
* |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
66 |
* NodeContainer enbNodes; |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
67 |
* // configure the nodes here... |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
68 |
* |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
69 |
* lteHelper->SetHandoverAlgorithmType ("ns3::A2A4RsrqHandoverAlgorithm"); |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
70 |
* lteHelper->SetHandoverAlgorithmAttribute ("ServingCellThreshold", |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
71 |
* UintegerValue (30)); |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
72 |
* lteHelper->SetHandoverAlgorithmAttribute ("NeighbourCellOffset", |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
73 |
* UintegerValue (1)); |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
74 |
* NetDeviceContainer enbLteDevs = lteHelper->InstallEnbDevice (enbNodes); |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
75 |
* |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
76 |
* \note Setting the handover algorithm type and attributes after the call to |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
77 |
* LteHelper::InstallEnbDevice does not have any effect to the devices |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
78 |
* that have already been installed. |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
79 |
*/ |
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
80 |
class A2A4RsrqHandoverAlgorithm : public LteHandoverAlgorithm |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
81 |
{ |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
82 |
public: |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
83 |
/** |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
84 |
* \brief Creates an A2-A4-RSRQ handover algorithm instance. |
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
85 |
*/ |
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
86 |
A2A4RsrqHandoverAlgorithm (); |
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
87 |
|
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
88 |
virtual ~A2A4RsrqHandoverAlgorithm (); |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
89 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
90 |
// inherited from Object |
10380
b97c429d2bc9
Moved DoDispose method of handover and ANR classes to protected scope
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10379
diff
changeset
|
91 |
static TypeId GetTypeId (); |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
92 |
|
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
93 |
// inherited from LteHandoverAlgorithm |
10322
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
94 |
virtual void SetLteHandoverManagementSapUser (LteHandoverManagementSapUser* s); |
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
95 |
virtual LteHandoverManagementSapProvider* GetLteHandoverManagementSapProvider (); |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
96 |
|
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
97 |
// let the forwarder class access the protected and private members |
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
98 |
friend class MemberLteHandoverManagementSapProvider<A2A4RsrqHandoverAlgorithm>; |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
99 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
100 |
protected: |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
101 |
// inherited from Object |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
102 |
virtual void DoInitialize (); |
10380
b97c429d2bc9
Moved DoDispose method of handover and ANR classes to protected scope
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10379
diff
changeset
|
103 |
virtual void DoDispose (); |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
104 |
|
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
105 |
// inherited from LteHandoverAlgorithm as a Handover Management SAP implementation |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
106 |
void DoReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults); |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
107 |
|
10376
e040472b2b56
Additional Doxygen comments for GSoC LTE
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10368
diff
changeset
|
108 |
private: |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
109 |
// Internal methods |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
110 |
void EvaluateHandover (uint16_t rnti, uint8_t servingCellRsrq); |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
111 |
bool IsValidNeighbour (uint16_t cellId); |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
112 |
void UpdateNeighbourMeasurements (uint16_t rnti, uint16_t cellId, |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
113 |
uint8_t rsrq); |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
114 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
115 |
// The expected measurement identities |
10322
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
116 |
uint8_t m_a2MeasId; |
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
117 |
uint8_t m_a4MeasId; |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
118 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
119 |
/** |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
120 |
* \brief Measurements reported by a UE for a cell ID. |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
121 |
* |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
122 |
* The values are quantized according 3GPP TS 36.133 section 9.1.4 and 9.1.7. |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
123 |
*/ |
10381
31dc8d6462f9
UeMeasure class now inherits from SimpleRefCount
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10380
diff
changeset
|
124 |
class UeMeasure : public SimpleRefCount<UeMeasure> |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
125 |
{ |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
126 |
public: |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
127 |
uint16_t m_cellId; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
128 |
uint8_t m_rsrp; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
129 |
uint8_t m_rsrq; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
130 |
}; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
131 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
132 |
// cellId |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
133 |
typedef std::map<uint16_t, Ptr<UeMeasure> > MeasurementRow_t; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
134 |
// rnti |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
135 |
typedef std::map<uint16_t, MeasurementRow_t> MeasurementTable_t; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
136 |
MeasurementTable_t m_neighbourCellMeasures; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
137 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
138 |
// Class attributes |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
139 |
uint8_t m_servingCellThreshold; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
140 |
uint8_t m_neighbourCellOffset; |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
141 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
142 |
// Handover Management SAPs |
10322
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
143 |
LteHandoverManagementSapUser* m_handoverManagementSapUser; |
54f2e33137a3
Using template for forwarding classes and new names for Handover Management SAP
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10316
diff
changeset
|
144 |
LteHandoverManagementSapProvider* m_handoverManagementSapProvider; |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
145 |
|
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
146 |
}; // end of class A2A4RsrqHandoverAlgorithm |
10316
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
147 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
148 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
149 |
} // end of namespace ns3 |
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
150 |
|
dc88a59d7ff2
Handover management SAP interface and A2/RSRQ-based handover algorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
diff
changeset
|
151 |
|
10324
20e45655eaa8
Renamed A2RsrqHandoverAlgorithm to A2A4RsrqHandoverAlgorithm
Budiarto Herman <budiarto.herman@magister.fi>
parents:
10322
diff
changeset
|
152 |
#endif /* A2_A4_RSRQ_HANDOVER_ALGORITHM_H */ |