Changes between Version 26 and Version 27 of Tutorials/k0SDR/Tutorial25


Ignore:
Timestamp:
Nov 22, 2017, 7:12:55 PM (6 years ago)
Author:
tingjunchen
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/k0SDR/Tutorial25

    v26 v27  
    1010
    1111
    12 ''T. 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.'' [http://wimnet.ee.columbia.edu/wp-content/uploads/2016/06/full_duplex_demo_mobihoc16.pdf PDF]
     12''T. 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.'' [http://wimnet.ee.columbia.edu/wp-content/uploads/2016/06/full_duplex_demo_mobihoc16.pdf (PDF)] [https://dl.acm.org/citation.cfm?id=2942397&CFID=829383168&CFTOKEN=81447061 (DOI)]
    1313
    14 Please email Tingjun Chen ({{{tingjun [at] ee.columbia.edu}}}) 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.
     14Please email Tingjun Chen (tingjun [at] ee.columbia.edu) 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.
    1515
    1616
     
    19192. [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].
    20203. [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.
     214. 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.
    2222
    23 All the source code is publicly available at [https://github.com/Wimnet/flexicon_orbit here].
     23All the source code is also publicly available at [https://github.com/Wimnet/flexicon_orbit here].
    2424
    2525=== Set Up ===
    2626Before you can access the testbed, you need to [https://www.orbit-lab.org/schedule make a reservation] and get it approved by the [wiki:Documentation/Scheduler reservation service]. After receiving the reservation's confirmation (approval) email:
    2727
    28  * Login into reserved domain:
    29 {{{
    30 ssh username@conslole.grid.orbit-lab.org
    31 }}}
    32  * Make sure that the full-duplex node is powered down for loading the desired image:
    33 {{{
    34 omf tell -a offh -t node11-10
    35 }}}
    36  * Load an image on the node (this process can take about a few minutes so please be patient):
    37 {{{
    38 omf load -i orbit-flexicon.ndz -t node11-10
    39 }}}
    40  * Turn on the node:
    41 {{{
    42 omf tell -a on -t node11-10
    43 }}}
    44  * Login into the node:
    45 {{{
    46 ssh root@node11-10
    47 }}}
     28 * Login into reserved domain: {{{ssh username@conslole.grid.orbit-lab.org}}}
     29 * Make sure that the full-duplex node is powered down for loading the desired image: {{{omf tell -a offh -t node11-10}}}
     30 * 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}}}
     31 * Turn on the node: {{{omf tell -a on -t node11-10}}}
     32 * Login into the node: {{{ssh root@node11-10}}}
    4833
    4934After 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 [https://github.com/Wimnet/flexicon_orbit here].
     
    5136
    5237=== Run the Experiments ===
    53 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
     38You will need to login into the full-duplex node (by {{{ssh root@node11-10}}}) in two separate terminal windows lo for running the experiment: one for the main full-duplex transceiver UHD program and one for controlling the RF canceller
     39
     40 1. In window 1 (UHD):
     41 * Build the example:
     42{{{
     43cd ~/flexicon_orbit/fd_transceiver_simple/uhd
     44mkdir build
     45cd build
     46cmake ../
     47make
     48}}}
     49
     50 * Check the serial number of the USRP N210 (it should be {{{F331D4}}}): {{{uhd_find_devices}}}
     51
     52 * Run the example with IQ rate {{{rate}}}, carrier frequency {{{freq}}}, TX gain {{{tx-gain}}}, and RX gain {{{rx-gain}}}:
     53{{{
     54./fd_transceiver_simple --tx-args="serial=F331D4" --rx-args="serial=F331D4" --rate 1e6 --freq 900e6 --tx-gain 10 --rx-gain 10
     55}}}
     56The default sine wave has an amplitude {{{ampl = 0.3}}} and wave frequency {{{wave-freq = 100e3}}} (100kHz).
     57
     58 2. In window 2 (SUB-20):
    5459
    5560