This page provides step-by-step instructions for setting up a POWDER experiment in the temporary anechoic chamber massive MIMO install.
After getting an account, users need to set up their experiment topology (i.e., hardware resources needed) as follows:
We created a set of profiles that provide basic functionalities. In many cases this might be enough for users to begin working with the platform. Here are the step-by-step instructions for reserving resources and instantiating the POWDER experiment.
Experiments
(top left)Start Experiment
Change Profile
Select Profile
Next
Anechoic chamber array
and Anechoic chamber clients
. Modify the frequency range according to your needs. You can select from either the BRS or CBRS bands (i.e., 2496-2506 MHz or 3550-3700 MHz). Click Next
Emulab
. Here you will see the graphical topology showing the PC, massive MIMO base station, and clients. Click Next
Create New Resource Reservation
button a new set of options appear at the bottom of the screen as shown in the next two images.d840
machine, two Iris clients irisclients-ac
(only two clients available inside the anechoic chamber), and one massive MIMO base station mmimo-ac
.Search
button, the system will find a time slot and set your start/end time accordingly. Please provide a simple reason for the request. Click the Check
button and Submit
reservation request. This reservation will require approval from the staff, which can take a few hours. However, you can go ahead and finish setting up the experiment even with a Pending
status.Finish
setting up the experiment.
Under the List View
tab, users will find the different nodes in the experiment topology. We can ssh
into the host machine using the command provided. Remember to add use X11 forwarding (i.e., -X
option) to forward the application display to your local machine.
Even though the experiment and resources have been instantiated, there are some startup scripts continue to run. These scripts install several dependencies that will be needed by users. Users can verify whether these scripts are still running, by looking at the pc
block in the Topology View
. At the top right of the compute node block, you will notice a circle with either a dot or a check mark. The check mark indicates everything has been installed and it's ready for use. See below:
By default, the RENEW profile clones the RENEWLab
repository into the /scratch/repos/
folder. This profile also installs all the dependencies required to run the RENEW scripts (i.e., runs the following install scripts: install_cclibs.sh
, install_pylibs.sh
, and install_soapy.sh
).
WARNING: After the experiment expires, EVERYTHING in your HOME directory is deleted. Make sure you create a disk image or download your collected data before this happens.
You are now ready to start using the RENEW software. For your convenience, we have created a configuration file specific to the anechoic chamber setup. This should allow you to run the Sounder and collect data without having to do any modifications to the JSON file or to the text files listing the serial numbers of the different boards. The Sounder code is automatically compiled during the experiment startup. The build process generates an executable under the build
folder, called sounder
. If the user makes any changes to the code, he/she must go into the build folder and re-compile.
cd /scratch/repos/RENEWLab/CC/Sounder/build
make -j
The POWDER startup script automatically creates the topology file (topology.json
) that lists all the available base station SDRs. The configuration file will then read this file when the Sounder is run. However, the topology file is located under the /scratch
directory so users need to copy it into the /scratch/repos/RENEWLab/CC/Sounder/files/anechoic_conf/
directory:
cp /scratch/topology.json /scratch/repos/RENEWLab/CC/Sounder/files/anechoic_conf/
Finally, we can run the Sounder as follows:
cd /scratch/repos/RENEWLab/CC/Sounder/
./build/sounder -conf files/anechoic_conf/conf-anechoic-chamber.json
Notice that we are passing the path to the configuration json file used in the experiment.
This will generate an HDF5 file that contains not only raw IQ samples but also metadata with the different parameters used in the experiment. This file will be saved under the /Sounder/logs/
directory. Due to the proximity of the UEs and base station, we suggest you disable beamsweeping in the conf-anechoic-chamber.json
file ("beamsweep" : false
) before running the experiment, for better results.
Users can analyze the contents of the file by using a Python script we provide. To run it:
python3 ../../PYTHON/IrisUtils/plot_hdf5.py ./logs/<filename>.hdf5
This will output a couple of different plots showing the pilots sent from the client to the base station. Alternatively, users can run the plot_hdf5.py
passing different flags to do a more in-depth analysis or to focus on specific frames/antennas:
python3 ../../PYTHON/IrisUtils/plot_hdf5.py ./logs/<filename>.hdf5 --deep-inspect
This command will show several plots like the following:
For the most updated information on POWDER's deployment, please refer to their site.
The POWDER team has provided a map of their deployment. This map shows the locations of the available massive MIMO base stations and the UEs. Every POWDER user has access to this equipment.