wiki:Tutorials/Wireless/GNURadioOFDM

Version 1 (modified by prasanthi, 3 years ago) ( diff )

Site Navigation

  1. COSMOS Testbed Overview
    1. Concepts
    1. Testbed Workflow
    1. Availability and Resource Status
    1. Events and Conferences
  2. Getting Started
    1. Make an Account
    2. Create and Configure SSH Keys
    3. Make a Reservation
    4. Log in to your Reservation
    5. Control Resources with OMF
    6. Run a Hello World Experiment
    7. Get Help and Support
  3. COSMOS/ORBIT User Guide
    1. The COSMOS Portal
    2. Connecting to the Testbed
    3. Running Experiments
    4. Policies and Support
    5. Quick Links
    1. Policies
    1. Account Creation
    1. Camera Streaming
    1. Scheduling and Reservations
    1. Disk Images
    1. Frequently Asked Questions
    1. Resource Control with OMF
  4. COSMOS Portal
    1. Your First Visit
    2. Setting Up Your Account
    3. Reserving Testbed Time
    4. Monitoring Your Experiment
    5. Connecting via SSH
    6. Managing Disk Images
    7. Joining the Community
    8. Browsing Users and Groups
    9. Tips
  5. Account Management
    1. Edit Profile
    2. Change Password
    3. SSH Keys
  6. Portal Dashboard
    1. Profile Card
    2. Usage Statistics
    3. Community Forum
  7. Directory
    1. Users
    2. Groups
    3. Privacy Note
  8. Disk Images
    1. Browsing Images
    2. Image Details
    3. Searching and Sorting
    4. Managing Your Images
    5. Baseline Images
    6. Saving Custom Images
    7. Storage and Retention
  9. Community Forum
    1. Accessing the Forum
    2. Forum Categories
    3. How to Use the Forum
    4. Forum Etiquette
    5. Privacy and Access
  10. Getting Started with the COSMOS Portal
    1. Creating an Account
    2. Logging In
    3. What to Do After Logging In
  11. SSH Access to Testbed Nodes
    1. Access Model
    2. Console Servers
    3. Basic Connection
    4. SSH Config File
    5. SSH Tunneling
    6. File Transfer
    7. Troubleshooting
  12. Scheduler
    1. Calendar View
    2. Reservation Colors
    3. Creating a Reservation
    4. Competing for a Slot
    5. Modifying or Canceling Reservations
    6. My Reservations
    7. Resource Information
  13. Testbed Status
    1. Node Status Grid
    2. RF Matrix Control (SB4)
    3. Understanding Node States During Experiments
    1. Remote Access
    1. Chrome Remote Desktop Setup Page
  14. Installing Chrome Remote Desktop (CRD) on a Custom Image
    1. Measurement & Result Collection
    1. Storage
    1. Support
    1. Contributing to the Wiki
  15. Tutorials
    1. SDR and Wireless
    2. Wireless Digital Twins
    3. Optical Networking
    4. Wired Networking
    5. Edge Computing
    6. 4G/5G Systems
    7. Orchestration Platforms
  16. Architecture
    1. Data Flow
    1. Deployment Map
    1. Domains
    1. Naming Convention
    1. Networks
    1. Optical
  17. Resources, Services and APIs
    1. RF Control
    2. SDR Control
    3. Compute Control
    4. Network Control
    5. Optical Control
  18. Datasets
  19. Hardware Info
    1. Cameras
    1. Compute
    1. FR3 SDRs
    1. Network
    1. Nodes
    1. Optical
    1. RF Subsystems
    1. Antennas
    1. Full-Duplex Radio
    1. RF Front End
    1. Software Defined Radios (SDR)
  20. RF Policies & Compliance
    1. Outdoor Radio Frequency Allocation
    2. Program Experiment License
    3. Spectrum Monitoring
    4. Emergency Stop Procedures
    5. Network and Platform Security

Spectrum visualization with Fosphor

Description

This tutorial illustrates use of RFNoC Fosphor block for spectrum visualization. RFNoC Fosphor block is the FPGA accelerated version of 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 COSMOS testbed.

Running a GRC application on a testbed node requires using graphical user interface(GUI) over SSH. This tutorial also illustrates use of MobaXterm and jumphost to setup X forwarding for accessing GUI over SSH.

Prerequisites

In 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 getting started page to get started.

Resources required

1 USRP-2974 (sdr2-md1 or sdr2-s1-lg1) on COSMOS SB1 or COSMOS bed.

Tutorial Setup

Follow the steps below to gain access to the sandbox 1 console and set up nodes with appropriate images.

  1. If you don't have one already, sign up for a COSMOS account
  2. Create a resource reservation on sandbox 1
  3. Login into sandbox 1 console (console.sb1.cosmos-lab.org) with an SSH session. SSH session for COSMOS SB1 with Moba Xterm 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.

No image "mobaxterm_sb1_session.JPG" attached to Tutorials/Wireless/GNURadioOFDM

  1. Make sure all the nodes and devices used in the experiment are turned off:
    omf tell -a offh -t sdr2-s1-lg1  
    
  2. Load rfnoc_fosphor_3_15.ndz on sdr2-s1-lg1.
    omf load -i rfnoc_fosphor_3_15.ndz -t sdr2-s1-lg1
    
  3. Turn the SDR on and check the status
    omf tell -a on -t sdr2-s1-lg1
    
    omf stat -t sdr2-s1-lg1
    
  4. Log into the SDR with -Y for X11 forwarding
    ssh root@sdr2-s1-lg1 -Y
    

Configure MobaXterm for node access

Another way to access the SDR is to set up a Moba Xterm 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.

No image "nodessh.JPG" attached to Tutorials/Wireless/GNURadioOFDM No image "jumphost.png" attached to Tutorials/Wireless/GNURadioOFDM

The following is displayed when this session runs.

     ┌────────────────────────────────────────────────────────────────────┐
     │                        • MobaXterm 20.6 •                          │
     │            (SSH client, X-server and networking tools)             │
     │                                                                    │
     │ ➤ SSH session to root@sdr2-s1-lg1.sb1.cosmos-lab.org              │
     │   • SSH gateway     : ✔  (myusername@console.sb1.cosmos-lab.org)   │
     │   • SSH compression : ✔                                            │
     │   • SSH-browser     : ✔                                            │
     │   • X11-forwarding  : ✔  (remote display is forwarded through SSH) │
     │   • DISPLAY         : ✔  (automatically set on remote server)      │
     │                                                                    │
     │ ➤ For more info, ctrl+click on help or visit our website          │
     └────────────────────────────────────────────────────────────────────┘

Last login: Fri Dec 11 04:49:36 2020 from 10.106.0.21
root@sdr2-s1-lg1:~#

Experiment Execution

RFNoC Fosphor FPGA image

Custom 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.

uhd_usrp_probe --args="resource=RIO0,type=x300,fpga-path=/root/bit/rfnoc3_15_fosphor_x310.lvbitx"

Following are the blocks in rfnoc3_15_fosphor_x310.lvbitx

|   |     _____________________________________________________
|   |    /
|   |   |       RFNoC blocks on this device:
|   |   |
|   |   |   * DmaFIFO_0
|   |   |   * Radio_0
|   |   |   * Radio_1
|   |   |   * DDC_0
|   |   |   * DUC_0
|   |   |   * FFT_0
|   |   |   * Window_0
|   |   |   * FIR_0
|   |   |   * SigGen_0
|   |   |   * KeepOneInN_0
|   |   |   * fosphor_0
|   |   |   * FIFO_0
|   |   |   * FIFO_1

Run rfnoc-fosphor GRC application

gnuradio-companion  /root/gr-ettus/examples/rfnoc/rfnoc_fosphor.grc
root@sdr2-s1-lg1:~# gnuradio-companion  /root/gr-ettus/examples/rfnoc/rfnoc_fosphor.grc
<<< Welcome to GNU Radio Companion 3.7.14.0 >>>

Block paths:
        /usr/local/share/gnuradio/grc/blocks

Loading: "/root/gr-ettus/examples/rfnoc/rfnoc_fosphor.grc"
>>> Done

With 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".

No image "rfnoc_fosphor_grc.jpg" attached to Tutorials/Wireless/GNURadioOFDM

Set center frequency, bandwidth and run the application to see spectrum display.

No image "rfnoc_fosphor_display.jpg" attached to Tutorials/Wireless/GNURadioOFDM No image "rfnoc_fosphor_display_bed.jpg" attached to Tutorials/Wireless/GNURadioOFDM

Attachments (7)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.