OLD | NEW |
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) | 3 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with this program; if not, write to the Free Software | 15 * along with this program; if not, write to the Free Software |
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
17 * | 17 * |
18 * Author: Manuel Requena <manuel.requena@cttc.es> : Based on lte-ue-phy code | 18 * Author: Manuel Requena <manuel.requena@cttc.es> : Based on lte-ue-phy code |
19 */ | 19 */ |
20 | 20 |
21 #ifndef LTE_TEST_UE_PHY_H | 21 #ifndef LTE_TEST_UE_PHY_H |
22 #define LTE_TEST_UE_PHY_H | 22 #define LTE_TEST_UE_PHY_H |
23 | 23 |
24 #include "ns3/lte-phy.h" | 24 #include "ns3/lte-phy.h" |
25 | 25 |
26 #include "ns3/lte-control-messages.h" | 26 #include "ns3/lte-control-messages.h" |
27 | 27 |
28 namespace ns3 { | 28 namespace ns3 { |
29 | 29 |
| 30 /** |
| 31 * \ingroup lte-test |
| 32 * \ingroup tests |
| 33 * |
| 34 * \brief Lte Test Ue Phy |
| 35 */ |
30 class LteTestUePhy : public LtePhy | 36 class LteTestUePhy : public LtePhy |
31 { | 37 { |
32 public: | 38 public: |
33 /** | 39 /** |
34 * @warning the default constructor should not be used | 40 * @warning the default constructor should not be used |
35 */ | 41 */ |
36 LteTestUePhy (); | 42 LteTestUePhy (); |
37 | 43 |
38 /** | 44 /** |
39 * \param dlPhy the downlink LteSpectrumPhy instance | 45 * \param dlPhy the downlink LteSpectrumPhy instance |
40 * \param ulPhy the uplink LteSpectrumPhy instance | 46 * \param ulPhy the uplink LteSpectrumPhy instance |
41 */ | 47 */ |
42 LteTestUePhy (Ptr<LteSpectrumPhy> dlPhy, Ptr<LteSpectrumPhy> ulPhy); | 48 LteTestUePhy (Ptr<LteSpectrumPhy> dlPhy, Ptr<LteSpectrumPhy> ulPhy); |
43 | 49 |
44 virtual ~LteTestUePhy (); | 50 virtual ~LteTestUePhy (); |
45 | 51 |
46 virtual void DoDispose (); | 52 virtual void DoDispose (); |
| 53 /** |
| 54 * \brief Get the type ID. |
| 55 * \return the object TypeId |
| 56 */ |
47 static TypeId GetTypeId (void); | 57 static TypeId GetTypeId (void); |
48 | 58 |
49 /** | 59 /** |
50 * \brief Queue the MAC PDU to be sent | 60 * \brief Queue the MAC PDU to be sent |
51 * \param p the MAC PDU to sent | 61 * \param p the MAC PDU to sent |
52 */ | 62 */ |
53 virtual void DoSendMacPdu (Ptr<Packet> p); | 63 virtual void DoSendMacPdu (Ptr<Packet> p); |
54 | 64 |
55 /** | 65 /** |
56 * \brief Create the PSD for the TX | 66 * \brief Create the PSD for the TX |
57 * \return the pointer to the PSD | 67 * \return the pointer to the PSD |
58 */ | 68 */ |
59 virtual Ptr<SpectrumValue> CreateTxPowerSpectralDensity (); | 69 virtual Ptr<SpectrumValue> CreateTxPowerSpectralDensity (); |
60 | 70 |
61 virtual void GenerateCtrlCqiReport (const SpectrumValue& sinr); | 71 virtual void GenerateCtrlCqiReport (const SpectrumValue& sinr); |
62 ·· | 72 ·· |
63 virtual void GenerateDataCqiReport (const SpectrumValue& sinr); | 73 virtual void GenerateDataCqiReport (const SpectrumValue& sinr); |
64 | 74 |
65 virtual void ReportInterference (const SpectrumValue& interf); | 75 virtual void ReportInterference (const SpectrumValue& interf); |
66 | 76 |
67 virtual void ReportRsReceivedPower (const SpectrumValue& power); | 77 virtual void ReportRsReceivedPower (const SpectrumValue& power); |
68 | 78 |
| 79 /** |
| 80 * \brief Reeive LTE Control Message function |
| 81 * \param msg the control message |
| 82 */ |
69 virtual void ReceiveLteControlMessage (Ptr<LteControlMessage> msg); | 83 virtual void ReceiveLteControlMessage (Ptr<LteControlMessage> msg); |
70 | 84 |
| 85 /** |
| 86 * \brief Get the SINR |
| 87 * \return the SINR |
| 88 */ |
71 SpectrumValue GetSinr (); | 89 SpectrumValue GetSinr (); |
72 | 90 |
73 private: | 91 private: |
74 SpectrumValue m_sinr; | 92 SpectrumValue m_sinr; ///< the SINR |
75 }; | 93 }; |
76 | 94 |
77 | 95 |
78 } // namespace ns3 | 96 } // namespace ns3 |
79 | 97 |
80 #endif /* LTE_TEST_UE_PHY_H */ | 98 #endif /* LTE_TEST_UE_PHY_H */ |
OLD | NEW |