Site Navigation
Mobile PAAM OFDM
Description
In this tutorial, we demonstrate an OFDM link with two mobile PAAMs, each consisting of an IBM 28 GHz phased array antenna modules (PAAMs) and a USRP-2974 SDR. When not in use outdoors, mobile PAAMs are accessible in sb1. This tutorial is based on the following demo in Mobi Com 2024.
- P. Maddala, J. Kolodziejski, A. Adhikari, K. Hermstein, D. Chen, L. Zhu, T. Chen, I. Seskar, and G. Zussman, “Demo: Experimentation with Mobile 28 GHz Phased Array Antenna Modules”, in Proc. ACM Mobi Com’24, Washington D.C., Nov. 2024
Author: Kevin Hermstein, Columbia University (klh2179@…)
Last updated November 15th, 2024
Prerequisites
In order to access a COSMOS sandbox, 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
Two mobile PAAMs. This tutorial uses mob4-1
and mob4-2
, but either may be swapped for mob4-3
if necessary.
Tutorial Setup
Follow the steps below to gain access to the sandbox console and set up nodes with appropriate images.
- If you don't have one already, sign up for a COSMOS account
- Create a resource reservation on COSMOS SB1
- Login to sandbox console (
console.sb1.cosmos-lab.org
) with four SSH sessions. (One session for array control, one session for GNURadio for each mobile PAAM) - Make sure all the nodes and devices used in the experiment are turned off.
omf tell -a offh -t mob4-1,mob4-2
- Use the
mob-paam-ofdm-tutorial.ndz
node image with Ubuntu 20.04, UHD 4.1, gnuradio 3.9, and a grc example used in this tutorial. Loadmob-paam-ofdm-tutorial.ndz
onto each mobile PAAM. Run each command in a separate session so they run in parallel.omf load -i mob-paam-ofdm-tutorial.ndz -t mob4-1
omf load -i mob-paam-ofdm-tutorial.ndz -t mob4-2
- Turn all the required resources on and check the status of all the resources.
omf tell -a on -t mob4-1,mob4-2
omf stat -t all
ssh
to each mobile PAAM with option -Y for using GUI with gnuradio. In the other two sessions, the -Y can be omitted.ssh -Y root@mob4-1
ssh -Y root@mob4-2
At this point, you should have 4 sessions open. 2 ssh
sessions connected to mob4-1
and 2 connected to mob4-2
. At least one session for each must be initialized with -Y
to enable the GNURadio GUI.
Experiment Execution
Configure the mobile PAAM
COSMOS uses a RESTful service for PAAM management. A local version of this service is running on each mobile PAAM to allow for configuration outside of SB1. There are two paradigms for array management:
- Dynamic array management - The user connects to the antenna using
connect
command, dynamically steers the antenna during the experiment usingsteer
command, and disconnects once the experiment is done. - Static array management - The user can connect, steer, and disconnect in a single command,
configure
We will use mob4-1 as our transmitter. We will enable it to use all ICs and 16 elements with V-polarization. Initially, it will be steered towards broadside (0,0).
root@mob4-1:~# curl "http://rfdev-mob:3000/array_mgmt/enable?dev_name=Local&ics=all&num_elements=16&txrx=tx&pol=v&theta=0&phi=0"
Now we configure mob4-2 as the receiver with the same parameters.
root@mob4-2:~# curl "http://rfdev-mob:3000/array_mgmt/enable?dev_name=Local&ics=all&num_elements=16&txrx=rx&pol=v&theta=0&phi=0"
Run the experiment
Open GNURadio companion on the sessions initialized with -Y
root@mob4-1:~# gnuradio-companion
root@mob4-2:~# gnuradio-companion
On mob4-1, open the TX_OFDM.grc file. On mob4-2, open the RX_OFDM.grc file.