On this page:
3.1 Overview
3.2 Spectrum use
3.2.1 BRS Channel Use Information
3.3 Step-by-step walkthrough
3.4 Next Steps
2024-01-04 (93db12d)

3 Powder Over-the-air operation

This chapter will walk you through the process of instantiating a Powder experiment for over-the-air operation.

3.1 Overview

The Powder over-the-air experimental workflow follows the same basic approach described in the getting started chapter. However, over-the-air operation involves radio frequency (RF) transmissions, that are subject to FCC regulations. The implication of this is that over-the-air experiments cannot be instantiated on-demand. Rather all over-the-air experiments need to pre-reserve all resources that will be needed by the experiment, including spectrum, before the normal experiment instantiation process can be started.

In summary, the steps involved with instantiating an over-the-air experiment in Powder are:

Note: This process is expected to evolve as we gain more experience with over-the-air operation on Powder.

3.2 Spectrum use

Every Powder experiment must declare its spectrum usage in advance: while arbitrary reception is possible, transmission on any frequency is permitted only by prior permission.

Program Experimental licencees may submit experiment notifcations on the FCC OET Experiments System site to operate within the Salt Lake City Innovation Zone. Details are available in the Public Notice announcing the Innovation Zone.

The frequency bands appropriate for experimenter use varies by node type; more details are available in the hardware chapter. The following table provides a summary of frequencies for currently operational equipment:

Frequency (GHz)


Operational node types

1.7/2.1 AWS (FDD)


Base station cellsdr nodes; Fixed endpoint nuc and ue nodes

2.4-2.6 ISM/BRS (TDD)


Skylark Wireless Massive MIMO

3.5 CBRS (TDD)


Base station cbrssdr nodes

3.2.1 BRS Channel Use Information

Powder provides access to 10 MHz of spectrum (2496-2506 MHz) in the BRS range (band 41) for experimental use. Transmissions in this spectrum must adhere to a specific LTE or 5G-NR TDD frame and subframe configuration with downlink (rooftop base stations) and uplink (mobile/fixed endpoints) transmission periods synchronized in time with commercial operators in order to avoid interfering with their adjacent channels. Specifically, transmission from rooftop base stations is disallowed in the period between 1.64323 ms and 3 ms after the beginning of the second as determined by GPS* and repeating every 5 ms thereafter.

The required LTE uplink-downlink frame configuration is number 2 with special subframe configuration 6 (see 3GPP 36.211 and this LTE TDD Reference), which has this arrangement of downlink (D), uplink (U), and special (S) subframes: DSUDD. Each subframe has a duration of 1 ms and the pattern repeats every 5 ms. The special subframe in this pattern includes more time for downlink transmission (DwPTS), followed by a guard period (GP) to allow for time-of-flight differences for downlink reception, followed by more time for uplink transmission (UpPTS) prior to the next uplink subframe. Special subframe configuration 6 sets the durations for DwPTS, GP, and UpPTS as follows:


For 5G-NR, DDDSUUDDDD with SF27 timing configured as 3:8:3 should be used. The special subframe consists of downlink for 107.14us, guard period for 272.71us and uplink for 107.14us.

* The radios on the rooftops use an Octoclock for their time reference. These Octoclocks are synchronized using WhiteRabbit to a GPS disciplined oscillator. The Octoclock is connected to the 10 MHz and PPS radio inputs. As such you should use the external frequency and time inputs for synchronization. This is done with a set_time_source("external") call via the multi_usrp object API.

3.3 Step-by-step walkthrough

The step-by-step walkthrough below will instantiate an over-the-air experiment using the srsLTE open source software stack. The walkthrough assumes you have an account on Powder and have your own project that has been enabled by Powder administrators for over-the-air operation. (Specifically, you will not be able to use the "TryPowder" project to instantiate this profile.)

  1. Log into the portal
    Start by pointing your browser at https://www.powderwireless.net/ and log in.

  2. Find the resources needed by the ota_srslte profile
    We will use a basic srsLTE profile developed by the Powder team. You can find the "ota_srslte" profile at this link. Alternatively you can search for the profile: Select "Experiments" and then "Start Experiment" from the portal. Then select "Change Profile". In the search box enter "ota_srslte" and select the srsLTE OTA profile provided by the Powder team.
    In the profile description, note the hardware and frequency resources that are required for this profile.
    For this activity we will select the following specific resources:
    Hardware: Humanities, nuc2; Emulab, cellsdr1-browning; Emulab, d740
    Frequency: 2560 MHz to 2570 MHz, 2680 MHz to 2690 MHz

  3. Go to the resource reservation page
    Within the Powder portal, select "Experiments", then select "Reserve Resources" from the drop down menu.

  4. Reserve the resources required by the ota_srslte profile
    Fill out the reservation page to reserve the specific resources identified above. Note that resource reservations are tied to specific projects. You will have to use your own project here, not the Powder team project ("PowderTeam") shown in the screenshot. (The "TryPowder" project used for the getting stared activity also can not be used for over-the-air operation.)
    Select a date and time for your reservation and provide a "Reason" description.
    Once you have completed all the required fields, select "Check" to see if your reservation request can be accommodated. You might have to adjust your request (select different resources and/or change you reservation time/date) to make it fit. Note that the table/graphs on the right of the Reservation Request page show current frequency reservations and resource availability.

  5. Submit your reservation request
    If your reservation request can be accommodated you will be presented with a pop-up window to "Submit" the reservation.
    Once you have submitted your reservation you will have to wait for the reservation to be approved by Powder administrators before proceeding with the rest of this activity (during the time slot requested in your request).

  6. Select the profile
    You will receive email when your reservation request is "approved" and also when your reservation becomes "active".
    When your reservation becomes active you can proceed to instantiate the ota_srslte profile. (Alternatively, you can follow the steps below as soon as your reservation is approved, but in the "Schedule" step, schedule the instantiation of the profile to coincide with your reservation.)
    As before: You can find the "ota_srslte" profile at this link. Alternatively you can search for the profile: Select "Experiments" and then "Start Experiment" from the portal. Then select "Change Profile". In the search box enter "ota_srslte" and select the srsLTE OTA profile provided by the Powder team.

  7. Select resources for your profile
    In the "Parameterize" step, select the same resources you requested/received approval for.
    For this profile frequency resources are directly specified/requested by the profile.

  8. Finalize
    In the "Finalize" step, be sure to select the same project under which you submitted the resource reservation request.

  9. Schedule
    In the "Schedule" step, select "Start immediately" (the default) and make sure your "Experiment duration" fits within the time period associated with your reservation.

  10. Open a browser shell
    Once your experiment is fully instantiated, i.e., shows "Your experiment is ready!", open a browser shell on the "cellsdr1-browning-comp" node: Select the "List View" tab, click on the gear icon (under "Actions") next to "cellsdr1-browning-comp" and select "Shell" from the drop down menu.
    Note these instructions are also available in the "Profile Instructions" tab.

  11. Start up srsepc
    In the "cellsdr1-browning-comp" browser shell window, start up the srsLTE EPC:
    "sudo srsepc"

  12. Start up srsenb
    Open another browser shell on the "cellsdr1-browning-comp" node and start up the srsLTE eNodeB:
    "sudo srsenb"

  13. Start up srsue
    Open a browser shell on the "b210-humanities-nuc2" node and start up the srsLTE UE:
    "sudo srsue"

  14. Test UE connectivity
    If your UE successfully connects to the LTE network, a "tun_srsue" interface will be created on the "b210-humanities-nuc2" node and you can verify end-to-end connectivity across your LTE network:
    Open another browser shell on the "b210-humanities-nuc2" node and "ping" the SGi IP address via your RF link:

  15. ssh/X1 and GUI
    If you have ssh and X11 enabled on your laptop/desktop, you can follow the same step described above, but instead do it via ssh shell terminals. (Select the "List View" tab, and select the ssh command (in black) next to the node you want to create a shell on. (Or run the shown ssh command from your ssh client.))
    In this case run the UE with GUI enabled to get a "softscope" associated with your RF link:
    "sudo srsue –gui.enable 1"

3.4 Next Steps

The Powder roadmap section contains useful next steps.