ximizing the minimum singular value of HW (singular value selection); (4) maximizing the instantaneous capacity (capacity selection); or (5) maximizing the minimum received symbol vector distance (minimum distance selection). The above selection criteria may be evaluated at the receiver using a full search over all matrices in O. Using distortion functions based on the selection criteria, it can be shown that the codebook O is designed using Grassmannian subspace packing [57]. If MMSE- trace, singular value, or minimum distance selection is used, the codebook is designed such that E = - WjWH II2 iii is maximized. If the MMSE-determinant or capacity selection optimization method is used, the codebook is designed such that E = minwwarccos|det(WHWj)| is maximized. The MIMO codebooks are designed based on a trade-off between performance and complexity. The following are some desirable properties of the codebooks: 1. Low-complexity codebooks can be designed by choosing the elements of each constituent matrix or vector from a small binary set, e.g., a 4 alphabet { 1, +j} set, which eliminates the need for matrix or vector multiplication. In addition, nested property of the codebooks can further reduce the complexity of CQI calculation when rank adaptation is performed. 2. The base station may perform rank overriding which results in significant CQI mismatch, if the codebook structure cannot adapt to it. A nested property with respect to rank overriding can be exploited to mitigate the mismatch effects. 3. Power amplifier balance is taken into consideration when designing codebooks with constant modulus property, which may eliminate an unnecessary increase in PAPR. 4. Good performance for a wide range of propagation scenarios, e.g., uncorrelated, correlated, and dual-polarized channels, is expected from the codebook design algorithms. A DFT-based codebook is optimal for linear array with small antenna spacing, since the vectors match with the structure of the transmit array response. Additionally, with an optimal select