Changes between Version 30 and Version 31 of Tutorials/Wireless/Full Duplex


Ignore:
Timestamp:
Mar 15, 2021, 8:13:48 AM (3 years ago)
Author:
mpk2138
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/Wireless/Full Duplex

    v30 v31  
    55* Manav Kohli, Columbia University: mpk2138[at]columbia.edu
    66
    7 Last updated: September 17, 2020
     7Last updated: March 15, 2021
    88
    99== Full-Duplex Wireless in COSMOS ==
     
    2525
    2626==== Updates ====
     27* ![03/15/2021] - General updates
    2728* ![08/28/2020] - Details for each available experiment
    2829* ![08/23/2020] - General updates
     
    3334
    3435=== Hardware / Software Resources Utilized ===
    35 1. 2x The Columbia FlexICoN Gen-2 RF Canceller Boxes
    36 2. 2x USRP N210
    37 3. [https://github.com/EttusResearch/uhd, UHD] version 3.14 and [https://github.com/gnuradio/gnuradio, GNU Radio] 3.7.13.5 are already installed on the PC.
     361. 2x Columbia FlexICoN Gen-2 RF Canceller Boxes
     372. 1x USRP 2974
     383. [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.
    38394. [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.
    39405. 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.
     
    5455The 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]] ].
    5556
    56 ==== USRP N210 SDR ====
    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 ====
     58The 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.
    5859
    5960=== COSMOS Sandbox 2 ===
     
    6970 * 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}}}.
    7071 * 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 USRP2s: {{{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}}}.
    7273
    7374==== Running an example experiment ====
     
    9495=== Details on the available experiments ===
    9596In 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
     100Occasionally, 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
     106The cause of this error is currently unknown and under investigation. The solution is to restart the experiment again until it works.
    96107
    97108==== node_level_sic_fd_gui ====
     
    104115'''Selecting a radio'''
    105116
    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.
     117As 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
     119Please 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}}}
    109123
    110124'''Tunable variables'''