ix. One advantage of the differential precoding scheme is that the candidate precoding matrices {C', C'2, are refined every precoding update instance, which virtually increases the codebook codebook size to realize finer quantization of the channel [60]. Since the differential precoding schemes compute the precoding matrix by using the previous precoding matrix, different criteria should be used to generate precoding matrices. In a slow-fading environment where precoding is more effective, the channel variation during the precoding matrix update interval is relatively small. In this case, the ideal codebook matrix which is multiplied by the previous precoding matrix should be close to the identity matrix. Thus, the codebook design strategy is to optimize the codebook such that the codebook includes quasi-diagonal matrices. More specifically, codebook matrices are computed from two unitary matrices as Cm = GH(t)G(t + At) where ECN,XN, is a random unitary matrix. Note that since both G(t) and G(t + At) are unitary matrices, each codebook matrix also has unitary properties and small perturbation of At produces quasi-diagonal matrices whose diagonal entries are more dominant than other entries. A set of codebooks {C1, C2, is generated by using various At values where the codebook is optimized by capacity maximization criterion. In SVD precoding, assuming perfect knowledge of the channel state information, the channel matrix is H = UEVH where U and Vare unitary matrices (i.e., U"U = I,v" = I) and is a diagonal matrix containing eigenvalues of the channel matrix. If the relationship between the output and input of the channel is described as y = Hs + n, then by replacing the channel matrix with its SVD form and multiplying both sides by UH, one can write UHy = UHUEV"s + UHn. Further simplification of the latter equation would yield y = Ex + n, if the input signal is precoded with X = VHs. Using SVD precoding, the channel matrix is diagonalized and the spatial interference is removed without any matrix inversion or non-