Changes between Version 41 and Version 42 of Tutorials/Wireless/Full Duplex


Ignore:
Timestamp:
Mar 21, 2023, 9:37:03 AM (20 months ago)
Author:
mpk2138
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/Wireless/Full Duplex

    v41 v42  
    105105* At this point, the server is ready to use. Please see the sections below for details on how to use the baseline experiments, the resources that are available on the server, and how to save your work when finished.
    106106
    107 ==== Running the baseline experiment ====
     107==== Running the Baseline Node-level Experiments ====
     108'''Configuring an FD Radio'''
     109
    108110We can open GNU Radio using the following command:
    109111{{{
     
    114116
    115117Open an example experiment from the {{{~/Experiments/Node}}} directory. The following experiments are available:
    116  * {{{node_level_sic_fd_gui}}} - Demonstrates node-level self-interference cancellation (SIC) and allows the experimenter to configure the RF canceller printed circuitboard (PCB).
    117  * {{{ofdm_link_fd_gui}}} - Creates an FD link between the two FD radios integrated in COSMOS.
    118  * {{{prr_fd_gui}}} - Computes the packet reception ratio (PRR) for an FD link.
    119 
    120 If we open {{{ofdm_link_fd_gui.grc}}}, the following window will show:
    121 
    122 Finally, clicking the grey-green play button will run the experiment!
    123 
    124  ||||||Figure 4: An example FD experiment in the COSMOS testbed ||
    125  || [[Image(GNURadioFDExperiment.2.png,480px)]] || [[Image(ofdm_link_fd_gui.png,480px)]] ||
    126  || (a) The GNU Radio flowgraph || (b) The experiment GUI ||
     118 * {{{wifi_node_level_sic_tune}}} - This is used to configure the Gen-2 FD cancellers.
     119 * {{{wifi_node_level_sic_viz}}} - Once the FD canceller is configured, this flowgraph provides a GUI to demonstrate the node-level operation of one FD radio.
     120
     121If we open {{{wifi_node_level_sic_tune.grc}}}, in GNU radio, the following window will show:
     122
     123 ||||||Figure 4: The {{{wifi_node_level_sic_tune}}} GNU radio experiment, with different functional parts highlighted. ||
     124 || [[Image(wifi_node_level_sic_tune_flowgraph.png,640px)]] ||
     125
     126This simple flowgraph contains three main components. First, highlighted in green, are the variables used to define important parameters for the experiment. {{{freq}}} is the centre frequency for the RF signal to be transmitted, and {{{samp_rate}}} is the bandwidth of the signal. By default, these values are 920 MHz and 10 MHz respectively. The {{{usrp_source_addr}}} and {{{usrp_sink_addr}}} are IP addresses for the USRP X310 we are using to receive and transmit - in this experiment, they should be identical. {{{subdev_spec}}} is the specific transceiver of the USRP X310, and {{{sub20_sn}}} is the serial number of the SUB-20 device for the combination of {{{usrp_source_addr}}} and {{{subdev_spec}}}. More details on these values is provided later on in the tutorial.
     127
     128Next, highlighted in blue, are the blocks used to define the GUI sliders for adjusting the configuration of the Gen-2 RF canceller. The "FDE Remote Config" block performs the configuration using the SUB-20 device by sending the values of each slider to the SUB-20 device over the network.
     129
     130Lastly, the blocks highlighted in yellow are the data flow for this experiment. The "File Source" block reads a complex-valued baseband signal from a file on the server - this signal represents 802.11a-like data packets with the BPSK 3/4 modulation and coding scheme. This baseband signal is connected to the "USRP Sink", which will transmit the signal from the USRP at the centre frequency specified by {{{freq}}} and the bandwidth specified by {{{samp_rate}}}. The "USRP Source" produces a complex baseband signal received by the radio, and this is fed into a "QT GUI Frequency Sink", which displays the signal on the GUI.
     131
     132To start the experiment, first change {{{samp_rate}}} to 20M, by double-clicking on the variable block and entering {{{20e6}}}. Then, press the play button on the top row of icons. After pressing play, the experiment will start loading, and the GUI in Figure 5 below should display.
     133
     134 ||||||Figure 5: The {{{wifi_node_level_sic_tune}}} experiment GUI, showing a power spectrum of the self-interference and sliders for configuring the Gen-2 canceller. ||
     135 || [[Image(wifi_node_level_sic_tune_gui.png,640px)]] ||
     136
     137The power spectrum shown on the left hand side of the GUI is the self-interference (SI) signal, after the RF canceller has performed RF SI cancellation (SIC) on it. The goal of the configuration GUI is to reduce the SI power as much as possible. It is sufficient for the time being to configure the sliders using the values in Figure 5. A table of "starter configurations" is provided later on in the tutorial for each of the four radios.
     138
     139''Important note: It is not recommended to move the sliders by dragging them. This will cause many configuration requests to be sent to the SUB-20. The GNU Radio GUI elements do not let us specify when to apply the slider value, so it applies it for every value you slide over. It is best to enter values by clicking on the number next to each slider, or clicking along the slider to move it in steps.''
     140
     141'''Node-Level Performance of the Configured FD Radio'''
     142
     143Now, we can open the {{{wifi_node_level_sic_viz.grc}}} file into GNU Radio. The flowgraph for this is more complex, and utilizes several blocks which have been developed specifically to support the FD experimentation on COSMOS. A description of each block is provided on the [https://github.com/Wimnet/flexicon_orbit/blob/master/gr-fullduplex/docs/README.md GitHub page] for the source code.
     144
     145Change the {{{samp_rate}}} variable to 20M as before, and then press the play button. In this flowgraph, we transmit 802.11a packets with QPSK 3/4 modulation and coding. You should see the GUI in Figure 6.
     146
     147 ||||||Figure 6: The {{{wifi_node_level_sic_viz}}} experiment GUI, showing the time-domain received waveform after RF SIC and after digital SIC. Also shown are the corresponding constellation diagrams. ||
     148 || [[Image(wifi_node_level_sic_viz_gui.png,640px)]] ||
     149
     150This GUI shows two important features. First is that, even after RF SIC, the SI can still be fully decoded, shown by the clear QPSK constellation diagram. However, after the second stage of SIC on the digital baseband signal, we can see that the constellation diagram shows only noise, and the time domain signal (the black line) is at the noise floor.
     151
     152'''Configuring the Other Radios'''
     153The procedure for the two flowgraphs can be repeated to configure and benchmark the three other FD radios in the testbed. Please see the table below, which provides the USRP IP address, the subdevice specifier, the SUB-20 serial number, and a useful initial configuration.
    127154
    128155==== Wrapping Up & Saving Work ====