Changes between Initial Version and Version 1 of Tutorials/Wireless/GNURadioOFDM


Ignore:
Timestamp:
Oct 3, 2023, 3:13:06 PM (14 months ago)
Author:
prasanthi
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/Wireless/GNURadioOFDM

    v1 v1  
     1[[Include(WikiToC)]]
     2
     3== Spectrum visualization with Fosphor ==
     4
     5=== Description ===
     6
     7This tutorial illustrates use of [https://archive.fosdem.org/2015/schedule/event/rfnocfosphor/attachments/slides/804/export/events/attachments/rfnocfosphor/slides/804/fosdem2015_rfnoc_fosphor.pdf RFNoC Fosphor block for spectrum visualization]. RFNoC Fosphor block is the FPGA accelerated version of [https://projects.osmocom.org/projects/sdr/wiki/Fosphor gr-fosphor (CPU/GPU version)]. As any other RFNoC blocks, RFNoC Fosphor can be instantiated on 3rd generation USRP devices, and can be used in conjunction with gnuradio-companion(GRC) on the host computer. This tutorial demonstrates GRC RFNoC Fosphor application on USRP-2974 in [wiki:Hardware/sdr/usrp2974 COSMOS testbed].
     8
     9Running a GRC application on a testbed node requires using graphical user interface(GUI) over SSH. This tutorial also illustrates use of [https://mobaxterm.mobatek.net/ MobaXterm] and jumphost to setup X forwarding for accessing GUI over SSH.
     10
     11=== Prerequisites ===
     12In order to access the test bed, create a reservation and have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed. Please follow the process shown on the COSMOS [wiki:GettingStarted getting started] page to get started.
     13
     14=== Resources required ===
     151 USRP-2974 (sdr2-md1 or sdr2-s1-lg1) on COSMOS SB1 or COSMOS bed.
     16=== Tutorial Setup ===
     17
     18Follow the steps below to gain access to the [wiki:/hardware/Domains/sb1 sandbox 1 console] and set up nodes with appropriate images.
     19 1. If you don't have one already, sign up for a [https://www.cosmos-lab.org/portal-2/ COSMOS account]
     20 1. [wiki:/GettingStarted#MakeaReservation Create a resource reservation] on sandbox 1
     21 1. [wiki:/GettingStarted#LogintoyourReservation Login] into sandbox 1 console (console.sb1.cosmos-lab.org) with an SSH session. SSH session for COSMOS SB1 with MobaXterm can be setup as shown, with remote host = console.sb1.cosmos-lab.org, and username = your COSMOS username. X11 forwarding is enabled to access GUI.
     22[[Image(mobaxterm_sb1_session.JPG, width=600px)]]
     23 1. Make sure all the nodes and devices used in the experiment are turned off:
     24{{{#!shell
     25omf tell -a offh -t sdr2-s1-lg1 
     26}}}
     27 1. Load rfnoc_fosphor_3_15.ndz on sdr2-s1-lg1. 
     28{{{#!shell
     29omf load -i rfnoc_fosphor_3_15.ndz -t sdr2-s1-lg1
     30}}}
     31 1. Turn the SDR on and check the status
     32{{{#!shell
     33omf tell -a on -t sdr2-s1-lg1
     34}}}
     35{{{#!shell
     36omf stat -t sdr2-s1-lg1
     37}}}
     38 1. Log into the SDR with -Y for X11 forwarding
     39{{{#!shell
     40ssh root@sdr2-s1-lg1 -Y
     41}}}
     42==== Configure !MobaXterm for node access ====
     43Another way to access the SDR is to set up a MobaXterm session directly to the SDR, with the console as the jump host. As shown in the pictures below, for the SSH session, use remote host = sdr2-s1-lg1.sb1.cosmos-lab.org username = root. Enable X11 forwarding in advanced settings. Set up jump host in network settings, with gateway host = console.sb1.cosmos-lab.org, username = your cosmos username.
     44
     45[[Image(nodessh.JPG, width=600px)]]
     46[[Image(jumphost.png, width=600px)]]
     47
     48The following is displayed when this session runs.
     49{{{#!shell
     50     ┌────────────────────────────────────────────────────────────────────┐
     51     │                        • MobaXterm 20.6 •                          │
     52     │            (SSH client, X-server and networking tools)             │
     53     │                                                                    │
     54     │ ➤ SSH session to root@sdr2-s1-lg1.sb1.cosmos-lab.org              │
     55     │   • SSH gateway     : ✔  (myusername@console.sb1.cosmos-lab.org)   │
     56     │   • SSH compression : ✔                                            │
     57     │   • SSH-browser     : ✔                                            │
     58     │   • X11-forwarding  : ✔  (remote display is forwarded through SSH) │
     59     │   • DISPLAY         : ✔  (automatically set on remote server)      │
     60     │                                                                    │
     61     │ ➤ For more info, ctrl+click on help or visit our website          │
     62     └────────────────────────────────────────────────────────────────────┘
     63
     64Last login: Fri Dec 11 04:49:36 2020 from 10.106.0.21
     65root@sdr2-s1-lg1:~#
     66
     67}}}
     68
     69
     70=== Experiment Execution ===
     71
     72==== RFNoC Fosphor FPGA image ====
     73Custom USRP-2974 FPGA image /bit/rfnoc3_15_fosphor_x310.lvbitx will be used for this tutorial. To use this image with a UHD or GRC application use the fpga-path argument as shown below.
     74{{{#!shell
     75uhd_usrp_probe --args="resource=RIO0,type=x300,fpga-path=/root/bit/rfnoc3_15_fosphor_x310.lvbitx"
     76}}}
     77Following are the blocks in rfnoc3_15_fosphor_x310.lvbitx
     78{{{#!shell
     79|   |     _____________________________________________________
     80|   |    /
     81|   |   |       RFNoC blocks on this device:
     82|   |   |
     83|   |   |   * DmaFIFO_0
     84|   |   |   * Radio_0
     85|   |   |   * Radio_1
     86|   |   |   * DDC_0
     87|   |   |   * DUC_0
     88|   |   |   * FFT_0
     89|   |   |   * Window_0
     90|   |   |   * FIR_0
     91|   |   |   * SigGen_0
     92|   |   |   * KeepOneInN_0
     93|   |   |   * fosphor_0
     94|   |   |   * FIFO_0
     95|   |   |   * FIFO_1
     96}}}
     97
     98==== Run rfnoc-fosphor GRC application ====
     99{{{#!shell
     100gnuradio-companion  /root/gr-ettus/examples/rfnoc/rfnoc_fosphor.grc
     101}}}
     102
     103{{{#!shell
     104root@sdr2-s1-lg1:~# gnuradio-companion  /root/gr-ettus/examples/rfnoc/rfnoc_fosphor.grc
     105<<< Welcome to GNU Radio Companion 3.7.14.0 >>>
     106
     107Block paths:
     108        /usr/local/share/gnuradio/grc/blocks
     109
     110Loading: "/root/gr-ettus/examples/rfnoc/rfnoc_fosphor.grc"
     111>>> Done
     112}}}
     113
     114With X11 forwarding enabled, GRC should show up as below. Set Device Arguments in the Device3 block to "resource=RIO0,fpga-path=/root/bit/rfnoc3_15_fosphor_x310.lvbitx".
     115
     116[[Image(rfnoc_fosphor_grc.jpg, width=800px)]]
     117
     118Set center frequency, bandwidth and run the application to see spectrum display.
     119
     120|| [[Image(rfnoc_fosphor_display.jpg, width=800px)]] || [[Image(rfnoc_fosphor_display_bed.jpg, width=800px)]] ||