Changes between Version 30 and Version 31 of Tutorials/Wireless/Full Duplex
- Timestamp:
- Mar 15, 2021, 8:13:48 AM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorials/Wireless/Full Duplex
v30 v31 5 5 * Manav Kohli, Columbia University: mpk2138[at]columbia.edu 6 6 7 Last updated: September 17, 20207 Last updated: March 15, 2021 8 8 9 9 == Full-Duplex Wireless in COSMOS == … … 25 25 26 26 ==== Updates ==== 27 * ![03/15/2021] - General updates 27 28 * ![08/28/2020] - Details for each available experiment 28 29 * ![08/23/2020] - General updates … … 33 34 34 35 === Hardware / Software Resources Utilized === 35 1. 2x TheColumbia FlexICoN Gen-2 RF Canceller Boxes36 2. 2x USRP N21037 3. [https://github.com/EttusResearch/uhd, UHD] version 3.14 and [https://github.com/gnuradio/gnuradio, GNU Radio] 3.7.13.5are already installed on the PC.36 1. 2x Columbia FlexICoN Gen-2 RF Canceller Boxes 37 2. 1x USRP 2974 38 3. [https://github.com/EttusResearch/uhd, UHD] version 4.0.0 and [https://github.com/gnuradio/gnuradio, GNU Radio] 3.8.2 are already installed on the PC. 38 39 4. [http://www.xdimax.com/sub20/sub20.html SUB-20] is a multi-interface USB adapter for providing popular interfaces between PC (USB host) and different hardware devices. Specifically, we use the SUB-20 SPI module to control and configure the Gen-1 RF canceller (see Fig. 1(a)). The user manual can be found [http://www.xdimax.com/sub20/doc/sub20-man.pdf here]. We are currently working on integration of the SUB-20 control with GNU Radio. 39 40 5. The {{{Eigen C++}}} Library is used for basic algebra used in channel estimation and digital self-interference cancellation. The Eigen releases can be found on the [http://eigen.tuxfamily.org/index.php?title=Main_Page this website]. We use the latest stable release Eigen 3.3.4 through our testings and experiments. … … 54 55 The Gen-2 RF canceller PCB has two paths: the Gen-2 FDE wideband path, and the Gen-1 narrowband path. Further details on the circuit design may be found in [ [[wiki:Tutorials/Wireless/FullDuplex#Publications|2]] ], and further details on its use in the Gen-2 RF Canceller box may be found in [ [[wiki:Tutorials/Wireless/FullDuplex#Publications|1]] ]. 55 56 56 ==== USRP N210SDR ====57 The Gen-2 RF canceller box is connected to a USRP N210 SDR. This SDR offers good compatibility with our software via UHD and performance up to 25 MHz bandwidth.57 ==== USRP 2974 SDR ==== 58 The Gen-2 RF canceller boxes are connected to the two transceivers of a [https://www.ettus.com/wp-content/uploads/2019/01/377417a.pdf USRP 2974 SDR]. The USRP 2974 is connected to the remote-access PC over a 10 Gigabit interface. 58 59 59 60 === COSMOS Sandbox 2 === … … 69 70 * Login into the reserved domain: {{{ssh -X username@console.sb2.cosmos-lab.org}}} (the {{{-X}}} option is for enabling the X11 tunneling). Note: if connecting from macOS, the {{{-Y}}} flag may be needed instead of {{{-X}}}. 70 71 * Login into the node: {{{ssh -X sb2@10.109.250.10}}}. The password is {{{cosmossandbox2}}}. After logging in into the node, a {{{FD_Examples}}} folder should exist under the home directory which contains some example experiments. Again, see above for using the {{{-Y}}} flag on macOS. 71 * Check the conection and serial number of the USRP 2s: {{{uhd_find_devices}}}. The serial numbers should be {{{316}}} and {{{321}}}.72 * Check the conection and serial number of the USRP 2974: {{{uhd_find_devices}}}. The serial numbers should be 318DCED with address {{{192.168.50.2}}}. 72 73 73 74 ==== Running an example experiment ==== … … 94 95 === Details on the available experiments === 95 96 In general, the three example experiments provide a means for the experimenter to benchmark the performance of the FD radios, and provide a basis for further experimentation. In this section we provide further detail for each experiment and what they allow the experimenter to observe. 97 98 '''Possible errors when running experiments''' 99 100 Occasionally, when running an experiment in GNU radio, it may crash with the following error (or similar): 101 102 {{{ 103 [ERROR] [RFNOC::GRAPH::DETAIL] Node TxStreamer#0cannot handle its current topology! 104 }}} 105 106 The cause of this error is currently unknown and under investigation. The solution is to restart the experiment again until it works. 96 107 97 108 ==== node_level_sic_fd_gui ==== … … 104 115 '''Selecting a radio''' 105 116 106 As there are two radios, this experiment can be run on either one by changing the value of the {{{usrp_sink_addr}}} and {{{usrp_source_addr}}}. The available values are {{{192.168.30.3}}} and {{{192.168.30.4}}}, and {{{usrp_sink_addr}}} and {{{usrp_source_addr}}} must be set to the same value. 107 108 Please note that currently, the radio with IP address {{{192.168.30.4}}} is temporarily set up with a 10dB attenuator on the Rx in order to equalize link performance between the two radios. Therefore, the received SI will be noticeably smaller for this radio. 117 As there are two radios, this experiment can be run on either one by changing the value of the {{{subdev_spec}}} variable in the upper right part of the flowgraph. The available values are {{{A:0}}} and {{{B:0}}}, which correspond to the first and second transceivers on the USRP 2974 respectively. 118 119 Please note the following correspondence with the {{{sub20_sn}}} variable: 120 121 * {{{A:0}}} - set {{{sub20_sn}}} to {{{552C}}} 122 * {{{B:0}}} - set {{{sub20_sn}}} to {{{5625}}} 109 123 110 124 '''Tunable variables'''