6 | | |
7 | | Last updated: May 31, 2019 |
8 | | |
| 5 | Manav Kohli, Columbia University: mpk2138[at]columbia.edu |
| 6 | |
| 7 | Last updated: October 7, 2019 |
| 8 | |
| 9 | == Full-Duplex Wireless in COSMOS == |
| 10 | ===Description=== |
| 11 | In this tutorial, we will use two FD transceivers equipped with USRP N210s and the Gen-2 frequency-domain equalization (FDE) based RF canceller. These transceivers may be accessed via a PC using ssh</tt>. The PC contains several example experiments, which showcase the capabilities of the FD transceivers. |
| 12 | |
| 13 | ==== Demo Abstract ==== |
| 14 | For more information about the integration of the FDE-based FD transceivers in COSMOS, please read: |
| 15 | |
| 16 | ''Tingjun Chen, Jackson Welles, Manav Kohli, Mahmood Baraani Dastjerdi, Jakub Kolodziejski, Michael Sherman, Ivan Seskar, Harish Krishnaswamy, and Gil Zussman, “Experimentation with full-duplex wireless in the COSMOS testbed“, ICNP MERIT'19, Oct. 2019'' [https://icnp19.cs.ucr.edu/proceedings/Workshops/MERIT/paper_19.pdf (Demo Abstract)] |
| 17 | |
| 18 | ==== Updates ==== |
| 19 | * [10/07/2019] - Baseline overview of initial COSMOS sandbox status and accessibility |
| 20 | |
| 21 | === Hardware / Software Resources Utilized === |
| 22 | 1. 2x The Columbia FlexICoN Gen-2 RF Canceller, which is an FDE-based RF canceller implemented using discrete components on a PCB. The two FDE paths each contain a bandpass filter (BPF) with tunable centre frequency and quality factor, alongside amplitude and phase control. |
| 23 | 2. The source code for the full-duplex transceiver examples, which can be found at [https://github.com/Wimnet/flexicon_orbit this GitHub page]. |
| 24 | 3. 2x USRP N210 |
| 25 | 4. [https://github.com/EttusResearch/uhd, UHD] and [https://github.com/gnuradio/gnuradio, GNU Radio] are already installed on the PC. |
| 26 | 5. [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. |
| 27 | 6. 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 used the latest stable release Eigen 3.3.4 through our testings and experiments. |
| 28 | |
| 29 | === Tutorial === |
| 30 | ==== Logging into PC ==== |
| 31 | The PC has a simple user profile consisting of a few example GNU radio experiments. At this time, experimenters may create files, but they will be public to anyone who logs into the PC. Logging into the PC is done over {{{ssh}}}, with the username {{{sb2}}} and password {{{sandbox}}}. |
| 32 | {{{ |
| 33 | ssh -X sb2@128.59.87.24 |
| 34 | }}} |
| 35 | |
| 36 | Note: if connecting from macOS, the {{{-Y}}} flag may be needed in the {{{ssh}}} connection instead of {{{-X}}}. |
| 37 | |
| 38 | ==== Running an example experiment ==== |
| 39 | We can open GNU Radio using the following command: |
| 40 | {{{ |
| 41 | gnuradio-companion & |
| 42 | }}} |
| 43 | |
| 44 | If X-forwarding is setup correctly for your {{{ssh}}} session, the GNU Radio GUI program should open. If X-forwarding is not setup correctly, an error will display saying that the GUI window cannot be opened. |
| 45 | |
| 46 | Open an example experiment from the {{{~/FD_Examples}}} directory: |
| 47 | |
| 48 | == Full-Duplex Wireless in ORBIT == |
164 | 204 | ==== Acknowledgements ==== |
165 | 205 | This work was supported in part by NSF grant ECCS-1547406, DARPA RF-FPGA program, DARPA SPAR program, a Qualcomm Innovation Fellowship, a National Instruments Academic Research Grant, Texas Instruments, and Intel. We thank Steven Alfano, Jelena Diakonikolas, Aishwarya Rajen, Jinhui Song, Mingyan Yu for their contributions to various aspects of the project. We thank Ivan Seskar, Jakub Kolodziejski, and Prasanthi Maddala from WINLAB, Rutgers University, for their help on the integration with the ORBIT testbed. We also thank Kira Theuer and Kendall Ruiz from NI and the NI technical support team for their help. |