1. A method for generating a high rank adaptive codebook in a Multiple Input Multiple Output (MIMO) 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.