  In this paper, we experimentally demonstrate a real-time software defined
multiple input multiple output (MIMO) visible light communication (VLC) system
employing link adaptation of spatial multiplexing and spatial diversity.
Real-time MIMO signal processing is implemented by using the Field Programmable
Gate Array (FPGA) based Universal Software Radio Peripheral (USRP) devices.
Software defined implantation of MIMO VLC can assist in enabling an adaptive
and reconfigurable communication system without hardware changes. We measured
the error vector magnitude (EVM), bit error rate (BER) and spectral efficiency
performance for single carrier M-QAM MIMO VLC using spatial diversity and
spatial multiplexing. Results show that spatial diversity MIMO VLC improves
error performance at the cost of spectral efficiency that spatial multiplexing
should enhance. We propose the adaptive MIMO solution that both modulation
schema and MIMO schema are dynamically adapted to the changing channel
conditions for enhancing the error performance and spectral efficiency. The
average error-free spectral efficiency of adaptive 2x2 MIMO VLC achieved 12
b/s/Hz over 2 meters indoor dynamic transmission.
