![]() |
four_multi
Multi-Antenna,Multi-Node,Multi-Band,Multi-Cell
|
00001 // 00002 // Copyright 2011-2013, Per Zetterberg, KTH Royal Institute of Technology 00003 // 00004 // This program is free software: you can redistribute it and/or modify 00005 // it under the terms of the GNU General Public License as published by 00006 // the Free Software Foundation, either version 3 of the License, or 00007 // (at your option) any later version. 00008 // 00009 // This program is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 // GNU General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU General Public License 00015 // along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 // 00017 00018 00019 00020 #ifndef SUPER_NODE_HPP 00021 #define SUPER_NODE_HPP 00022 00023 00024 #include <fstream> 00025 #include <uhd/device.hpp> 00026 #include <uhd/utils/thread_priority.hpp> 00027 #include <uhd/utils/safe_main.hpp> 00028 #include <uhd/usrp/multi_usrp.hpp> 00029 #include <boost/program_options.hpp> 00030 #include <boost/format.hpp> 00031 #include <iostream> 00032 #include <complex> 00033 #include <uhd/types/clock_config.hpp> 00034 #include "gps.hpp" 00035 #include "four_multi.hpp" 00036 #include "simulator.hpp" 00037 00038 00052 class super_node : public four_multi_node { 00053 00054 public: 00055 00068 super_node(uint32_t no_ant1, 00069 uint32_t no_ant2 , bool use_external_10MHz, 00070 bool use_same_antenna, 00071 uint32_t skip_ant ,std::vector<four_multi_node*> *nodes); 00072 00078 void set_nodes(std::vector<four_multi_node*> *nodes) { d_nodes=nodes;}; 00079 00080 00081 00082 00088 super_node(uint32_t no_ant1, 00089 uint32_t no_ant2 , bool use_external_10MHz, 00090 bool use_same_antenna, 00091 uint32_t skip_ant ,std::vector<four_multi_node*> *nodes, 00092 std::vector<double> override_gain_rx, 00093 std::vector<double> override_gain_tx, 00094 std::vector<double> override_frequency); 00095 00096 00097 00098 protected: 00099 00100 bool do_override; 00101 std::vector<double> d_override_gain_rx; 00102 std::vector<double> d_override_gain_tx; 00103 std::vector<double> d_override_frequency; 00104 00105 00106 virtual frame_settings node_init(void) ; 00107 virtual frame_settings node_process(void) ; 00108 virtual void end_of_run(void) ; 00109 00110 std::vector<four_multi_node*> *d_nodes; 00111 00112 00113 } ; 00114 00115 #endif 00116