1. A method for generating a high rank adaptive codebook in a Multiple Input Multiple Output communication system, comprising: transforming different column vectors in a high rank baseline codebook by different levels of a long-term channel correlation matrix to align to directions of different eigenvectors of the long-term channel correlation matrix; and using the transformed column vectors to construct a high rank adaptive codebook, wherein different column vectors in the baseline codebook are rotated by the different levels of the spatial correlation matrix, and wherein the channel correlation matrix is divided into levels according to its eigenvectors, and if a channel correlation matrix has a corresponding number of eigenvectors and eigenvalues, a covariance matrix related to an eigenvector of the largest eigenvalue is allocated the first level, and a covariance matrix related to an eigenvector of the second largest eigenvalue is allocated to the second level; and transmitting data from a transmitter by employing the high rank adaptive codebook.