A method for feeding back channel information based on a codebook in a communication system, comprising: measuring, by a terminal in the communication system, parameters of a downlink channel between the terminal and a base station of the communication system; selecting at least two pre-coding matrixes suitable for both single-user multiple input multiple output (SU-MIMO) transmission and multi-user multiple input multiple output (MU-MIMO) transmission from a pre-coding codebook, to not need to retransmit channel information if switching between the SU-MIMO transmission and the MU-MIMO transmission, the pre-coding codebook being a set of pre-coding matrixes; and feeding back first information indicating the at least two pre-coding matrixes to the base station; wherein a selection criterion is determined according to a number of data flows that can be simultaneously received by the terminal; and at least two matrix indicators satisfying the selection criterion are calculated using the parameters of the downlink channel, wherein each of the at least two matrix indicators indicates one of the at least two pre-coding matrixes, and the first information comprises the at least two matrix indicators; wherein the criterion determination comprises judging whether the number of data flows that can be simultaneously received by the terminal equals to 1, and if yes, determining a first criterion as the selection criterion, otherwise, determining a second criterion as the selection criterion, and wherein the first criterion comprises: a first pre-coding matrix which is one of the at least two pre-coding matrixes and being optimized for both the SU-MIMO transmission and the MU-MIMO transmission and a second pre-coding matrix which is another of the at least two pre-coding matrixes and being optimized for enhancing the MU-MIMO transmission, and the second criterion comprises: the first pre-coding matrix being optimized for high-rank SU-MIMO transmission and the second pre-coding matrix being optimized for 1-rank MU-MIMO transmission. measuring, by a terminal in the communication system, parameters of a downlink channel between the terminal and a base station of the communication system; selecting at least two pre-coding matrixes suitable for both single-user multiple input multiple output (SU-MIMO) transmission and multi-user multiple input multiple output (MU-MIMO) transmission from a pre-coding codebook, to not need to retransmit channel information if switching between the SU-MIMO transmission and the MU-MIMO transmission, the pre-coding codebook being a set of pre-coding matrixes; and feeding back first information indicating the at least two pre-coding matrixes to the base station; wherein a selection criterion is determined according to a number of data flows that can be simultaneously received by the terminal; and at least two matrix indicators satisfying the selection criterion are calculated using the parameters of the downlink channel, wherein each of the at least two matrix indicators indicates one of the at least two pre-coding matrixes, and the first information comprises the at least two matrix indicators; wherein the criterion determination comprises judging whether the number of data flows that can be simultaneously received by the terminal equals to 1, and if yes, determining a first criterion as the selection criterion, otherwise, determining a second criterion as the selection criterion, and wherein the first criterion comprises: a first pre-coding matrix which is one of the at least two pre-coding matrixes and being optimized for both the SU-MIMO transmission and the MU-MIMO transmission and a second pre-coding matrix which is another of the at least two pre-coding matrixes and being optimized for enhancing the MU-MIMO transmission, and the second criterion comprises: the first pre-coding matrix being optimized for high-rank SU-MIMO transmission and the second pre-coding matrix being optimized for 1-rank MU-MIMO transmission.