| 19 |   | 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 [http://www.xdimax.com/sub20/doc/sub20-man.pdf here]. | 
          
          
            | 20 |   | 3. UHD | 
          
          
            | 21 |   | 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 [http://eigen.tuxfamily.org/index.php?title=Main_Page Eigen website]. We used the latest stable release Eigen 3.3.4 through our testings and experiments. | 
          
          
            |   | 19 | 2. [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]. | 
          
          
            |   | 20 | 3. [https://github.com/EttusResearch/uhd, UHD] is already installed with the imaged SDR node. | 
          
          
            |   | 21 | 4. 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 [http://eigen.tuxfamily.org/index.php?title=Main_Page Eigen website]. We used the latest stable release Eigen 3.3.4 through our testings and experiments. |