Index: src/devices/lte/ue-phy.h |
=================================================================== |
new file mode 100755 |
--- /dev/null |
+++ b/src/devices/lte/ue-phy.h |
@@ -0,0 +1,78 @@ |
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
+/* |
+ * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari |
+ * |
+ * This program is free software; you can redistribute it and/or modify |
+ * it under the terms of the GNU General Public License version 2 as |
+ * published by the Free Software Foundation; |
+ * |
+ * This program is distributed in the hope that it will be useful, |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+ * GNU General Public License for more details. |
+ * |
+ * You should have received a copy of the GNU General Public License |
+ * along with this program; if not, write to the Free Software |
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+ * |
+ * Author: Giuseppe Piro <g.piro@poliba.it> |
+ */ |
+ |
+#ifndef UE_PHY_H |
+#define UE_PHY_H |
+ |
+ |
+#include "lte-phy.h" |
+ |
+namespace ns3 { |
+ |
+class PacketBurst; |
+class LteNetDevice; |
+ |
+/** |
+ * The LteSpectrumPhy models the physical layer of LTE |
+ */ |
+class UeLtePhy : public LtePhy |
+{ |
+ |
+public: |
+ UeLtePhy (); |
+ UeLtePhy (Ptr<LteNetDevice> d); |
+ |
+ virtual ~UeLtePhy (); |
+ |
+ static TypeId GetTypeId (void); |
+ |
+ |
+ bool SendPacket (Ptr<PacketBurst> pb); |
+ |
+ Ptr<SpectrumValue> CreateTxPowerSpectralDensity (); |
+ |
+ void DoSetUplinkSubChannels (); |
+ |
+ void SetSubChannelsForTransmission (std::vector <int> mask); |
+ std::vector <int> GetSubChannelsForTransmission (void); |
+ |
+ void SetSubChannelsForReception (std::vector <int> mask); |
+ std::vector <int> GetSubChannelsForReception (void); |
+ |
+ |
+ /** |
+ * \brief Create CQI feedbacks from SINR values. SINR values are |
+ * computed at the physical layer when is received a signal from the eNB |
+ * \param sinr list of SINR values |
+ */ |
+ void CreateCqiFeedbacks (std::vector<double> sinr); |
+ |
+ virtual void SendIdealControlMessage (Ptr<IdealControlMessage> msg); |
+ virtual void ReceiveIdealControlMessage (Ptr<IdealControlMessage> msg); |
+ |
+private: |
+ std::vector <int> m_subChannelsForTransmission; |
+ std::vector <int> m_subChannelsForReception; |
+}; |
+ |
+ |
+} |
+ |
+#endif /* UE_PHY_H */ |