Client Beamforming for Rate Scalability of MU-MIMO Networks
In a multi-user MIMO (MU-MIMO) network, an AP with
multiple antennas can simultaneously serve multiple clients to increase the achievable
rates. To realize such rate improvement, the MU-MIMO AP can leverage
beamforming techniques such as zero-forcing beamforming (ZFBF) to eliminate the
intra-cell interference between simultaneously served clients. However, current
MU-MIMO networks suffer from two fundamental problems that limit the rate scalability to the number of served
- First, for a MU-MIMO
network with a single cell, as the number of simultaneously served clients
increases and approaches the number of antennas on the AP, the achievable rate
from the cell often flattens and may even drop.
- Second, for a MU-MIMO
network with multiple cells, the multiple APs cannot simultaneously serve their
clients due to the existence of inter-cell interference, and therefore the
served clients are constrained to a single cell with limited scalability.
We study two client-beamforming-based
- MACCO: an 802.11ac-based protocol that exploits
client beamforming to improve the channel orthogonality, and thus tackle the
rate scalability problem in a single MU-MIMO cell. In MACCO, each client
locally optimizes its beamforming weights based on the channel knowledge
obtained by overhearing the channel reports from other clients.
- CoaCa: an 802.11ac-based protocol that exploits
client beamforming together with AP beamforming to tackle the inter-cell
interference problem in multiple MU-MIMO cells. In CoaCa, each AP and client
integrates a two-step optimization that collectively achieves coordinated
- [Ph.D. dissertation 2015] "Client Beamforming for Rate Scalability of MU-MIMO Networks," Hang Yu, Ph.D. dissertation, Rice University, April 2015. (PDF)
- [MobiCom 2014] "Combating Inter-cell
Interference in 802.11ac-based Multi-user MIMO Networks," Hang Yu, Oscar Bejarano, and Lin Zhong,
in Proc. ACM Int. Conf. Mobile Computing & Networking (MobiCom),
September 2014. (PDF)
- [Tech Report 2014] "Achieving Better
Channel Orthogonality for Improved User Scaling of Multi-user MIMO," Hang Yu, Lin Zhong, and Ashutosh Sabharwal, Rice
University Technical Report, June 2014. (PDF)
- [M.S. thesis 2011] "Beamforming from Mobile Devices: A First Study," Hang Yu, M.S. thesis, Rice University, April 2011. (PDF)
of MACCO and CoaCa is on the WARP
platform from Mango Wireless, based on
framework. In WARPLab,
through gigabytes Ethernet cables, multiple WARP boards configured as APs or
clients are interconnected to and controlled by a central computer that runs
MATLAB. Since the baseband processing occurs in MATLAB, we cannot implement the
802.11ac MAC satisfying the timing constraint. Therefore we move the channel
sounding processes of MACCO and CoaCa into emulation, including client polling,
beamformed channel (virtual channel) reporting and overhearing.
As channel sounding in emulated, our MACCO
and CoaCa software supports both trace-based simulation and WARPLab-based
Click here to
download the source code.
How to use:
a computer with MATLAB, and at least three WARP v3 boards for MACCO and four
WARP v3 boards for CoaCa. Click here to check out the product information about
development Kit. Note that our software is NOT compatible with WARP v1/v2
- Set up
the WARPLab 7 framework on the WARP boards and
computer (guidelines can be found here). Note
that our software is NOT compatible with previous versions of WARPLab
setting up the WARPLab environment, place the code in
the WARPLab_example directory. Execute ``warplab_simu.m'' and ``warplab_eval.m''
for simulations and experiments respectively. Execute ``batch_exp.m''
to run multiple experiments sequentially.
- To test MACCO and CoaCa respectively, appropriately specify the number of APs and
clients in the code. You can further specify the number of antennas on each
AP and client. The maximum number of antennas supported by a single node is 4.
- The software evaluates the performance of MACCO and
CoaCa, and meanwhile records the MU-MIMO channels in the experiments. Therefore
one can use it as a MU-MIMO channel logger by uncommenting the code of the MACCO
and CoaCa implementation.