Version 18 (modified by tingjunchen, 4 years ago) ( diff )

Full-Duplex Wireless using USRP N210


In this tutorial, we'll use node11-10 in the main grid (equipped with a USRP N210) to transmit and receive a single frequency over the air to demonstrate full-duplex wireless capability using the Columbia FlexICoN's Gen-1 Frequency-Flat Amplitude- and Phase-based RF Canceller. A picture of the FlexICoN RF canceller together with node11-10 in the main grid is below:

For more information, please read

  1. Chen, J. Zhou, N. Grimwood, R. Fogel, J. Marasevic, H. Krishnaswamy, and G. Zussman, “Demo: Full-duplex Wireless based on a Small-Form-Factor Analog Self-Interference Canceller,” in Proc. ACM MobiHoc'16, 2016. PDF

Please email Tingjun Chen (tc2668 [at] if you are using (or plan to use) the full-duplex node, or if you have any questions. We also thank Mahmood Baraani Dasterjerdi and Steven Alfano for their great contributions.

Hardware / Software Resources Utilized

  1. USRP N210 with node11-10 in the ORBIT main grid
  2. SUB-20: The SUB-20 is a multi-interface USB adapter for providing popular interfaces 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.
  3. UHD
  4. The Eigen C++ Library: The Eigen C++ library is used for basic algebra 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.

All the source code is publicly available at here.

Set Up

Before you can access the testbed, you need to make a reservation and get it approved by the reservation service. After receiving the reservation's confirmation (approval) email:

  • Login into reserved domain:
  • Make sure that the full-duplex node is powered down for loading the desired image:
    omf tell -a offh -t node11-10
  • Load an image on the node (this process can take about a few minutes so please be patient):
    omf load -i orbit-flexicon.ndz -t node11-10
  • Turn on the node:
    omf tell -a on -t node11-10
  • Login into the node:
    ssh root@node11-10

After login into the node, there is a flexicon_orbit folder under the home directory of node11-10 which contains the source code of this example. You can always retrieve the most recently updated code from here.

Run the Experiments

You will need to login into node11-10 in two (2) separate terminal windows lo for running the experiments: one for the main full-duplex transceiver program and one for controlling the RF canceller

Attachments (7)

Note: See TracWiki for help on using the wiki.