Open-Access Full-Duplex Wireless in the ORBIT testbed
This tutorial contains a simple full-duplex (FD) transceiver using the USRP N210 SDR and a customized RF canceller developed within the Columbia FlexICoN project.
More full-duplex source code examples are currently under development and will be released once ready.
Our Gen-1 RF Canceller is installed with
node11-10 in the ORBIT main grid. This node is equipped with a USRP N210 SDR. For more information, please read
Tingjun Chen, Mahmood Baraani Dastjerdi, Jin Zhou, Harish Krishnaswamy, and Gil Zussman, “Open-access full-duplex wireless in the ORBIT testbed,” arXiv preprint: 1801.03069 [cs.NI], Jan. 2018. [arXiv]
Please cite the above report if you use the hardware. Please email Tingjun Chen (tingjun [at] ee.columbia.edu) if you use (or plan to use) the full-duplex node or if you have any questions.
- Columbia FlexICoN project website: http://flexicon.ee.columbia.edu/
- ORBIT Testbed: http://www.orbit-lab.org/
- Full-duplex tutorial at ORBIT: http://www.orbit-lab.org/wiki/Tutorials/k0SDR/Tutorial25#Full-DuplexWirelessusingUSRPN210
A full-duplex transcevier example
The source code is under
./fd_transceviver_simple with the following sub-directories:
/uhdcontains the UHD code for the full-duplex transceiver
/sub20contains the code for configuring the RF canceller using a SUB-20 controller
MATLABcode for post-processing the experimental data
The instructions of UHD can be found on the Ettus Resesarch UHD repository at here.
Eigen C++ Library
Eigen C++ library is used for basic albegra in channel estimation and digital self-interference cancellation. The
Eigen releases can be found on the Eigen website. We used the latest stable release
Eigen 3.3.4 through our testings and experiments.
On Linux, download and unzip
Eigen 3.3.4 and copy the main librararies to the desired path by running
scp -r /eigen/Eigen/ /usr/include/.
Columbia FlexICoN's Gen-1 Frequency-Flat Amplitude- and Phase-based RF Canceller
Please refer to our technical report.
Universal Software Radio Peripheral (USRP)
Our full-duplex transceiver is based on the Ettus Research USRP. Our example has been tested successfully on USRP models N210/USRP2/B210/B205-mini.
The SUB-20 is a multi interface USB adapter for providing popular interaces between PC (USB host) and different hardware devices. Specifically, we use the
SPI module on SUB-20 to control and configure our hardware. The user manual can be found here.
This work was supported in part by NSF grant ECCS-1547406, DARPA RF-FPGA program, DARPA SPAR program, a Qualcomm Innovation Fellowship, 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.