wiki:Tutorials/Wireless/ChannelSoundingKrypton

Version 14 (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

Wideband Channel Sounding with USRP 2974s

Description

Channel sounding is the process of evaluating the characteristics of a radio environment. Evaluating the power delay profile (PDP) of a radio channel helps in developing statistical models for channel simulation.

This tutorial demonstrates how to use the RFNoC channel sounder design for obtaining the PDP of channels up to 100MHz wide. On the transmit side, data samples are spread using a PN sequence. On the receive end, an FPGA correlator module computes real time correlation power, and an averaging module, averages contiguous sets of PDP over time. The results are continuously sent to the host CPU. This design is compatible with 3rd generation Ettus USRP devices and this tutorial uses USRP 2974s on COSMOS SandBox1.

Note: This experiment uses USRP 2974s in stand-alone mode, where the UHD application runs on the internal PC. So, HG FPGA image should suffice. For non-standalone mode, where the application runs on a host server, XG FPGA image is required.

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 work flow page to get started.

Resources required

2 rooftop USRP 2974s (sdr2-md1, sdr2-s1-lg1) are required for this experiment.

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 two SSH sessions.
  4. Make sure all the nodes and devices used in the experiment are turned off:
    omf tell -a offh -t sdr2-md1,sdr2-s1-lg1  
    
  5. The image channel-sounder.ndz has UHD, Gnu Radio installed, with RFNoC enabled. Custom RFNoC modules required for channel sounding are also installed. Load channel-sounder.ndz on sdr2-md1,sdr2-s1-lg1.
    omf load -i channel-sounder.ndz -t sdr2-md1,sdr2-s1-lg1
    
  6. Turn all the required resources on and check the status
    omf tell -a on -t sdr2-md1,sdr2-s1-lg1
    
    omf stat -t system:topo:allres
    
  7. ssh to the nodes, use option -Y for using GUI.

When opening a session into console.sb1.cosmos-lab.org, set up a tunnel from localhost:5105 to console.sb1.cosmos-lab.org:5100. This will be used by the web application to connect to a server running on one of the SDRs.

Experiment Execution

Prepare the USRPs

  • Check if USRPs have the modules required for the experiment by running uhd_usrp_probe on each on of them.
    root@sdr2-md1:~# uhd_usrp_probe --args="type=x300,fpga=HG"
     
    |   |     _____________________________________________________
    |   |    /
    |   |   |       RFNoC blocks on this device:
    |   |   |
    |   |   |   * DmaFIFO_0
    |   |   |   * Radio_0
    |   |   |   * Radio_1
    |   |   |   * DDC_0
    |   |   |   * DUC_0
    |   |   |   * Corrmag63avg8k_0
    |   |   |   * Spreader_0
    |   |   |   * SpecSense2k_0
    |   |   |   * FIFO_0
    |   |   |   * FIFO_1
    
    If you see the above at the end of uhd_usrp_probe output, the USRPs are ready. Spreader_0 is used to spread the transmit signal, and Corrmag63avg8k_0 is the correlator on the receive side.

Set up web based streaming

  • Set up a web proxy for the receive node. Use run-websock command on SB1 console to set up the proxy (this is required for remote web based streaming)
    user@console:~$ run-websock 5100 sdr2-s1-lg1.sb1.cosmos-lab.org:5100 --daemon
    WebSocket server settings:
      - Listen on :5100
      - Flash security policy server
      - No SSL/TLS support (no cert file)
      - Backgrounding (daemon)
    
    There is SSH tunnel setup from your host port 5105 to console.sb1.cosmos-lab.org:5100, which acts as a proxy for sdr2-s1-lg1.sb1.cosmos-lab.org:5100, where the channel sounder receive server is listening.

Run the experiment

  • Start transmit application on the TX node. It configures transmit RFNoC flowgraph, configures the Spreader module in the FPGA and transmits data samples.
    root@sdr2-md1:~# /root/uhd/host/build/examples/rfnoc_tx_spreader --args="type=x300,skip_ddc,skip_duc" --freq 3e9 --gain 30 --duc-args="input_rate=50000000.0,output_rate=200000000.0"
    
  • Start receive application on the RX node. It configures receive RFNoC flowgraph, configures the correlator, averaging modules in the FPGA and starts a TCP server to talk to the web application.
    root@sdr2-s1-lg1:~# uhd/host/build/examples/rfnoc_rx_channel_sounder --args="type=x300,skip_ddc,skip_duc" --freq 3e9 --gain 10 --ddc-args="output_rate=50000000.0,input_rate=200000000.0"
    
  • Download channel_sounding_display_cosmos.html attached to this tutorial and open it in your browser. Once you click the start button, you should see PDP of the channel.

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.