  A wireless relay with multiple antennas is called a
multiple-input-multiple-output (MIMO) switch if it maps its input links to its
output links using "precode-and-forward." Namely, the MIMO switch precodes the
received signal vector in the uplink using some matrix for transmission in the
downlink. This paper studies the scenario of $K$ stations and a MIMO switch,
which has full channel state information. The precoder at the MIMO switch is
either a zero-forcing matrix or a network-coded matrix. With the zero-forcing
precoder, each destination station receives only its desired signal with
enhanced noise but no interference. With the network-coded precoder, each
station receives not only its desired signal and noise, but possibly also
self-interference, which can be perfectly canceled. Precoder design for
optimizing the received signal-to-noise ratios at the destinations is
investigated. For zero-forcing relaying, the problem is solved in closed form
in the two-user case, whereas in the case of more users, efficient algorithms
are proposed and shown to be close to what can be achieved by extensive random
search. For network-coded relaying, we present efficient iterative algorithms
that can boost the throughput further.
