Agora is a complete high-performance system for real-time massive-MIMO baseband processing
that implements a queue-based master-worker model.
A master thread is responsible for scheduling tasks and a pool of worker threads are responsible for executing tasks.
The communication between the master thread worker threads are achieved through single-producer multi-consumer or
multi-producer single-consumer shared memory FIFO queues.
Pros and cons of Agora:
+ Agora currently supports 64x16 Multi-User MIMO (MU-MIMO).
In other words, the system supports 64 Remote Radio Unit (RRU) antennas and 16 concurrent
User Equipment (UE) devices with 20 MHz bandwidth and 64QAM modulation, on a 36-core server with AVX512 support.
+ Agora is configurable in terms of numbers of RRU antennas and UEs, bandwidth, modulation orders, LDPC code rates.
+ Agora supports an emulated RRU and UEs with a high-performance packet generator.
+ Agora has been tested with real RRUs with up to 64 antennas and up to 8 UEs. The RRU and UE devices are available
from Skylark Wireless.
- Agora is a complex system and as such, it has a much steeper learning curve than RENEWLab and requires more advanced programming skills.
When to Use Agora?
Agora allows researchers to experiment with massive MIMO applications running in real-time and to further develop other
baseband modules and evaluate their performance.
The following are just a few examples of use cases enabled by Agora:
Channel Coding: Researchers can either evaluate the current LDPC enconder/decoder using different parameters or
replace it with different error correcting coding mechanisms.
Massive MIMO channel estimation: Researchers can implement different techniques to improve channel estimation
and evaluate their performance in real-time.
Rate Adaptation: Based on channel state information inferred from received pilots,
the Agora system can vary the transmission rate to minimize losses and to avoid
Precoding: By default, Agora implements zero-forcing precoding.
Researchers can experiment with other precoding schemes such as conjugate beamforming and evaluate
its performance in different scenarios.
The Agora code is open-source and can be found here.
See the wiki showing a design overview including a block diagram of the system.
What is RENEWLab?
The best way to characterize RENEWLab is hardware-and-the-wireless channel-in-the-loop.
You program what signals are transmitted by which antennas at what time, and which antennas will receive them.
The signals can be constructed in Python or MATLAB, allowing you to use many existing libraries in these software frameworks.
Pros and cons of RENEWLab:
+ Flexible construction of signals and transmission patterns
+ Ability to use existing software libraries without any change
+ Shortest learning curve
+ Ability to bring hardware and actual wireless channels in your data
+ Full software control
- Real-time processing often not possible, hence not suitable for Layer 2 or above research
When to Use RENEWLab?
RENEWLab is not only an important first step in many research projects but in fact, all you may need for many research ideas.
Below we highlight some of the ways you can use RENEWLab for:
Channel characterization: RENEWLab has a sounder tool, which is a special function allowing channel measurements.
Beyond just point-to-point link, one can develop channel models for self-interference (e.g. full-duplex radios),
interference channels, study frequency reciprocity or study multipath effects in massive MIMO channels
Waveform evaluation: This is a big one hiding under a boring term. Most of the signaling research, crucial for
radio development in the development of Physical Layer, can be extensively tested using RENEWLab.
For example, 5G-NR waveforms and future variations, beamforming algorithms, beamforming to account for amplifier nonlinearity,
impact of pilot design on channel estimation, gain control are just some of the ideas that can be extensively evaluated.
Datasets for machine learning: This is becoming a major research use case. Using RENEW’s ability to collect massive
amounts of data programmatically, we envision countless uses in machine learning for wireless.
R. Doost-Mohammady, O. Bejarano and A. Sabharwal, “Good Times for Wireless Research,” Computer Networks, 2021, To appear.
J. Ding, R. Doost-Mohammady, A. Kalia, L. Zhong, “Agora: Real-time Massive MIMO Baseband Processing in Software,” in Proceedings of ACM CONEXT'20, Dec 2020.
R. Doost-Mohammady, O. Bejarano and A. Sabharwal, “Good Times for Wireless Research,” Computer Networks, in Proceedings of ACM WiNTECH'20, September 2020.
X. Zhang, L. Zhong and A. Sabharwal, “Directional Training for FDD Massive-MIMO,” IEEE Transactions on Wireless Communications, May 2018.
C.-Y Yeh and E. Knightly, “Feasibility of Passive Eavesdropping in Massive MIMO: An Experimental Approach,” in Proceedings of IEEE CNS 2018, Beijing, China, May 2018.
N.M. Gowda and A. Sabharwal, “JointNull: Combining Partial Analog Cancellation With Transmit Beamforming for Large-Antenna Full-Duplex Wireless Systems,” IEEE Transactions on Wireless Communications, Vol. 17, No. 3, March, 2018.
X. Zhang and E. Knightly, “Massive MIMO Pilot Distortion Attack and Zero-Startup-Cost Detection: Analysis and Experiments,” in Proceedings of IEEE CNS 2017, Las Vegas, NV, October 2017. Best Paper Award.
Evan Everett, Clayton Shepard, Lin Zhong, and Ashutosh Sabharwal, "SoftNull: Many-Antenna Full-Duplex Wireless via Digital Beamforming," IEEE Transactions on Wireless Communications, Vol. 15, No. 12, December, 2016.
Clayton Shepard, Jian Ding, Ryan Guerra, and Lin Zhong, "Understanding Real Many-Antenna MU-MIMO Channels," in Proc. IEEE Asilomar Conf. on Signals, Systems, and Computers, November 2016.
Ryan Guerra, Narendra Anand, Clayton Shepard, and Edward Knightly, "Opportunistic Channel Estimation for Implicit 802.11af MU-MIMO," in Proc. Int. Conf. in Networking Science Practice (ITC), September 2016.
Patrick Murphy, Clayton Shepard, Lin Zhong, Chris Dick, Ashutosh Sabharwal. "FPGAs Help Characterize Massive-MIMO Channels," Xcell Journal, October, 2014.
Clayton Shepard*, Narendra Anand*, and Lin Zhong. "Practical Performance of MU-MIMO Precoding in Many-Antenna Base Stations," in Proc. ACM workshop on Cellular networks: operations, challenges, and future design (CellNet), June 2013. (*equal contribution)
Argos Platform Design
Clayton Shepard, Josh Blum, Ryan E. Guerra, Rahman Doost-Mohammady, and Lin Zhong. "Design and Implementation of Scalable Massive-MIMO Networks," in Proceedings of the 1st International Workshop on Open Software Defined Wireless Networks (OpenWireless), June 2020.
Clayton Shepard, Rahman Doost-Mohammady, Ryan E. Guerra, and Lin Zhong. "ArgosNet: A Multi-Cell Many-Antenna MU-MIMO Platform," in Proc. IEEE Asilomar Conf. on Signals, Systems, and Computers, November 2017.
Clayton Shepard, Rahman Doost-Mohammady, Ryan E. Guerra, and Lin Zhong. "ArgosV3: An Efficient Many-Antenna Platform," Extended Abstract for demonstration in Proc. ACM Int. Conf. Mobile Computing and Networking (MobiCom), October 2017.
Clayton Shepard, Abeer Javed, and Lin Zhong, "Control Channel Design for Many-Antenna MU-MIMO," in Proc. ACM Int. Conf. Mobile Computing and Networking (MobiCom), September 2015.
Clayton Shepard, Hang Yu, and Lin Zhong. "ArgosV2: A Flexible Many-Antenna Research Platform," Extended Abstract for demonstration in Proc. ACM Int. Conf. Mobile Computing and Networking (MobiCom), October 2013.
Clayton Shepard, Hang Yu, Narendra Anand, Erran Li, Thomas Marzetta, Richard Yang, Lin Zhong. "Argos: Practical Many-Antenna Base Stations," in Proc. ACM Int. Conf. Mobile Computing and Networking (MobiCom), August 2012.