  We consider a time division duplex (TDD) $n_t \times n_r$ multiple-input
multiple-output (MIMO) system with channel state information (CSI) at both the
transmitter and receiver. We propose X- and Y-Codes to achieve high
multiplexing and diversity gains at low complexity. The proposed precoding
schemes are based upon the singular value decomposition (SVD) of the channel
matrix which transforms the MIMO channel into parallel subchannels. Then X- and
Y-Codes are used to improve the diversity gain by pairing the subchannels,
prior to SVD precoding. In particular, the subchannels with good diversity are
paired with those having low diversity gains. Hence, a pair of channels is
jointly encoded using a $2 \times 2$ real matrix, which is fixed {\em a priori}
and does not change with each channel realization. For X-Codes these matrices
are 2-dimensional rotation matrices parameterized by a single angle, while for
Y-Codes, these matrices are 2-dimensional upper left triangular matrices. The
complexity of the maximum likelihood decoding (MLD) for both X- and Y-Codes is
low. Specifically, the decoding complexity of Y-Codes is the same as that of a
scalar channel. Moreover, we propose X-, Y-Precoders with the same structure as
X-, Y-Codes, but the encoding matrices adapt to each channel realization. The
optimal encoding matrices for X-, Y-Codes/Precoders are derived analytically.
Finally, it is observed that X-Codes/Precoders perform better for
well-conditioned channels, while Y-Codes/Precoders perform better for
ill-conditioned channels, when compared to other precoding schemes in the
literature.
